@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.
Files changed (119) hide show
  1. package/dist/api/strategies/debate.d.ts +12 -1
  2. package/dist/api/strategies/debate.d.ts.map +1 -1
  3. package/dist/api/strategies/debate.js +41 -5
  4. package/dist/api/strategies/debate.js.map +1 -1
  5. package/dist/api/strategies/hierarchical.d.ts +15 -1
  6. package/dist/api/strategies/hierarchical.d.ts.map +1 -1
  7. package/dist/api/strategies/hierarchical.js +51 -7
  8. package/dist/api/strategies/hierarchical.js.map +1 -1
  9. package/dist/api/strategies/index.d.ts +26 -4
  10. package/dist/api/strategies/index.d.ts.map +1 -1
  11. package/dist/api/strategies/index.js +26 -4
  12. package/dist/api/strategies/index.js.map +1 -1
  13. package/dist/api/strategies/parallel.d.ts +15 -4
  14. package/dist/api/strategies/parallel.d.ts.map +1 -1
  15. package/dist/api/strategies/parallel.js +53 -16
  16. package/dist/api/strategies/parallel.js.map +1 -1
  17. package/dist/api/strategies/review-loop.d.ts +15 -1
  18. package/dist/api/strategies/review-loop.d.ts.map +1 -1
  19. package/dist/api/strategies/review-loop.js +36 -10
  20. package/dist/api/strategies/review-loop.js.map +1 -1
  21. package/dist/api/strategies/sequential.d.ts +11 -1
  22. package/dist/api/strategies/sequential.d.ts.map +1 -1
  23. package/dist/api/strategies/sequential.js +39 -8
  24. package/dist/api/strategies/sequential.js.map +1 -1
  25. package/dist/api/strategies/shared.d.ts +71 -7
  26. package/dist/api/strategies/shared.d.ts.map +1 -1
  27. package/dist/api/strategies/shared.js +89 -10
  28. package/dist/api/strategies/shared.js.map +1 -1
  29. package/dist/api/types.d.ts +54 -1
  30. package/dist/api/types.d.ts.map +1 -1
  31. package/dist/api/types.js.map +1 -1
  32. package/dist/memory/facade/Memory.d.ts.map +1 -1
  33. package/dist/memory/facade/Memory.js +8 -0
  34. package/dist/memory/facade/Memory.js.map +1 -1
  35. package/dist/memory/facade/types.d.ts +10 -0
  36. package/dist/memory/facade/types.d.ts.map +1 -1
  37. package/dist/memory/index.d.ts +6 -0
  38. package/dist/memory/index.d.ts.map +1 -1
  39. package/dist/memory/index.js +5 -0
  40. package/dist/memory/index.js.map +1 -1
  41. package/dist/memory/observation/MemoryObserver.d.ts +63 -1
  42. package/dist/memory/observation/MemoryObserver.d.ts.map +1 -1
  43. package/dist/memory/observation/MemoryObserver.js +115 -4
  44. package/dist/memory/observation/MemoryObserver.js.map +1 -1
  45. package/dist/memory/observation/ObservationCompressor.d.ts +88 -0
  46. package/dist/memory/observation/ObservationCompressor.d.ts.map +1 -0
  47. package/dist/memory/observation/ObservationCompressor.js +207 -0
  48. package/dist/memory/observation/ObservationCompressor.js.map +1 -0
  49. package/dist/memory/observation/ObservationReflector.d.ts +82 -0
  50. package/dist/memory/observation/ObservationReflector.d.ts.map +1 -0
  51. package/dist/memory/observation/ObservationReflector.js +212 -0
  52. package/dist/memory/observation/ObservationReflector.js.map +1 -0
  53. package/dist/memory/observation/temporal.d.ts +54 -0
  54. package/dist/memory/observation/temporal.d.ts.map +1 -0
  55. package/dist/memory/observation/temporal.js +115 -0
  56. package/dist/memory/observation/temporal.js.map +1 -0
  57. package/dist/orchestration/builders/VoiceNodeBuilder.d.ts +82 -25
  58. package/dist/orchestration/builders/VoiceNodeBuilder.d.ts.map +1 -1
  59. package/dist/orchestration/builders/VoiceNodeBuilder.js +86 -26
  60. package/dist/orchestration/builders/VoiceNodeBuilder.js.map +1 -1
  61. package/dist/orchestration/events/GraphEvent.d.ts +67 -5
  62. package/dist/orchestration/events/GraphEvent.d.ts.map +1 -1
  63. package/dist/orchestration/events/GraphEvent.js.map +1 -1
  64. package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts +102 -25
  65. package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts.map +1 -1
  66. package/dist/orchestration/runtime/VoiceNodeExecutor.js +133 -38
  67. package/dist/orchestration/runtime/VoiceNodeExecutor.js.map +1 -1
  68. package/dist/orchestration/runtime/VoiceTransportAdapter.d.ts +94 -32
  69. package/dist/orchestration/runtime/VoiceTransportAdapter.d.ts.map +1 -1
  70. package/dist/orchestration/runtime/VoiceTransportAdapter.js +82 -28
  71. package/dist/orchestration/runtime/VoiceTransportAdapter.js.map +1 -1
  72. package/dist/orchestration/runtime/VoiceTurnCollector.d.ts +73 -20
  73. package/dist/orchestration/runtime/VoiceTurnCollector.d.ts.map +1 -1
  74. package/dist/orchestration/runtime/VoiceTurnCollector.js +84 -23
  75. package/dist/orchestration/runtime/VoiceTurnCollector.js.map +1 -1
  76. package/dist/voice/CallManager.d.ts.map +1 -1
  77. package/dist/voice/CallManager.js +9 -1
  78. package/dist/voice/CallManager.js.map +1 -1
  79. package/dist/voice/MediaStreamParser.d.ts +115 -6
  80. package/dist/voice/MediaStreamParser.d.ts.map +1 -1
  81. package/dist/voice/MediaStreamParser.js +44 -0
  82. package/dist/voice/MediaStreamParser.js.map +1 -1
  83. package/dist/voice/TelephonyStreamTransport.d.ts +112 -20
  84. package/dist/voice/TelephonyStreamTransport.d.ts.map +1 -1
  85. package/dist/voice/TelephonyStreamTransport.js +136 -30
  86. package/dist/voice/TelephonyStreamTransport.js.map +1 -1
  87. package/dist/voice/parsers/PlivoMediaStreamParser.d.ts +64 -6
  88. package/dist/voice/parsers/PlivoMediaStreamParser.d.ts.map +1 -1
  89. package/dist/voice/parsers/PlivoMediaStreamParser.js +67 -6
  90. package/dist/voice/parsers/PlivoMediaStreamParser.js.map +1 -1
  91. package/dist/voice/parsers/TelnyxMediaStreamParser.d.ts +55 -8
  92. package/dist/voice/parsers/TelnyxMediaStreamParser.d.ts.map +1 -1
  93. package/dist/voice/parsers/TelnyxMediaStreamParser.js +60 -9
  94. package/dist/voice/parsers/TelnyxMediaStreamParser.js.map +1 -1
  95. package/dist/voice/parsers/TwilioMediaStreamParser.d.ts +73 -11
  96. package/dist/voice/parsers/TwilioMediaStreamParser.d.ts.map +1 -1
  97. package/dist/voice/parsers/TwilioMediaStreamParser.js +81 -12
  98. package/dist/voice/parsers/TwilioMediaStreamParser.js.map +1 -1
  99. package/dist/voice/providers/plivo.d.ts +108 -12
  100. package/dist/voice/providers/plivo.d.ts.map +1 -1
  101. package/dist/voice/providers/plivo.js +106 -9
  102. package/dist/voice/providers/plivo.js.map +1 -1
  103. package/dist/voice/providers/telnyx.d.ts +110 -20
  104. package/dist/voice/providers/telnyx.d.ts.map +1 -1
  105. package/dist/voice/providers/telnyx.js +111 -20
  106. package/dist/voice/providers/telnyx.js.map +1 -1
  107. package/dist/voice/providers/twilio.d.ts +91 -13
  108. package/dist/voice/providers/twilio.d.ts.map +1 -1
  109. package/dist/voice/providers/twilio.js +94 -14
  110. package/dist/voice/providers/twilio.js.map +1 -1
  111. package/dist/voice/twiml.d.ts +70 -12
  112. package/dist/voice/twiml.d.ts.map +1 -1
  113. package/dist/voice/twiml.js +70 -12
  114. package/dist/voice/twiml.js.map +1 -1
  115. package/dist/voice/types.d.ts +142 -15
  116. package/dist/voice/types.d.ts.map +1 -1
  117. package/dist/voice/types.js +34 -3
  118. package/dist/voice/types.js.map +1 -1
  119. 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'`. It mirrors the ergonomics of `gmiNode()` / `toolNode()` but
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 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.
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
- * @param id - Unique node identifier within the parent graph.
31
- * @param config - Voice pipeline configuration for this node.
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 target-node mappings via {@link on} and produces a
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
- * @param id - Node identifier; exposed as a readonly property for introspection.
69
- * @param config - `VoiceNodeConfig` forwarded to the node's `executorConfig`.
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 target-node route.
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`. Multiple calls to `on()` accumulate routes; calling `on()` with
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
- * @param exitReason - The reason string returned by the voice executor
82
- * (e.g. `'completed'`, `'interrupted'`, `'hangup'`,
83
- * `'turns-exhausted'`, `'silence-timeout'`).
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 instances).
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'` 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
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` plain object mapping exit-reason strings to target node ids,
108
- * populated from all `on()` calls. The compiler is responsible for
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` cast to `any` to accommodate the `edges` extension
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;;;;;;;;;;;;;;;;;;;;;;;;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"}
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'`. It mirrors the ergonomics of `gmiNode()` / `toolNode()` but
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 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.
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
- * @param id - Unique node identifier within the parent graph.
33
- * @param config - Voice pipeline configuration for this node.
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 target-node mappings via {@link on} and produces a
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
- * @param id - Node identifier; exposed as a readonly property for introspection.
68
- * @param config - `VoiceNodeConfig` forwarded to the node's `executorConfig`.
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 target-node route.
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`. Multiple calls to `on()` accumulate routes; calling `on()` with
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
- * @param exitReason - The reason string returned by the voice executor
92
- * (e.g. `'completed'`, `'interrupted'`, `'hangup'`,
93
- * `'turns-exhausted'`, `'silence-timeout'`).
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 instances).
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'` 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
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` plain object mapping exit-reason strings to target node ids,
122
- * populated from all `on()` calls. The compiler is responsible for
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` cast to `any` to accommodate the `edges` extension
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
- }; // GraphNode has more required fields; cast for builder convenience
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;;;;;;;;;;;;;;;;;;;;;;;;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"}
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
- /** Live STT transcription — interim and final results. */
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
- /** Audio chunk metadata (actual audio flows via IStreamTransport, not events). */
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
- /** User barge-in — interrupted the agent mid-speech. */
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
- /** User turn complete — endpoint detection fired. */
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
- /** Voice session lifecycle — started or ended. */
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":"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"}
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":"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"}
1
+ {"version":3,"file":"GraphEvent.js","sourceRoot":"","sources":["../../../src/orchestration/events/GraphEvent.ts"],"names":[],"mappings":"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"}