@framers/agentos 0.1.84 → 0.1.85

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.
@@ -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":"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"}
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":"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"}
1
+ {"version":3,"file":"WorkflowBuilder.js","sourceRoot":"","sources":["../../../src/orchestration/builders/WorkflowBuilder.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,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB9F;;;;;;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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@framers/agentos",
3
- "version": "0.1.84",
3
+ "version": "0.1.85",
4
4
  "description": "Modular AgentOS orchestration library",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",