@framers/agentos 0.1.84 → 0.1.86
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/builders/VoiceNodeBuilder.d.ts +116 -0
- package/dist/orchestration/builders/VoiceNodeBuilder.d.ts.map +1 -0
- package/dist/orchestration/builders/VoiceNodeBuilder.js +140 -0
- package/dist/orchestration/builders/VoiceNodeBuilder.js.map +1 -0
- package/dist/orchestration/builders/WorkflowBuilder.d.ts +40 -1
- package/dist/orchestration/builders/WorkflowBuilder.d.ts.map +1 -1
- package/dist/orchestration/builders/WorkflowBuilder.js +47 -0
- package/dist/orchestration/builders/WorkflowBuilder.js.map +1 -1
- package/dist/orchestration/runtime/NodeExecutor.js +1 -1
- package/dist/orchestration/runtime/NodeExecutor.js.map +1 -1
- package/dist/orchestration/runtime/VoiceTransportAdapter.d.ts +157 -0
- package/dist/orchestration/runtime/VoiceTransportAdapter.d.ts.map +1 -0
- package/dist/orchestration/runtime/VoiceTransportAdapter.js +193 -0
- package/dist/orchestration/runtime/VoiceTransportAdapter.js.map +1 -0
- package/dist/speech/SpeechProviderResolver.d.ts.map +1 -1
- package/dist/speech/SpeechProviderResolver.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file VoiceNodeBuilder.ts
|
|
3
|
+
* @description DSL builder for voice pipeline graph nodes.
|
|
4
|
+
*
|
|
5
|
+
* `voiceNode()` is the fluent factory for creating `GraphNode` IR entries of
|
|
6
|
+
* type `'voice'`. It mirrors the ergonomics of `gmiNode()` / `toolNode()` but
|
|
7
|
+
* targets the voice executor path, letting authors configure STT/TTS overrides,
|
|
8
|
+
* turn limits, barge-in behaviour, and exit-reason routing in a single
|
|
9
|
+
* declarative chain.
|
|
10
|
+
*
|
|
11
|
+
* Exit-reason routing is the key concept: voice nodes complete with a reason
|
|
12
|
+
* string (e.g. `'completed'`, `'interrupted'`, `'hangup'`), and `on()` maps
|
|
13
|
+
* each reason to the next node id. These mappings are stored in `edges` on the
|
|
14
|
+
* returned `GraphNode` and are intended to be expanded by the compiler into
|
|
15
|
+
* `GraphEdge` objects during lowering.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* voiceNode('listen', { mode: 'conversation', maxTurns: 5 })
|
|
20
|
+
* .on('completed', 'summarize')
|
|
21
|
+
* .on('interrupted', 'listen')
|
|
22
|
+
* .on('hangup', 'end')
|
|
23
|
+
* .build();
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
import type { GraphNode, VoiceNodeConfig } from '../ir/types.js';
|
|
27
|
+
/**
|
|
28
|
+
* Create a new {@link VoiceNodeBuilder} for a voice pipeline graph node.
|
|
29
|
+
*
|
|
30
|
+
* @param id - Unique node identifier within the parent graph.
|
|
31
|
+
* @param config - Voice pipeline configuration for this node.
|
|
32
|
+
* @returns A fluent builder; call `.on()` to add exit-reason routes and
|
|
33
|
+
* `.build()` to produce the `GraphNode` IR object.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const node = voiceNode('greet', { mode: 'conversation' })
|
|
38
|
+
* .on('completed', 'process')
|
|
39
|
+
* .on('hangup', 'cleanup')
|
|
40
|
+
* .build();
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function voiceNode(id: string, config: VoiceNodeConfig): VoiceNodeBuilder;
|
|
44
|
+
/**
|
|
45
|
+
* Fluent DSL builder for voice graph nodes.
|
|
46
|
+
*
|
|
47
|
+
* Collects exit-reason → target-node mappings via {@link on} and produces a
|
|
48
|
+
* fully-specified `GraphNode` via {@link build}.
|
|
49
|
+
*
|
|
50
|
+
* The builder is designed to be chained:
|
|
51
|
+
* ```typescript
|
|
52
|
+
* voiceNode('listen', { mode: 'conversation', maxTurns: 5 })
|
|
53
|
+
* .on('completed', 'summarize')
|
|
54
|
+
* .on('interrupted', 'listen')
|
|
55
|
+
* .on('hangup', 'end')
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare class VoiceNodeBuilder {
|
|
59
|
+
/** The node id assigned at construction time. */
|
|
60
|
+
readonly id: string;
|
|
61
|
+
private readonly config;
|
|
62
|
+
/**
|
|
63
|
+
* Mapping from exit-reason string to target node id.
|
|
64
|
+
* Populated by successive calls to {@link on}.
|
|
65
|
+
*/
|
|
66
|
+
private edgeMap;
|
|
67
|
+
/**
|
|
68
|
+
* @param id - Node identifier; exposed as a readonly property for introspection.
|
|
69
|
+
* @param config - `VoiceNodeConfig` forwarded to the node's `executorConfig`.
|
|
70
|
+
*/
|
|
71
|
+
constructor(
|
|
72
|
+
/** The node id assigned at construction time. */
|
|
73
|
+
id: string, config: VoiceNodeConfig);
|
|
74
|
+
/**
|
|
75
|
+
* Register an exit-reason → target-node route.
|
|
76
|
+
*
|
|
77
|
+
* When the voice node's session ends with `exitReason`, the graph transitions
|
|
78
|
+
* to `target`. Multiple calls to `on()` accumulate routes; calling `on()` with
|
|
79
|
+
* a reason that was already registered overwrites the previous target.
|
|
80
|
+
*
|
|
81
|
+
* @param exitReason - The reason string returned by the voice executor
|
|
82
|
+
* (e.g. `'completed'`, `'interrupted'`, `'hangup'`,
|
|
83
|
+
* `'turns-exhausted'`, `'silence-timeout'`).
|
|
84
|
+
* @param target - Either the string id of the target node, or an object
|
|
85
|
+
* with an `id` property (compatible with builder instances).
|
|
86
|
+
* @returns `this` for fluent chaining.
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* builder
|
|
91
|
+
* .on('completed', 'next-node')
|
|
92
|
+
* .on('hangup', { id: 'cleanup-node' });
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
on(exitReason: string, target: string | {
|
|
96
|
+
id: string;
|
|
97
|
+
}): this;
|
|
98
|
+
/**
|
|
99
|
+
* Produce a `GraphNode` IR object from the accumulated builder state.
|
|
100
|
+
*
|
|
101
|
+
* The returned node has:
|
|
102
|
+
* - `type: 'voice'` in sync with `executorConfig.type`.
|
|
103
|
+
* - `executionMode: 'react_bounded'` — voice nodes run a multi-turn loop.
|
|
104
|
+
* - `effectClass: 'external'` — voice I/O touches the real world.
|
|
105
|
+
* - `checkpoint: 'before'` — snapshot taken before the session starts so the
|
|
106
|
+
* run can be resumed from the start of the voice turn if the process crashes.
|
|
107
|
+
* - `edges` — plain object mapping exit-reason strings to target node ids,
|
|
108
|
+
* populated from all `on()` calls. The compiler is responsible for
|
|
109
|
+
* expanding these into `GraphEdge` instances.
|
|
110
|
+
*
|
|
111
|
+
* @returns A `GraphNode` cast to `any` to accommodate the `edges` extension
|
|
112
|
+
* field not present on the base interface.
|
|
113
|
+
*/
|
|
114
|
+
build(): GraphNode;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=VoiceNodeBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VoiceNodeBuilder.d.ts","sourceRoot":"","sources":["../../../src/orchestration/builders/VoiceNodeBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAMjE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,gBAAgB,CAE/E;AAMD;;;;;;;;;;;;;GAaG;AACH,qBAAa,gBAAgB;IAYzB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAbzB;;;OAGG;IACH,OAAO,CAAC,OAAO,CAA6B;IAE5C;;;OAGG;;IAED,iDAAiD;IACxC,EAAE,EAAE,MAAM,EACF,MAAM,EAAE,eAAe;IAO1C;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAY7D;;;;;;;;;;;;;;;OAeG;IACH,KAAK,IAAI,SAAS;CAWnB"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file VoiceNodeBuilder.ts
|
|
3
|
+
* @description DSL builder for voice pipeline graph nodes.
|
|
4
|
+
*
|
|
5
|
+
* `voiceNode()` is the fluent factory for creating `GraphNode` IR entries of
|
|
6
|
+
* type `'voice'`. It mirrors the ergonomics of `gmiNode()` / `toolNode()` but
|
|
7
|
+
* targets the voice executor path, letting authors configure STT/TTS overrides,
|
|
8
|
+
* turn limits, barge-in behaviour, and exit-reason routing in a single
|
|
9
|
+
* declarative chain.
|
|
10
|
+
*
|
|
11
|
+
* Exit-reason routing is the key concept: voice nodes complete with a reason
|
|
12
|
+
* string (e.g. `'completed'`, `'interrupted'`, `'hangup'`), and `on()` maps
|
|
13
|
+
* each reason to the next node id. These mappings are stored in `edges` on the
|
|
14
|
+
* returned `GraphNode` and are intended to be expanded by the compiler into
|
|
15
|
+
* `GraphEdge` objects during lowering.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* voiceNode('listen', { mode: 'conversation', maxTurns: 5 })
|
|
20
|
+
* .on('completed', 'summarize')
|
|
21
|
+
* .on('interrupted', 'listen')
|
|
22
|
+
* .on('hangup', 'end')
|
|
23
|
+
* .build();
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
// Factory
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
/**
|
|
30
|
+
* Create a new {@link VoiceNodeBuilder} for a voice pipeline graph node.
|
|
31
|
+
*
|
|
32
|
+
* @param id - Unique node identifier within the parent graph.
|
|
33
|
+
* @param config - Voice pipeline configuration for this node.
|
|
34
|
+
* @returns A fluent builder; call `.on()` to add exit-reason routes and
|
|
35
|
+
* `.build()` to produce the `GraphNode` IR object.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const node = voiceNode('greet', { mode: 'conversation' })
|
|
40
|
+
* .on('completed', 'process')
|
|
41
|
+
* .on('hangup', 'cleanup')
|
|
42
|
+
* .build();
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export function voiceNode(id, config) {
|
|
46
|
+
return new VoiceNodeBuilder(id, config);
|
|
47
|
+
}
|
|
48
|
+
// ---------------------------------------------------------------------------
|
|
49
|
+
// VoiceNodeBuilder
|
|
50
|
+
// ---------------------------------------------------------------------------
|
|
51
|
+
/**
|
|
52
|
+
* Fluent DSL builder for voice graph nodes.
|
|
53
|
+
*
|
|
54
|
+
* Collects exit-reason → target-node mappings via {@link on} and produces a
|
|
55
|
+
* fully-specified `GraphNode` via {@link build}.
|
|
56
|
+
*
|
|
57
|
+
* The builder is designed to be chained:
|
|
58
|
+
* ```typescript
|
|
59
|
+
* voiceNode('listen', { mode: 'conversation', maxTurns: 5 })
|
|
60
|
+
* .on('completed', 'summarize')
|
|
61
|
+
* .on('interrupted', 'listen')
|
|
62
|
+
* .on('hangup', 'end')
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export class VoiceNodeBuilder {
|
|
66
|
+
/**
|
|
67
|
+
* @param id - Node identifier; exposed as a readonly property for introspection.
|
|
68
|
+
* @param config - `VoiceNodeConfig` forwarded to the node's `executorConfig`.
|
|
69
|
+
*/
|
|
70
|
+
constructor(
|
|
71
|
+
/** The node id assigned at construction time. */
|
|
72
|
+
id, config) {
|
|
73
|
+
this.id = id;
|
|
74
|
+
this.config = config;
|
|
75
|
+
/**
|
|
76
|
+
* Mapping from exit-reason string to target node id.
|
|
77
|
+
* Populated by successive calls to {@link on}.
|
|
78
|
+
*/
|
|
79
|
+
this.edgeMap = new Map();
|
|
80
|
+
}
|
|
81
|
+
// -------------------------------------------------------------------------
|
|
82
|
+
// Fluent API
|
|
83
|
+
// -------------------------------------------------------------------------
|
|
84
|
+
/**
|
|
85
|
+
* Register an exit-reason → target-node route.
|
|
86
|
+
*
|
|
87
|
+
* When the voice node's session ends with `exitReason`, the graph transitions
|
|
88
|
+
* to `target`. Multiple calls to `on()` accumulate routes; calling `on()` with
|
|
89
|
+
* a reason that was already registered overwrites the previous target.
|
|
90
|
+
*
|
|
91
|
+
* @param exitReason - The reason string returned by the voice executor
|
|
92
|
+
* (e.g. `'completed'`, `'interrupted'`, `'hangup'`,
|
|
93
|
+
* `'turns-exhausted'`, `'silence-timeout'`).
|
|
94
|
+
* @param target - Either the string id of the target node, or an object
|
|
95
|
+
* with an `id` property (compatible with builder instances).
|
|
96
|
+
* @returns `this` for fluent chaining.
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* builder
|
|
101
|
+
* .on('completed', 'next-node')
|
|
102
|
+
* .on('hangup', { id: 'cleanup-node' });
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
on(exitReason, target) {
|
|
106
|
+
this.edgeMap.set(exitReason, typeof target === 'string' ? target : target.id);
|
|
107
|
+
return this;
|
|
108
|
+
}
|
|
109
|
+
// -------------------------------------------------------------------------
|
|
110
|
+
// Compilation
|
|
111
|
+
// -------------------------------------------------------------------------
|
|
112
|
+
/**
|
|
113
|
+
* Produce a `GraphNode` IR object from the accumulated builder state.
|
|
114
|
+
*
|
|
115
|
+
* The returned node has:
|
|
116
|
+
* - `type: 'voice'` in sync with `executorConfig.type`.
|
|
117
|
+
* - `executionMode: 'react_bounded'` — voice nodes run a multi-turn loop.
|
|
118
|
+
* - `effectClass: 'external'` — voice I/O touches the real world.
|
|
119
|
+
* - `checkpoint: 'before'` — snapshot taken before the session starts so the
|
|
120
|
+
* run can be resumed from the start of the voice turn if the process crashes.
|
|
121
|
+
* - `edges` — plain object mapping exit-reason strings to target node ids,
|
|
122
|
+
* populated from all `on()` calls. The compiler is responsible for
|
|
123
|
+
* expanding these into `GraphEdge` instances.
|
|
124
|
+
*
|
|
125
|
+
* @returns A `GraphNode` cast to `any` to accommodate the `edges` extension
|
|
126
|
+
* field not present on the base interface.
|
|
127
|
+
*/
|
|
128
|
+
build() {
|
|
129
|
+
return {
|
|
130
|
+
id: this.id,
|
|
131
|
+
type: 'voice',
|
|
132
|
+
executorConfig: { type: 'voice', voiceConfig: this.config },
|
|
133
|
+
executionMode: 'react_bounded',
|
|
134
|
+
effectClass: 'external',
|
|
135
|
+
checkpoint: 'before',
|
|
136
|
+
edges: Object.fromEntries(this.edgeMap),
|
|
137
|
+
}; // GraphNode has more required fields; cast for builder convenience
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=VoiceNodeBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VoiceNodeBuilder.js","sourceRoot":"","sources":["../../../src/orchestration/builders/VoiceNodeBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,SAAS,CAAC,EAAU,EAAE,MAAuB;IAC3D,OAAO,IAAI,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,gBAAgB;IAO3B;;;OAGG;IACH;IACE,iDAAiD;IACxC,EAAU,EACF,MAAuB;QAD/B,OAAE,GAAF,EAAE,CAAQ;QACF,WAAM,GAAN,MAAM,CAAiB;QAb1C;;;WAGG;QACK,YAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAUzC,CAAC;IAEJ,4EAA4E;IAC5E,aAAa;IACb,4EAA4E;IAE5E;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,EAAE,CAAC,UAAkB,EAAE,MAA+B;QACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,UAAU,EACV,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAChD,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E;;;;;;;;;;;;;;;OAeG;IACH,KAAK;QACH,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,OAAO;YACb,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;YAC3D,aAAa,EAAE,eAAe;YAC9B,WAAW,EAAE,UAAU;YACvB,UAAU,EAAE,QAAQ;YACpB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC,mEAAmE;IAC/E,CAAC;CACF"}
|
|
@@ -27,7 +27,8 @@
|
|
|
27
27
|
* const result = await wf.invoke({ text: 'hello world' });
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
|
-
import type { CompiledExecutionGraph, MemoryPolicy, DiscoveryPolicy, GuardrailPolicy, BuiltinReducer, ReducerFn } from '../ir/types.js';
|
|
30
|
+
import type { CompiledExecutionGraph, MemoryPolicy, DiscoveryPolicy, GuardrailPolicy, VoiceNodeConfig, BuiltinReducer, ReducerFn } from '../ir/types.js';
|
|
31
|
+
import type { VoiceTransportConfig } from '../runtime/VoiceTransportAdapter.js';
|
|
31
32
|
import type { ICheckpointStore } from '../checkpoint/ICheckpointStore.js';
|
|
32
33
|
import type { GraphEvent } from '../events/GraphEvent.js';
|
|
33
34
|
/**
|
|
@@ -81,6 +82,13 @@ export interface StepConfig {
|
|
|
81
82
|
timeout?: number;
|
|
82
83
|
/** Side-effect classification used by the runtime for scheduling decisions. */
|
|
83
84
|
effectClass?: 'pure' | 'read' | 'write' | 'external' | 'human';
|
|
85
|
+
/**
|
|
86
|
+
* Voice pipeline node configuration.
|
|
87
|
+
* When provided alongside `executorConfig.type: 'voice'`, these settings are
|
|
88
|
+
* forwarded to the VoiceNodeExecutor. Typically set via the `voiceNode()`
|
|
89
|
+
* builder rather than directly through `StepConfig`.
|
|
90
|
+
*/
|
|
91
|
+
voice?: VoiceNodeConfig;
|
|
84
92
|
}
|
|
85
93
|
/**
|
|
86
94
|
* Create a new `WorkflowBuilder` with the given human-readable name.
|
|
@@ -117,6 +125,12 @@ export declare class WorkflowBuilder {
|
|
|
117
125
|
private steps;
|
|
118
126
|
/** Human-readable name forwarded to the compiled graph. */
|
|
119
127
|
private readonly name;
|
|
128
|
+
/**
|
|
129
|
+
* Optional transport configuration set via {@link transport}.
|
|
130
|
+
* When present, the compiled workflow is associated with a transport backend
|
|
131
|
+
* (e.g. a voice pipeline) that intercepts graph I/O at runtime.
|
|
132
|
+
*/
|
|
133
|
+
private _transportConfig;
|
|
120
134
|
/**
|
|
121
135
|
* @param name - Human-readable workflow name.
|
|
122
136
|
*/
|
|
@@ -136,6 +150,31 @@ export declare class WorkflowBuilder {
|
|
|
136
150
|
* @param schema - Output schema (Zod instance or plain JSON Schema object).
|
|
137
151
|
*/
|
|
138
152
|
returns(schema: any): this;
|
|
153
|
+
/**
|
|
154
|
+
* Attach a transport backend to this workflow.
|
|
155
|
+
*
|
|
156
|
+
* When `type` is `'voice'`, the compiled workflow will route graph I/O
|
|
157
|
+
* through a {@link VoiceTransportAdapter} at runtime. The `config` values
|
|
158
|
+
* override per-field defaults from `agent.config.json`.
|
|
159
|
+
*
|
|
160
|
+
* The transport config is stored as `_transportConfig` on the builder
|
|
161
|
+
* instance and is available for inspection or forwarding to the runtime.
|
|
162
|
+
*
|
|
163
|
+
* @param type - Transport kind; currently only `'voice'` is supported.
|
|
164
|
+
* @param config - Optional voice pipeline overrides (STT, TTS, voice, etc.).
|
|
165
|
+
* @returns `this` for fluent chaining.
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```typescript
|
|
169
|
+
* const wf = workflow('voice-flow')
|
|
170
|
+
* .input(inputSchema)
|
|
171
|
+
* .returns(outputSchema)
|
|
172
|
+
* .transport('voice', { stt: 'deepgram', tts: 'openai', voice: 'alloy' })
|
|
173
|
+
* .step('listen', { tool: 'listen_tool' })
|
|
174
|
+
* .compile();
|
|
175
|
+
* ```
|
|
176
|
+
*/
|
|
177
|
+
transport(type: 'voice', config?: Omit<VoiceTransportConfig, 'type'>): this;
|
|
139
178
|
/**
|
|
140
179
|
* Append a single named step to the workflow.
|
|
141
180
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowBuilder.d.ts","sourceRoot":"","sources":["../../../src/orchestration/builders/WorkflowBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAGV,sBAAsB,EAEtB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,cAAc,EACd,SAAS,EACV,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkflowBuilder.d.ts","sourceRoot":"","sources":["../../../src/orchestration/builders/WorkflowBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -101,6 +101,34 @@ export class WorkflowBuilder {
|
|
|
101
101
|
this.returnsSchema = schema;
|
|
102
102
|
return this;
|
|
103
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Attach a transport backend to this workflow.
|
|
106
|
+
*
|
|
107
|
+
* When `type` is `'voice'`, the compiled workflow will route graph I/O
|
|
108
|
+
* through a {@link VoiceTransportAdapter} at runtime. The `config` values
|
|
109
|
+
* override per-field defaults from `agent.config.json`.
|
|
110
|
+
*
|
|
111
|
+
* The transport config is stored as `_transportConfig` on the builder
|
|
112
|
+
* instance and is available for inspection or forwarding to the runtime.
|
|
113
|
+
*
|
|
114
|
+
* @param type - Transport kind; currently only `'voice'` is supported.
|
|
115
|
+
* @param config - Optional voice pipeline overrides (STT, TTS, voice, etc.).
|
|
116
|
+
* @returns `this` for fluent chaining.
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```typescript
|
|
120
|
+
* const wf = workflow('voice-flow')
|
|
121
|
+
* .input(inputSchema)
|
|
122
|
+
* .returns(outputSchema)
|
|
123
|
+
* .transport('voice', { stt: 'deepgram', tts: 'openai', voice: 'alloy' })
|
|
124
|
+
* .step('listen', { tool: 'listen_tool' })
|
|
125
|
+
* .compile();
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
transport(type, config) {
|
|
129
|
+
this._transportConfig = { type, ...config };
|
|
130
|
+
return this;
|
|
131
|
+
}
|
|
104
132
|
// -------------------------------------------------------------------------
|
|
105
133
|
// Step primitives
|
|
106
134
|
// -------------------------------------------------------------------------
|
|
@@ -401,6 +429,25 @@ export class WorkflowBuilder {
|
|
|
401
429
|
checkpoint: 'none',
|
|
402
430
|
};
|
|
403
431
|
}
|
|
432
|
+
if (config.voice) {
|
|
433
|
+
// Voice pipeline node: runs a bidirectional STT/TTS session with configurable
|
|
434
|
+
// turn limits and exit conditions. Uses `react_bounded` execution mode to
|
|
435
|
+
// model the multi-turn interaction loop within a single graph node.
|
|
436
|
+
return {
|
|
437
|
+
id,
|
|
438
|
+
type: 'voice',
|
|
439
|
+
executorConfig: {
|
|
440
|
+
type: 'voice',
|
|
441
|
+
voiceConfig: config.voice,
|
|
442
|
+
},
|
|
443
|
+
executionMode: 'react_bounded',
|
|
444
|
+
effectClass: config.effectClass ?? 'external',
|
|
445
|
+
timeout: config.timeout,
|
|
446
|
+
checkpoint: 'before',
|
|
447
|
+
memoryPolicy: config.memory,
|
|
448
|
+
guardrailPolicy: config.guardrails,
|
|
449
|
+
};
|
|
450
|
+
}
|
|
404
451
|
// Fallback: treat as a no-op tool node.
|
|
405
452
|
return {
|
|
406
453
|
...toolNode('unknown', { timeout: config.timeout }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowBuilder.js","sourceRoot":"","sources":["../../../src/orchestration/builders/WorkflowBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;
|
|
1
|
+
{"version":3,"file":"WorkflowBuilder.js","sourceRoot":"","sources":["../../../src/orchestration/builders/WorkflowBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -275,7 +275,7 @@ export class NodeExecutor {
|
|
|
275
275
|
}
|
|
276
276
|
try {
|
|
277
277
|
// Build child input from parent scratch via inputMapping.
|
|
278
|
-
|
|
278
|
+
const childInput = {};
|
|
279
279
|
if (config.inputMapping && state.scratch) {
|
|
280
280
|
for (const [parentPath, childPath] of Object.entries(config.inputMapping)) {
|
|
281
281
|
const val = this.resolvePathValue(state.scratch, parentPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeExecutor.js","sourceRoot":"","sources":["../../../src/orchestration/runtime/NodeExecutor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"NodeExecutor.js","sourceRoot":"","sources":["../../../src/orchestration/runtime/NodeExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file VoiceTransportAdapter.ts
|
|
3
|
+
* @description Bridges graph I/O to the voice pipeline when a workflow runs in
|
|
4
|
+
* voice transport mode.
|
|
5
|
+
*
|
|
6
|
+
* `VoiceTransportAdapter` wraps a graph's input/output cycle so that:
|
|
7
|
+
* - **Node input** is obtained by waiting for the user's next speech turn
|
|
8
|
+
* (`waitForUserTurn()` on the underlying `VoicePipelineOrchestrator`).
|
|
9
|
+
* - **Node output** is delivered to the TTS engine (`pushToTTS()` on the
|
|
10
|
+
* underlying `VoicePipelineOrchestrator`).
|
|
11
|
+
*
|
|
12
|
+
* The adapter is lazy — it does not create a `VoicePipelineOrchestrator` until
|
|
13
|
+
* `init()` is called. The pipeline reference is `any` typed to avoid a hard
|
|
14
|
+
* import cycle with the voice subsystem; callers that want stronger types may
|
|
15
|
+
* cast.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const adapter = new VoiceTransportAdapter(
|
|
20
|
+
* { stt: 'deepgram', tts: 'openai' },
|
|
21
|
+
* transport,
|
|
22
|
+
* (event) => eventBus.emit(event),
|
|
23
|
+
* );
|
|
24
|
+
*
|
|
25
|
+
* await adapter.init(state);
|
|
26
|
+
* const userInput = await adapter.getNodeInput('greet');
|
|
27
|
+
* await adapter.deliverNodeOutput('greet', 'Hello, how can I help you today?');
|
|
28
|
+
* await adapter.dispose();
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
import type { GraphState } from '../ir/types.js';
|
|
32
|
+
import type { GraphEvent } from '../events/GraphEvent.js';
|
|
33
|
+
/**
|
|
34
|
+
* Configuration knobs forwarded to the voice pipeline when the adapter
|
|
35
|
+
* initialises its internal `VoicePipelineOrchestrator` instance.
|
|
36
|
+
*
|
|
37
|
+
* All fields are optional — defaults are resolved from agent.config.json or
|
|
38
|
+
* sensible library defaults.
|
|
39
|
+
*/
|
|
40
|
+
export interface VoiceTransportConfig {
|
|
41
|
+
/** STT provider identifier (e.g. `'deepgram'`, `'openai'`). */
|
|
42
|
+
stt?: string;
|
|
43
|
+
/** TTS provider identifier (e.g. `'openai'`, `'elevenlabs'`). */
|
|
44
|
+
tts?: string;
|
|
45
|
+
/** TTS voice name or id forwarded to the TTS provider. */
|
|
46
|
+
voice?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Barge-in handling strategy.
|
|
49
|
+
* - `'hard-cut'` — interrupt TTS immediately when speech is detected.
|
|
50
|
+
* - `'soft-fade'` — ramp TTS volume down before cutting.
|
|
51
|
+
* - `'disabled'` — ignore user speech while the agent is speaking.
|
|
52
|
+
*/
|
|
53
|
+
bargeIn?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Endpoint detection mode used to decide when the user has finished speaking.
|
|
56
|
+
* - `'acoustic'` — energy/VAD-based detection.
|
|
57
|
+
* - `'heuristic'` — punctuation + silence heuristics.
|
|
58
|
+
* - `'semantic'` — LLM-assisted turn boundary detection.
|
|
59
|
+
*/
|
|
60
|
+
endpointing?: string;
|
|
61
|
+
/** Whether to enable speaker diarization for multi-speaker sessions. */
|
|
62
|
+
diarization?: boolean;
|
|
63
|
+
/** BCP-47 language tag forwarded to STT (e.g. `'en-US'`). */
|
|
64
|
+
language?: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Adapts a compiled graph's I/O cycle to the real-time voice pipeline.
|
|
68
|
+
*
|
|
69
|
+
* Lifecycle:
|
|
70
|
+
* 1. Construct with {@link VoiceTransportConfig}, an `IStreamTransport`, and an
|
|
71
|
+
* event sink callback.
|
|
72
|
+
* 2. Call `init()` once before the graph starts running.
|
|
73
|
+
* 3. Use `getNodeInput()` to obtain the user's transcribed speech for a node.
|
|
74
|
+
* 4. Use `deliverNodeOutput()` to send the node's response to TTS.
|
|
75
|
+
* 5. Call `dispose()` to clean up resources when the session ends.
|
|
76
|
+
*/
|
|
77
|
+
export declare class VoiceTransportAdapter {
|
|
78
|
+
private readonly config;
|
|
79
|
+
private readonly transport;
|
|
80
|
+
private readonly eventSink;
|
|
81
|
+
/**
|
|
82
|
+
* Lazily-initialised `VoicePipelineOrchestrator` instance.
|
|
83
|
+
* Typed as `any` to avoid a hard import cycle with the voice subsystem.
|
|
84
|
+
* In a full implementation this would be `VoicePipelineOrchestrator | null`.
|
|
85
|
+
*/
|
|
86
|
+
private pipeline;
|
|
87
|
+
/** Tracks whether `init()` has been called successfully. */
|
|
88
|
+
private initialized;
|
|
89
|
+
/**
|
|
90
|
+
* @param config - Voice pipeline configuration knobs.
|
|
91
|
+
* @param transport - Bidirectional audio/control stream transport (`IStreamTransport`).
|
|
92
|
+
* @param eventSink - Callback receiving all `GraphEvent` values emitted by this adapter.
|
|
93
|
+
*/
|
|
94
|
+
constructor(config: VoiceTransportConfig, transport: any, // IStreamTransport
|
|
95
|
+
eventSink: (event: GraphEvent) => void);
|
|
96
|
+
/**
|
|
97
|
+
* Initialise the adapter.
|
|
98
|
+
*
|
|
99
|
+
* Injects the `IStreamTransport` instance into `state.scratch.voiceTransport` so
|
|
100
|
+
* that graph nodes can access it if needed, then emits a `voice_session` started
|
|
101
|
+
* event to signal that the voice session is live.
|
|
102
|
+
*
|
|
103
|
+
* Must be called exactly once before {@link getNodeInput} or
|
|
104
|
+
* {@link deliverNodeOutput}.
|
|
105
|
+
*
|
|
106
|
+
* @param state - Mutable `GraphState` (or partial) for the current run.
|
|
107
|
+
* `state.scratch` is created lazily if absent.
|
|
108
|
+
*/
|
|
109
|
+
init(state: Partial<GraphState>): Promise<void>;
|
|
110
|
+
/**
|
|
111
|
+
* Wait for the user's next speech turn and return the transcript text.
|
|
112
|
+
*
|
|
113
|
+
* In a full production implementation this delegates to
|
|
114
|
+
* `VoicePipelineOrchestrator.waitForUserTurn()`. In the current implementation
|
|
115
|
+
* it listens for a single `'turn_complete'` event from the underlying transport
|
|
116
|
+
* and resolves with the transcript text.
|
|
117
|
+
*
|
|
118
|
+
* Also emits a {@link GraphEvent} of type `voice_turn_complete` so that the
|
|
119
|
+
* runtime event bus stays in sync.
|
|
120
|
+
*
|
|
121
|
+
* @param nodeId - The id of the graph node requesting input; used to tag the emitted event.
|
|
122
|
+
* @returns Resolved transcript string from the user's speech turn.
|
|
123
|
+
* @throws {Error} If called before `init()`.
|
|
124
|
+
*/
|
|
125
|
+
getNodeInput(nodeId: string): Promise<string>;
|
|
126
|
+
/**
|
|
127
|
+
* Deliver a node's text output to the TTS engine.
|
|
128
|
+
*
|
|
129
|
+
* Accepts either a plain `string` or an `AsyncIterable<string>` of token
|
|
130
|
+
* chunks (e.g. a streaming LLM response). In a full production implementation
|
|
131
|
+
* this delegates to `VoicePipelineOrchestrator.pushToTTS(output)`.
|
|
132
|
+
*
|
|
133
|
+
* Emits a {@link GraphEvent} of type `voice_audio` (direction `'outbound'`)
|
|
134
|
+
* so that the runtime event bus records the TTS delivery.
|
|
135
|
+
*
|
|
136
|
+
* @param nodeId - The id of the graph node delivering the output.
|
|
137
|
+
* @param output - Text or async token stream to synthesise as speech.
|
|
138
|
+
* @throws {Error} If called before `init()`.
|
|
139
|
+
*/
|
|
140
|
+
deliverNodeOutput(nodeId: string, _output: string | AsyncIterable<string>): Promise<void>;
|
|
141
|
+
/**
|
|
142
|
+
* Handle a user barge-in at the transport level.
|
|
143
|
+
*
|
|
144
|
+
* Should be called by the runtime or transport layer when the user starts
|
|
145
|
+
* speaking while the agent is mid-utterance. Emits a `voice_barge_in` event
|
|
146
|
+
* so that graph event consumers can react (e.g. cancel pending tool calls).
|
|
147
|
+
*/
|
|
148
|
+
handleBargeIn(): void;
|
|
149
|
+
/**
|
|
150
|
+
* Dispose the adapter and emit a `voice_session` ended event.
|
|
151
|
+
*
|
|
152
|
+
* Marks the adapter as uninitialised so subsequent calls to `getNodeInput()`
|
|
153
|
+
* or `deliverNodeOutput()` will throw, preventing accidental use after teardown.
|
|
154
|
+
*/
|
|
155
|
+
dispose(): Promise<void>;
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=VoiceTransportAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VoiceTransportAdapter.d.ts","sourceRoot":"","sources":["../../../src/orchestration/runtime/VoiceTransportAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAM1D;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD;;;;;;;;;;GAUG;AACH,qBAAa,qBAAqB;IAiB9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAlB5B;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAoB;IAEpC,4DAA4D;IAC5D,OAAO,CAAC,WAAW,CAAS;IAE5B;;;;OAIG;gBAEgB,MAAM,EAAE,oBAAoB,EAC5B,SAAS,EAAE,GAAG,EAAE,mBAAmB;IACnC,SAAS,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI;IAOzD;;;;;;;;;;;;OAYG;IACG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAarD;;;;;;;;;;;;;;OAcG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBnD;;;;;;;;;;;;;OAaG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB/F;;;;;;OAMG;IACH,aAAa,IAAI,IAAI;IAarB;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAS/B"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file VoiceTransportAdapter.ts
|
|
3
|
+
* @description Bridges graph I/O to the voice pipeline when a workflow runs in
|
|
4
|
+
* voice transport mode.
|
|
5
|
+
*
|
|
6
|
+
* `VoiceTransportAdapter` wraps a graph's input/output cycle so that:
|
|
7
|
+
* - **Node input** is obtained by waiting for the user's next speech turn
|
|
8
|
+
* (`waitForUserTurn()` on the underlying `VoicePipelineOrchestrator`).
|
|
9
|
+
* - **Node output** is delivered to the TTS engine (`pushToTTS()` on the
|
|
10
|
+
* underlying `VoicePipelineOrchestrator`).
|
|
11
|
+
*
|
|
12
|
+
* The adapter is lazy — it does not create a `VoicePipelineOrchestrator` until
|
|
13
|
+
* `init()` is called. The pipeline reference is `any` typed to avoid a hard
|
|
14
|
+
* import cycle with the voice subsystem; callers that want stronger types may
|
|
15
|
+
* cast.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const adapter = new VoiceTransportAdapter(
|
|
20
|
+
* { stt: 'deepgram', tts: 'openai' },
|
|
21
|
+
* transport,
|
|
22
|
+
* (event) => eventBus.emit(event),
|
|
23
|
+
* );
|
|
24
|
+
*
|
|
25
|
+
* await adapter.init(state);
|
|
26
|
+
* const userInput = await adapter.getNodeInput('greet');
|
|
27
|
+
* await adapter.deliverNodeOutput('greet', 'Hello, how can I help you today?');
|
|
28
|
+
* await adapter.dispose();
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
// VoiceTransportAdapter
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
/**
|
|
35
|
+
* Adapts a compiled graph's I/O cycle to the real-time voice pipeline.
|
|
36
|
+
*
|
|
37
|
+
* Lifecycle:
|
|
38
|
+
* 1. Construct with {@link VoiceTransportConfig}, an `IStreamTransport`, and an
|
|
39
|
+
* event sink callback.
|
|
40
|
+
* 2. Call `init()` once before the graph starts running.
|
|
41
|
+
* 3. Use `getNodeInput()` to obtain the user's transcribed speech for a node.
|
|
42
|
+
* 4. Use `deliverNodeOutput()` to send the node's response to TTS.
|
|
43
|
+
* 5. Call `dispose()` to clean up resources when the session ends.
|
|
44
|
+
*/
|
|
45
|
+
export class VoiceTransportAdapter {
|
|
46
|
+
/**
|
|
47
|
+
* @param config - Voice pipeline configuration knobs.
|
|
48
|
+
* @param transport - Bidirectional audio/control stream transport (`IStreamTransport`).
|
|
49
|
+
* @param eventSink - Callback receiving all `GraphEvent` values emitted by this adapter.
|
|
50
|
+
*/
|
|
51
|
+
constructor(config, transport, // IStreamTransport
|
|
52
|
+
eventSink) {
|
|
53
|
+
this.config = config;
|
|
54
|
+
this.transport = transport;
|
|
55
|
+
this.eventSink = eventSink;
|
|
56
|
+
/**
|
|
57
|
+
* Lazily-initialised `VoicePipelineOrchestrator` instance.
|
|
58
|
+
* Typed as `any` to avoid a hard import cycle with the voice subsystem.
|
|
59
|
+
* In a full implementation this would be `VoicePipelineOrchestrator | null`.
|
|
60
|
+
*/
|
|
61
|
+
this.pipeline = null; // VoicePipelineOrchestrator (lazy)
|
|
62
|
+
/** Tracks whether `init()` has been called successfully. */
|
|
63
|
+
this.initialized = false;
|
|
64
|
+
}
|
|
65
|
+
// -------------------------------------------------------------------------
|
|
66
|
+
// Lifecycle
|
|
67
|
+
// -------------------------------------------------------------------------
|
|
68
|
+
/**
|
|
69
|
+
* Initialise the adapter.
|
|
70
|
+
*
|
|
71
|
+
* Injects the `IStreamTransport` instance into `state.scratch.voiceTransport` so
|
|
72
|
+
* that graph nodes can access it if needed, then emits a `voice_session` started
|
|
73
|
+
* event to signal that the voice session is live.
|
|
74
|
+
*
|
|
75
|
+
* Must be called exactly once before {@link getNodeInput} or
|
|
76
|
+
* {@link deliverNodeOutput}.
|
|
77
|
+
*
|
|
78
|
+
* @param state - Mutable `GraphState` (or partial) for the current run.
|
|
79
|
+
* `state.scratch` is created lazily if absent.
|
|
80
|
+
*/
|
|
81
|
+
async init(state) {
|
|
82
|
+
var _a;
|
|
83
|
+
// Lazily create the scratch bag if the caller passed a partial state.
|
|
84
|
+
const scratch = ((_a = state).scratch ?? (_a.scratch = {}));
|
|
85
|
+
scratch.voiceTransport = this.transport;
|
|
86
|
+
this.initialized = true;
|
|
87
|
+
this.eventSink({
|
|
88
|
+
type: 'voice_session',
|
|
89
|
+
nodeId: '__transport__',
|
|
90
|
+
action: 'started',
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Wait for the user's next speech turn and return the transcript text.
|
|
95
|
+
*
|
|
96
|
+
* In a full production implementation this delegates to
|
|
97
|
+
* `VoicePipelineOrchestrator.waitForUserTurn()`. In the current implementation
|
|
98
|
+
* it listens for a single `'turn_complete'` event from the underlying transport
|
|
99
|
+
* and resolves with the transcript text.
|
|
100
|
+
*
|
|
101
|
+
* Also emits a {@link GraphEvent} of type `voice_turn_complete` so that the
|
|
102
|
+
* runtime event bus stays in sync.
|
|
103
|
+
*
|
|
104
|
+
* @param nodeId - The id of the graph node requesting input; used to tag the emitted event.
|
|
105
|
+
* @returns Resolved transcript string from the user's speech turn.
|
|
106
|
+
* @throws {Error} If called before `init()`.
|
|
107
|
+
*/
|
|
108
|
+
async getNodeInput(nodeId) {
|
|
109
|
+
if (!this.initialized) {
|
|
110
|
+
throw new Error('VoiceTransportAdapter not initialized');
|
|
111
|
+
}
|
|
112
|
+
// In real implementation: this.pipeline.waitForUserTurn()
|
|
113
|
+
// For now, listen directly to transport events.
|
|
114
|
+
return new Promise((resolve) => {
|
|
115
|
+
this.transport.once('turn_complete', (evt) => {
|
|
116
|
+
const transcript = evt?.transcript ?? evt?.text ?? '';
|
|
117
|
+
this.eventSink({
|
|
118
|
+
type: 'voice_turn_complete',
|
|
119
|
+
nodeId,
|
|
120
|
+
transcript,
|
|
121
|
+
turnIndex: 0,
|
|
122
|
+
endpointReason: evt?.reason ?? 'unknown',
|
|
123
|
+
});
|
|
124
|
+
resolve(transcript);
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Deliver a node's text output to the TTS engine.
|
|
130
|
+
*
|
|
131
|
+
* Accepts either a plain `string` or an `AsyncIterable<string>` of token
|
|
132
|
+
* chunks (e.g. a streaming LLM response). In a full production implementation
|
|
133
|
+
* this delegates to `VoicePipelineOrchestrator.pushToTTS(output)`.
|
|
134
|
+
*
|
|
135
|
+
* Emits a {@link GraphEvent} of type `voice_audio` (direction `'outbound'`)
|
|
136
|
+
* so that the runtime event bus records the TTS delivery.
|
|
137
|
+
*
|
|
138
|
+
* @param nodeId - The id of the graph node delivering the output.
|
|
139
|
+
* @param output - Text or async token stream to synthesise as speech.
|
|
140
|
+
* @throws {Error} If called before `init()`.
|
|
141
|
+
*/
|
|
142
|
+
async deliverNodeOutput(nodeId, _output) {
|
|
143
|
+
if (!this.initialized) {
|
|
144
|
+
throw new Error('VoiceTransportAdapter not initialized');
|
|
145
|
+
}
|
|
146
|
+
// In real implementation: this.pipeline.pushToTTS(output)
|
|
147
|
+
// For now, emit the event to signal delivery.
|
|
148
|
+
this.eventSink({
|
|
149
|
+
type: 'voice_audio',
|
|
150
|
+
nodeId,
|
|
151
|
+
direction: 'outbound',
|
|
152
|
+
format: 'tts',
|
|
153
|
+
durationMs: 0,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
// -------------------------------------------------------------------------
|
|
157
|
+
// Barge-in
|
|
158
|
+
// -------------------------------------------------------------------------
|
|
159
|
+
/**
|
|
160
|
+
* Handle a user barge-in at the transport level.
|
|
161
|
+
*
|
|
162
|
+
* Should be called by the runtime or transport layer when the user starts
|
|
163
|
+
* speaking while the agent is mid-utterance. Emits a `voice_barge_in` event
|
|
164
|
+
* so that graph event consumers can react (e.g. cancel pending tool calls).
|
|
165
|
+
*/
|
|
166
|
+
handleBargeIn() {
|
|
167
|
+
this.eventSink({
|
|
168
|
+
type: 'voice_barge_in',
|
|
169
|
+
nodeId: '__transport__',
|
|
170
|
+
interruptedText: '',
|
|
171
|
+
userSpeech: '',
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
// -------------------------------------------------------------------------
|
|
175
|
+
// Disposal
|
|
176
|
+
// -------------------------------------------------------------------------
|
|
177
|
+
/**
|
|
178
|
+
* Dispose the adapter and emit a `voice_session` ended event.
|
|
179
|
+
*
|
|
180
|
+
* Marks the adapter as uninitialised so subsequent calls to `getNodeInput()`
|
|
181
|
+
* or `deliverNodeOutput()` will throw, preventing accidental use after teardown.
|
|
182
|
+
*/
|
|
183
|
+
async dispose() {
|
|
184
|
+
this.eventSink({
|
|
185
|
+
type: 'voice_session',
|
|
186
|
+
nodeId: '__transport__',
|
|
187
|
+
action: 'ended',
|
|
188
|
+
exitReason: 'transport-disposed',
|
|
189
|
+
});
|
|
190
|
+
this.initialized = false;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=VoiceTransportAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VoiceTransportAdapter.js","sourceRoot":"","sources":["../../../src/orchestration/runtime/VoiceTransportAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpeechProviderResolver.d.ts","sourceRoot":"","sources":["../../src/speech/SpeechProviderResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"SpeechProviderResolver.d.ts","sourceRoot":"","sources":["../../src/speech/SpeechProviderResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAIpB;;;;;;;;;;GAUG;AACH,qBAAa,sBAAuB,SAAQ,YAAY;IASpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG;IATtB,4CAA4C;IAC5C,OAAO,CAAC,aAAa,CAA2C;IAEhE;;;OAGG;gBAEgB,MAAM,CAAC,EAAE,oBAAoB,YAAA,EAC7B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe;IAKxE;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI;IAKzC;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,kBAAkB,GAAG,oBAAoB,EAAE;IAM/D;;;;;;;OAOG;IACH,UAAU,CAAC,YAAY,CAAC,EAAE,oBAAoB,GAAG,oBAAoB;IAerE;;;;;;;OAOG;IACH,UAAU,CAAC,YAAY,CAAC,EAAE,oBAAoB,GAAG,oBAAoB;IAerE;;;;OAIG;IACH,UAAU,IAAI,iBAAiB;IAQ/B;;;OAGG;IACH,eAAe,IAAI,gBAAgB,GAAG,IAAI;IAS1C;;;;;;OAMG;IACG,OAAO,CAAC,gBAAgB,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAcpD;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAoBrB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAgC7B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAuClC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;CAcjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpeechProviderResolver.js","sourceRoot":"","sources":["../../src/speech/SpeechProviderResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"SpeechProviderResolver.js","sourceRoot":"","sources":["../../src/speech/SpeechProviderResolver.ts"],"names":[],"mappings":"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"}
|