@framers/agentos 0.1.82 → 0.1.84
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/dist/orchestration/events/GraphEvent.d.ts +39 -0
- package/dist/orchestration/events/GraphEvent.d.ts.map +1 -1
- package/dist/orchestration/events/GraphEvent.js.map +1 -1
- package/dist/orchestration/ir/types.d.ts +34 -1
- package/dist/orchestration/ir/types.d.ts.map +1 -1
- package/dist/orchestration/runtime/NodeExecutor.d.ts +26 -0
- package/dist/orchestration/runtime/NodeExecutor.d.ts.map +1 -1
- package/dist/orchestration/runtime/NodeExecutor.js +34 -2
- package/dist/orchestration/runtime/NodeExecutor.js.map +1 -1
- package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts +105 -0
- package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts.map +1 -0
- package/dist/orchestration/runtime/VoiceNodeExecutor.js +232 -0
- package/dist/orchestration/runtime/VoiceNodeExecutor.js.map +1 -0
- package/dist/orchestration/runtime/VoiceTurnCollector.d.ts +95 -0
- package/dist/orchestration/runtime/VoiceTurnCollector.d.ts.map +1 -0
- package/dist/orchestration/runtime/VoiceTurnCollector.js +148 -0
- package/dist/orchestration/runtime/VoiceTurnCollector.js.map +1 -0
- package/dist/voice-pipeline/VoiceInterruptError.d.ts +52 -0
- package/dist/voice-pipeline/VoiceInterruptError.d.ts.map +1 -0
- package/dist/voice-pipeline/VoiceInterruptError.js +43 -0
- package/dist/voice-pipeline/VoiceInterruptError.js.map +1 -0
- package/dist/voice-pipeline/VoicePipelineOrchestrator.d.ts +44 -1
- package/dist/voice-pipeline/VoicePipelineOrchestrator.d.ts.map +1 -1
- package/dist/voice-pipeline/VoicePipelineOrchestrator.js +63 -0
- package/dist/voice-pipeline/VoicePipelineOrchestrator.js.map +1 -1
- package/dist/voice-pipeline/index.d.ts +1 -0
- package/dist/voice-pipeline/index.d.ts.map +1 -1
- package/dist/voice-pipeline/index.js +1 -0
- package/dist/voice-pipeline/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -139,6 +139,45 @@ export type GraphEvent =
|
|
|
139
139
|
message: string;
|
|
140
140
|
code: string;
|
|
141
141
|
};
|
|
142
|
+
}
|
|
143
|
+
/** Live STT transcription — interim and final results. */
|
|
144
|
+
| {
|
|
145
|
+
type: 'voice_transcript';
|
|
146
|
+
nodeId: string;
|
|
147
|
+
text: string;
|
|
148
|
+
isFinal: boolean;
|
|
149
|
+
speaker?: string;
|
|
150
|
+
confidence: number;
|
|
151
|
+
}
|
|
152
|
+
/** Audio chunk metadata (actual audio flows via IStreamTransport, not events). */
|
|
153
|
+
| {
|
|
154
|
+
type: 'voice_audio';
|
|
155
|
+
nodeId: string;
|
|
156
|
+
direction: 'inbound' | 'outbound';
|
|
157
|
+
format: string;
|
|
158
|
+
durationMs: number;
|
|
159
|
+
}
|
|
160
|
+
/** User barge-in — interrupted the agent mid-speech. */
|
|
161
|
+
| {
|
|
162
|
+
type: 'voice_barge_in';
|
|
163
|
+
nodeId: string;
|
|
164
|
+
interruptedText: string;
|
|
165
|
+
userSpeech: string;
|
|
166
|
+
}
|
|
167
|
+
/** User turn complete — endpoint detection fired. */
|
|
168
|
+
| {
|
|
169
|
+
type: 'voice_turn_complete';
|
|
170
|
+
nodeId: string;
|
|
171
|
+
transcript: string;
|
|
172
|
+
turnIndex: number;
|
|
173
|
+
endpointReason: string;
|
|
174
|
+
}
|
|
175
|
+
/** Voice session lifecycle — started or ended. */
|
|
176
|
+
| {
|
|
177
|
+
type: 'voice_session';
|
|
178
|
+
nodeId: string;
|
|
179
|
+
action: 'started' | 'ended';
|
|
180
|
+
exitReason?: string;
|
|
142
181
|
};
|
|
143
182
|
/**
|
|
144
183
|
* Lightweight event emitter for `GraphEvent` values.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphEvent.d.ts","sourceRoot":"","sources":["../../../src/orchestration/events/GraphEvent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAMjD;;;;;GAKG;AACH,MAAM,MAAM,UAAU;AACpB,gEAAgE;AAC9D;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAEvD,8DAA8D;GAC5D;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;CAAE;AAEpE;;;GAGG;GACD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AAE3E,yFAAyF;GACvF;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AAEnF;;;GAGG;GACD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAEzD,oEAAoE;GAClE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE;AAExE,8EAA8E;GAC5E;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE;AAE5E;;;GAGG;GACD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAEpG,6EAA6E;GAC3E;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAEpE;;;;;GAKG;GACD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,GAAG,qBAAqB,CAAA;CAAE;AAEnG,kFAAkF;GAChF;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AAE7D,sEAAsE;GACpE;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AAE7D,gFAAgF;GAC9E;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE;AAEpE;;;GAGG;GACD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE;AAEnF,mFAAmF;GACjF;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AAE7D;;;GAGG;GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"GraphEvent.d.ts","sourceRoot":"","sources":["../../../src/orchestration/events/GraphEvent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphEvent.js","sourceRoot":"","sources":["../../../src/orchestration/events/GraphEvent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"GraphEvent.js","sourceRoot":"","sources":["../../../src/orchestration/events/GraphEvent.ts"],"names":[],"mappings":"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"}
|
|
@@ -85,6 +85,34 @@ export type GraphCondition = {
|
|
|
85
85
|
type: 'expression';
|
|
86
86
|
expr: GraphConditionExpr;
|
|
87
87
|
};
|
|
88
|
+
/**
|
|
89
|
+
* Configuration for a voice pipeline node.
|
|
90
|
+
* All fields except `mode` are optional and default from agent.config.json voice section.
|
|
91
|
+
*/
|
|
92
|
+
export interface VoiceNodeConfig {
|
|
93
|
+
/** Voice session mode */
|
|
94
|
+
mode: 'conversation' | 'listen-only' | 'speak-only';
|
|
95
|
+
/** STT provider override */
|
|
96
|
+
stt?: string;
|
|
97
|
+
/** TTS provider override */
|
|
98
|
+
tts?: string;
|
|
99
|
+
/** TTS voice override */
|
|
100
|
+
voice?: string;
|
|
101
|
+
/** Endpointing mode */
|
|
102
|
+
endpointing?: 'acoustic' | 'heuristic' | 'semantic';
|
|
103
|
+
/** Barge-in mode */
|
|
104
|
+
bargeIn?: 'hard-cut' | 'soft-fade' | 'disabled';
|
|
105
|
+
/** Enable diarization */
|
|
106
|
+
diarization?: boolean;
|
|
107
|
+
/** Language (BCP-47) */
|
|
108
|
+
language?: string;
|
|
109
|
+
/** Max turns before node completes (0 = unlimited) */
|
|
110
|
+
maxTurns?: number;
|
|
111
|
+
/** Exit condition */
|
|
112
|
+
exitOn?: 'hangup' | 'silence-timeout' | 'keyword' | 'turns-exhausted' | 'manual';
|
|
113
|
+
/** Keywords that trigger completion (when exitOn: 'keyword') */
|
|
114
|
+
exitKeywords?: string[];
|
|
115
|
+
}
|
|
88
116
|
/**
|
|
89
117
|
* Describes how the runtime should execute a `GraphNode`. Each variant maps to a
|
|
90
118
|
* distinct execution strategy.
|
|
@@ -96,6 +124,7 @@ export type GraphCondition = {
|
|
|
96
124
|
* - `guardrail` — Run one or more guardrail checks; route or block on violation.
|
|
97
125
|
* - `router` — Pure routing node; evaluates a `GraphCondition` and emits no output.
|
|
98
126
|
* - `subgraph` — Delegate to another `CompiledExecutionGraph` with optional field mapping.
|
|
127
|
+
* - `voice` — Run a voice pipeline session with configurable STT/TTS and turn management.
|
|
99
128
|
*/
|
|
100
129
|
export type NodeExecutorConfig = {
|
|
101
130
|
type: 'gmi';
|
|
@@ -145,6 +174,10 @@ export type NodeExecutorConfig = {
|
|
|
145
174
|
inputMapping?: Record<string, string>;
|
|
146
175
|
/** Maps child `artifacts` field paths → parent `scratch` field paths. */
|
|
147
176
|
outputMapping?: Record<string, string>;
|
|
177
|
+
} | {
|
|
178
|
+
type: 'voice';
|
|
179
|
+
/** Voice pipeline session configuration. */
|
|
180
|
+
voiceConfig: VoiceNodeConfig;
|
|
148
181
|
};
|
|
149
182
|
/**
|
|
150
183
|
* Governs automatic retry behaviour for transient node failures.
|
|
@@ -306,7 +339,7 @@ export interface GraphNode {
|
|
|
306
339
|
/** Unique identifier within the parent `CompiledExecutionGraph`. Must not equal `START` or `END`. */
|
|
307
340
|
id: string;
|
|
308
341
|
/** Coarse type label kept in sync with `executorConfig.type` for fast switching. */
|
|
309
|
-
type: 'gmi' | 'tool' | 'extension' | 'human' | 'guardrail' | 'router' | 'subgraph';
|
|
342
|
+
type: 'gmi' | 'tool' | 'extension' | 'human' | 'guardrail' | 'router' | 'subgraph' | 'voice';
|
|
310
343
|
/** Full executor configuration; discriminated union determines runtime strategy. */
|
|
311
344
|
executorConfig: NodeExecutorConfig;
|
|
312
345
|
/** Controls the LLM turn budget for this node. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/orchestration/ir/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,6EAA6E;AAC7E,eAAO,MAAM,KAAK,EAAG,WAAoB,CAAC;AAE1C,4EAA4E;AAC5E,eAAO,MAAM,GAAG,EAAG,SAAkB,CAAC;AAMtC;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,eAAe,GAAG,oBAAoB,CAAC;AAEvF;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AAM3E;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,aAAa,CAAC;AAErF;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,CAAC;AAEjF;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;AAMtE;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAExC;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,gBAAgB,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAMrD
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/orchestration/ir/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
import type { GraphNode, GraphState, CompiledExecutionGraph } from '../ir/types.js';
|
|
16
16
|
import type { GraphEvent } from '../events/GraphEvent.js';
|
|
17
17
|
import type { LoopController, LoopChunk, LoopOutput } from './LoopController.js';
|
|
18
|
+
import type { VoiceNodeExecutor } from './VoiceNodeExecutor.js';
|
|
18
19
|
/**
|
|
19
20
|
* The normalised result returned by every `NodeExecutor.execute()` call regardless
|
|
20
21
|
* of which executor variant was dispatched.
|
|
@@ -124,6 +125,24 @@ export interface NodeExecutorDeps {
|
|
|
124
125
|
createSubgraphRuntime?: (graph: CompiledExecutionGraph) => {
|
|
125
126
|
invoke(graph: CompiledExecutionGraph, input: unknown): Promise<unknown>;
|
|
126
127
|
};
|
|
128
|
+
/**
|
|
129
|
+
* Executes an extension method by ID. When absent, extension nodes return a placeholder.
|
|
130
|
+
*
|
|
131
|
+
* @param extensionId - The registered extension identifier.
|
|
132
|
+
* @param method - The method name to invoke on the extension.
|
|
133
|
+
* @param input - Input data passed to the extension method.
|
|
134
|
+
* @returns Promise resolving to the extension's output.
|
|
135
|
+
*/
|
|
136
|
+
extensionExecutor?: (extensionId: string, method: string, input: unknown) => Promise<{
|
|
137
|
+
success: boolean;
|
|
138
|
+
output?: unknown;
|
|
139
|
+
error?: string;
|
|
140
|
+
}>;
|
|
141
|
+
/**
|
|
142
|
+
* Executor for `voice` nodes. Manages voice pipeline sessions, turn collection,
|
|
143
|
+
* and exit-condition racing. When absent, voice nodes return `success: false`.
|
|
144
|
+
*/
|
|
145
|
+
voiceExecutor?: VoiceNodeExecutor;
|
|
127
146
|
}
|
|
128
147
|
/**
|
|
129
148
|
* Stateless executor that dispatches a `GraphNode` to the appropriate handler.
|
|
@@ -234,6 +253,13 @@ export declare class NodeExecutor {
|
|
|
234
253
|
* @param state - Current parent graph state used for input mapping.
|
|
235
254
|
*/
|
|
236
255
|
private executeSubgraph;
|
|
256
|
+
/**
|
|
257
|
+
* Executes an extension method via the injected `extensionExecutor`.
|
|
258
|
+
*
|
|
259
|
+
* @param config - Extension executor config with extensionId and method name.
|
|
260
|
+
* @param state - Current graph state passed as input to the extension.
|
|
261
|
+
*/
|
|
262
|
+
private executeExtension;
|
|
237
263
|
/**
|
|
238
264
|
* Safe dot-path expression evaluator for `{ type: 'expression' }` routing conditions.
|
|
239
265
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeExecutor.d.ts","sourceRoot":"","sources":["../../../src/orchestration/runtime/NodeExecutor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAkB,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACpG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"NodeExecutor.d.ts","sourceRoot":"","sources":["../../../src/orchestration/runtime/NodeExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,10 +82,14 @@ export class NodeExecutor {
|
|
|
82
82
|
case 'gmi':
|
|
83
83
|
return this.executeGmi(config, state);
|
|
84
84
|
case 'extension':
|
|
85
|
-
|
|
86
|
-
return { success: true, output: 'extension-placeholder' };
|
|
85
|
+
return this.executeExtension(config, state);
|
|
87
86
|
case 'subgraph':
|
|
88
87
|
return this.executeSubgraph(config, state);
|
|
88
|
+
case 'voice':
|
|
89
|
+
if (!this.deps.voiceExecutor) {
|
|
90
|
+
return { success: false, error: 'VoiceNodeExecutor not configured' };
|
|
91
|
+
}
|
|
92
|
+
return this.deps.voiceExecutor.execute(node, state);
|
|
89
93
|
}
|
|
90
94
|
}
|
|
91
95
|
// ---------------------------------------------------------------------------
|
|
@@ -298,6 +302,34 @@ export class NodeExecutor {
|
|
|
298
302
|
};
|
|
299
303
|
}
|
|
300
304
|
}
|
|
305
|
+
/**
|
|
306
|
+
* Executes an extension method via the injected `extensionExecutor`.
|
|
307
|
+
*
|
|
308
|
+
* @param config - Extension executor config with extensionId and method name.
|
|
309
|
+
* @param state - Current graph state passed as input to the extension.
|
|
310
|
+
*/
|
|
311
|
+
async executeExtension(config, state) {
|
|
312
|
+
if (!this.deps.extensionExecutor) {
|
|
313
|
+
return { success: true, output: 'extension-not-configured' };
|
|
314
|
+
}
|
|
315
|
+
try {
|
|
316
|
+
const result = await this.deps.extensionExecutor(config.extensionId, config.method, { input: state.input, scratch: state.scratch });
|
|
317
|
+
return {
|
|
318
|
+
success: result.success,
|
|
319
|
+
output: result.output,
|
|
320
|
+
error: result.error,
|
|
321
|
+
scratchUpdate: result.output && typeof result.output === 'object'
|
|
322
|
+
? result.output
|
|
323
|
+
: undefined,
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
catch (err) {
|
|
327
|
+
return {
|
|
328
|
+
success: false,
|
|
329
|
+
error: `Extension ${config.extensionId}.${config.method} failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
}
|
|
301
333
|
// ---------------------------------------------------------------------------
|
|
302
334
|
// Utilities
|
|
303
335
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeExecutor.js","sourceRoot":"","sources":["../../../src/orchestration/runtime/NodeExecutor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"NodeExecutor.js","sourceRoot":"","sources":["../../../src/orchestration/runtime/NodeExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file VoiceNodeExecutor.ts
|
|
3
|
+
* @description Executes voice nodes in the orchestration graph by managing a voice
|
|
4
|
+
* pipeline session, collecting turns via {@link VoiceTurnCollector}, and racing
|
|
5
|
+
* multiple exit conditions (hangup, turns exhausted, keyword, silence timeout,
|
|
6
|
+
* barge-in abort) to determine when the voice node completes.
|
|
7
|
+
*
|
|
8
|
+
* The executor follows the standard 2-arg `execute(node, state)` contract used by
|
|
9
|
+
* {@link NodeExecutor}. It creates an internal `AbortController` for barge-in
|
|
10
|
+
* support and optionally merges a parent abort signal from `state.scratch.abortSignal`.
|
|
11
|
+
*
|
|
12
|
+
* Voice transport and session references are expected in `state.scratch`:
|
|
13
|
+
* - `voiceTransport` — the bidirectional transport EventEmitter (emits `close` / `disconnected`).
|
|
14
|
+
* - `voiceTransport._voiceSession` — the voice pipeline session EventEmitter that fires
|
|
15
|
+
* `final_transcript`, `turn_complete`, `speech_start`, and `barge_in` events.
|
|
16
|
+
*
|
|
17
|
+
* Checkpoint data is stored in `state.scratch[nodeId]` as a {@link VoiceNodeCheckpoint},
|
|
18
|
+
* enabling the graph runtime to resume a voice session from the exact turn index where
|
|
19
|
+
* it was previously suspended.
|
|
20
|
+
*/
|
|
21
|
+
import type { GraphNode, GraphState, VoiceNodeConfig } from '../ir/types.js';
|
|
22
|
+
import type { GraphEvent } from '../events/GraphEvent.js';
|
|
23
|
+
import type { NodeExecutionResult } from './NodeExecutor.js';
|
|
24
|
+
/**
|
|
25
|
+
* Checkpoint data stored in `state.scratch[nodeId]` after a voice node completes.
|
|
26
|
+
*
|
|
27
|
+
* The graph runtime persists this structure so that a subsequent invocation of the
|
|
28
|
+
* same voice node (e.g. after a graph loop or checkpoint restore) can continue the
|
|
29
|
+
* conversation from `turnIndex` rather than resetting to zero.
|
|
30
|
+
*/
|
|
31
|
+
export interface VoiceNodeCheckpoint {
|
|
32
|
+
/** Number of turns completed when the checkpoint was captured. */
|
|
33
|
+
turnIndex: number;
|
|
34
|
+
/** Full transcript buffer at the time of checkpoint. */
|
|
35
|
+
transcript: Array<{
|
|
36
|
+
speaker: string;
|
|
37
|
+
text: string;
|
|
38
|
+
timestamp: number;
|
|
39
|
+
}>;
|
|
40
|
+
/** Exit reason that caused the voice node to complete (`null` if still in progress). */
|
|
41
|
+
lastExitReason: string | null;
|
|
42
|
+
/** Maps diarization speaker labels to human-readable names (reserved for future use). */
|
|
43
|
+
speakerMap: Record<string, string>;
|
|
44
|
+
/** The voice config that was active when this checkpoint was created. */
|
|
45
|
+
sessionConfig: VoiceNodeConfig;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Executes voice-type graph nodes by running a voice pipeline session and racing
|
|
49
|
+
* multiple exit conditions to determine when the node is done.
|
|
50
|
+
*
|
|
51
|
+
* Exit conditions are evaluated concurrently via a single `Promise` race:
|
|
52
|
+
* - **Hangup** — transport emits `close` or `disconnected`.
|
|
53
|
+
* - **Turns exhausted** — session emits `turn_complete` and the collector's count
|
|
54
|
+
* reaches `config.maxTurns`.
|
|
55
|
+
* - **Keyword** — a `final_transcript` event contains one of `config.exitKeywords`.
|
|
56
|
+
* - **Silence timeout** — no speech activity for 30 seconds (when `exitOn: 'silence-timeout'`).
|
|
57
|
+
* - **Abort/barge-in** — the internal `AbortController` is signalled, either by a
|
|
58
|
+
* parent abort signal or a `VoiceInterruptError`.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* const executor = new VoiceNodeExecutor((event) => emitter.emit(event));
|
|
63
|
+
* const result = await executor.execute(voiceNode, graphState);
|
|
64
|
+
* console.log(result.output.exitReason); // 'turns-exhausted' | 'hangup' | 'keyword:goodbye' | ...
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare class VoiceNodeExecutor {
|
|
68
|
+
private readonly eventSink;
|
|
69
|
+
/**
|
|
70
|
+
* @param eventSink - Callback invoked synchronously for every emitted {@link GraphEvent}.
|
|
71
|
+
* Typically bound to the graph runtime's event emitter.
|
|
72
|
+
*/
|
|
73
|
+
constructor(eventSink: (event: GraphEvent) => void);
|
|
74
|
+
/**
|
|
75
|
+
* Execute a voice node. Matches the standard 2-arg `execute(node, state)` signature
|
|
76
|
+
* used throughout the orchestration runtime.
|
|
77
|
+
*
|
|
78
|
+
* Creates an internal `AbortController` for barge-in, wires up a
|
|
79
|
+
* {@link VoiceTurnCollector} on the session, and races exit conditions to
|
|
80
|
+
* determine when the node completes.
|
|
81
|
+
*
|
|
82
|
+
* @param node - Immutable voice node descriptor from the compiled graph IR.
|
|
83
|
+
* @param state - Current (partial) graph state threaded from the runtime.
|
|
84
|
+
* @returns A {@link NodeExecutionResult} with transcript, exit reason, and optional route target.
|
|
85
|
+
*/
|
|
86
|
+
execute(node: GraphNode, state: Partial<GraphState>): Promise<NodeExecutionResult>;
|
|
87
|
+
/**
|
|
88
|
+
* Races all configured exit conditions against each other and resolves with
|
|
89
|
+
* the first one that fires.
|
|
90
|
+
*
|
|
91
|
+
* Listeners are attached to the session and transport EventEmitters. The
|
|
92
|
+
* `AbortController` signal is also monitored — if it fires with a
|
|
93
|
+
* {@link VoiceInterruptError} the Promise rejects (handled by the caller),
|
|
94
|
+
* otherwise it resolves with `{ reason: 'interrupted' }`.
|
|
95
|
+
*
|
|
96
|
+
* @param session - Voice pipeline session EventEmitter.
|
|
97
|
+
* @param collector - Active turn collector tracking turn count.
|
|
98
|
+
* @param config - Voice node configuration with exit settings.
|
|
99
|
+
* @param controller - Internal AbortController for barge-in signalling.
|
|
100
|
+
* @param transport - Bidirectional transport EventEmitter.
|
|
101
|
+
* @returns The winning exit condition's reason string and optional interrupted text.
|
|
102
|
+
*/
|
|
103
|
+
private raceExitConditions;
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=VoiceNodeExecutor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VoiceNodeExecutor.d.ts","sourceRoot":"","sources":["../../../src/orchestration/runtime/VoiceNodeExecutor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAQ7D;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,UAAU,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,wFAAwF;IACxF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,yFAAyF;IACzF,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,yEAAyE;IACzE,aAAa,EAAE,eAAe,CAAC;CAChC;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,iBAAiB;IAM1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL5B;;;OAGG;gBAEgB,SAAS,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI;IAGzD;;;;;;;;;;;OAWG;IACG,OAAO,CACX,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,GACzB,OAAO,CAAC,mBAAmB,CAAC;IA0G/B;;;;;;;;;;;;;;;OAeG;YACW,kBAAkB;CA2EjC"}
|