Skip to main content

Knowledge Management

Sypho provides structured data storage for agents.

Storage Type

Structured Data

JSON document storage with:

  • Namespaces - Logical grouping
  • Keys - Unique identifiers
  • Data - JSON documents
  • Metadata - Queryable attributes
  • Versioning - Full history tracking

Knowledge Scope

Every run has a knowledge scope that defines data access:

{
"structured_data_namespaces": {
"app-data": {
"keys": ["*"], // All keys
"permission": "read_write" // Full access
},
"shared-config": {
"keys": ["public:*"], // Only public:* keys
"permission": "read" // Read-only
}
}
}

Permissions

  • read - Get, query, list operations
  • read_write - All operations (save, delete)

Platform Tools

Access via context.call_tool():

ToolDescription
structured_data_saveCreate/update entry
structured_data_getFetch by key
structured_data_querySearch by metadata
structured_data_deleteRemove entry
structured_data_list_keysList keys in namespace

Usage Example

from sypho_sdk import entrypoint, AgentContext

@entrypoint
async def main(input: dict, context: AgentContext):
# Save data
await context.call_tool("structured_data_save", {
"namespace": "users",
"key": "user:123",
"data": {"name": "Alice", "age": 30},
"metadata": {"type": "user", "region": "us"}
})

# Query by metadata
results = await context.call_tool("structured_data_query", {
"namespace": "users",
"filters": {
"metadata.type": "user",
"metadata.region": "us"
}
})

return results

Namespaces

Namespaces provide logical isolation:

  • Per-agent: my-agent-data
  • Shared: shared-config
  • User-specific: user-{user_id}-data

Next Steps