Memory protocol types for StrawPot agent orchestration
Project description
strawpot-memory
Interface definition for StrawPot memory providers.
This package defines the MemoryProvider protocol and associated types that any memory backend must implement to integrate with the StrawPot agent orchestration system.
Install
pip install strawpot-memory
Usage
Implement the MemoryProvider protocol to create a custom memory backend:
from strawpot_memory.memory_protocol import (
MemoryProvider,
GetResult,
DumpReceipt,
RememberResult,
RecallResult,
)
class MyMemoryProvider:
name = "my-provider"
def get(self, *, session_id, agent_id, role, behavior_ref, task, **kwargs) -> GetResult:
...
def dump(self, *, session_id, agent_id, role, behavior_ref, task, status, output, **kwargs) -> DumpReceipt:
...
def remember(self, *, session_id, agent_id, role, content, **kwargs) -> RememberResult:
...
def recall(self, *, session_id, agent_id, role, query, **kwargs) -> RecallResult:
...
assert isinstance(MyMemoryProvider(), MemoryProvider) # runtime check
Protocol Methods
| Method | Purpose |
|---|---|
get |
Retrieve context cards and control signals before spawning an agent |
dump |
Record agent results after completion |
remember |
Persist knowledge during agent execution |
recall |
Query stored knowledge on-demand during agent execution |
Types
MemoryKind— enum of memory types (PM,SM,STM,RM,EM)ContextCard— single unit of context returned bygetControlSignal— advisory signals (risk level, suggested next step, policy flags)GetResult— full output of agetcallDumpReceipt— receipt returned bydumpRememberResult— result returned byrememberRecallEntry— single entry returned byrecallRecallResult— result returned byrecall
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file strawpot_memory-0.2.3.tar.gz.
File metadata
- Download URL: strawpot_memory-0.2.3.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3138de813e4b4068ae967a4665bff3861910ec8d7aeed97b6db9ffb277deb312
|
|
| MD5 |
e2f3ff0ea1acbd7e0db5b557c90188b2
|
|
| BLAKE2b-256 |
d8d85017df06a43a0a9bb6f7d5153d1c0b1abd65bf4e3726ed7340326cdcb792
|
Provenance
The following attestation bundles were made for strawpot_memory-0.2.3.tar.gz:
Publisher:
publish.yml on strawpot/strawpot_memory
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
strawpot_memory-0.2.3.tar.gz -
Subject digest:
3138de813e4b4068ae967a4665bff3861910ec8d7aeed97b6db9ffb277deb312 - Sigstore transparency entry: 1090450334
- Sigstore integration time:
-
Permalink:
strawpot/strawpot_memory@66df27bedaa5ef05fdb904c5c0e025dd0a922c65 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/strawpot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@66df27bedaa5ef05fdb904c5c0e025dd0a922c65 -
Trigger Event:
push
-
Statement type:
File details
Details for the file strawpot_memory-0.2.3-py3-none-any.whl.
File metadata
- Download URL: strawpot_memory-0.2.3-py3-none-any.whl
- Upload date:
- Size: 4.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4bf37d46523653c3b4f56c078c0b051000e87791541d867de6d08338c9514d0
|
|
| MD5 |
dc30fe4d46d09deb86069cc5f948e5bb
|
|
| BLAKE2b-256 |
e88b25aa8dfc20c9eba2f0c05e0e70c4c854909d00c4c5c89feb0576eb4200b4
|
Provenance
The following attestation bundles were made for strawpot_memory-0.2.3-py3-none-any.whl:
Publisher:
publish.yml on strawpot/strawpot_memory
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
strawpot_memory-0.2.3-py3-none-any.whl -
Subject digest:
f4bf37d46523653c3b4f56c078c0b051000e87791541d867de6d08338c9514d0 - Sigstore transparency entry: 1090450339
- Sigstore integration time:
-
Permalink:
strawpot/strawpot_memory@66df27bedaa5ef05fdb904c5c0e025dd0a922c65 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/strawpot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@66df27bedaa5ef05fdb904c5c0e025dd0a922c65 -
Trigger Event:
push
-
Statement type: