Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions apps/api/src/alicebot_api/mcp/definitions.py
Original file line number Diff line number Diff line change
Expand Up @@ -233,9 +233,11 @@ def _vnext_agent_tool_schema(
{
"name": "alice_capture",
"description": (
"Submit new information to Alice as a source-backed, reviewable memory. The text is "
"stored verbatim with provenance and split into searchable chunks; it only becomes "
"trusted memory after review. Use this whenever you learn something worth keeping."
"Store a source document or raw note for later review. The text is kept verbatim "
"with provenance and split into searchable chunks, but it does NOT become recallable "
"memory until a human reviews it, so alice_recall will not return it. Use this for "
"transcripts, files and pasted material you want on record. To record a fact so it is "
"immediately recallable, use alice_memory_commit instead."
),
"inputSchema": {
"type": "object",
Expand Down Expand Up @@ -267,7 +269,7 @@ def _vnext_agent_tool_schema(
{
"name": "alice_memory_commit",
"description": (
"Write one explicit memory on the user's instruction ('remember this'). The write "
"Record one fact as durable, immediately recallable memory. Use this whenever you learn something worth keeping, including when the user has not asked you to remember it. This is the write verb for ordinary memory. The write "
"is policy-checked, never blind: the outcome is 'committed', 'confirmation_required' "
"(finish with alice_memory_manage action 'confirm'), 'review_required' (waits for "
"human review), or 'rejected'. Every outcome is recorded with provenance, a "
Expand Down Expand Up @@ -342,6 +344,7 @@ def _vnext_agent_tool_schema(
"additionalProperties": False,
"required": ["query"],
"properties": {
**_AGENT_IDENTITY_SCHEMA_PROPERTIES,
"query": {
"type": "string",
"description": "What to search for, in natural language or keywords.",
Expand Down Expand Up @@ -429,6 +432,7 @@ def _vnext_agent_tool_schema(
"type": "object",
"additionalProperties": False,
"properties": {
**_AGENT_IDENTITY_SCHEMA_PROPERTIES,
"query": {
"type": "string",
"description": "Free-text topic to focus the brief on.",
Expand Down Expand Up @@ -632,6 +636,7 @@ def _vnext_agent_tool_schema(
"type": "object",
"additionalProperties": False,
"properties": {
**_AGENT_IDENTITY_SCHEMA_PROPERTIES,
"query": {
"type": "string",
"description": "Free-text filter for which decisions to return.",
Expand Down Expand Up @@ -727,6 +732,7 @@ def _vnext_agent_tool_schema(
"additionalProperties": False,
"required": ["action"],
"properties": {
**_AGENT_IDENTITY_SCHEMA_PROPERTIES,
"review_item_id": {
"type": "string",
"format": "uuid",
Expand Down Expand Up @@ -869,6 +875,7 @@ def _vnext_agent_tool_schema(
"type": "object",
"additionalProperties": False,
"properties": {
**_AGENT_IDENTITY_SCHEMA_PROPERTIES,
"memory_id": {
"type": "string",
"description": "Id of a memory returned by alice_recall; returns its provenance links, revisions, event history, supersession_chain (each entry has id, title, status, created_at, its relation to this memory: predecessor, self, or successor, and the entities it is linked to when available), and a timeline: one chronological list of {at, kind, memory_id, summary} entries (kind is created, revised, corrected, or superseded_by) telling how this memory evolved.",
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/test_mcp_package_split.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ def test_mcp_registry_order_definitions_and_alias_identity_are_frozen() -> None:
handlers = mcp_registry._TOOL_HANDLERS

assert (len(core_definitions), len(legacy_definitions), len(handlers)) == (11, 65, 76)
assert _digest(core_definitions) == "99eabe36d83b8609a57631d71b91d5e9f14b23f7be0f828f6c75ce5c48888062"
assert _digest(core_definitions) == "32a21a33112c4283489b9cd06e73c60755598d9f7b120318c55b9d7f3c29475f"
assert _digest(legacy_definitions) == "ca3d747e552bdece52c22d76332fc69f499878290edf3f236a8a7ea6a2e34e41"
ordered_handler_map = [(name, handler.__name__) for name, handler in handlers.items()]
assert _digest(ordered_handler_map) == "d864c98bb914bbc6ace464fa8020b3ed264f17f2061a6101aae677d801032ae5"
Expand Down
Loading