chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
"""Observation ingest + context rendering at a token budget.
|
||||
|
||||
Pattern: send hook-style observations during a coding session, then ask
|
||||
agentmemory to render the most relevant context back at a fixed token budget.
|
||||
|
||||
Prerequisites:
|
||||
pip install iii-sdk
|
||||
npx -y @agentmemory/agentmemory
|
||||
|
||||
Run:
|
||||
python examples/python/observe_and_recall.py
|
||||
"""
|
||||
|
||||
from datetime import datetime, timezone
|
||||
from iii import register_worker
|
||||
|
||||
|
||||
SESSION_ID = "py-example-session-001"
|
||||
PROJECT = "demo"
|
||||
|
||||
|
||||
def now_iso() -> str:
|
||||
return datetime.now(timezone.utc).isoformat()
|
||||
|
||||
|
||||
def main() -> None:
|
||||
iii = register_worker("ws://localhost:49134")
|
||||
iii.connect()
|
||||
|
||||
observations = [
|
||||
("PreToolUse", {"tool": "Bash", "command": "cargo test"}),
|
||||
("PostToolUse", {"tool": "Bash", "exit_code": 0}),
|
||||
("UserPromptSubmit", {"prompt": "refactor auth middleware to use HMAC"}),
|
||||
]
|
||||
|
||||
for hook_type, data in observations:
|
||||
iii.trigger(
|
||||
{
|
||||
"function_id": "mem::observe",
|
||||
"payload": {
|
||||
"hookType": hook_type,
|
||||
"sessionId": SESSION_ID,
|
||||
"project": PROJECT,
|
||||
"cwd": "/home/user/service",
|
||||
"timestamp": now_iso(),
|
||||
"data": data,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
context = iii.trigger(
|
||||
{
|
||||
"function_id": "mem::context",
|
||||
"payload": {
|
||||
"sessionId": SESSION_ID,
|
||||
"project": PROJECT,
|
||||
"budget": 2000,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
print(f"Rendered context ({context.get('token_count', 0)} tokens):\n")
|
||||
print(context.get("text", ""))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user