-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path__init__.py
More file actions
46 lines (39 loc) · 1.37 KB
/
__init__.py
File metadata and controls
46 lines (39 loc) · 1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
"""sense-memory plugin for Hermes Agent."""
from __future__ import annotations
import sys
from pathlib import Path
_HERE = Path(__file__).resolve().parent
if str(_HERE) not in sys.path:
sys.path.insert(0, str(_HERE))
from .tools import ( # noqa: E402
MEMORY_FORGET_SCHEMA,
MEMORY_JOURNAL_SCHEMA,
MEMORY_RECALL_ALL_SCHEMA,
MEMORY_RECALL_SCHEMA,
MEMORY_RECENT_SCHEMA,
MEMORY_REMEMBER_SCHEMA,
handle_memory_forget,
handle_memory_journal,
handle_memory_recall,
handle_memory_recall_all,
handle_memory_recent,
handle_memory_remember,
)
_TOOLS = (
("memory_remember", MEMORY_REMEMBER_SCHEMA, handle_memory_remember, "💾"),
("memory_recall", MEMORY_RECALL_SCHEMA, handle_memory_recall, "🔍"),
("memory_recall_all", MEMORY_RECALL_ALL_SCHEMA, handle_memory_recall_all, "📚"),
("memory_forget", MEMORY_FORGET_SCHEMA, handle_memory_forget, "🗑️"),
("memory_journal", MEMORY_JOURNAL_SCHEMA, handle_memory_journal, "📓"),
("memory_recent", MEMORY_RECENT_SCHEMA, handle_memory_recent, "📜"),
)
def register(ctx) -> None:
for name, schema, handler, emoji in _TOOLS:
ctx.register_tool(
name=name,
toolset="sensememory",
schema=schema,
handler=handler,
is_async=True,
emoji=emoji,
)