@ariaflowagents/core 0.7.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +90 -1
- package/dist/agents/Agent.d.ts +188 -9
- package/dist/agents/Agent.d.ts.map +1 -1
- package/dist/agents/Agent.js +246 -24
- package/dist/agents/Agent.js.map +1 -1
- package/dist/agents/CompositeAgent.d.ts +4 -3
- package/dist/agents/CompositeAgent.d.ts.map +1 -1
- package/dist/agents/CompositeAgent.js +19 -9
- package/dist/agents/CompositeAgent.js.map +1 -1
- package/dist/agents/FlowAgent.d.ts +3 -2
- package/dist/agents/FlowAgent.d.ts.map +1 -1
- package/dist/agents/FlowAgent.js +16 -6
- package/dist/agents/FlowAgent.js.map +1 -1
- package/dist/agents/TriageAgent.d.ts +8 -2
- package/dist/agents/TriageAgent.d.ts.map +1 -1
- package/dist/agents/TriageAgent.js +39 -6
- package/dist/agents/TriageAgent.js.map +1 -1
- package/dist/agents/index.d.ts +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +0 -1
- package/dist/agents/index.js.map +1 -1
- package/dist/capabilities/AutoRetrieveCapability.d.ts +30 -0
- package/dist/capabilities/AutoRetrieveCapability.d.ts.map +1 -0
- package/dist/capabilities/AutoRetrieveCapability.js +36 -0
- package/dist/capabilities/AutoRetrieveCapability.js.map +1 -0
- package/dist/capabilities/ExtractionCapability.d.ts +25 -0
- package/dist/capabilities/ExtractionCapability.d.ts.map +1 -0
- package/dist/capabilities/ExtractionCapability.js +74 -0
- package/dist/capabilities/ExtractionCapability.js.map +1 -0
- package/dist/capabilities/FlowCapability.d.ts +81 -0
- package/dist/capabilities/FlowCapability.d.ts.map +1 -0
- package/dist/capabilities/FlowCapability.js +482 -0
- package/dist/capabilities/FlowCapability.js.map +1 -0
- package/dist/capabilities/GuardrailCapability.d.ts +30 -0
- package/dist/capabilities/GuardrailCapability.d.ts.map +1 -0
- package/dist/capabilities/GuardrailCapability.js +38 -0
- package/dist/capabilities/GuardrailCapability.js.map +1 -0
- package/dist/capabilities/HandoffCapability.d.ts +19 -0
- package/dist/capabilities/HandoffCapability.d.ts.map +1 -0
- package/dist/capabilities/HandoffCapability.js +58 -0
- package/dist/capabilities/HandoffCapability.js.map +1 -0
- package/dist/capabilities/LivePromptAssembler.d.ts +108 -0
- package/dist/capabilities/LivePromptAssembler.d.ts.map +1 -0
- package/dist/capabilities/LivePromptAssembler.js +157 -0
- package/dist/capabilities/LivePromptAssembler.js.map +1 -0
- package/dist/capabilities/TriageCapability.d.ts +16 -0
- package/dist/capabilities/TriageCapability.d.ts.map +1 -0
- package/dist/capabilities/TriageCapability.js +61 -0
- package/dist/capabilities/TriageCapability.js.map +1 -0
- package/dist/capabilities/adapters/ai-sdk.d.ts +14 -0
- package/dist/capabilities/adapters/ai-sdk.d.ts.map +1 -0
- package/dist/capabilities/adapters/ai-sdk.js +29 -0
- package/dist/capabilities/adapters/ai-sdk.js.map +1 -0
- package/dist/capabilities/adapters/gemini.d.ts +15 -0
- package/dist/capabilities/adapters/gemini.d.ts.map +1 -0
- package/dist/capabilities/adapters/gemini.js +40 -0
- package/dist/capabilities/adapters/gemini.js.map +1 -0
- package/dist/capabilities/index.d.ts +154 -0
- package/dist/capabilities/index.d.ts.map +1 -0
- package/dist/capabilities/index.js +128 -0
- package/dist/capabilities/index.js.map +1 -0
- package/dist/eval/EvalRunner.d.ts +12 -0
- package/dist/eval/EvalRunner.d.ts.map +1 -0
- package/dist/eval/EvalRunner.js +64 -0
- package/dist/eval/EvalRunner.js.map +1 -0
- package/dist/eval/scoring.d.ts +15 -0
- package/dist/eval/scoring.d.ts.map +1 -0
- package/dist/eval/scoring.js +152 -0
- package/dist/eval/scoring.js.map +1 -0
- package/dist/eval/types.d.ts +59 -0
- package/dist/eval/types.d.ts.map +1 -0
- package/dist/eval/types.js +2 -0
- package/dist/eval/types.js.map +1 -0
- package/dist/flows/FlowGraph.d.ts +3 -1
- package/dist/flows/FlowGraph.d.ts.map +1 -1
- package/dist/flows/FlowGraph.js +5 -0
- package/dist/flows/FlowGraph.js.map +1 -1
- package/dist/flows/FlowManager.d.ts +68 -1
- package/dist/flows/FlowManager.d.ts.map +1 -1
- package/dist/flows/FlowManager.js +499 -36
- package/dist/flows/FlowManager.js.map +1 -1
- package/dist/flows/extraction.d.ts +16 -1
- package/dist/flows/extraction.d.ts.map +1 -1
- package/dist/flows/extraction.js +34 -0
- package/dist/flows/extraction.js.map +1 -1
- package/dist/flows/index.d.ts +2 -0
- package/dist/flows/index.d.ts.map +1 -1
- package/dist/flows/index.js +1 -0
- package/dist/flows/index.js.map +1 -1
- package/dist/flows/validation.d.ts +1 -1
- package/dist/flows/validation.d.ts.map +1 -1
- package/dist/flows/validation.js +13 -1
- package/dist/flows/validation.js.map +1 -1
- package/dist/foundation/AgentDefinition.d.ts +18 -0
- package/dist/foundation/AgentDefinition.d.ts.map +1 -0
- package/dist/foundation/AgentDefinition.js +2 -0
- package/dist/foundation/AgentDefinition.js.map +1 -0
- package/dist/foundation/AgentStateController.d.ts +26 -0
- package/dist/foundation/AgentStateController.d.ts.map +1 -0
- package/dist/foundation/AgentStateController.js +2 -0
- package/dist/foundation/AgentStateController.js.map +1 -0
- package/dist/foundation/ConversationEventLog.d.ts +72 -0
- package/dist/foundation/ConversationEventLog.d.ts.map +1 -0
- package/dist/foundation/ConversationEventLog.js +2 -0
- package/dist/foundation/ConversationEventLog.js.map +1 -0
- package/dist/foundation/ConversationState.d.ts +31 -0
- package/dist/foundation/ConversationState.d.ts.map +1 -0
- package/dist/foundation/ConversationState.js +2 -0
- package/dist/foundation/ConversationState.js.map +1 -0
- package/dist/foundation/DefaultAgentStateController.d.ts +24 -0
- package/dist/foundation/DefaultAgentStateController.d.ts.map +1 -0
- package/dist/foundation/DefaultAgentStateController.js +49 -0
- package/dist/foundation/DefaultAgentStateController.js.map +1 -0
- package/dist/foundation/DefaultConversationEventLog.d.ts +28 -0
- package/dist/foundation/DefaultConversationEventLog.d.ts.map +1 -0
- package/dist/foundation/DefaultConversationEventLog.js +195 -0
- package/dist/foundation/DefaultConversationEventLog.js.map +1 -0
- package/dist/foundation/DefaultConversationState.d.ts +34 -0
- package/dist/foundation/DefaultConversationState.d.ts.map +1 -0
- package/dist/foundation/DefaultConversationState.js +100 -0
- package/dist/foundation/DefaultConversationState.js.map +1 -0
- package/dist/foundation/DefaultToolExecutor.d.ts +58 -0
- package/dist/foundation/DefaultToolExecutor.d.ts.map +1 -0
- package/dist/foundation/DefaultToolExecutor.js +128 -0
- package/dist/foundation/DefaultToolExecutor.js.map +1 -0
- package/dist/foundation/ToolExecutor.d.ts +44 -0
- package/dist/foundation/ToolExecutor.d.ts.map +1 -0
- package/dist/foundation/ToolExecutor.js +2 -0
- package/dist/foundation/ToolExecutor.js.map +1 -0
- package/dist/foundation/createFoundation.d.ts +33 -0
- package/dist/foundation/createFoundation.d.ts.map +1 -0
- package/dist/foundation/createFoundation.js +34 -0
- package/dist/foundation/createFoundation.js.map +1 -0
- package/dist/foundation/index.d.ts +15 -0
- package/dist/foundation/index.d.ts.map +1 -0
- package/dist/foundation/index.js +8 -0
- package/dist/foundation/index.js.map +1 -0
- package/dist/hooks/HookRunner.d.ts +5 -1
- package/dist/hooks/HookRunner.d.ts.map +1 -1
- package/dist/hooks/HookRunner.js +7 -0
- package/dist/hooks/HookRunner.js.map +1 -1
- package/dist/hooks/builtin/metrics.d.ts.map +1 -1
- package/dist/hooks/builtin/metrics.js +12 -0
- package/dist/hooks/builtin/metrics.js.map +1 -1
- package/dist/hooks/builtin/observability.d.ts +21 -0
- package/dist/hooks/builtin/observability.d.ts.map +1 -0
- package/dist/hooks/builtin/observability.js +535 -0
- package/dist/hooks/builtin/observability.js.map +1 -0
- package/dist/index.d.ts +24 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -2
- package/dist/index.js.map +1 -1
- package/dist/memory/MemoryService.d.ts +40 -0
- package/dist/memory/MemoryService.d.ts.map +1 -0
- package/dist/memory/MemoryService.js +2 -0
- package/dist/memory/MemoryService.js.map +1 -0
- package/dist/memory/index.d.ts +5 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +3 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/preloadMemory.d.ts +17 -0
- package/dist/memory/preloadMemory.d.ts.map +1 -0
- package/dist/memory/preloadMemory.js +62 -0
- package/dist/memory/preloadMemory.js.map +1 -0
- package/dist/memory/stores/InMemoryMemoryService.d.ts +20 -0
- package/dist/memory/stores/InMemoryMemoryService.d.ts.map +1 -0
- package/dist/memory/stores/InMemoryMemoryService.js +92 -0
- package/dist/memory/stores/InMemoryMemoryService.js.map +1 -0
- package/dist/memory/types.d.ts +49 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +8 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/orchestration/DefaultOrchestrationAuthority.d.ts +91 -0
- package/dist/orchestration/DefaultOrchestrationAuthority.d.ts.map +1 -0
- package/dist/orchestration/DefaultOrchestrationAuthority.js +786 -0
- package/dist/orchestration/DefaultOrchestrationAuthority.js.map +1 -0
- package/dist/orchestration/OrchestrationAuthority.d.ts +119 -0
- package/dist/orchestration/OrchestrationAuthority.d.ts.map +1 -0
- package/dist/orchestration/OrchestrationAuthority.js +2 -0
- package/dist/orchestration/OrchestrationAuthority.js.map +1 -0
- package/dist/orchestration/RealtimeExtractionRunner.d.ts +25 -0
- package/dist/orchestration/RealtimeExtractionRunner.d.ts.map +1 -0
- package/dist/orchestration/RealtimeExtractionRunner.js +62 -0
- package/dist/orchestration/RealtimeExtractionRunner.js.map +1 -0
- package/dist/orchestration/index.d.ts +5 -0
- package/dist/orchestration/index.d.ts.map +1 -0
- package/dist/orchestration/index.js +4 -0
- package/dist/orchestration/index.js.map +1 -0
- package/dist/orchestration/types.d.ts +134 -0
- package/dist/orchestration/types.d.ts.map +1 -0
- package/dist/orchestration/types.js +2 -0
- package/dist/orchestration/types.js.map +1 -0
- package/dist/prompts/AgentPrompt.d.ts +110 -0
- package/dist/prompts/AgentPrompt.d.ts.map +1 -0
- package/dist/prompts/AgentPrompt.js +373 -0
- package/dist/prompts/AgentPrompt.js.map +1 -0
- package/dist/prompts/PromptAssembly.d.ts +119 -0
- package/dist/prompts/PromptAssembly.d.ts.map +1 -0
- package/dist/prompts/PromptAssembly.js +150 -0
- package/dist/prompts/PromptAssembly.js.map +1 -0
- package/dist/prompts/PromptBuilder.d.ts +22 -3
- package/dist/prompts/PromptBuilder.d.ts.map +1 -1
- package/dist/prompts/PromptBuilder.js +242 -13
- package/dist/prompts/PromptBuilder.js.map +1 -1
- package/dist/prompts/PromptRenderer.d.ts +43 -0
- package/dist/prompts/PromptRenderer.d.ts.map +1 -0
- package/dist/prompts/PromptRenderer.js +114 -0
- package/dist/prompts/PromptRenderer.js.map +1 -0
- package/dist/prompts/brandVoice.d.ts +10 -0
- package/dist/prompts/brandVoice.d.ts.map +1 -0
- package/dist/prompts/brandVoice.js +87 -0
- package/dist/prompts/brandVoice.js.map +1 -0
- package/dist/prompts/index.d.ts +11 -4
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +7 -2
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/security.d.ts +5 -0
- package/dist/prompts/security.d.ts.map +1 -0
- package/dist/prompts/security.js +52 -0
- package/dist/prompts/security.js.map +1 -0
- package/dist/prompts/types.d.ts +65 -1
- package/dist/prompts/types.d.ts.map +1 -1
- package/dist/prompts/types.js +26 -0
- package/dist/prompts/types.js.map +1 -1
- package/dist/realtime/RealtimeAudioClient.d.ts +105 -0
- package/dist/realtime/RealtimeAudioClient.d.ts.map +1 -0
- package/dist/realtime/RealtimeAudioClient.js +15 -0
- package/dist/realtime/RealtimeAudioClient.js.map +1 -0
- package/dist/realtime/RealtimeRuntime.d.ts +136 -0
- package/dist/realtime/RealtimeRuntime.d.ts.map +1 -0
- package/dist/realtime/RealtimeRuntime.js +270 -0
- package/dist/realtime/RealtimeRuntime.js.map +1 -0
- package/dist/realtime/index.d.ts +4 -0
- package/dist/realtime/index.d.ts.map +1 -0
- package/dist/realtime/index.js +2 -0
- package/dist/realtime/index.js.map +1 -0
- package/dist/runtime/ContextBudget.d.ts +57 -0
- package/dist/runtime/ContextBudget.d.ts.map +1 -0
- package/dist/runtime/ContextBudget.js +103 -0
- package/dist/runtime/ContextBudget.js.map +1 -0
- package/dist/runtime/ContextManager.d.ts +8 -5
- package/dist/runtime/ContextManager.d.ts.map +1 -1
- package/dist/runtime/ContextManager.js +47 -14
- package/dist/runtime/ContextManager.js.map +1 -1
- package/dist/runtime/ExtractionEngine.d.ts +2 -1
- package/dist/runtime/ExtractionEngine.d.ts.map +1 -1
- package/dist/runtime/ExtractionEngine.js +11 -0
- package/dist/runtime/ExtractionEngine.js.map +1 -1
- package/dist/runtime/FlowExecutor.d.ts +22 -15
- package/dist/runtime/FlowExecutor.d.ts.map +1 -1
- package/dist/runtime/FlowExecutor.js +102 -149
- package/dist/runtime/FlowExecutor.js.map +1 -1
- package/dist/runtime/Runtime.d.ts +53 -78
- package/dist/runtime/Runtime.d.ts.map +1 -1
- package/dist/runtime/Runtime.js +272 -1406
- package/dist/runtime/Runtime.js.map +1 -1
- package/dist/runtime/SessionCache.d.ts +16 -0
- package/dist/runtime/SessionCache.d.ts.map +1 -0
- package/dist/runtime/SessionCache.js +49 -0
- package/dist/runtime/SessionCache.js.map +1 -0
- package/dist/runtime/SessionMutex.d.ts +37 -0
- package/dist/runtime/SessionMutex.d.ts.map +1 -0
- package/dist/runtime/SessionMutex.js +59 -0
- package/dist/runtime/SessionMutex.js.map +1 -0
- package/dist/runtime/StreamEmitter.d.ts +34 -0
- package/dist/runtime/StreamEmitter.d.ts.map +1 -0
- package/dist/runtime/StreamEmitter.js +91 -0
- package/dist/runtime/StreamEmitter.js.map +1 -0
- package/dist/runtime/handoffFilters.d.ts +60 -0
- package/dist/runtime/handoffFilters.d.ts.map +1 -0
- package/dist/runtime/handoffFilters.js +95 -0
- package/dist/runtime/handoffFilters.js.map +1 -0
- package/dist/runtime/pipeline/AgentExecuteStage.d.ts +22 -0
- package/dist/runtime/pipeline/AgentExecuteStage.d.ts.map +1 -0
- package/dist/runtime/pipeline/AgentExecuteStage.js +958 -0
- package/dist/runtime/pipeline/AgentExecuteStage.js.map +1 -0
- package/dist/runtime/pipeline/ContextAssembleStage.d.ts +26 -0
- package/dist/runtime/pipeline/ContextAssembleStage.d.ts.map +1 -0
- package/dist/runtime/pipeline/ContextAssembleStage.js +253 -0
- package/dist/runtime/pipeline/ContextAssembleStage.js.map +1 -0
- package/dist/runtime/pipeline/ContextGatherStage.d.ts +21 -0
- package/dist/runtime/pipeline/ContextGatherStage.d.ts.map +1 -0
- package/dist/runtime/pipeline/ContextGatherStage.js +161 -0
- package/dist/runtime/pipeline/ContextGatherStage.js.map +1 -0
- package/dist/runtime/pipeline/IntakeStage.d.ts +25 -0
- package/dist/runtime/pipeline/IntakeStage.d.ts.map +1 -0
- package/dist/runtime/pipeline/IntakeStage.js +126 -0
- package/dist/runtime/pipeline/IntakeStage.js.map +1 -0
- package/dist/runtime/pipeline/PostStreamStage.d.ts +26 -0
- package/dist/runtime/pipeline/PostStreamStage.d.ts.map +1 -0
- package/dist/runtime/pipeline/PostStreamStage.js +129 -0
- package/dist/runtime/pipeline/PostStreamStage.js.map +1 -0
- package/dist/runtime/pipeline/TurnPipeline.d.ts +54 -0
- package/dist/runtime/pipeline/TurnPipeline.d.ts.map +1 -0
- package/dist/runtime/pipeline/TurnPipeline.js +15 -0
- package/dist/runtime/pipeline/TurnPipeline.js.map +1 -0
- package/dist/runtime/pipeline/TurnServices.d.ts +48 -0
- package/dist/runtime/pipeline/TurnServices.d.ts.map +1 -0
- package/dist/runtime/pipeline/TurnServices.js +2 -0
- package/dist/runtime/pipeline/TurnServices.js.map +1 -0
- package/dist/runtime/pipeline/agentTypeGuards.d.ts +4 -0
- package/dist/runtime/pipeline/agentTypeGuards.d.ts.map +1 -0
- package/dist/runtime/pipeline/agentTypeGuards.js +7 -0
- package/dist/runtime/pipeline/agentTypeGuards.js.map +1 -0
- package/dist/runtime/pipeline/index.d.ts +11 -0
- package/dist/runtime/pipeline/index.d.ts.map +1 -0
- package/dist/runtime/pipeline/index.js +13 -0
- package/dist/runtime/pipeline/index.js.map +1 -0
- package/dist/runtime/pipeline/outputProcessing.d.ts +23 -0
- package/dist/runtime/pipeline/outputProcessing.d.ts.map +1 -0
- package/dist/runtime/pipeline/outputProcessing.js +63 -0
- package/dist/runtime/pipeline/outputProcessing.js.map +1 -0
- package/dist/runtime/pipeline/sessionUtils.d.ts +12 -0
- package/dist/runtime/pipeline/sessionUtils.d.ts.map +1 -0
- package/dist/runtime/pipeline/sessionUtils.js +73 -0
- package/dist/runtime/pipeline/sessionUtils.js.map +1 -0
- package/dist/tools/Tool.d.ts +7 -0
- package/dist/tools/Tool.d.ts.map +1 -1
- package/dist/tools/Tool.js +12 -3
- package/dist/tools/Tool.js.map +1 -1
- package/dist/tools/memory.d.ts +26 -0
- package/dist/tools/memory.d.ts.map +1 -0
- package/dist/tools/memory.js +51 -0
- package/dist/tools/memory.js.map +1 -0
- package/dist/types/index.d.ts +238 -9
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/telemetry.d.ts +107 -0
- package/dist/types/telemetry.d.ts.map +1 -1
- package/guides/AGENTS.md +173 -0
- package/guides/README.md +12 -0
- package/guides/TOOLS.md +93 -27
- package/package.json +25 -4
- package/dist/agents/LLMAgent.d.ts +0 -11
- package/dist/agents/LLMAgent.d.ts.map +0 -1
- package/dist/agents/LLMAgent.js +0 -31
- package/dist/agents/LLMAgent.js.map +0 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
export { Agent } from './agents/Agent.js';
|
|
2
|
-
export { LLMAgent } from './agents/LLMAgent.js';
|
|
3
2
|
export { FlowAgent } from './agents/FlowAgent.js';
|
|
4
3
|
export { TriageAgent } from './agents/TriageAgent.js';
|
|
5
4
|
export { CompositeAgent } from './agents/CompositeAgent.js';
|
|
6
5
|
export { FlowManager } from './flows/FlowManager.js';
|
|
7
6
|
export { FlowGraph, FlowGraphBuilder } from './flows/FlowGraph.js';
|
|
8
7
|
export { FlowNode } from './flows/FlowNode.js';
|
|
9
|
-
export {
|
|
8
|
+
export { isExtractionNode } from './types/index.js';
|
|
9
|
+
export { extractStructuredFields, mergeExtractionData, computeMissingFields, buildMissingFieldsMessage, toNullableSchema, } from './flows/extraction.js';
|
|
10
10
|
export { createFlowTransition, createFlowTransitionWithNode, isFlowTransition, createFlowUpdate, isFlowUpdate, } from './flows/transitions.js';
|
|
11
11
|
export { SessionManager } from './session/SessionManager.js';
|
|
12
12
|
export { MemoryStore } from './session/stores/MemoryStore.js';
|
|
13
13
|
export { Runtime, createRuntime } from './runtime/Runtime.js';
|
|
14
|
+
export { EvalRunner } from './eval/EvalRunner.js';
|
|
15
|
+
export { scoreTurn, aggregateScores } from './eval/scoring.js';
|
|
14
16
|
export { InjectionQueue, createInjectionQueue, commonInjections, policyProfiles, getPolicyProfileInjections, } from './runtime/InjectionQueue.js';
|
|
15
17
|
export { SessionWorkingMemory } from './runtime/WorkingMemory.js';
|
|
16
18
|
export { createContextManager, createSummarizingContextManager, } from './runtime/ContextManager.js';
|
|
@@ -18,10 +20,12 @@ export { createTool, createToolWithFiller } from './tools/Tool.js';
|
|
|
18
20
|
export { createHandoffTool, isHandoffResult } from './tools/handoff.js';
|
|
19
21
|
export { isFinalResult } from './tools/final.js';
|
|
20
22
|
export { createHttpTool } from './tools/http.js';
|
|
23
|
+
export { createLoadMemoryTool } from './tools/memory.js';
|
|
21
24
|
export { PromptTemplateBuilder, PromptBuilder, createPromptTemplate, SUPPORT_AGENT_TEMPLATE, SALES_AGENT_TEMPLATE, TRIAGE_AGENT_TEMPLATE, createSupportAgentTemplate, DEFAULT_HANDOFF_INSTRUCTION, } from './prompts/index.js';
|
|
22
25
|
export { HookRunner, createHookRunner } from './hooks/HookRunner.js';
|
|
23
26
|
export { loggingHooks, createLoggingHooks } from './hooks/builtin/logging.js';
|
|
24
27
|
export { createMetricsHooks, InMemoryMetrics } from './hooks/builtin/metrics.js';
|
|
28
|
+
export { createObservabilityHooks } from './hooks/builtin/observability.js';
|
|
25
29
|
export { createHttpCallback, clearTextAccumulator } from './callbacks/httpCallback.js';
|
|
26
30
|
export { createStreamCallbackAdapter, createConsoleStreamSink, createFileStreamSink, createHttpStreamSink, createFunctionStreamSink, } from './callbacks/streamCallback.js';
|
|
27
31
|
export { ToolEnforcer, createToolEnforcer } from './guards/ToolEnforcer.js';
|
|
@@ -32,4 +36,14 @@ export * as EnforcementRules from './guards/rules.js';
|
|
|
32
36
|
export { createDateParser, parseDate, parseDateRange, formatDateForSpeech, formatTimeForSpeech, dateParser, commonDateExpressions, } from './utils/index.js';
|
|
33
37
|
// Prompt templates and registry
|
|
34
38
|
export { getTemplate, registerTemplate, listTemplates, getAllTemplates } from './prompts/index.js';
|
|
39
|
+
export { InMemoryMemoryService } from './memory/index.js';
|
|
40
|
+
export { preloadMemoryContext } from './memory/index.js';
|
|
41
|
+
// Context Budget
|
|
42
|
+
export { DEFAULT_CONTEXT_BUDGET, computeMessageHistoryBudget, truncateToTokenBudget, formatMemoryWithBudget, estimateTokenCount, } from './runtime/ContextBudget.js';
|
|
43
|
+
// Handoff Filters
|
|
44
|
+
export { handoffFilters, removeToolHistory, keepRecentMessages, removeKeys, composeFilters, } from './runtime/handoffFilters.js';
|
|
45
|
+
// Foundation (shared primitives for Runtime + VoiceEngine)
|
|
46
|
+
export { DefaultToolExecutor, DefaultConversationState, DefaultConversationEventLog, DefaultAgentStateController, createFoundation, } from './foundation/index.js';
|
|
47
|
+
// ─── Capabilities ────────────────────────────────────────────────────────────
|
|
48
|
+
export { CapabilityHost, FlowCapability, TriageCapability, ExtractionCapability, HandoffCapability, GuardrailCapability, AutoRetrieveCapability, toGeminiDeclarations, toAISDKTools, } from './capabilities/index.js';
|
|
35
49
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { Session } from '../types/index.js';
|
|
2
|
+
import type { MemoryIngestionOptions, SearchMemoryRequest, SearchMemoryResponse } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Interface for cross-session long-term memory.
|
|
5
|
+
*
|
|
6
|
+
* MemoryService is the counterpart to SessionStore:
|
|
7
|
+
* - SessionStore manages per-session state (messages, workingMemory, agentStates)
|
|
8
|
+
* - MemoryService manages cross-session knowledge (facts, summaries, preferences)
|
|
9
|
+
*
|
|
10
|
+
* The service has two responsibilities:
|
|
11
|
+
* 1. Ingestion — converting session data into searchable memories
|
|
12
|
+
* 2. Retrieval — finding relevant memories for a given query
|
|
13
|
+
*/
|
|
14
|
+
export interface MemoryService {
|
|
15
|
+
/**
|
|
16
|
+
* Ingest a session into long-term memory.
|
|
17
|
+
*
|
|
18
|
+
* Typically called when a session ends or reaches a meaningful checkpoint.
|
|
19
|
+
* Implementations may store raw events, extract facts via LLM, or summarize.
|
|
20
|
+
* A session may be ingested multiple times (implementations must handle idempotency).
|
|
21
|
+
*
|
|
22
|
+
* @param session - The session to ingest
|
|
23
|
+
* @param options - Optional ingestion configuration
|
|
24
|
+
*/
|
|
25
|
+
addSessionToMemory(session: Session, options?: MemoryIngestionOptions): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Search long-term memory for relevant context.
|
|
28
|
+
*
|
|
29
|
+
* Returns memories scoped to a specific user within an application context.
|
|
30
|
+
* Implementations may use keyword matching, semantic search, or hybrid approaches.
|
|
31
|
+
*
|
|
32
|
+
* @param request - Search parameters (userId, query, optional filters)
|
|
33
|
+
*/
|
|
34
|
+
searchMemory(request: SearchMemoryRequest): Promise<SearchMemoryResponse>;
|
|
35
|
+
/**
|
|
36
|
+
* Delete all memories for a user. Used for GDPR compliance / data cleanup.
|
|
37
|
+
*/
|
|
38
|
+
deleteMemories?(userId: string): Promise<void>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=MemoryService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryService.d.ts","sourceRoot":"","sources":["../../src/memory/MemoryService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEpG;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;;;;OASG;IACH,kBAAkB,CAChB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;OAOG;IACH,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE1E;;OAEG;IACH,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryService.js","sourceRoot":"","sources":["../../src/memory/MemoryService.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type { MemoryService } from './MemoryService.js';
|
|
2
|
+
export type { MemoryEntry, SearchMemoryRequest, SearchMemoryResponse, MemoryIngestionOptions, } from './types.js';
|
|
3
|
+
export { InMemoryMemoryService } from './stores/InMemoryMemoryService.js';
|
|
4
|
+
export { preloadMemoryContext } from './preloadMemory.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Session } from '../types/index.js';
|
|
2
|
+
import type { MemoryService } from './MemoryService.js';
|
|
3
|
+
/**
|
|
4
|
+
* Preloads relevant memories into the system prompt before each LLM call.
|
|
5
|
+
*
|
|
6
|
+
* This is NOT a tool the LLM calls. It is a Runtime-level middleware that:
|
|
7
|
+
* 1. Takes the user's latest message as a search query
|
|
8
|
+
* 2. Searches long-term memory for relevant context
|
|
9
|
+
* 3. Formats matching memories as a markdown section
|
|
10
|
+
* 4. Truncates the output to fit within the allocated token budget
|
|
11
|
+
*
|
|
12
|
+
* The maxTokens parameter is mandatory. If the formatted output exceeds
|
|
13
|
+
* maxTokens, memories are dropped in lowest-relevance-first order until
|
|
14
|
+
* the output fits.
|
|
15
|
+
*/
|
|
16
|
+
export declare function preloadMemoryContext(memoryService: MemoryService, session: Session, userInput: string, maxTokens: number): Promise<string | null>;
|
|
17
|
+
//# sourceMappingURL=preloadMemory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preloadMemory.d.ts","sourceRoot":"","sources":["../../src/memory/preloadMemory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWxD;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2CxB"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token estimation function. Matches the estimator used in ContextManager.ts:
|
|
3
|
+
* Math.ceil(text.length / 4).
|
|
4
|
+
*/
|
|
5
|
+
function estimateTokenCount(text) {
|
|
6
|
+
if (!text)
|
|
7
|
+
return 0;
|
|
8
|
+
return Math.ceil(text.length / 4);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Preloads relevant memories into the system prompt before each LLM call.
|
|
12
|
+
*
|
|
13
|
+
* This is NOT a tool the LLM calls. It is a Runtime-level middleware that:
|
|
14
|
+
* 1. Takes the user's latest message as a search query
|
|
15
|
+
* 2. Searches long-term memory for relevant context
|
|
16
|
+
* 3. Formats matching memories as a markdown section
|
|
17
|
+
* 4. Truncates the output to fit within the allocated token budget
|
|
18
|
+
*
|
|
19
|
+
* The maxTokens parameter is mandatory. If the formatted output exceeds
|
|
20
|
+
* maxTokens, memories are dropped in lowest-relevance-first order until
|
|
21
|
+
* the output fits.
|
|
22
|
+
*/
|
|
23
|
+
export async function preloadMemoryContext(memoryService, session, userInput, maxTokens) {
|
|
24
|
+
if (!session.userId)
|
|
25
|
+
return null;
|
|
26
|
+
if (maxTokens <= 0)
|
|
27
|
+
return null;
|
|
28
|
+
const result = await memoryService.searchMemory({
|
|
29
|
+
userId: session.userId,
|
|
30
|
+
query: userInput,
|
|
31
|
+
limit: 10,
|
|
32
|
+
});
|
|
33
|
+
if (result.memories.length === 0)
|
|
34
|
+
return null;
|
|
35
|
+
const headerLines = [
|
|
36
|
+
'## Context from Past Conversations',
|
|
37
|
+
'',
|
|
38
|
+
'The following is from previous conversations with this user.',
|
|
39
|
+
'Use this context to provide continuity and avoid asking for information the user has already provided.',
|
|
40
|
+
'',
|
|
41
|
+
];
|
|
42
|
+
const header = headerLines.join('\n');
|
|
43
|
+
let estimatedTokens = estimateTokenCount(header);
|
|
44
|
+
const includedLines = [];
|
|
45
|
+
for (const m of result.memories) {
|
|
46
|
+
const author = m.author ? `${m.author}: ` : '';
|
|
47
|
+
const date = m.createdAt
|
|
48
|
+
? `[${m.createdAt.toISOString().split('T')[0]}] `
|
|
49
|
+
: '';
|
|
50
|
+
const line = `${date}${author}${m.content}`;
|
|
51
|
+
const lineTokens = estimateTokenCount(line);
|
|
52
|
+
if (estimatedTokens + lineTokens > maxTokens) {
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
includedLines.push(line);
|
|
56
|
+
estimatedTokens += lineTokens;
|
|
57
|
+
}
|
|
58
|
+
if (includedLines.length === 0)
|
|
59
|
+
return null;
|
|
60
|
+
return header + includedLines.join('\n');
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=preloadMemory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preloadMemory.js","sourceRoot":"","sources":["../../src/memory/preloadMemory.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IACpB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,aAA4B,EAC5B,OAAgB,EAChB,SAAiB,EACjB,SAAiB;IAEjB,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC;QAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,EAAE;KACV,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9C,MAAM,WAAW,GAAG;QAClB,oCAAoC;QACpC,EAAE;QACF,8DAA8D;QAC9D,wGAAwG;QACxG,EAAE;KACH,CAAC;IACF,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAEjD,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS;YACtB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;YACjD,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,GAAG,GAAG,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE5C,IAAI,eAAe,GAAG,UAAU,GAAG,SAAS,EAAE,CAAC;YAC7C,MAAM;QACR,CAAC;QAED,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,eAAe,IAAI,UAAU,CAAC;IAChC,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5C,OAAO,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Session } from '../../types/index.js';
|
|
2
|
+
import type { MemoryService } from '../MemoryService.js';
|
|
3
|
+
import type { MemoryIngestionOptions, SearchMemoryRequest, SearchMemoryResponse } from '../types.js';
|
|
4
|
+
/**
|
|
5
|
+
* In-memory implementation of MemoryService for development and testing.
|
|
6
|
+
*
|
|
7
|
+
* Uses keyword-based search with term overlap scoring.
|
|
8
|
+
* All data is stored in-process and lost on restart.
|
|
9
|
+
*/
|
|
10
|
+
export declare class InMemoryMemoryService implements MemoryService {
|
|
11
|
+
/**
|
|
12
|
+
* In-memory storage indexed by userId.
|
|
13
|
+
* Each user has a map of sessionId → MemoryEntry[].
|
|
14
|
+
*/
|
|
15
|
+
private memories;
|
|
16
|
+
addSessionToMemory(session: Session, options?: MemoryIngestionOptions): Promise<void>;
|
|
17
|
+
searchMemory(request: SearchMemoryRequest): Promise<SearchMemoryResponse>;
|
|
18
|
+
deleteMemories(userId: string): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=InMemoryMemoryService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InMemoryMemoryService.d.ts","sourceRoot":"","sources":["../../../src/memory/stores/InMemoryMemoryService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAEV,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AA6BrB;;;;;GAKG;AACH,qBAAa,qBAAsB,YAAW,aAAa;IACzD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAsD;IAEhE,kBAAkB,CACtB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,IAAI,CAAC;IA2BV,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA2BzE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGpD"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
/**
|
|
3
|
+
* Extracts plain text from a message content field.
|
|
4
|
+
* Handles both string content and array content parts.
|
|
5
|
+
*/
|
|
6
|
+
function extractTextFromMessage(message) {
|
|
7
|
+
if (typeof message.content === 'string')
|
|
8
|
+
return message.content;
|
|
9
|
+
if (Array.isArray(message.content)) {
|
|
10
|
+
return message.content
|
|
11
|
+
.filter((part) => part.type === 'text')
|
|
12
|
+
.map((part) => part.text)
|
|
13
|
+
.join('\n');
|
|
14
|
+
}
|
|
15
|
+
return '';
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Extracts lowercase words from text as a Set for fast lookup.
|
|
19
|
+
*/
|
|
20
|
+
function extractWordsLower(text) {
|
|
21
|
+
return new Set(text
|
|
22
|
+
.toLowerCase()
|
|
23
|
+
.split(/\s+/)
|
|
24
|
+
.filter(Boolean));
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* In-memory implementation of MemoryService for development and testing.
|
|
28
|
+
*
|
|
29
|
+
* Uses keyword-based search with term overlap scoring.
|
|
30
|
+
* All data is stored in-process and lost on restart.
|
|
31
|
+
*/
|
|
32
|
+
export class InMemoryMemoryService {
|
|
33
|
+
/**
|
|
34
|
+
* In-memory storage indexed by userId.
|
|
35
|
+
* Each user has a map of sessionId → MemoryEntry[].
|
|
36
|
+
*/
|
|
37
|
+
memories = new Map();
|
|
38
|
+
async addSessionToMemory(session, options) {
|
|
39
|
+
if (!session.userId)
|
|
40
|
+
return;
|
|
41
|
+
const entries = [];
|
|
42
|
+
for (const message of session.messages) {
|
|
43
|
+
if (message.role !== 'user' && message.role !== 'assistant')
|
|
44
|
+
continue;
|
|
45
|
+
const text = extractTextFromMessage(message);
|
|
46
|
+
if (!text.trim())
|
|
47
|
+
continue;
|
|
48
|
+
entries.push({
|
|
49
|
+
id: randomUUID(),
|
|
50
|
+
sessionId: session.id,
|
|
51
|
+
userId: session.userId,
|
|
52
|
+
content: text,
|
|
53
|
+
author: message.role === 'user' ? 'user' : 'assistant',
|
|
54
|
+
metadata: options?.metadata,
|
|
55
|
+
createdAt: new Date(),
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
// Idempotency: delete existing entries for this session before re-ingesting
|
|
59
|
+
const userMemories = this.memories.get(session.userId) ?? new Map();
|
|
60
|
+
userMemories.set(session.id, entries);
|
|
61
|
+
this.memories.set(session.userId, userMemories);
|
|
62
|
+
}
|
|
63
|
+
async searchMemory(request) {
|
|
64
|
+
const userMemories = this.memories.get(request.userId);
|
|
65
|
+
if (!userMemories)
|
|
66
|
+
return { memories: [] };
|
|
67
|
+
const queryWords = extractWordsLower(request.query);
|
|
68
|
+
if (queryWords.size === 0)
|
|
69
|
+
return { memories: [] };
|
|
70
|
+
const matches = [];
|
|
71
|
+
for (const entries of userMemories.values()) {
|
|
72
|
+
for (const entry of entries) {
|
|
73
|
+
const entryWords = extractWordsLower(entry.content);
|
|
74
|
+
let matchCount = 0;
|
|
75
|
+
for (const w of queryWords) {
|
|
76
|
+
if (entryWords.has(w))
|
|
77
|
+
matchCount++;
|
|
78
|
+
}
|
|
79
|
+
if (matchCount > 0) {
|
|
80
|
+
matches.push({ ...entry, score: matchCount / queryWords.size });
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// Sort by relevance score descending
|
|
85
|
+
matches.sort((a, b) => (b.score ?? 0) - (a.score ?? 0));
|
|
86
|
+
return { memories: matches.slice(0, request.limit ?? 10) };
|
|
87
|
+
}
|
|
88
|
+
async deleteMemories(userId) {
|
|
89
|
+
this.memories.delete(userId);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=InMemoryMemoryService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InMemoryMemoryService.js","sourceRoot":"","sources":["../../../src/memory/stores/InMemoryMemoryService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for the cross-session long-term memory system.
|
|
3
|
+
*
|
|
4
|
+
* These types define the data structures used by MemoryService implementations
|
|
5
|
+
* for storing, searching, and managing cross-session knowledge.
|
|
6
|
+
*/
|
|
7
|
+
export interface MemoryEntry {
|
|
8
|
+
/** Unique identifier for this memory */
|
|
9
|
+
id: string;
|
|
10
|
+
/** The session this memory was derived from */
|
|
11
|
+
sessionId: string;
|
|
12
|
+
/** The user this memory belongs to */
|
|
13
|
+
userId: string;
|
|
14
|
+
/** The memory content (extracted fact, summary, or raw text) */
|
|
15
|
+
content: string;
|
|
16
|
+
/** Who authored the original content: 'user' | 'assistant' | agent name */
|
|
17
|
+
author?: string;
|
|
18
|
+
/** Structured metadata for filtering */
|
|
19
|
+
metadata?: Record<string, unknown>;
|
|
20
|
+
/** When the memory was created */
|
|
21
|
+
createdAt: Date;
|
|
22
|
+
/** Relevance score (populated by search, not storage) */
|
|
23
|
+
score?: number;
|
|
24
|
+
}
|
|
25
|
+
export interface SearchMemoryRequest {
|
|
26
|
+
/** Required: whose memories to search */
|
|
27
|
+
userId: string;
|
|
28
|
+
/** The search query */
|
|
29
|
+
query: string;
|
|
30
|
+
/** Max results to return (default: 10) */
|
|
31
|
+
limit?: number;
|
|
32
|
+
/** Optional metadata filters */
|
|
33
|
+
filter?: Record<string, unknown>;
|
|
34
|
+
}
|
|
35
|
+
export interface SearchMemoryResponse {
|
|
36
|
+
memories: MemoryEntry[];
|
|
37
|
+
}
|
|
38
|
+
export interface MemoryIngestionOptions {
|
|
39
|
+
/** Custom metadata to attach to all memories from this session */
|
|
40
|
+
metadata?: Record<string, unknown>;
|
|
41
|
+
/**
|
|
42
|
+
* Ingestion strategy:
|
|
43
|
+
* - 'raw': Store message content as-is (default for InMemoryMemoryService)
|
|
44
|
+
* - 'summarize': Use LLM to summarize the session before storing
|
|
45
|
+
* - 'extract': Use LLM to extract individual facts/entities
|
|
46
|
+
*/
|
|
47
|
+
strategy?: 'raw' | 'summarize' | 'extract';
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/memory/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IAEX,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAElB,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IAEf,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;IAEhB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,kCAAkC;IAClC,SAAS,EAAE,IAAI,CAAC;IAEhB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IAEf,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IAEd,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,KAAK,GAAG,WAAW,GAAG,SAAS,CAAC;CAC5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/memory/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { OrchestrationAuthority } from './OrchestrationAuthority.js';
|
|
2
|
+
import type { AuthoritySessionHandle, ToolExecutionOutcome, OpenSessionParams, OrchestrationAuthorityConfig } from './types.js';
|
|
3
|
+
import type { RealtimeSessionConfig } from '../realtime/RealtimeAudioClient.js';
|
|
4
|
+
import type { ToolExecutor } from '../foundation/ToolExecutor.js';
|
|
5
|
+
import type { ConversationState } from '../foundation/ConversationState.js';
|
|
6
|
+
import type { ConversationEventLog } from '../foundation/ConversationEventLog.js';
|
|
7
|
+
import type { AgentStateController } from '../foundation/AgentStateController.js';
|
|
8
|
+
import { HookRunner } from '../hooks/HookRunner.js';
|
|
9
|
+
/**
|
|
10
|
+
* Default implementation of the OrchestrationAuthority port.
|
|
11
|
+
*
|
|
12
|
+
* Composes Foundation services, HookRunner, CapabilityHost, LivePromptAssembler,
|
|
13
|
+
* ExtractionEngine, and MemoryService into the transport-agnostic orchestration
|
|
14
|
+
* sequence defined in RFC-REALTIME-RUNTIME-AUTHORITY.md.
|
|
15
|
+
*
|
|
16
|
+
* This is the "single brain" that both text Runtime and RealtimeRuntime
|
|
17
|
+
* delegate to for conversational semantics.
|
|
18
|
+
*/
|
|
19
|
+
export declare class DefaultOrchestrationAuthority implements OrchestrationAuthority {
|
|
20
|
+
private readonly agents;
|
|
21
|
+
private readonly defaultAgentId;
|
|
22
|
+
private readonly hookRunner;
|
|
23
|
+
private readonly toolExecutor;
|
|
24
|
+
private readonly conversationState;
|
|
25
|
+
private readonly eventLog;
|
|
26
|
+
private readonly agentState;
|
|
27
|
+
private readonly extractionEngine;
|
|
28
|
+
private readonly promptAssembler;
|
|
29
|
+
private readonly memoryService;
|
|
30
|
+
private readonly memoryIngestion;
|
|
31
|
+
private readonly maxPersistRetries;
|
|
32
|
+
private readonly realtimeExtractionRunner?;
|
|
33
|
+
private readonly autoRetrieveProvider;
|
|
34
|
+
constructor(config: OrchestrationAuthorityConfig);
|
|
35
|
+
openSession(params: OpenSessionParams): Promise<AuthoritySessionHandle>;
|
|
36
|
+
recordUserInput(handle: AuthoritySessionHandle, text: string): Promise<void>;
|
|
37
|
+
recordAssistantOutput(handle: AuthoritySessionHandle, text: string): Promise<void>;
|
|
38
|
+
prepareRealtimeConfig(handle: AuthoritySessionHandle): Promise<RealtimeSessionConfig>;
|
|
39
|
+
executeToolCall(handle: AuthoritySessionHandle, call: {
|
|
40
|
+
id: string;
|
|
41
|
+
name: string;
|
|
42
|
+
args: unknown;
|
|
43
|
+
}): Promise<ToolExecutionOutcome>;
|
|
44
|
+
completeTurn(handle: AuthoritySessionHandle): Promise<void>;
|
|
45
|
+
closeSession(handle: AuthoritySessionHandle, result?: {
|
|
46
|
+
success: boolean;
|
|
47
|
+
error?: Error;
|
|
48
|
+
}): Promise<void>;
|
|
49
|
+
failSession(handle: AuthoritySessionHandle, error: Error): Promise<void>;
|
|
50
|
+
/** Expose foundation services for facades that need direct access. */
|
|
51
|
+
get foundation(): {
|
|
52
|
+
toolExecutor: ToolExecutor;
|
|
53
|
+
conversationState: ConversationState;
|
|
54
|
+
eventLog: ConversationEventLog;
|
|
55
|
+
agentState: AgentStateController;
|
|
56
|
+
};
|
|
57
|
+
/** Expose hook runner for facades that need to fire transport-specific hooks. */
|
|
58
|
+
get hooks(): HookRunner;
|
|
59
|
+
/**
|
|
60
|
+
* Build a CapabilityHost from agent config.
|
|
61
|
+
* Mirrors the logic in CapabilityCallWorker.buildHost() and
|
|
62
|
+
* AgentExecuteStage's host construction, unified into one place.
|
|
63
|
+
*/
|
|
64
|
+
private buildCapabilityHost;
|
|
65
|
+
private buildOutcome;
|
|
66
|
+
private runExtraction;
|
|
67
|
+
private runRealtimeKnowledgeRefresh;
|
|
68
|
+
private runRealtimeExtractionRefinement;
|
|
69
|
+
private runMemoryIngestion;
|
|
70
|
+
private persistWithRetry;
|
|
71
|
+
private buildSessionEndMetadata;
|
|
72
|
+
private getInternals;
|
|
73
|
+
private readPersistedFlowState;
|
|
74
|
+
private syncFlowStateToSession;
|
|
75
|
+
private resolveToolArgs;
|
|
76
|
+
private verifyExtractionSubmission;
|
|
77
|
+
private buildExtractionTranscript;
|
|
78
|
+
private getMessageText;
|
|
79
|
+
private toRecord;
|
|
80
|
+
private getRequiredExtractionFields;
|
|
81
|
+
private filterExtractionArgsAgainstTranscript;
|
|
82
|
+
private buildToolCallRecord;
|
|
83
|
+
/**
|
|
84
|
+
* Determine whether a tool is a capability tool (flow transition, extraction)
|
|
85
|
+
* or a regular agent tool. Capability tools have self-contained execute()
|
|
86
|
+
* and bypass ToolExecutor enforcement.
|
|
87
|
+
*/
|
|
88
|
+
private isCapabilityTool;
|
|
89
|
+
private getLastUserInput;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=DefaultOrchestrationAuthority.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultOrchestrationAuthority.d.ts","sourceRoot":"","sources":["../../src/orchestration/DefaultOrchestrationAuthority.ts"],"names":[],"mappings":"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"}
|