GitHub

Tool Reference

Complete reference for all 71 Functor memory tools.

Tool Naming Convention

All tools follow the pattern: functor_{namespace}_{method}

Episodic Memory

Store and retrieve temporal interaction events.

Tool NameDescriptionKey Parameters
functor_episodic_createCreate a new episodic memory entrysession_id, event_type, content, metadata
functor_episodic_searchSearch episodes by semantic queryquery, limit, time_range
functor_episodic_getGet a specific episode by IDepisode_id
functor_episodic_get_sessionGet all episodes in a sessionsession_id, limit
functor_episodic_updateUpdate an existing episodeepisode_id, content, metadata
functor_episodic_deleteDelete an episodeepisode_id
functor_episodic_list_sessionsList all sessionsuser_id, limit
functor_episodic_summarizeSummarize episodes in a sessionsession_id

Semantic Memory

Store and query knowledge facts.

Tool NameDescriptionKey Parameters
functor_semantic_add_factAdd a semantic fact to knowledge graphcontent, kg_name, confidence, metadata
functor_semantic_searchSearch facts by semantic queryquery, kg_name, limit
functor_semantic_getGet a specific fact by IDfact_id
functor_semantic_updateUpdate an existing factfact_id, content, confidence
functor_semantic_deleteDelete a factfact_id
functor_semantic_listList facts in a knowledge graphkg_name, limit, offset
functor_semantic_extract_keywordsExtract keywords from contentcontent

Procedural Memory

Store and execute workflow procedures.

Tool NameDescriptionKey Parameters
functor_procedural_createCreate a new procedureprocedure_id, name, steps, metadata
functor_procedural_executeExecute a stored procedureprocedure_id, context
functor_procedural_getGet procedure by IDprocedure_id
functor_procedural_listList all procedurestenant_id, limit
functor_procedural_updateUpdate a procedureprocedure_id, steps, metadata
functor_procedural_deleteDelete a procedureprocedure_id

Short-term Memory

Session buffers with TTL expiration.

Tool NameDescriptionKey Parameters
functor_short_term_addAdd data to short-term buffersession_id, key, data, ttl_seconds
functor_short_term_getGet data from buffersession_id, key
functor_short_term_list_keysList all keys in session buffersession_id
functor_short_term_clearClear session buffersession_id
functor_short_term_extend_ttlExtend TTL for buffer itemsession_id, key, ttl_seconds

Long-term Memory

Persistent archives with versioning.

Tool NameDescriptionKey Parameters
functor_long_term_archiveArchive data to long-term storageepisode_id, kg_name, data
functor_long_term_retrieveRetrieve from long-term storagequery, kg_name, limit
functor_long_term_get_versionsGet all versions of an itemitem_id
functor_long_term_updateUpdate archived item (creates version)item_id, data
functor_long_term_restoreRestore specific versionitem_id, version
functor_long_term_consolidateConsolidate episodes to long-termsession_id, kg_name

Pruning Engine

Memory lifecycle management.

Tool NameDescriptionKey Parameters
functor_pruning_analyzeAnalyze pruning candidateskg_name, criteria
functor_pruning_executeExecute pruning operationkg_name, criteria, dry_run
functor_pruning_set_ttlSet TTL for memory itemitem_id, item_type, ttl_seconds
functor_pruning_get_statsGet pruning statisticskg_name
functor_pruning_scheduleSchedule automatic pruningkg_name, schedule, criteria

Personalization

User preferences and context.

Tool NameDescriptionKey Parameters
functor_personalization_add_preferenceAdd user preferenceuser_id, category, preference, value
functor_personalization_get_preferencesGet all user preferencesuser_id, category
functor_personalization_reconcileReconcile conflicting preferencesuser_id, new_entities
functor_personalization_get_contextGet personalized context for useruser_id, context_type
functor_personalization_updateUpdate preferenceuser_id, preference_id, value
functor_personalization_deleteDelete preferenceuser_id, preference_id

Observability

Metrics, logging, and visualization.

Tool NameDescriptionKey Parameters
functor_observability_log_accessLog memory access eventitem_id, access_type, user_id
functor_observability_get_statsGet memory statisticskg_name, time_window
functor_observability_visualizeGenerate KG visualizationkg_name, format
functor_observability_query_logsQuery access logsuser_id, time_range, limit
functor_observability_exportExport memory datakg_name, format

Multi-Tenant

Tenant isolation and management.

Tool NameDescriptionKey Parameters
functor_multi_tenant_createCreate new tenanttenant_id, config
functor_multi_tenant_get_usageGet tenant usage statstenant_id
functor_multi_tenant_batch_ingestBatch ingest for tenanttenant_id, sources, target_kg
functor_multi_tenant_listList all tenantslimit, offset
functor_multi_tenant_updateUpdate tenant configtenant_id, config
functor_multi_tenant_deleteDelete tenanttenant_id
functor_multi_tenant_set_quotaSet tenant quotatenant_id, quota_type, limit

Rollout Memory

Planning simulations with branch evaluation.

Tool NameDescriptionKey Parameters
functor_rollout_simulateSimulate planning branchesrollout_id, assumption, query, branches
functor_rollout_getGet simulation by IDrollout_id
functor_rollout_listList simulationsuser_id, limit
functor_rollout_evaluateEvaluate a branch outcomerollout_id, branch_id
functor_rollout_commitCommit selected branchrollout_id, branch_id
functor_rollout_deleteDelete simulationrollout_id

Example Tool Call

Here's an example of calling a tool programmatically:

from functor_sdk import FunctorClient
from functor_sdk.tools import FunctorToolContext
client = FunctorClient(api_key="your-api-key")
ctx = FunctorToolContext(client)
# Call functor_episodic_create
result = await ctx.call("functor_episodic_create", {
"session_id": "session-123",
"event_type": "conversation",
"content": "User asked about Python best practices",
"metadata": {
"topic": "programming",
"language": "python"
}
})
print(result)
# {"episode_id": "ep-abc123", "success": true}

Discover Tools Programmatically

Use ToolRegistry.discover() to get the full list of tools with their complete schemas at runtime.