@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultOrchestrationAuthority.js","sourceRoot":"","sources":["../../src/orchestration/DefaultOrchestrationAuthority.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import type { AuthoritySessionHandle, ToolExecutionOutcome, OpenSessionParams } from './types.js';
|
|
2
|
+
import type { RealtimeSessionConfig } from '../realtime/RealtimeAudioClient.js';
|
|
3
|
+
/**
|
|
4
|
+
* PORT: Transport-agnostic orchestration authority for AriaFlow.
|
|
5
|
+
*
|
|
6
|
+
* This is the single point of truth for conversational semantics that must
|
|
7
|
+
* be consistent across text (Runtime) and realtime (RealtimeRuntime) execution.
|
|
8
|
+
*
|
|
9
|
+
* The authority owns:
|
|
10
|
+
* - Session lifecycle (open, close, fail)
|
|
11
|
+
* - Transcript recording
|
|
12
|
+
* - Tool execution orchestration (via ToolExecutor + CapabilityHost routing)
|
|
13
|
+
* - Hook lifecycle (onStart, onEnd, onToolResult, onHandoff, etc.)
|
|
14
|
+
* - Persistence policy (with retry and error hooks)
|
|
15
|
+
* - Post-turn extraction
|
|
16
|
+
* - Memory ingestion
|
|
17
|
+
* - Prompt assembly for realtime sessions
|
|
18
|
+
*
|
|
19
|
+
* The authority does NOT own:
|
|
20
|
+
* - WebSocket or HTTP transport mechanics
|
|
21
|
+
* - Audio encoding/decoding
|
|
22
|
+
* - Provider wire formats
|
|
23
|
+
* - LLM inference (that's the model client's job)
|
|
24
|
+
* - Stream event emission (that's the text Runtime facade's job)
|
|
25
|
+
*
|
|
26
|
+
* Facades (Runtime, RealtimeRuntime) compose this authority and add
|
|
27
|
+
* execution-mode-specific control flow on top.
|
|
28
|
+
*
|
|
29
|
+
* @see RFC-REALTIME-RUNTIME-AUTHORITY.md §4.1 Layer B
|
|
30
|
+
*/
|
|
31
|
+
export interface OrchestrationAuthority {
|
|
32
|
+
/**
|
|
33
|
+
* Open a new or existing session and prepare it for interaction.
|
|
34
|
+
*
|
|
35
|
+
* Responsibilities:
|
|
36
|
+
* 1. Load or create session via ConversationState
|
|
37
|
+
* 2. Set active agent via AgentStateController
|
|
38
|
+
* 3. Bump session turn counter
|
|
39
|
+
* 4. Build RunContext
|
|
40
|
+
* 5. Fire onStart and onAgentStart hooks
|
|
41
|
+
*
|
|
42
|
+
* @returns A handle that carries session state across subsequent calls.
|
|
43
|
+
*/
|
|
44
|
+
openSession(params: OpenSessionParams): Promise<AuthoritySessionHandle>;
|
|
45
|
+
/**
|
|
46
|
+
* Record user input (text transcript) into the session.
|
|
47
|
+
* Used by both text (from stream input) and realtime (from speech-to-text).
|
|
48
|
+
*/
|
|
49
|
+
recordUserInput(handle: AuthoritySessionHandle, text: string): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Record assistant output (text transcript) into the session.
|
|
52
|
+
* Used primarily by realtime path (assistant speech-to-text).
|
|
53
|
+
* Text path records via stream events instead.
|
|
54
|
+
*/
|
|
55
|
+
recordAssistantOutput(handle: AuthoritySessionHandle, text: string): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Prepare initial realtime session configuration.
|
|
58
|
+
* Builds the system prompt (via LivePromptAssembler) and tool declarations
|
|
59
|
+
* for the active agent's current state.
|
|
60
|
+
*
|
|
61
|
+
* Used by RealtimeRuntime before connecting to the model client.
|
|
62
|
+
*/
|
|
63
|
+
prepareRealtimeConfig(handle: AuthoritySessionHandle): Promise<RealtimeSessionConfig>;
|
|
64
|
+
/**
|
|
65
|
+
* Execute a tool call through the authority pipeline.
|
|
66
|
+
*
|
|
67
|
+
* Responsibilities:
|
|
68
|
+
* 1. Resolve the tool from active agent's CapabilityHost
|
|
69
|
+
* 2. Execute via ToolExecutor (enforcement, timeouts, idempotency)
|
|
70
|
+
* 3. Record tool call and result events
|
|
71
|
+
* 4. Fire onToolResult hook
|
|
72
|
+
* 5. Route result through CapabilityHost.processToolResult()
|
|
73
|
+
* 6. Persist session (fire-and-forget in hot path)
|
|
74
|
+
* 7. If reconfigure: rebuild prompt and tools via assembler
|
|
75
|
+
* 8. If handoff: fire onHandoff hook
|
|
76
|
+
* 9. If end: fire onAgentEnd hook
|
|
77
|
+
*
|
|
78
|
+
* @returns Outcome describing what the facade should do next.
|
|
79
|
+
*/
|
|
80
|
+
executeToolCall(handle: AuthoritySessionHandle, call: {
|
|
81
|
+
id: string;
|
|
82
|
+
name: string;
|
|
83
|
+
args: unknown;
|
|
84
|
+
}): Promise<ToolExecutionOutcome>;
|
|
85
|
+
/**
|
|
86
|
+
* Complete a turn after the model finishes responding.
|
|
87
|
+
*
|
|
88
|
+
* Responsibilities:
|
|
89
|
+
* 1. Run post-turn extraction (if configured)
|
|
90
|
+
* 2. Persist session with retry
|
|
91
|
+
* 3. Run memory ingestion (if configured)
|
|
92
|
+
* 4. Fire lifecycle hooks
|
|
93
|
+
*/
|
|
94
|
+
completeTurn(handle: AuthoritySessionHandle): Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* Close a session normally.
|
|
97
|
+
*
|
|
98
|
+
* Responsibilities:
|
|
99
|
+
* 1. Fire onAgentEnd hook
|
|
100
|
+
* 2. Fire onEnd hook (success: true)
|
|
101
|
+
* 3. Clean up event log transient state
|
|
102
|
+
* 4. Final session persistence with retry
|
|
103
|
+
*/
|
|
104
|
+
closeSession(handle: AuthoritySessionHandle, result?: {
|
|
105
|
+
success: boolean;
|
|
106
|
+
error?: Error;
|
|
107
|
+
}): Promise<void>;
|
|
108
|
+
/**
|
|
109
|
+
* Handle an unrecoverable session error.
|
|
110
|
+
*
|
|
111
|
+
* Responsibilities:
|
|
112
|
+
* 1. Fire onError hook
|
|
113
|
+
* 2. Fire onEnd hook (success: false)
|
|
114
|
+
* 3. Clean up event log transient state
|
|
115
|
+
* 4. Emergency session persistence (best-effort)
|
|
116
|
+
*/
|
|
117
|
+
failSession(handle: AuthoritySessionHandle, error: Error): Promise<void>;
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=OrchestrationAuthority.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrchestrationAuthority.d.ts","sourceRoot":"","sources":["../../src/orchestration/OrchestrationAuthority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAExE;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7E;;;;OAIG;IACH,qBAAqB,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF;;;;;;OAMG;IACH,qBAAqB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEtF;;;;;;;;;;;;;;;OAeG;IACH,eAAe,CACb,MAAM,EAAE,sBAAsB,EAC9B,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,GAChD,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D;;;;;;;;OAQG;IACH,YAAY,CACV,MAAM,EAAE,sBAAsB,EAC9B,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;;OAQG;IACH,WAAW,CAAC,MAAM,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrchestrationAuthority.js","sourceRoot":"","sources":["../../src/orchestration/OrchestrationAuthority.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { LanguageModel, TelemetrySettings } from 'ai';
|
|
2
|
+
import type { ZodTypeAny } from 'zod';
|
|
3
|
+
export interface RealtimePostTurnExtractionResult {
|
|
4
|
+
extractedFields: Record<string, unknown>;
|
|
5
|
+
mergedData: Record<string, unknown>;
|
|
6
|
+
missingFields: string[];
|
|
7
|
+
complete: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface RealtimeExtractionRunnerConfig {
|
|
10
|
+
model: LanguageModel;
|
|
11
|
+
telemetry?: TelemetrySettings;
|
|
12
|
+
}
|
|
13
|
+
export declare class RealtimeExtractionRunner {
|
|
14
|
+
private readonly model;
|
|
15
|
+
private readonly telemetry?;
|
|
16
|
+
constructor(config: RealtimeExtractionRunnerConfig);
|
|
17
|
+
runPostTurnExtraction(params: {
|
|
18
|
+
schema: ZodTypeAny;
|
|
19
|
+
requiredFields: string[];
|
|
20
|
+
userTranscript: string;
|
|
21
|
+
currentCollectedData: Record<string, unknown>;
|
|
22
|
+
telemetry?: TelemetrySettings;
|
|
23
|
+
}): Promise<RealtimePostTurnExtractionResult>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=RealtimeExtractionRunner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RealtimeExtractionRunner.d.ts","sourceRoot":"","sources":["../../src/orchestration/RealtimeExtractionRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAetC,MAAM,WAAW,gCAAgC;IAC/C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC/B;AAED,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAoB;gBAEnC,MAAM,EAAE,8BAA8B;IAK5C,qBAAqB,CAAC,MAAM,EAAE;QAClC,MAAM,EAAE,UAAU,CAAC;QACnB,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9C,SAAS,CAAC,EAAE,iBAAiB,CAAC;KAC/B,GAAG,OAAO,CAAC,gCAAgC,CAAC;CA2C9C"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { computeMissingFields, extractStructuredFields, mergeExtractionData, toNullableSchema, } from '../flows/extraction.js';
|
|
2
|
+
const EXTRACTION_SYSTEM_PROMPT = [
|
|
3
|
+
'Extract only facts explicitly stated by the user in the supplied transcript.',
|
|
4
|
+
'Ignore assistant statements, guesses, summaries, and inferred values.',
|
|
5
|
+
'Prefer the most recent explicit user-provided value when multiple values appear.',
|
|
6
|
+
'Return null for any field that remains unknown.',
|
|
7
|
+
].join(' ');
|
|
8
|
+
export class RealtimeExtractionRunner {
|
|
9
|
+
model;
|
|
10
|
+
telemetry;
|
|
11
|
+
constructor(config) {
|
|
12
|
+
this.model = config.model;
|
|
13
|
+
this.telemetry = config.telemetry;
|
|
14
|
+
}
|
|
15
|
+
async runPostTurnExtraction(params) {
|
|
16
|
+
const { schema, requiredFields, userTranscript, currentCollectedData, telemetry } = params;
|
|
17
|
+
if (!userTranscript.trim()) {
|
|
18
|
+
const missingFields = computeMissingFields(currentCollectedData, requiredFields);
|
|
19
|
+
return {
|
|
20
|
+
extractedFields: {},
|
|
21
|
+
mergedData: { ...currentCollectedData },
|
|
22
|
+
missingFields,
|
|
23
|
+
complete: missingFields.length === 0,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
const extracted = await extractStructuredFields({
|
|
28
|
+
model: this.model,
|
|
29
|
+
schema: toNullableSchema(schema),
|
|
30
|
+
userMessage: userTranscript,
|
|
31
|
+
systemPrompt: EXTRACTION_SYSTEM_PROMPT,
|
|
32
|
+
telemetry: telemetry ?? this.telemetry,
|
|
33
|
+
});
|
|
34
|
+
const extractedFields = toRecord(extracted);
|
|
35
|
+
const mergedData = mergeExtractionData(currentCollectedData, extractedFields);
|
|
36
|
+
const missingFields = computeMissingFields(mergedData, requiredFields);
|
|
37
|
+
return {
|
|
38
|
+
extractedFields,
|
|
39
|
+
mergedData,
|
|
40
|
+
missingFields,
|
|
41
|
+
complete: missingFields.length === 0,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
console.error('[RealtimeExtractionRunner] Extraction failed, keeping current data:', error);
|
|
46
|
+
const missingFields = computeMissingFields(currentCollectedData, requiredFields);
|
|
47
|
+
return {
|
|
48
|
+
extractedFields: {},
|
|
49
|
+
mergedData: { ...currentCollectedData },
|
|
50
|
+
missingFields,
|
|
51
|
+
complete: missingFields.length === 0,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function toRecord(value) {
|
|
57
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
58
|
+
return {};
|
|
59
|
+
}
|
|
60
|
+
return value;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=RealtimeExtractionRunner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RealtimeExtractionRunner.js","sourceRoot":"","sources":["../../src/orchestration/RealtimeExtractionRunner.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,wBAAwB,GAAG;IAC/B,8EAA8E;IAC9E,uEAAuE;IACvE,kFAAkF;IAClF,iDAAiD;CAClD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAcZ,MAAM,OAAO,wBAAwB;IAClB,KAAK,CAAgB;IACrB,SAAS,CAAqB;IAE/C,YAAY,MAAsC;QAChD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAM3B;QACC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,oBAAoB,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAE3F,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,oBAAoB,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;YACjF,OAAO;gBACL,eAAe,EAAE,EAAE;gBACnB,UAAU,EAAE,EAAE,GAAG,oBAAoB,EAAE;gBACvC,aAAa;gBACb,QAAQ,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;aACrC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC;gBAC9C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC;gBAChC,WAAW,EAAE,cAAc;gBAC3B,YAAY,EAAE,wBAAwB;gBACtC,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS;aACvC,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG,mBAAmB,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;YAC9E,MAAM,aAAa,GAAG,oBAAoB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAEvE,OAAO;gBACL,eAAe;gBACf,UAAU;gBACV,aAAa;gBACb,QAAQ,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;aACrC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qEAAqE,EAAE,KAAK,CAAC,CAAC;YAC5F,MAAM,aAAa,GAAG,oBAAoB,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;YACjF,OAAO;gBACL,eAAe,EAAE,EAAE;gBACnB,UAAU,EAAE,EAAE,GAAG,oBAAoB,EAAE;gBACvC,aAAa;gBACb,QAAQ,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;aACrC,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAgC,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type { OrchestrationAuthority } from './OrchestrationAuthority.js';
|
|
2
|
+
export type { AuthoritySessionHandle, ToolExecutionOutcome, OpenSessionParams, OrchestrationAuthorityConfig, InjectedAuthorityServices, } from './types.js';
|
|
3
|
+
export { DefaultOrchestrationAuthority } from './DefaultOrchestrationAuthority.js';
|
|
4
|
+
export { RealtimeExtractionRunner, type RealtimeExtractionRunnerConfig, type RealtimePostTurnExtractionResult, } from './RealtimeExtractionRunner.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestration/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAG1E,YAAY,EACV,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EACL,wBAAwB,EACxB,KAAK,8BAA8B,EACnC,KAAK,gCAAgC,GACtC,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/orchestration/index.ts"],"names":[],"mappings":"AAYA,yBAAyB;AACzB,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EACL,wBAAwB,GAGzB,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import type { Session, RunContext, AgentConfig, HarnessHooks, EnforcementRule, AutoRetrieveProvider } from '../types/index.js';
|
|
2
|
+
import type { LanguageModel, TelemetrySettings } from 'ai';
|
|
3
|
+
import type { RealtimeSessionConfig } from '../realtime/RealtimeAudioClient.js';
|
|
4
|
+
import type { CapabilityAction, ToolDeclaration } from '../capabilities/index.js';
|
|
5
|
+
import type { SessionStore } from '../session/SessionStore.js';
|
|
6
|
+
import type { MemoryService } from '../memory/MemoryService.js';
|
|
7
|
+
import type { ToolExecutor } from '../foundation/ToolExecutor.js';
|
|
8
|
+
import type { ConversationState } from '../foundation/ConversationState.js';
|
|
9
|
+
import type { ConversationEventLog } from '../foundation/ConversationEventLog.js';
|
|
10
|
+
import type { AgentStateController } from '../foundation/AgentStateController.js';
|
|
11
|
+
import type { HookRunner } from '../hooks/HookRunner.js';
|
|
12
|
+
/**
|
|
13
|
+
* Opaque handle returned by `OrchestrationAuthority.openSession()`.
|
|
14
|
+
* Carries session state and runtime context across authority method calls.
|
|
15
|
+
* The handle is managed by the authority — consumers must not mutate internals.
|
|
16
|
+
*/
|
|
17
|
+
export interface AuthoritySessionHandle {
|
|
18
|
+
/** The loaded or newly created session. */
|
|
19
|
+
readonly session: Session;
|
|
20
|
+
/** The runtime context for this session lifecycle. */
|
|
21
|
+
readonly context: RunContext;
|
|
22
|
+
/** The currently active agent ID. */
|
|
23
|
+
readonly activeAgentId: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Result of executing a tool call through the authority.
|
|
27
|
+
* The facade (text Runtime or RealtimeRuntime) uses this to decide
|
|
28
|
+
* what transport-specific action to take next.
|
|
29
|
+
*/
|
|
30
|
+
export interface ToolExecutionOutcome {
|
|
31
|
+
/**
|
|
32
|
+
* The semantic action determined by CapabilityHost routing.
|
|
33
|
+
* - 'continue': regular tool result, model drives next response
|
|
34
|
+
* - 'reconfigure': flow transitioned, session config must be updated
|
|
35
|
+
* - 'handoff': agent handoff requested
|
|
36
|
+
* - 'end': flow or conversation ended
|
|
37
|
+
* - 'extraction-complete': structured data collection finished
|
|
38
|
+
*/
|
|
39
|
+
action: CapabilityAction;
|
|
40
|
+
/** The tool response to send back to the model. */
|
|
41
|
+
toolResponse: {
|
|
42
|
+
id: string;
|
|
43
|
+
name: string;
|
|
44
|
+
output: unknown;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Updated realtime session config (system prompt + tools).
|
|
48
|
+
* Present only when action.type === 'reconfigure'.
|
|
49
|
+
* The realtime facade uses this to call modelClient.updateConfig().
|
|
50
|
+
*/
|
|
51
|
+
nextRealtimeConfig?: RealtimeSessionConfig;
|
|
52
|
+
/**
|
|
53
|
+
* Updated tool declarations after reconfiguration.
|
|
54
|
+
* Present only when action.type === 'reconfigure'.
|
|
55
|
+
*/
|
|
56
|
+
nextTools?: ToolDeclaration[];
|
|
57
|
+
/**
|
|
58
|
+
* Updated system prompt after reconfiguration.
|
|
59
|
+
* Present only when action.type === 'reconfigure'.
|
|
60
|
+
*/
|
|
61
|
+
nextSystemPrompt?: string;
|
|
62
|
+
}
|
|
63
|
+
export interface OpenSessionParams {
|
|
64
|
+
/** Existing session ID to load, or undefined to create a new session. */
|
|
65
|
+
sessionId?: string;
|
|
66
|
+
/** User ID for session scoping and memory retrieval. */
|
|
67
|
+
userId?: string;
|
|
68
|
+
/** Override the default agent for this session. */
|
|
69
|
+
agentId?: string;
|
|
70
|
+
/** Execution mode — affects which lifecycle paths the authority takes. */
|
|
71
|
+
mode: 'text' | 'realtime';
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Configuration for constructing a DefaultOrchestrationAuthority.
|
|
75
|
+
* Mirrors the relevant subset of HarnessConfig needed for
|
|
76
|
+
* transport-agnostic orchestration.
|
|
77
|
+
*/
|
|
78
|
+
export interface OrchestrationAuthorityConfig {
|
|
79
|
+
/** All agent configurations. */
|
|
80
|
+
agents: AgentConfig[];
|
|
81
|
+
/** Default agent to activate when none is specified. */
|
|
82
|
+
defaultAgentId: string;
|
|
83
|
+
/** Hook callbacks for lifecycle events. */
|
|
84
|
+
hooks?: HarnessHooks;
|
|
85
|
+
/** Session store for persistence. */
|
|
86
|
+
sessionStore?: SessionStore;
|
|
87
|
+
/** Memory service for cross-session memory. */
|
|
88
|
+
memoryService?: MemoryService;
|
|
89
|
+
/** Memory ingestion mode. Default: 'manual'. */
|
|
90
|
+
memoryIngestion?: 'onEnd' | 'manual' | 'hook';
|
|
91
|
+
/** Default language model (used by extraction). */
|
|
92
|
+
defaultModel?: LanguageModel;
|
|
93
|
+
/**
|
|
94
|
+
* Optional dedicated text model used for realtime extraction verification.
|
|
95
|
+
* This is distinct from the primary realtime/audio model and is the
|
|
96
|
+
* authoritative verifier for extraction-node submissions when configured.
|
|
97
|
+
*/
|
|
98
|
+
extractionModel?: LanguageModel;
|
|
99
|
+
/** Enforcement rules for tool execution. */
|
|
100
|
+
enforcementRules?: EnforcementRule[];
|
|
101
|
+
/** Telemetry settings. */
|
|
102
|
+
telemetry?: TelemetrySettings;
|
|
103
|
+
/** Max persistence retry attempts. Default: 3. */
|
|
104
|
+
maxPersistRetries?: number;
|
|
105
|
+
/**
|
|
106
|
+
* Optional auto-retrieve provider for realtime mode. When set, each
|
|
107
|
+
* `completeTurn()` in realtime runs retrieval against the last user
|
|
108
|
+
* transcript and stores the result in `session.workingMemory['knowledge:realtime']`.
|
|
109
|
+
*/
|
|
110
|
+
autoRetrieveProvider?: AutoRetrieveProvider;
|
|
111
|
+
/**
|
|
112
|
+
* Pre-built services to inject. When provided, the authority uses these
|
|
113
|
+
* instead of constructing its own. This enables Runtime and the authority
|
|
114
|
+
* to share the exact same backing instances (same session store, same
|
|
115
|
+
* hook runner, same tool executor, etc.).
|
|
116
|
+
*
|
|
117
|
+
* Typical usage: Runtime constructs services in its constructor, then
|
|
118
|
+
* passes them here so both text and realtime paths share state.
|
|
119
|
+
*/
|
|
120
|
+
injectedServices?: InjectedAuthorityServices;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Pre-built service instances that can be injected into the authority.
|
|
124
|
+
* All fields are optional — only provided services are used; missing ones
|
|
125
|
+
* are constructed from the config as usual.
|
|
126
|
+
*/
|
|
127
|
+
export interface InjectedAuthorityServices {
|
|
128
|
+
toolExecutor?: ToolExecutor;
|
|
129
|
+
conversationState?: ConversationState;
|
|
130
|
+
eventLog?: ConversationEventLog;
|
|
131
|
+
agentState?: AgentStateController;
|
|
132
|
+
hookRunner?: HookRunner;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/orchestration/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/orchestration/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentPrompt — Developer-facing class for structured prompt assembly.
|
|
3
|
+
*
|
|
4
|
+
* Provides a chainable API for composing agent prompts with automatic
|
|
5
|
+
* security sandwiching, priority-based ordering, and XML-tagged rendering.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* const prompt = new AgentPrompt()
|
|
10
|
+
* .role('You are a helpful customer support agent.')
|
|
11
|
+
* .instructions('Help customers with billing and account issues.')
|
|
12
|
+
* .guardrails('Never share internal pricing or discount formulas.')
|
|
13
|
+
* .knowledge(async () => fetchKnowledgeBase())
|
|
14
|
+
* .tools(myToolSet);
|
|
15
|
+
*
|
|
16
|
+
* const systemPrompt = await prompt.render();
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @module
|
|
20
|
+
*/
|
|
21
|
+
import type { ToolSet } from '../tools/Tool.js';
|
|
22
|
+
import type { GlossaryTerm, VoiceRulesConfig, PolicyProfile } from './types.js';
|
|
23
|
+
import { PromptAssembly } from './PromptAssembly.js';
|
|
24
|
+
import type { AssemblyDebugInfo } from './PromptAssembly.js';
|
|
25
|
+
/**
|
|
26
|
+
* Configuration for the AgentPrompt constructor.
|
|
27
|
+
*/
|
|
28
|
+
export interface AgentPromptConfig {
|
|
29
|
+
/** Security policy profile. Defaults to 'minimal'. */
|
|
30
|
+
policy?: PolicyProfile;
|
|
31
|
+
/** Whether to wrap sections in XML tags. Defaults to true. */
|
|
32
|
+
xmlTags?: boolean;
|
|
33
|
+
/** Maximum token budget for the rendered prompt. */
|
|
34
|
+
maxTokens?: number;
|
|
35
|
+
/** Disable automatic security core and reminder sections. Defaults to false. */
|
|
36
|
+
disableSecurity?: boolean;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Developer-facing prompt builder with a chainable API.
|
|
40
|
+
*
|
|
41
|
+
* Internally creates a {@link PromptAssembly}, injects security core (priority 0)
|
|
42
|
+
* and security reminder (priority 1000), then freezes security bands.
|
|
43
|
+
*
|
|
44
|
+
* All chainable methods accept either a static string or an async function
|
|
45
|
+
* that resolves to a string.
|
|
46
|
+
*/
|
|
47
|
+
export declare class AgentPrompt {
|
|
48
|
+
private readonly _assembly;
|
|
49
|
+
private readonly renderOptions;
|
|
50
|
+
constructor(config?: AgentPromptConfig);
|
|
51
|
+
/**
|
|
52
|
+
* Sets the agent's role description. Priority 10, non-shrinkable.
|
|
53
|
+
*/
|
|
54
|
+
role(content: string | (() => Promise<string>)): this;
|
|
55
|
+
/**
|
|
56
|
+
* Sets the agent's instructions. Priority 15, non-shrinkable.
|
|
57
|
+
*/
|
|
58
|
+
instructions(content: string | (() => Promise<string>)): this;
|
|
59
|
+
/**
|
|
60
|
+
* Sets guardrail rules. Priority 20, non-shrinkable.
|
|
61
|
+
*/
|
|
62
|
+
guardrails(content: string | (() => Promise<string>)): this;
|
|
63
|
+
/**
|
|
64
|
+
* Sets voice/personality description. Priority 25, shrinkable.
|
|
65
|
+
*/
|
|
66
|
+
voice(content: string | (() => Promise<string>)): this;
|
|
67
|
+
/**
|
|
68
|
+
* Injects knowledge context. Priority 30, shrinkable.
|
|
69
|
+
*/
|
|
70
|
+
knowledge(content: string | (() => Promise<string>)): this;
|
|
71
|
+
/**
|
|
72
|
+
* Sets business/domain rules. Priority 35, shrinkable.
|
|
73
|
+
*/
|
|
74
|
+
rules(content: string | (() => Promise<string>)): this;
|
|
75
|
+
/**
|
|
76
|
+
* Adds a glossary of domain terms. Priority 38, shrinkable.
|
|
77
|
+
* Terms are auto-formatted into a structured list.
|
|
78
|
+
*/
|
|
79
|
+
glossary(terms: GlossaryTerm[]): this;
|
|
80
|
+
/**
|
|
81
|
+
* Generates tool descriptions from a ToolSet. Priority 40, shrinkable.
|
|
82
|
+
*/
|
|
83
|
+
tools(toolSet: ToolSet): this;
|
|
84
|
+
/**
|
|
85
|
+
* Sets voice/TTS output rules. Priority 45, shrinkable.
|
|
86
|
+
* Uses the same formatting logic as PromptTemplateBuilder.formatVoiceRules.
|
|
87
|
+
*/
|
|
88
|
+
voiceRules(config: VoiceRulesConfig): this;
|
|
89
|
+
/**
|
|
90
|
+
* Adds example interactions or few-shot prompts. Priority 50, shrinkable.
|
|
91
|
+
*/
|
|
92
|
+
examples(content: string | (() => Promise<string>)): this;
|
|
93
|
+
/**
|
|
94
|
+
* Adds an arbitrary named section. Defaults to priority 60, shrinkable.
|
|
95
|
+
*/
|
|
96
|
+
section(type: string, content: string | (() => Promise<string>), priority?: number): this;
|
|
97
|
+
/**
|
|
98
|
+
* Resolves all sections and renders the prompt to a string.
|
|
99
|
+
*/
|
|
100
|
+
render(): Promise<string>;
|
|
101
|
+
/**
|
|
102
|
+
* Returns debug information about the assembly's current state.
|
|
103
|
+
*/
|
|
104
|
+
debug(): Promise<AssemblyDebugInfo>;
|
|
105
|
+
/**
|
|
106
|
+
* Exposes the underlying PromptAssembly for runtime injection.
|
|
107
|
+
*/
|
|
108
|
+
get assembly(): PromptAssembly;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=AgentPrompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentPrompt.d.ts","sourceRoot":"","sources":["../../src/prompts/AgentPrompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAQ7D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAMD;;;;;;;;GAQG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;gBAElC,MAAM,GAAE,iBAAsB;IA0C1C;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;IAYrD;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;IAY7D;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;IAY3D;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;IAYtD;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;IAY1D;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;IAYtD;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI;IAarC;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAa7B;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAa1C;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;IAYzD;;OAEG;IACH,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,EACzC,QAAQ,SAAK,GACZ,IAAI;IAgBP;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAK/B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAIzC;;OAEG;IACH,IAAI,QAAQ,IAAI,cAAc,CAE7B;CACF"}
|