@framers/agentos 0.1.111 → 0.1.113
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/api/strategies/debate.d.ts +12 -1
- package/dist/api/strategies/debate.d.ts.map +1 -1
- package/dist/api/strategies/debate.js +41 -5
- package/dist/api/strategies/debate.js.map +1 -1
- package/dist/api/strategies/hierarchical.d.ts +15 -1
- package/dist/api/strategies/hierarchical.d.ts.map +1 -1
- package/dist/api/strategies/hierarchical.js +51 -7
- package/dist/api/strategies/hierarchical.js.map +1 -1
- package/dist/api/strategies/index.d.ts +26 -4
- package/dist/api/strategies/index.d.ts.map +1 -1
- package/dist/api/strategies/index.js +26 -4
- package/dist/api/strategies/index.js.map +1 -1
- package/dist/api/strategies/parallel.d.ts +15 -4
- package/dist/api/strategies/parallel.d.ts.map +1 -1
- package/dist/api/strategies/parallel.js +53 -16
- package/dist/api/strategies/parallel.js.map +1 -1
- package/dist/api/strategies/review-loop.d.ts +15 -1
- package/dist/api/strategies/review-loop.d.ts.map +1 -1
- package/dist/api/strategies/review-loop.js +36 -10
- package/dist/api/strategies/review-loop.js.map +1 -1
- package/dist/api/strategies/sequential.d.ts +11 -1
- package/dist/api/strategies/sequential.d.ts.map +1 -1
- package/dist/api/strategies/sequential.js +39 -8
- package/dist/api/strategies/sequential.js.map +1 -1
- package/dist/api/strategies/shared.d.ts +71 -7
- package/dist/api/strategies/shared.d.ts.map +1 -1
- package/dist/api/strategies/shared.js +89 -10
- package/dist/api/strategies/shared.js.map +1 -1
- package/dist/api/types.d.ts +54 -1
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/types.js.map +1 -1
- package/dist/memory/facade/Memory.d.ts.map +1 -1
- package/dist/memory/facade/Memory.js +8 -0
- package/dist/memory/facade/Memory.js.map +1 -1
- package/dist/memory/facade/types.d.ts +10 -0
- package/dist/memory/facade/types.d.ts.map +1 -1
- package/dist/memory/index.d.ts +6 -0
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +5 -0
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/observation/MemoryObserver.d.ts +63 -1
- package/dist/memory/observation/MemoryObserver.d.ts.map +1 -1
- package/dist/memory/observation/MemoryObserver.js +115 -4
- package/dist/memory/observation/MemoryObserver.js.map +1 -1
- package/dist/memory/observation/ObservationCompressor.d.ts +88 -0
- package/dist/memory/observation/ObservationCompressor.d.ts.map +1 -0
- package/dist/memory/observation/ObservationCompressor.js +207 -0
- package/dist/memory/observation/ObservationCompressor.js.map +1 -0
- package/dist/memory/observation/ObservationReflector.d.ts +82 -0
- package/dist/memory/observation/ObservationReflector.d.ts.map +1 -0
- package/dist/memory/observation/ObservationReflector.js +212 -0
- package/dist/memory/observation/ObservationReflector.js.map +1 -0
- package/dist/memory/observation/temporal.d.ts +54 -0
- package/dist/memory/observation/temporal.d.ts.map +1 -0
- package/dist/memory/observation/temporal.js +115 -0
- package/dist/memory/observation/temporal.js.map +1 -0
- package/dist/orchestration/builders/VoiceNodeBuilder.d.ts +82 -25
- package/dist/orchestration/builders/VoiceNodeBuilder.d.ts.map +1 -1
- package/dist/orchestration/builders/VoiceNodeBuilder.js +86 -26
- package/dist/orchestration/builders/VoiceNodeBuilder.js.map +1 -1
- package/dist/orchestration/events/GraphEvent.d.ts +67 -5
- package/dist/orchestration/events/GraphEvent.d.ts.map +1 -1
- package/dist/orchestration/events/GraphEvent.js.map +1 -1
- package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts +102 -25
- package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts.map +1 -1
- package/dist/orchestration/runtime/VoiceNodeExecutor.js +133 -38
- package/dist/orchestration/runtime/VoiceNodeExecutor.js.map +1 -1
- package/dist/orchestration/runtime/VoiceTransportAdapter.d.ts +94 -32
- package/dist/orchestration/runtime/VoiceTransportAdapter.d.ts.map +1 -1
- package/dist/orchestration/runtime/VoiceTransportAdapter.js +82 -28
- package/dist/orchestration/runtime/VoiceTransportAdapter.js.map +1 -1
- package/dist/orchestration/runtime/VoiceTurnCollector.d.ts +73 -20
- package/dist/orchestration/runtime/VoiceTurnCollector.d.ts.map +1 -1
- package/dist/orchestration/runtime/VoiceTurnCollector.js +84 -23
- package/dist/orchestration/runtime/VoiceTurnCollector.js.map +1 -1
- package/dist/voice/CallManager.d.ts.map +1 -1
- package/dist/voice/CallManager.js +9 -1
- package/dist/voice/CallManager.js.map +1 -1
- package/dist/voice/MediaStreamParser.d.ts +115 -6
- package/dist/voice/MediaStreamParser.d.ts.map +1 -1
- package/dist/voice/MediaStreamParser.js +44 -0
- package/dist/voice/MediaStreamParser.js.map +1 -1
- package/dist/voice/TelephonyStreamTransport.d.ts +112 -20
- package/dist/voice/TelephonyStreamTransport.d.ts.map +1 -1
- package/dist/voice/TelephonyStreamTransport.js +136 -30
- package/dist/voice/TelephonyStreamTransport.js.map +1 -1
- package/dist/voice/parsers/PlivoMediaStreamParser.d.ts +64 -6
- package/dist/voice/parsers/PlivoMediaStreamParser.d.ts.map +1 -1
- package/dist/voice/parsers/PlivoMediaStreamParser.js +67 -6
- package/dist/voice/parsers/PlivoMediaStreamParser.js.map +1 -1
- package/dist/voice/parsers/TelnyxMediaStreamParser.d.ts +55 -8
- package/dist/voice/parsers/TelnyxMediaStreamParser.d.ts.map +1 -1
- package/dist/voice/parsers/TelnyxMediaStreamParser.js +60 -9
- package/dist/voice/parsers/TelnyxMediaStreamParser.js.map +1 -1
- package/dist/voice/parsers/TwilioMediaStreamParser.d.ts +73 -11
- package/dist/voice/parsers/TwilioMediaStreamParser.d.ts.map +1 -1
- package/dist/voice/parsers/TwilioMediaStreamParser.js +81 -12
- package/dist/voice/parsers/TwilioMediaStreamParser.js.map +1 -1
- package/dist/voice/providers/plivo.d.ts +108 -12
- package/dist/voice/providers/plivo.d.ts.map +1 -1
- package/dist/voice/providers/plivo.js +106 -9
- package/dist/voice/providers/plivo.js.map +1 -1
- package/dist/voice/providers/telnyx.d.ts +110 -20
- package/dist/voice/providers/telnyx.d.ts.map +1 -1
- package/dist/voice/providers/telnyx.js +111 -20
- package/dist/voice/providers/telnyx.js.map +1 -1
- package/dist/voice/providers/twilio.d.ts +91 -13
- package/dist/voice/providers/twilio.d.ts.map +1 -1
- package/dist/voice/providers/twilio.js +94 -14
- package/dist/voice/providers/twilio.js.map +1 -1
- package/dist/voice/twiml.d.ts +70 -12
- package/dist/voice/twiml.d.ts.map +1 -1
- package/dist/voice/twiml.js +70 -12
- package/dist/voice/twiml.js.map +1 -1
- package/dist/voice/types.d.ts +142 -15
- package/dist/voice/types.d.ts.map +1 -1
- package/dist/voice/types.js +34 -3
- package/dist/voice/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,16 +3,27 @@
|
|
|
3
3
|
* @description DSL builder for voice pipeline graph nodes.
|
|
4
4
|
*
|
|
5
5
|
* `voiceNode()` is the fluent factory for creating `GraphNode` IR entries of
|
|
6
|
-
* type `'voice'`.
|
|
6
|
+
* type `'voice'`. It mirrors the ergonomics of `gmiNode()` / `toolNode()` but
|
|
7
7
|
* targets the voice executor path, letting authors configure STT/TTS overrides,
|
|
8
8
|
* turn limits, barge-in behaviour, and exit-reason routing in a single
|
|
9
9
|
* declarative chain.
|
|
10
10
|
*
|
|
11
|
-
* Exit-reason routing
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* `
|
|
11
|
+
* ## Exit-reason routing
|
|
12
|
+
*
|
|
13
|
+
* Voice nodes complete with a reason string (e.g. `'completed'`, `'interrupted'`,
|
|
14
|
+
* `'hangup'`, `'turns-exhausted'`, `'keyword:goodbye'`). The `on()` method maps
|
|
15
|
+
* each reason to the next node id. These mappings are stored in `edges` on the
|
|
16
|
+
* returned `GraphNode` and are expanded by the compiler into `GraphEdge` objects
|
|
17
|
+
* during lowering.
|
|
18
|
+
*
|
|
19
|
+
* ## Produced GraphNode fields
|
|
20
|
+
*
|
|
21
|
+
* | Field | Value | Rationale |
|
|
22
|
+
* |-----------------|--------------------|--------------------------------------------------|
|
|
23
|
+
* | `type` | `'voice'` | Selects the VoiceNodeExecutor at runtime. |
|
|
24
|
+
* | `executionMode` | `'react_bounded'` | Voice nodes run a multi-turn loop, not one-shot. |
|
|
25
|
+
* | `effectClass` | `'external'` | Voice I/O touches the real world (audio). |
|
|
26
|
+
* | `checkpoint` | `'before'` | Snapshot before session start for crash recovery.|
|
|
16
27
|
*
|
|
17
28
|
* @example
|
|
18
29
|
* ```typescript
|
|
@@ -22,13 +33,23 @@
|
|
|
22
33
|
* .on('hangup', 'end')
|
|
23
34
|
* .build();
|
|
24
35
|
* ```
|
|
36
|
+
*
|
|
37
|
+
* @see {@link VoiceNodeExecutor} -- the runtime executor that processes voice nodes.
|
|
38
|
+
* @see {@link VoiceNodeConfig} -- the configuration shape from the graph IR.
|
|
25
39
|
*/
|
|
26
40
|
import type { GraphNode, VoiceNodeConfig } from '../ir/types.js';
|
|
27
41
|
/**
|
|
28
42
|
* Create a new {@link VoiceNodeBuilder} for a voice pipeline graph node.
|
|
29
43
|
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
44
|
+
* This is the primary entry point for the voice node DSL. Use the returned
|
|
45
|
+
* builder's `.on()` method to add exit-reason routes and `.build()` to
|
|
46
|
+
* produce the `GraphNode` IR object.
|
|
47
|
+
*
|
|
48
|
+
* @param id - Unique node identifier within the parent graph. Must be
|
|
49
|
+
* unique across all nodes in the graph to avoid collision
|
|
50
|
+
* in the edge map and checkpoint scratch keys.
|
|
51
|
+
* @param config - Voice pipeline configuration for this node (mode, STT/TTS
|
|
52
|
+
* overrides, turn limits, exit conditions).
|
|
32
53
|
* @returns A fluent builder; call `.on()` to add exit-reason routes and
|
|
33
54
|
* `.build()` to produce the `GraphNode` IR object.
|
|
34
55
|
*
|
|
@@ -39,21 +60,28 @@ import type { GraphNode, VoiceNodeConfig } from '../ir/types.js';
|
|
|
39
60
|
* .on('hangup', 'cleanup')
|
|
40
61
|
* .build();
|
|
41
62
|
* ```
|
|
63
|
+
*
|
|
64
|
+
* @see {@link VoiceNodeBuilder} -- the returned builder class.
|
|
42
65
|
*/
|
|
43
66
|
export declare function voiceNode(id: string, config: VoiceNodeConfig): VoiceNodeBuilder;
|
|
44
67
|
/**
|
|
45
68
|
* Fluent DSL builder for voice graph nodes.
|
|
46
69
|
*
|
|
47
|
-
* Collects exit-reason
|
|
70
|
+
* Collects exit-reason -> target-node mappings via {@link on} and produces a
|
|
48
71
|
* fully-specified `GraphNode` via {@link build}.
|
|
49
72
|
*
|
|
50
|
-
* The builder is designed to be chained
|
|
73
|
+
* The builder is designed to be chained. Each `on()` call returns `this`,
|
|
74
|
+
* enabling a declarative voice node definition:
|
|
75
|
+
*
|
|
51
76
|
* ```typescript
|
|
52
77
|
* voiceNode('listen', { mode: 'conversation', maxTurns: 5 })
|
|
53
78
|
* .on('completed', 'summarize')
|
|
54
79
|
* .on('interrupted', 'listen')
|
|
55
80
|
* .on('hangup', 'end')
|
|
56
81
|
* ```
|
|
82
|
+
*
|
|
83
|
+
* @see {@link voiceNode} -- the factory function that creates builder instances.
|
|
84
|
+
* @see {@link VoiceNodeExecutor} -- resolves the exit reason and looks up the edge map.
|
|
57
85
|
*/
|
|
58
86
|
export declare class VoiceNodeBuilder {
|
|
59
87
|
/** The node id assigned at construction time. */
|
|
@@ -62,27 +90,46 @@ export declare class VoiceNodeBuilder {
|
|
|
62
90
|
/**
|
|
63
91
|
* Mapping from exit-reason string to target node id.
|
|
64
92
|
* Populated by successive calls to {@link on}.
|
|
93
|
+
*
|
|
94
|
+
* Uses a `Map` rather than a plain object to preserve insertion order
|
|
95
|
+
* (useful for debugging) and to allow O(1) overwrites when `on()` is
|
|
96
|
+
* called with an already-registered reason.
|
|
65
97
|
*/
|
|
66
98
|
private edgeMap;
|
|
67
99
|
/**
|
|
68
|
-
*
|
|
69
|
-
*
|
|
100
|
+
* Creates a new VoiceNodeBuilder.
|
|
101
|
+
*
|
|
102
|
+
* @param id - Node identifier; exposed as a readonly property for
|
|
103
|
+
* introspection by callers that need to reference this
|
|
104
|
+
* node before building (e.g. for cross-node edge wiring).
|
|
105
|
+
* @param config - `VoiceNodeConfig` forwarded to the node's `executorConfig`
|
|
106
|
+
* at build time. Immutable after construction.
|
|
70
107
|
*/
|
|
71
108
|
constructor(
|
|
72
109
|
/** The node id assigned at construction time. */
|
|
73
110
|
id: string, config: VoiceNodeConfig);
|
|
74
111
|
/**
|
|
75
|
-
* Register an exit-reason
|
|
112
|
+
* Register an exit-reason -> target-node route.
|
|
76
113
|
*
|
|
77
114
|
* When the voice node's session ends with `exitReason`, the graph transitions
|
|
78
|
-
* to `target`.
|
|
115
|
+
* to `target`. Multiple calls to `on()` accumulate routes; calling `on()` with
|
|
79
116
|
* a reason that was already registered overwrites the previous target.
|
|
80
117
|
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
118
|
+
* ## Common exit reasons
|
|
119
|
+
*
|
|
120
|
+
* | Reason | When it fires |
|
|
121
|
+
* |---------------------|--------------------------------------------------|
|
|
122
|
+
* | `'completed'` | Session ended normally (catch-all). |
|
|
123
|
+
* | `'turns-exhausted'` | `maxTurns` reached. |
|
|
124
|
+
* | `'hangup'` | Transport disconnected. |
|
|
125
|
+
* | `'interrupted'` | User barged in (VoiceInterruptError). |
|
|
126
|
+
* | `'silence-timeout'` | No speech activity for 30 seconds. |
|
|
127
|
+
* | `'keyword:<word>'` | A `final_transcript` contained an exit keyword. |
|
|
128
|
+
*
|
|
129
|
+
* @param exitReason - The reason string returned by the voice executor.
|
|
84
130
|
* @param target - Either the string id of the target node, or an object
|
|
85
|
-
* with an `id` property (compatible with builder
|
|
131
|
+
* with an `id` property (compatible with other builder
|
|
132
|
+
* instances, e.g. `voiceNode('other', ...)`).
|
|
86
133
|
* @returns `this` for fluent chaining.
|
|
87
134
|
*
|
|
88
135
|
* @example
|
|
@@ -100,16 +147,26 @@ export declare class VoiceNodeBuilder {
|
|
|
100
147
|
*
|
|
101
148
|
* The returned node has:
|
|
102
149
|
* - `type: 'voice'` in sync with `executorConfig.type`.
|
|
103
|
-
* - `executionMode: 'react_bounded'`
|
|
104
|
-
* - `effectClass: 'external'`
|
|
105
|
-
* - `checkpoint: 'before'`
|
|
150
|
+
* - `executionMode: 'react_bounded'` -- voice nodes run a multi-turn loop.
|
|
151
|
+
* - `effectClass: 'external'` -- voice I/O touches the real world.
|
|
152
|
+
* - `checkpoint: 'before'` -- snapshot taken before the session starts so the
|
|
106
153
|
* run can be resumed from the start of the voice turn if the process crashes.
|
|
107
|
-
* - `edges`
|
|
108
|
-
* populated from all `on()` calls.
|
|
154
|
+
* - `edges` -- plain object mapping exit-reason strings to target node ids,
|
|
155
|
+
* populated from all `on()` calls. The compiler is responsible for
|
|
109
156
|
* expanding these into `GraphEdge` instances.
|
|
110
157
|
*
|
|
111
|
-
* @returns A `GraphNode`
|
|
112
|
-
* field not present on the base interface.
|
|
158
|
+
* @returns A `GraphNode` with the `edges` extension field. Cast to `any`
|
|
159
|
+
* to accommodate the `edges` field not present on the base interface.
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```typescript
|
|
163
|
+
* const node = voiceNode('greet', { mode: 'conversation' })
|
|
164
|
+
* .on('completed', 'process')
|
|
165
|
+
* .build();
|
|
166
|
+
*
|
|
167
|
+
* console.log(node.type); // 'voice'
|
|
168
|
+
* console.log(node.edges.completed); // 'process'
|
|
169
|
+
* ```
|
|
113
170
|
*/
|
|
114
171
|
build(): GraphNode;
|
|
115
172
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceNodeBuilder.d.ts","sourceRoot":"","sources":["../../../src/orchestration/builders/VoiceNodeBuilder.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"VoiceNodeBuilder.d.ts","sourceRoot":"","sources":["../../../src/orchestration/builders/VoiceNodeBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAMjE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,gBAAgB,CAE/E;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,gBAAgB;IAqBzB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAtBzB;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO,CAA6B;IAE5C;;;;;;;;OAQG;;IAED,iDAAiD;IACxC,EAAE,EAAE,MAAM,EACF,MAAM,EAAE,eAAe;IAO1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAY7D;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,IAAI,SAAS;CAcnB"}
|
|
@@ -3,16 +3,27 @@
|
|
|
3
3
|
* @description DSL builder for voice pipeline graph nodes.
|
|
4
4
|
*
|
|
5
5
|
* `voiceNode()` is the fluent factory for creating `GraphNode` IR entries of
|
|
6
|
-
* type `'voice'`.
|
|
6
|
+
* type `'voice'`. It mirrors the ergonomics of `gmiNode()` / `toolNode()` but
|
|
7
7
|
* targets the voice executor path, letting authors configure STT/TTS overrides,
|
|
8
8
|
* turn limits, barge-in behaviour, and exit-reason routing in a single
|
|
9
9
|
* declarative chain.
|
|
10
10
|
*
|
|
11
|
-
* Exit-reason routing
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* `
|
|
11
|
+
* ## Exit-reason routing
|
|
12
|
+
*
|
|
13
|
+
* Voice nodes complete with a reason string (e.g. `'completed'`, `'interrupted'`,
|
|
14
|
+
* `'hangup'`, `'turns-exhausted'`, `'keyword:goodbye'`). The `on()` method maps
|
|
15
|
+
* each reason to the next node id. These mappings are stored in `edges` on the
|
|
16
|
+
* returned `GraphNode` and are expanded by the compiler into `GraphEdge` objects
|
|
17
|
+
* during lowering.
|
|
18
|
+
*
|
|
19
|
+
* ## Produced GraphNode fields
|
|
20
|
+
*
|
|
21
|
+
* | Field | Value | Rationale |
|
|
22
|
+
* |-----------------|--------------------|--------------------------------------------------|
|
|
23
|
+
* | `type` | `'voice'` | Selects the VoiceNodeExecutor at runtime. |
|
|
24
|
+
* | `executionMode` | `'react_bounded'` | Voice nodes run a multi-turn loop, not one-shot. |
|
|
25
|
+
* | `effectClass` | `'external'` | Voice I/O touches the real world (audio). |
|
|
26
|
+
* | `checkpoint` | `'before'` | Snapshot before session start for crash recovery.|
|
|
16
27
|
*
|
|
17
28
|
* @example
|
|
18
29
|
* ```typescript
|
|
@@ -22,6 +33,9 @@
|
|
|
22
33
|
* .on('hangup', 'end')
|
|
23
34
|
* .build();
|
|
24
35
|
* ```
|
|
36
|
+
*
|
|
37
|
+
* @see {@link VoiceNodeExecutor} -- the runtime executor that processes voice nodes.
|
|
38
|
+
* @see {@link VoiceNodeConfig} -- the configuration shape from the graph IR.
|
|
25
39
|
*/
|
|
26
40
|
// ---------------------------------------------------------------------------
|
|
27
41
|
// Factory
|
|
@@ -29,8 +43,15 @@
|
|
|
29
43
|
/**
|
|
30
44
|
* Create a new {@link VoiceNodeBuilder} for a voice pipeline graph node.
|
|
31
45
|
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
46
|
+
* This is the primary entry point for the voice node DSL. Use the returned
|
|
47
|
+
* builder's `.on()` method to add exit-reason routes and `.build()` to
|
|
48
|
+
* produce the `GraphNode` IR object.
|
|
49
|
+
*
|
|
50
|
+
* @param id - Unique node identifier within the parent graph. Must be
|
|
51
|
+
* unique across all nodes in the graph to avoid collision
|
|
52
|
+
* in the edge map and checkpoint scratch keys.
|
|
53
|
+
* @param config - Voice pipeline configuration for this node (mode, STT/TTS
|
|
54
|
+
* overrides, turn limits, exit conditions).
|
|
34
55
|
* @returns A fluent builder; call `.on()` to add exit-reason routes and
|
|
35
56
|
* `.build()` to produce the `GraphNode` IR object.
|
|
36
57
|
*
|
|
@@ -41,6 +62,8 @@
|
|
|
41
62
|
* .on('hangup', 'cleanup')
|
|
42
63
|
* .build();
|
|
43
64
|
* ```
|
|
65
|
+
*
|
|
66
|
+
* @see {@link VoiceNodeBuilder} -- the returned builder class.
|
|
44
67
|
*/
|
|
45
68
|
export function voiceNode(id, config) {
|
|
46
69
|
return new VoiceNodeBuilder(id, config);
|
|
@@ -51,21 +74,31 @@ export function voiceNode(id, config) {
|
|
|
51
74
|
/**
|
|
52
75
|
* Fluent DSL builder for voice graph nodes.
|
|
53
76
|
*
|
|
54
|
-
* Collects exit-reason
|
|
77
|
+
* Collects exit-reason -> target-node mappings via {@link on} and produces a
|
|
55
78
|
* fully-specified `GraphNode` via {@link build}.
|
|
56
79
|
*
|
|
57
|
-
* The builder is designed to be chained
|
|
80
|
+
* The builder is designed to be chained. Each `on()` call returns `this`,
|
|
81
|
+
* enabling a declarative voice node definition:
|
|
82
|
+
*
|
|
58
83
|
* ```typescript
|
|
59
84
|
* voiceNode('listen', { mode: 'conversation', maxTurns: 5 })
|
|
60
85
|
* .on('completed', 'summarize')
|
|
61
86
|
* .on('interrupted', 'listen')
|
|
62
87
|
* .on('hangup', 'end')
|
|
63
88
|
* ```
|
|
89
|
+
*
|
|
90
|
+
* @see {@link voiceNode} -- the factory function that creates builder instances.
|
|
91
|
+
* @see {@link VoiceNodeExecutor} -- resolves the exit reason and looks up the edge map.
|
|
64
92
|
*/
|
|
65
93
|
export class VoiceNodeBuilder {
|
|
66
94
|
/**
|
|
67
|
-
*
|
|
68
|
-
*
|
|
95
|
+
* Creates a new VoiceNodeBuilder.
|
|
96
|
+
*
|
|
97
|
+
* @param id - Node identifier; exposed as a readonly property for
|
|
98
|
+
* introspection by callers that need to reference this
|
|
99
|
+
* node before building (e.g. for cross-node edge wiring).
|
|
100
|
+
* @param config - `VoiceNodeConfig` forwarded to the node's `executorConfig`
|
|
101
|
+
* at build time. Immutable after construction.
|
|
69
102
|
*/
|
|
70
103
|
constructor(
|
|
71
104
|
/** The node id assigned at construction time. */
|
|
@@ -75,6 +108,10 @@ export class VoiceNodeBuilder {
|
|
|
75
108
|
/**
|
|
76
109
|
* Mapping from exit-reason string to target node id.
|
|
77
110
|
* Populated by successive calls to {@link on}.
|
|
111
|
+
*
|
|
112
|
+
* Uses a `Map` rather than a plain object to preserve insertion order
|
|
113
|
+
* (useful for debugging) and to allow O(1) overwrites when `on()` is
|
|
114
|
+
* called with an already-registered reason.
|
|
78
115
|
*/
|
|
79
116
|
this.edgeMap = new Map();
|
|
80
117
|
}
|
|
@@ -82,17 +119,27 @@ export class VoiceNodeBuilder {
|
|
|
82
119
|
// Fluent API
|
|
83
120
|
// -------------------------------------------------------------------------
|
|
84
121
|
/**
|
|
85
|
-
* Register an exit-reason
|
|
122
|
+
* Register an exit-reason -> target-node route.
|
|
86
123
|
*
|
|
87
124
|
* When the voice node's session ends with `exitReason`, the graph transitions
|
|
88
|
-
* to `target`.
|
|
125
|
+
* to `target`. Multiple calls to `on()` accumulate routes; calling `on()` with
|
|
89
126
|
* a reason that was already registered overwrites the previous target.
|
|
90
127
|
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
128
|
+
* ## Common exit reasons
|
|
129
|
+
*
|
|
130
|
+
* | Reason | When it fires |
|
|
131
|
+
* |---------------------|--------------------------------------------------|
|
|
132
|
+
* | `'completed'` | Session ended normally (catch-all). |
|
|
133
|
+
* | `'turns-exhausted'` | `maxTurns` reached. |
|
|
134
|
+
* | `'hangup'` | Transport disconnected. |
|
|
135
|
+
* | `'interrupted'` | User barged in (VoiceInterruptError). |
|
|
136
|
+
* | `'silence-timeout'` | No speech activity for 30 seconds. |
|
|
137
|
+
* | `'keyword:<word>'` | A `final_transcript` contained an exit keyword. |
|
|
138
|
+
*
|
|
139
|
+
* @param exitReason - The reason string returned by the voice executor.
|
|
94
140
|
* @param target - Either the string id of the target node, or an object
|
|
95
|
-
* with an `id` property (compatible with builder
|
|
141
|
+
* with an `id` property (compatible with other builder
|
|
142
|
+
* instances, e.g. `voiceNode('other', ...)`).
|
|
96
143
|
* @returns `this` for fluent chaining.
|
|
97
144
|
*
|
|
98
145
|
* @example
|
|
@@ -114,16 +161,26 @@ export class VoiceNodeBuilder {
|
|
|
114
161
|
*
|
|
115
162
|
* The returned node has:
|
|
116
163
|
* - `type: 'voice'` in sync with `executorConfig.type`.
|
|
117
|
-
* - `executionMode: 'react_bounded'`
|
|
118
|
-
* - `effectClass: 'external'`
|
|
119
|
-
* - `checkpoint: 'before'`
|
|
164
|
+
* - `executionMode: 'react_bounded'` -- voice nodes run a multi-turn loop.
|
|
165
|
+
* - `effectClass: 'external'` -- voice I/O touches the real world.
|
|
166
|
+
* - `checkpoint: 'before'` -- snapshot taken before the session starts so the
|
|
120
167
|
* run can be resumed from the start of the voice turn if the process crashes.
|
|
121
|
-
* - `edges`
|
|
122
|
-
* populated from all `on()` calls.
|
|
168
|
+
* - `edges` -- plain object mapping exit-reason strings to target node ids,
|
|
169
|
+
* populated from all `on()` calls. The compiler is responsible for
|
|
123
170
|
* expanding these into `GraphEdge` instances.
|
|
124
171
|
*
|
|
125
|
-
* @returns A `GraphNode`
|
|
126
|
-
* field not present on the base interface.
|
|
172
|
+
* @returns A `GraphNode` with the `edges` extension field. Cast to `any`
|
|
173
|
+
* to accommodate the `edges` field not present on the base interface.
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ```typescript
|
|
177
|
+
* const node = voiceNode('greet', { mode: 'conversation' })
|
|
178
|
+
* .on('completed', 'process')
|
|
179
|
+
* .build();
|
|
180
|
+
*
|
|
181
|
+
* console.log(node.type); // 'voice'
|
|
182
|
+
* console.log(node.edges.completed); // 'process'
|
|
183
|
+
* ```
|
|
127
184
|
*/
|
|
128
185
|
build() {
|
|
129
186
|
return {
|
|
@@ -133,8 +190,11 @@ export class VoiceNodeBuilder {
|
|
|
133
190
|
executionMode: 'react_bounded',
|
|
134
191
|
effectClass: 'external',
|
|
135
192
|
checkpoint: 'before',
|
|
193
|
+
// The edges field is an extension not present on the base GraphNode
|
|
194
|
+
// interface. It is consumed by the graph compiler during lowering and
|
|
195
|
+
// by VoiceNodeExecutor for runtime route resolution.
|
|
136
196
|
edges: Object.fromEntries(this.edgeMap),
|
|
137
|
-
}; //
|
|
197
|
+
}; // Cast required because GraphNode's base interface doesn't declare `edges`.
|
|
138
198
|
}
|
|
139
199
|
}
|
|
140
200
|
//# sourceMappingURL=VoiceNodeBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceNodeBuilder.js","sourceRoot":"","sources":["../../../src/orchestration/builders/VoiceNodeBuilder.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"VoiceNodeBuilder.js","sourceRoot":"","sources":["../../../src/orchestration/builders/VoiceNodeBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAIH,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;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;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,gBAAgB;IAW3B;;;;;;;;OAQG;IACH;IACE,iDAAiD;IACxC,EAAU,EACF,MAAuB;QAD/B,OAAE,GAAF,EAAE,CAAQ;QACF,WAAM,GAAN,MAAM,CAAiB;QAtB1C;;;;;;;WAOG;QACK,YAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAezC,CAAC;IAEJ,4EAA4E;IAC5E,aAAa;IACb,4EAA4E;IAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;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;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;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,oEAAoE;YACpE,sEAAsE;YACtE,qDAAqD;YACrD,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC,4EAA4E;IACxF,CAAC;CACF"}
|
|
@@ -140,7 +140,18 @@ export type GraphEvent =
|
|
|
140
140
|
code: string;
|
|
141
141
|
};
|
|
142
142
|
}
|
|
143
|
-
/**
|
|
143
|
+
/**
|
|
144
|
+
* Live STT transcription -- both interim (partial) and final (confirmed) results.
|
|
145
|
+
*
|
|
146
|
+
* Emitted by {@link VoiceTurnCollector} for every speech recognition result.
|
|
147
|
+
* Consumers should check `isFinal` to distinguish speculative partials from
|
|
148
|
+
* confirmed utterances. Only final results are persisted in the transcript buffer.
|
|
149
|
+
*
|
|
150
|
+
* - `speaker` is absent when the STT provider does not support diarization.
|
|
151
|
+
* - `confidence` ranges from `0` (no confidence) to `1` (maximum confidence).
|
|
152
|
+
*
|
|
153
|
+
* @see {@link VoiceTurnCollector} -- the source of these events.
|
|
154
|
+
*/
|
|
144
155
|
| {
|
|
145
156
|
type: 'voice_transcript';
|
|
146
157
|
nodeId: string;
|
|
@@ -149,7 +160,19 @@ export type GraphEvent =
|
|
|
149
160
|
speaker?: string;
|
|
150
161
|
confidence: number;
|
|
151
162
|
}
|
|
152
|
-
/**
|
|
163
|
+
/**
|
|
164
|
+
* Audio chunk metadata emitted when audio data flows through the voice pipeline.
|
|
165
|
+
*
|
|
166
|
+
* The actual PCM/opus audio bytes flow via `IStreamTransport`, NOT through events.
|
|
167
|
+
* This event carries only metadata (direction, format, duration) so that the graph
|
|
168
|
+
* event bus can track audio flow without handling binary payloads.
|
|
169
|
+
*
|
|
170
|
+
* - `direction: 'inbound'` -- user microphone audio arriving at the STT engine.
|
|
171
|
+
* - `direction: 'outbound'` -- agent TTS audio being sent to the user.
|
|
172
|
+
* - `durationMs` is `0` for streaming chunks where total duration is unknown.
|
|
173
|
+
*
|
|
174
|
+
* @see {@link VoiceTransportAdapter} -- emits outbound events on `deliverNodeOutput()`.
|
|
175
|
+
*/
|
|
153
176
|
| {
|
|
154
177
|
type: 'voice_audio';
|
|
155
178
|
nodeId: string;
|
|
@@ -157,14 +180,38 @@ export type GraphEvent =
|
|
|
157
180
|
format: string;
|
|
158
181
|
durationMs: number;
|
|
159
182
|
}
|
|
160
|
-
/**
|
|
183
|
+
/**
|
|
184
|
+
* User barge-in -- the user interrupted the agent while it was speaking.
|
|
185
|
+
*
|
|
186
|
+
* Emitted by {@link VoiceTurnCollector} when the session fires a `barge_in` event.
|
|
187
|
+
* This signals that TTS playback should be cancelled and the graph may need to
|
|
188
|
+
* reroute to handle the interruption (e.g. re-enter a listening state).
|
|
189
|
+
*
|
|
190
|
+
* - `interruptedText` -- what the agent was saying when interrupted.
|
|
191
|
+
* - `userSpeech` -- what the user said that triggered the interruption.
|
|
192
|
+
*
|
|
193
|
+
* @see {@link VoiceInterruptError} -- the structured error variant for graph-level handling.
|
|
194
|
+
*/
|
|
161
195
|
| {
|
|
162
196
|
type: 'voice_barge_in';
|
|
163
197
|
nodeId: string;
|
|
164
198
|
interruptedText: string;
|
|
165
199
|
userSpeech: string;
|
|
166
200
|
}
|
|
167
|
-
/**
|
|
201
|
+
/**
|
|
202
|
+
* User turn complete -- the endpoint detector determined the user finished speaking.
|
|
203
|
+
*
|
|
204
|
+
* Emitted by both {@link VoiceTurnCollector} (from session events) and
|
|
205
|
+
* {@link VoiceTransportAdapter} (from transport events). Carries the full
|
|
206
|
+
* transcript for the completed turn and the endpoint detection reason.
|
|
207
|
+
*
|
|
208
|
+
* - `turnIndex` is 1-based and reflects the post-increment count (includes
|
|
209
|
+
* checkpoint-restored turns when resuming from a checkpoint).
|
|
210
|
+
* - `endpointReason` describes why the endpoint was detected (e.g. `'punctuation'`,
|
|
211
|
+
* `'silence'`, `'acoustic'`, `'unknown'`).
|
|
212
|
+
*
|
|
213
|
+
* @see {@link VoiceTurnCollector} -- increments turnIndex and emits this event.
|
|
214
|
+
*/
|
|
168
215
|
| {
|
|
169
216
|
type: 'voice_turn_complete';
|
|
170
217
|
nodeId: string;
|
|
@@ -172,7 +219,22 @@ export type GraphEvent =
|
|
|
172
219
|
turnIndex: number;
|
|
173
220
|
endpointReason: string;
|
|
174
221
|
}
|
|
175
|
-
/**
|
|
222
|
+
/**
|
|
223
|
+
* Voice session lifecycle event -- signals when a voice session starts or ends.
|
|
224
|
+
*
|
|
225
|
+
* Emitted by both {@link VoiceNodeExecutor} (at the graph node level) and
|
|
226
|
+
* {@link VoiceTransportAdapter} (at the transport level). The `nodeId` is the
|
|
227
|
+
* graph node id for executor-level events, or `'__transport__'` for
|
|
228
|
+
* transport-level events.
|
|
229
|
+
*
|
|
230
|
+
* - `action: 'started'` -- the session is now active and accepting audio.
|
|
231
|
+
* - `action: 'ended'` -- the session has terminated; `exitReason` describes why
|
|
232
|
+
* (e.g. `'turns-exhausted'`, `'hangup'`, `'interrupted'`, `'error'`,
|
|
233
|
+
* `'transport-disposed'`).
|
|
234
|
+
*
|
|
235
|
+
* @see {@link VoiceNodeExecutor} -- emits started/ended around the exit condition race.
|
|
236
|
+
* @see {@link VoiceTransportAdapter} -- emits started on init(), ended on dispose().
|
|
237
|
+
*/
|
|
176
238
|
| {
|
|
177
239
|
type: 'voice_session';
|
|
178
240
|
nodeId: string;
|
|
@@ -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;AAE9E
|
|
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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"}
|