flow-agent-bridge 0.30.0 → 0.31.0

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/README.md CHANGED
@@ -3,7 +3,8 @@
3
3
  Run an AI coding agent (Claude Code, Codex, or any "prompt in, text out" CLI)
4
4
  as a **first-class member of a [Flow](https://app.freeflow.im) workspace** —
5
5
  real presence, DMs, @-mentions, threads, file attachments, and live
6
- "thinking…" progress while it works.
6
+ "thinking…" progress while it works. Call it from a DM and it also answers the
7
+ existing Flow Huddle as a real, interruptible audio participant.
7
8
 
8
9
  ```
9
10
  Flow WS ──> flow-agent-bridge daemon ──spawn──> claude -p --resume <session>
@@ -65,6 +66,12 @@ onboarding.
65
66
  persistent `--session-id`/`--resume` session; separate conversations run
66
67
  concurrently, turns within one are serialized. Send `/reset` to start a
67
68
  conversation fresh.
69
+ - **An ongoing Huddle with the same agent** — press **Huddle** in a DM with the
70
+ agent and the bridge answers the existing LiveKit call. The realtime voice
71
+ session gets recent DM context, stays live while you move around Flow, and
72
+ can be interrupted like a normal conversation. If you ask it to build or
73
+ research something, it queues that request into the ordinary chat runtime;
74
+ progress and results appear in the DM while the call keeps going.
68
75
  - **Self-updating** — the CLI runs the daemon under a small supervisor, so
69
76
  sending **`/update`** (DM it, or @-mention + `/update` in a channel) makes
70
77
  the bridge npm-install the latest package and restart itself, then post
@@ -100,6 +107,11 @@ onboarding.
100
107
  "kind": "claude",
101
108
  "cwd": "~/checkouts/repo-x"
102
109
  },
110
+ "voice": {
111
+ "enabled": true,
112
+ "model": "gpt-realtime-2.1-mini",
113
+ "voice": "marin"
114
+ },
103
115
  "eventScope": "mentions",
104
116
  "progress": "thinking",
105
117
  "concurrency": 4
@@ -119,9 +131,16 @@ onboarding.
119
131
  | `progress` | `thinking` | `thinking` \| `typing` \| `silent` |
120
132
  | `relayText` | true | relay the agent's interim text into the conversation as it works (`thinking` mode only); it grows one message by editing rather than posting per chunk |
121
133
  | `logFile` | `<config>.log` next to the config | daemon log file (rotates once at 5 MB); JSON `null` disables |
134
+ | `voice.enabled` | true | answer DM Huddle rings as the agent; set false to decline with an explanation |
135
+ | `voice.model` / `voice.voice` | `gpt-realtime-2.1-mini` / `marin` | OpenAI Realtime model and spoken voice; `FLOW_VOICE_MODEL` and `FLOW_VOICE` can override the defaults |
136
+ | `voice.maxSessionMinutes` | 60 | hard ceiling for one realtime model connection |
137
+ | `voice.instructions` | unset | extra voice-only persona or conversational guidance |
122
138
 
123
139
  Headless runtimes authenticate however the CLI normally does (e.g.
124
140
  `claude setup-token` or `ANTHROPIC_API_KEY` in the daemon's environment).
141
+ Voice Huddles use `OPENAI_API_KEY` from that same daemon environment; the key
142
+ is never written to `agent.json`. Without it, the agent declines promptly and
143
+ posts the exact setup problem in the DM instead of ringing unanswered.
125
144
 
126
145
  ## Use the flow MCP server directly (no daemon)
127
146
 
package/dist/api.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AgentLoginResponse, AgentRedeemResponse, ArtifactDTO, ChannelDTO, FileDTO, MessageDTO, MessagePage, UserDTO, WorkspaceDTO, WorkspaceMemberDTO } from '@flow/shared';
1
+ import type { AgentLoginResponse, AgentRedeemResponse, ArtifactDTO, ChannelDTO, FileDTO, HuddleJoinDTO, MessageDTO, MessagePage, UserDTO, WorkspaceDTO, WorkspaceMemberDTO } from '@flow/shared';
2
2
  /** `attachment; filename*=UTF-8''my%20clip.mp4` → `my clip.mp4`, also accepting
3
3
  * the plain `filename="…"` form object stores send back. */
4
4
  export declare function filenameFromDisposition(header: string | null): string | undefined;
@@ -44,6 +44,10 @@ export declare class FlowApi {
44
44
  listMessages(channelId: string, limit?: number, before?: string): Promise<MessagePage>;
45
45
  joinChannel(channelId: string): Promise<unknown>;
46
46
  leaveChannel(channelId: string): Promise<unknown>;
47
+ /** Answer an existing DM huddle ring and receive the ordinary room token. */
48
+ acceptHuddleInvite(inviteId: string): Promise<HuddleJoinDTO>;
49
+ declineHuddleInvite(inviteId: string): Promise<unknown>;
50
+ leaveHuddle(channelId: string): Promise<unknown>;
47
51
  /** Create a standard channel; the caller is auto-added as a member. Duplicate
48
52
  * name in the workspace → 409 `channel_exists`. */
49
53
  createChannel(workspaceId: string, body: {
package/dist/api.js CHANGED
@@ -125,6 +125,16 @@ export class FlowApi {
125
125
  leaveChannel(channelId) {
126
126
  return this.req('POST', `/v1/channels/${channelId}/leave`);
127
127
  }
128
+ /** Answer an existing DM huddle ring and receive the ordinary room token. */
129
+ acceptHuddleInvite(inviteId) {
130
+ return this.req('POST', `/v1/huddle/invites/${inviteId}/accept`, {});
131
+ }
132
+ declineHuddleInvite(inviteId) {
133
+ return this.req('POST', `/v1/huddle/invites/${inviteId}/decline`, {});
134
+ }
135
+ leaveHuddle(channelId) {
136
+ return this.req('POST', `/v1/channels/${channelId}/huddle/leave`, {});
137
+ }
128
138
  /** Create a standard channel; the caller is auto-added as a member. Duplicate
129
139
  * name in the workspace → 409 `channel_exists`. */
130
140
  createChannel(workspaceId, body) {
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/dist/bridge.d.ts CHANGED
@@ -53,6 +53,7 @@ export declare class AgentBridge {
53
53
  private refreshTimer;
54
54
  private ipcServer;
55
55
  private taskSock;
56
+ private huddleVoice;
56
57
  private logStream;
57
58
  constructor(cfg: BridgeConfig);
58
59
  log(msg: string): void;
@@ -89,7 +90,7 @@ export declare class AgentBridge {
89
90
  * this is advisory, not a gate.
90
91
  */
91
92
  private checkVersion;
92
- stop(): void;
93
+ stop(): Promise<void>;
93
94
  private refreshDirectory;
94
95
  private scheduleRefresh;
95
96
  /**
@@ -171,7 +172,15 @@ export declare class AgentBridge {
171
172
  private processMessage;
172
173
  private senderLabel;
173
174
  private channelLabel;
175
+ private isOneToOneDm;
174
176
  private buildSystemPrompt;
177
+ /** The voice model is the conversational front door to this same agent. It
178
+ * gets enough DM history to pick up naturally, but delegates tool-heavy work
179
+ * to the durable text runtime so the call stays responsive and interruptible. */
180
+ private buildVoiceInstructions;
181
+ /** Queue the durable coding runtime and leave an audit note in the same DM.
182
+ * The realtime session can keep talking while this independent run works. */
183
+ private handoffVoiceTask;
175
184
  /** Prompt = optional first-turn history + per-message sender metadata + body. */
176
185
  private buildPrompt;
177
186
  /**
package/dist/bridge.js CHANGED
@@ -10,7 +10,7 @@ import os from 'node:os';
10
10
  import path from 'node:path';
11
11
  import { createHash, randomUUID } from 'node:crypto';
12
12
  import { fileURLToPath } from 'node:url';
13
- import { resolveWorkspace } from './config.js';
13
+ import { defaultVoiceConfig, resolveWorkspace } from './config.js';
14
14
  import { FlowApi } from './api.js';
15
15
  import { attachmentFilename, formatAttachments } from './attachments.js';
16
16
  import { FlowSocket } from './gateway.js';
@@ -18,6 +18,7 @@ import { ProgressReporter } from './progress.js';
18
18
  import { killAllRuntimes, runRuntime } from './runtime.js';
19
19
  import { EXIT_RESTART, EXIT_UPDATE } from './supervisor.js';
20
20
  import { currentVersion, isOutdated, latestPublishedVersion } from './version.js';
21
+ import { HuddleVoiceManager } from './huddle-voice.js';
21
22
  const THINKING_PREFIX = '🤖 *thinking…*';
22
23
  /** Cap on salvaged text in a failure reply (the API caps a body at 12000). */
23
24
  const SALVAGE_LIMIT = 4000;
@@ -116,6 +117,7 @@ export class AgentBridge {
116
117
  refreshTimer = null;
117
118
  ipcServer = null;
118
119
  taskSock = null;
120
+ huddleVoice = null;
119
121
  logStream = null;
120
122
  constructor(cfg) {
121
123
  this.cfg = cfg;
@@ -151,8 +153,27 @@ export class AgentBridge {
151
153
  // #357: an agent can belong to several workspaces; this process serves one.
152
154
  this.workspace = resolveWorkspace(await this.api.myWorkspaces(), this.cfg.workspace);
153
155
  await this.refreshDirectory();
156
+ const voiceConfig = this.cfg.voice ?? defaultVoiceConfig();
157
+ this.huddleVoice = new HuddleVoiceManager({
158
+ api: this.api,
159
+ agentId: this.me.id,
160
+ agentName: this.me.displayName,
161
+ config: voiceConfig,
162
+ apiKey: process.env.OPENAI_API_KEY,
163
+ callerName: (userId) => this.senderLabel(userId),
164
+ isOneToOneDm: (channelId) => this.isOneToOneDm(channelId),
165
+ buildInstructions: (channelId, callerId) => this.buildVoiceInstructions(channelId, callerId),
166
+ handoff: (channelId, callerId, request) => this.handoffVoiceTask(channelId, callerId, request),
167
+ log: (message) => this.log(message),
168
+ });
169
+ const voiceState = !voiceConfig.enabled
170
+ ? 'off'
171
+ : process.env.OPENAI_API_KEY?.trim()
172
+ ? `ready (${voiceConfig.model}/${voiceConfig.voice})`
173
+ : 'waiting for OPENAI_API_KEY';
154
174
  this.log(`${this.me.displayName} <@${this.me.id}> online in "${this.workspace.name}" — ` +
155
- `scope=${this.cfg.eventScope}+DMs progress=${this.cfg.progress} runtime=${this.cfg.runtime.kind} cwd=${this.cfg.runtime.cwd}`);
175
+ `scope=${this.cfg.eventScope}+DMs progress=${this.cfg.progress} runtime=${this.cfg.runtime.kind} ` +
176
+ `voice=${voiceState} cwd=${this.cfg.runtime.cwd}`);
156
177
  this.socket = new FlowSocket({
157
178
  serverUrl: this.cfg.serverUrl,
158
179
  token: this.cfg.agentToken,
@@ -328,7 +349,7 @@ export class AgentBridge {
328
349
  `Send \`/update\` (mention me in a channel, or DM it) and I'll update and restart myself.`)
329
350
  .catch((err) => this.log(`version notice post failed: ${err.message}`));
330
351
  }
331
- stop() {
352
+ async stop() {
332
353
  this.socket?.close();
333
354
  this.ipcServer?.close();
334
355
  this.ipcServer = null;
@@ -338,6 +359,8 @@ export class AgentBridge {
338
359
  // Runtimes run detached (own process group) so expiry can kill their whole
339
360
  // subprocess tree — the flip side is they outlive us unless we end them.
340
361
  killAllRuntimes();
362
+ await this.huddleVoice?.stop();
363
+ this.huddleVoice = null;
341
364
  if (this.refreshTimer)
342
365
  clearTimeout(this.refreshTimer);
343
366
  this.logStream?.end();
@@ -371,6 +394,7 @@ export class AgentBridge {
371
394
  if (this.departed)
372
395
  return;
373
396
  this.departed = true;
397
+ void this.huddleVoice?.stop();
374
398
  if (this.refreshTimer) {
375
399
  clearTimeout(this.refreshTimer);
376
400
  this.refreshTimer = null;
@@ -404,6 +428,14 @@ export class AgentBridge {
404
428
  void this.handleReaction(ev.data);
405
429
  return;
406
430
  }
431
+ if (ev.type === 'huddle.invite') {
432
+ void this.huddleVoice?.handleInvite(ev.data);
433
+ return;
434
+ }
435
+ if (ev.type === 'huddle.updated') {
436
+ void this.huddleVoice?.handleRoster(ev.data);
437
+ return;
438
+ }
407
439
  if (ev.type !== 'message.created' && ev.type !== 'thread.reply')
408
440
  return;
409
441
  void this.handleMessage(ev.data);
@@ -807,6 +839,12 @@ export class AgentBridge {
807
839
  return 'a group direct message';
808
840
  return `#${chan.name ?? 'unknown'}`;
809
841
  }
842
+ async isOneToOneDm(channelId) {
843
+ if (!this.channels.has(channelId)) {
844
+ await this.refreshDirectory().catch((error) => this.log(`directory refresh failed: ${error.message}`));
845
+ }
846
+ return this.channels.get(channelId)?.kind === 'dm';
847
+ }
810
848
  buildSystemPrompt(msg, mcp) {
811
849
  const threadNote = msg.threadRootId
812
850
  ? ' (inside a thread — replies stay in it)'
@@ -830,6 +868,51 @@ export class AgentBridge {
830
868
  ];
831
869
  return lines.filter(Boolean).join('\n');
832
870
  }
871
+ /** The voice model is the conversational front door to this same agent. It
872
+ * gets enough DM history to pick up naturally, but delegates tool-heavy work
873
+ * to the durable text runtime so the call stays responsive and interruptible. */
874
+ async buildVoiceInstructions(channelId, callerId) {
875
+ let history = '';
876
+ try {
877
+ const page = await this.api.listMessages(channelId, 16);
878
+ history = page.messages
879
+ .filter((message) => !message.deletedAt && !message.systemKind && message.body.trim())
880
+ .slice(0, 16)
881
+ .reverse()
882
+ .map((message) => `${this.senderLabel(message.userId)}: ${message.body.trim().slice(0, 600)}`)
883
+ .join('\n')
884
+ .slice(-6000);
885
+ }
886
+ catch (error) {
887
+ this.log(`voice history unavailable: ${error.message}`);
888
+ }
889
+ const lines = [
890
+ `You are ${this.me.displayName}, the same AI agent that ${this.senderLabel(callerId)} chats with in the Flow workspace "${this.workspace.name}".`,
891
+ `This is an ongoing live Huddle call inside ${this.channelLabel(channelId)}, not a voice demo and not a separate assistant.`,
892
+ 'Speak naturally in short conversational turns. Let the caller interrupt you. Do not read markdown, emojis, metadata, or stage directions aloud.',
893
+ 'You can discuss, clarify, brainstorm, and make decisions in real time. You do not directly have repository or external tools in the audio process.',
894
+ 'When the caller explicitly asks you to build, change, research, or otherwise perform substantial work, first collect any missing details and then call handoff_to_chat exactly once with a self-contained request. Preserve every constraint they stated. Tell them it is queued in the Flow chat and that progress/results will appear there while this call continues.',
895
+ 'Never claim that files were changed, tests passed, work finished, or an external action happened unless the handoff tool or visible chat result says so.',
896
+ this.cfg.runtime.systemPromptExtra ?? '',
897
+ this.cfg.voice?.instructions ?? '',
898
+ history ? `Recent Flow conversation, oldest to newest:\n${history}` : '',
899
+ ];
900
+ return lines.filter(Boolean).join('\n\n');
901
+ }
902
+ /** Queue the durable coding runtime and leave an audit note in the same DM.
903
+ * The realtime session can keep talking while this independent run works. */
904
+ async handoffVoiceTask(channelId, callerId, request) {
905
+ await this.api.sendMessage(channelId, `📞 **Queued from our huddle**\n\n${request}`);
906
+ const result = await this.startTask({
907
+ channelId,
908
+ sourceChannelId: channelId,
909
+ userId: callerId,
910
+ prompt: request,
911
+ });
912
+ if ('error' in result)
913
+ throw new Error(result.error);
914
+ return `${result.note}. Progress and the final result will appear in this Flow conversation.`;
915
+ }
833
916
  /** Prompt = optional first-turn history + per-message sender metadata + body. */
834
917
  async buildPrompt(conv, msg) {
835
918
  const meta = `[from: ${this.senderLabel(msg.userId)} <@${msg.userId}> in ${this.channelLabel(msg.channelId)}]`;
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -3,6 +3,19 @@ export declare function expandHome(p: string): string;
3
3
  export type ProgressMode = 'thinking' | 'typing' | 'silent';
4
4
  export type EventScope = 'mentions' | 'all';
5
5
  export type RuntimeKind = 'claude' | 'codex' | 'demo';
6
+ export interface VoiceConfig {
7
+ /** Answer DM huddle invites as this agent. */
8
+ enabled: boolean;
9
+ /** OpenAI Realtime model used for the low-latency call. */
10
+ model: string;
11
+ /** OpenAI Realtime voice name. */
12
+ voice: string;
13
+ /** Hard ceiling for one realtime model connection. */
14
+ maxSessionMinutes: number;
15
+ /** Extra voice-only persona or conversational guidance. */
16
+ instructions?: string | undefined;
17
+ }
18
+ export declare function defaultVoiceConfig(): VoiceConfig;
6
19
  export interface RuntimeConfig {
7
20
  /**
8
21
  * 'claude' (rich: sessions, stream-json thinking steps, MCP),
@@ -87,6 +100,9 @@ export interface BridgeConfig {
87
100
  * definition. Set false for the pre-#162 quiet turn (tool status row only).
88
101
  */
89
102
  relayText: boolean;
103
+ /** Realtime audio in the existing Flow Huddle. Optional for source-level
104
+ * callers that construct BridgeConfig directly; loadConfig always fills it. */
105
+ voice?: VoiceConfig | undefined;
90
106
  }
91
107
  export declare function loadConfig(configPath: string): BridgeConfig;
92
108
  /** The minimum a workspace must expose for `resolveWorkspace` to pick between them. */
package/dist/config.js CHANGED
@@ -10,6 +10,14 @@ export function expandHome(p) {
10
10
  return os.homedir();
11
11
  return p.startsWith('~/') ? path.join(os.homedir(), p.slice(2)) : p;
12
12
  }
13
+ export function defaultVoiceConfig() {
14
+ return {
15
+ enabled: true,
16
+ model: process.env.FLOW_VOICE_MODEL?.trim() || 'gpt-realtime-2.1-mini',
17
+ voice: process.env.FLOW_VOICE?.trim() || 'marin',
18
+ maxSessionMinutes: 60,
19
+ };
20
+ }
13
21
  export function loadConfig(configPath) {
14
22
  const abs = path.resolve(configPath);
15
23
  let raw;
@@ -72,6 +80,17 @@ export function loadConfig(configPath) {
72
80
  : raw.logFile !== undefined
73
81
  ? path.resolve(path.dirname(abs), expandHome(raw.logFile))
74
82
  : abs.replace(/\.json$/i, '') + '.log';
83
+ const voiceDefaults = defaultVoiceConfig();
84
+ const voice = {
85
+ enabled: raw.voice?.enabled ?? voiceDefaults.enabled,
86
+ model: raw.voice?.model?.trim() || voiceDefaults.model,
87
+ voice: raw.voice?.voice?.trim() || voiceDefaults.voice,
88
+ maxSessionMinutes: raw.voice?.maxSessionMinutes ?? voiceDefaults.maxSessionMinutes,
89
+ instructions: raw.voice?.instructions?.trim() || undefined,
90
+ };
91
+ if (!(voice.maxSessionMinutes > 0)) {
92
+ throw new Error('config: voice.maxSessionMinutes must be a positive number');
93
+ }
75
94
  return {
76
95
  serverUrl,
77
96
  agentToken,
@@ -85,6 +104,7 @@ export function loadConfig(configPath) {
85
104
  concurrency: Math.max(1, raw.concurrency ?? 4),
86
105
  progress,
87
106
  relayText: raw.relayText ?? true,
107
+ voice,
88
108
  };
89
109
  }
90
110
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import type { HuddleInviteData, HuddleJoinDTO, HuddleUpdatedData, MessageDTO } from '@flow/shared';
2
+ import type { VoiceConfig } from './config.js';
3
+ export interface HuddleVoiceApi {
4
+ acceptHuddleInvite(inviteId: string): Promise<HuddleJoinDTO>;
5
+ declineHuddleInvite(inviteId: string): Promise<unknown>;
6
+ leaveHuddle(channelId: string): Promise<unknown>;
7
+ sendMessage(channelId: string, body: string): Promise<MessageDTO>;
8
+ }
9
+ export interface LiveVoiceSession {
10
+ close(): Promise<void>;
11
+ }
12
+ export interface LiveVoiceSessionOptions {
13
+ url: string;
14
+ token: string;
15
+ callerId: string;
16
+ callerName: string;
17
+ agentName: string;
18
+ instructions: string;
19
+ apiKey: string;
20
+ config: VoiceConfig;
21
+ handoff(request: string): Promise<string>;
22
+ onEnded(): void;
23
+ log(message: string): void;
24
+ }
25
+ export type LiveVoiceSessionFactory = (options: LiveVoiceSessionOptions) => Promise<LiveVoiceSession>;
26
+ export interface HuddleVoiceManagerOptions {
27
+ api: HuddleVoiceApi;
28
+ agentId: string;
29
+ agentName: string;
30
+ config: VoiceConfig;
31
+ /** Runtime secrets stay in the daemon environment, never agent.json. */
32
+ apiKey?: string | undefined;
33
+ callerName(userId: string): string;
34
+ isOneToOneDm(channelId: string): Promise<boolean>;
35
+ buildInstructions(channelId: string, callerId: string): Promise<string>;
36
+ handoff(channelId: string, callerId: string, request: string): Promise<string>;
37
+ log(message: string): void;
38
+ sessionFactory?: LiveVoiceSessionFactory | undefined;
39
+ }
40
+ /**
41
+ * Turns the existing DM ring into a real bot call. The server remains the
42
+ * source of truth for invite and roster state; this class just performs the
43
+ * same accept / join / leave operations as a human client, then attaches a
44
+ * realtime audio participant to the minted LiveKit room token.
45
+ */
46
+ export declare class HuddleVoiceManager {
47
+ private readonly options;
48
+ private active;
49
+ private acceptingInviteId;
50
+ private stopping;
51
+ private readonly terminalInvites;
52
+ private readonly handledInvites;
53
+ private readonly sessionFactory;
54
+ constructor(options: HuddleVoiceManagerOptions);
55
+ get activeChannelId(): string | null;
56
+ handleInvite(data: HuddleInviteData): Promise<void>;
57
+ handleRoster(data: HuddleUpdatedData): Promise<void>;
58
+ stop(): Promise<void>;
59
+ private declineWithMessage;
60
+ private sessionEnded;
61
+ private endActive;
62
+ private leaveQuietly;
63
+ private rememberHandled;
64
+ private rememberTerminal;
65
+ }
66
+ /**
67
+ * Production session adapter. Imports are deliberately lazy: a text-only
68
+ * bridge can start without loading LiveKit's native RTC binding, and unit
69
+ * tests exercise the call state machine without a room or API key.
70
+ */
71
+ export declare function createLiveKitVoiceSession(options: LiveVoiceSessionOptions): Promise<LiveVoiceSession>;
@@ -0,0 +1,317 @@
1
+ const TERMINAL_INVITE_STATES = new Set(['ended', 'declined', 'missed', 'cancelled']);
2
+ const MAX_HANDOFF_LENGTH = 4000;
3
+ let liveKitLoggerInitialized = false;
4
+ /**
5
+ * Turns the existing DM ring into a real bot call. The server remains the
6
+ * source of truth for invite and roster state; this class just performs the
7
+ * same accept / join / leave operations as a human client, then attaches a
8
+ * realtime audio participant to the minted LiveKit room token.
9
+ */
10
+ export class HuddleVoiceManager {
11
+ options;
12
+ active = null;
13
+ acceptingInviteId = null;
14
+ stopping = false;
15
+ terminalInvites = new Set();
16
+ handledInvites = new Set();
17
+ sessionFactory;
18
+ constructor(options) {
19
+ this.options = options;
20
+ this.sessionFactory = options.sessionFactory ?? createLiveKitVoiceSession;
21
+ }
22
+ get activeChannelId() {
23
+ return this.active?.channelId ?? null;
24
+ }
25
+ async handleInvite(data) {
26
+ if (this.stopping)
27
+ return;
28
+ const { invite } = data;
29
+ const target = invite.targets.find((row) => row.userId === this.options.agentId);
30
+ if (!target || invite.startedBy === this.options.agentId)
31
+ return;
32
+ if (TERMINAL_INVITE_STATES.has(invite.status)) {
33
+ this.rememberTerminal(invite.id);
34
+ if (this.active?.inviteId === invite.id)
35
+ await this.endActive(`invite ${invite.status}`);
36
+ return;
37
+ }
38
+ // The active update after our accept has target=accepted; it is state
39
+ // confirmation, not a second ring.
40
+ if (invite.status !== 'ringing' || target.status !== 'ringing')
41
+ return;
42
+ if (this.handledInvites.has(invite.id))
43
+ return;
44
+ this.rememberHandled(invite.id);
45
+ if (this.acceptingInviteId || this.active) {
46
+ await this.declineWithMessage(invite.id, invite.channelId, `📞 I’m already in another huddle. Try calling me again after it ends.`);
47
+ return;
48
+ }
49
+ if (!this.options.config.enabled) {
50
+ await this.declineWithMessage(invite.id, invite.channelId, `📞 Voice huddles are turned off for me. Set \`voice.enabled\` to \`true\` in my bridge config and restart me.`);
51
+ return;
52
+ }
53
+ const apiKey = this.options.apiKey?.trim();
54
+ if (!apiKey) {
55
+ await this.declineWithMessage(invite.id, invite.channelId, `📞 I can’t answer voice yet because my bridge is missing \`OPENAI_API_KEY\`. Add it to the bridge environment, restart me, and call again.`);
56
+ return;
57
+ }
58
+ // Reserve the one call slot before the asynchronous directory lookup. Two
59
+ // different rings can arrive on the socket in the same event-loop turn.
60
+ this.acceptingInviteId = invite.id;
61
+ let joined = false;
62
+ try {
63
+ if (!(await this.options.isOneToOneDm(invite.channelId))) {
64
+ await this.declineWithMessage(invite.id, invite.channelId, `📞 I can answer one-to-one Huddles right now, but not group calls yet. Open a DM with me and call from there.`);
65
+ return;
66
+ }
67
+ if (this.stopping || this.terminalInvites.has(invite.id))
68
+ return;
69
+ // Accept first so the caller stops hearing a ring immediately. Context
70
+ // loading and model connection happen while both users are in the room.
71
+ const room = await this.options.api.acceptHuddleInvite(invite.id);
72
+ joined = true;
73
+ if (this.stopping || this.terminalInvites.has(invite.id)) {
74
+ await this.leaveQuietly(invite.channelId);
75
+ return;
76
+ }
77
+ const instructions = await this.options.buildInstructions(invite.channelId, invite.startedBy);
78
+ if (this.stopping || this.terminalInvites.has(invite.id)) {
79
+ await this.leaveQuietly(invite.channelId);
80
+ return;
81
+ }
82
+ let endedDuringStart = false;
83
+ const session = await this.sessionFactory({
84
+ url: room.url,
85
+ token: room.token,
86
+ callerId: invite.startedBy,
87
+ callerName: this.options.callerName(invite.startedBy),
88
+ agentName: this.options.agentName,
89
+ instructions,
90
+ apiKey,
91
+ config: this.options.config,
92
+ handoff: async (request) => {
93
+ const clean = request.trim().slice(0, MAX_HANDOFF_LENGTH);
94
+ if (!clean)
95
+ return 'Nothing was queued because the request was empty.';
96
+ return this.options.handoff(invite.channelId, invite.startedBy, clean);
97
+ },
98
+ onEnded: () => {
99
+ endedDuringStart = true;
100
+ void this.sessionEnded(invite.id);
101
+ },
102
+ log: this.options.log,
103
+ });
104
+ if (endedDuringStart || this.stopping || this.terminalInvites.has(invite.id)) {
105
+ await session.close().catch(() => undefined);
106
+ await this.leaveQuietly(invite.channelId);
107
+ return;
108
+ }
109
+ this.active = {
110
+ inviteId: invite.id,
111
+ channelId: invite.channelId,
112
+ callerId: invite.startedBy,
113
+ session,
114
+ };
115
+ this.options.log(`answered huddle from ${this.options.callerName(invite.startedBy)}`);
116
+ }
117
+ catch (error) {
118
+ this.options.log(`could not start huddle voice: ${errorText(error)}`);
119
+ if (joined)
120
+ await this.leaveQuietly(invite.channelId);
121
+ if (joined && !this.stopping && !this.terminalInvites.has(invite.id)) {
122
+ await this.options.api
123
+ .sendMessage(invite.channelId, `📞 I answered, but my voice connection couldn’t start. Check the bridge voice configuration and logs, then call me again.`)
124
+ .catch((sendError) => this.options.log(`could not post voice failure: ${errorText(sendError)}`));
125
+ }
126
+ }
127
+ finally {
128
+ if (this.acceptingInviteId === invite.id)
129
+ this.acceptingInviteId = null;
130
+ }
131
+ }
132
+ async handleRoster(data) {
133
+ const active = this.active;
134
+ if (!active || active.channelId !== data.channelId)
135
+ return;
136
+ const ids = new Set(data.participants.map((participant) => participant.userId));
137
+ if (!ids.has(this.options.agentId) || !ids.has(active.callerId)) {
138
+ await this.endActive(!ids.has(active.callerId) ? 'caller left' : 'agent left');
139
+ }
140
+ }
141
+ async stop() {
142
+ this.stopping = true;
143
+ await this.endActive('bridge stopping');
144
+ }
145
+ async declineWithMessage(inviteId, channelId, message) {
146
+ await this.options.api
147
+ .declineHuddleInvite(inviteId)
148
+ .catch((error) => this.options.log(`could not decline huddle: ${errorText(error)}`));
149
+ await this.options.api
150
+ .sendMessage(channelId, message)
151
+ .catch((error) => this.options.log(`could not post huddle status: ${errorText(error)}`));
152
+ }
153
+ async sessionEnded(inviteId) {
154
+ const active = this.active;
155
+ if (!active || active.inviteId !== inviteId)
156
+ return;
157
+ this.active = null;
158
+ await this.leaveQuietly(active.channelId);
159
+ this.options.log('huddle voice session ended');
160
+ }
161
+ async endActive(reason) {
162
+ const active = this.active;
163
+ if (!active)
164
+ return;
165
+ this.active = null;
166
+ this.options.log(`ending huddle voice (${reason})`);
167
+ await active.session.close().catch((error) => this.options.log(`voice close failed: ${errorText(error)}`));
168
+ await this.leaveQuietly(active.channelId);
169
+ }
170
+ async leaveQuietly(channelId) {
171
+ await this.options.api
172
+ .leaveHuddle(channelId)
173
+ .catch((error) => this.options.log(`could not leave huddle: ${errorText(error)}`));
174
+ }
175
+ rememberHandled(inviteId) {
176
+ this.handledInvites.add(inviteId);
177
+ if (this.handledInvites.size <= 256)
178
+ return;
179
+ const oldest = this.handledInvites.values().next().value;
180
+ if (oldest)
181
+ this.handledInvites.delete(oldest);
182
+ }
183
+ rememberTerminal(inviteId) {
184
+ this.terminalInvites.add(inviteId);
185
+ if (this.terminalInvites.size <= 256)
186
+ return;
187
+ const oldest = this.terminalInvites.values().next().value;
188
+ if (oldest)
189
+ this.terminalInvites.delete(oldest);
190
+ }
191
+ }
192
+ /**
193
+ * Production session adapter. Imports are deliberately lazy: a text-only
194
+ * bridge can start without loading LiveKit's native RTC binding, and unit
195
+ * tests exercise the call state machine without a room or API key.
196
+ */
197
+ export async function createLiveKitVoiceSession(options) {
198
+ const [{ Room, RoomEvent }, agents, openai] = await Promise.all([
199
+ import('@livekit/rtc-node'),
200
+ import('@livekit/agents'),
201
+ import('@livekit/agents-plugin-openai'),
202
+ ]);
203
+ const { llm, voice } = agents;
204
+ // Worker-based LiveKit apps get this from cli.runApp(). The bridge embeds an
205
+ // AgentSession directly, so it must initialize the framework logger itself.
206
+ if (!liveKitLoggerInitialized) {
207
+ agents.initializeLogger({ pretty: false, level: 'warn' });
208
+ liveKitLoggerInitialized = true;
209
+ }
210
+ const room = new Room();
211
+ let closing = false;
212
+ let ended = false;
213
+ const emitEnded = () => {
214
+ if (ended)
215
+ return;
216
+ ended = true;
217
+ options.onEnded();
218
+ };
219
+ await room.connect(options.url, options.token, { autoSubscribe: true, dynacast: true });
220
+ room.on(RoomEvent.Disconnected, emitEnded);
221
+ const model = new openai.realtime.RealtimeModel({
222
+ apiKey: options.apiKey,
223
+ model: options.config.model,
224
+ voice: options.config.voice,
225
+ maxSessionDuration: options.config.maxSessionMinutes * 60_000,
226
+ turnDetection: {
227
+ type: 'semantic_vad',
228
+ eagerness: 'auto',
229
+ create_response: true,
230
+ interrupt_response: true,
231
+ },
232
+ });
233
+ const handoffTool = llm.tool({
234
+ name: 'handoff_to_chat',
235
+ description: 'Queue substantial work in the normal Flow chat agent after the caller explicitly asks you to do it. ' +
236
+ 'Use this for code changes, repository work, research, or anything requiring tools. Ask for missing details first.',
237
+ parameters: {
238
+ type: 'object',
239
+ additionalProperties: false,
240
+ properties: {
241
+ request: {
242
+ type: 'string',
243
+ minLength: 1,
244
+ maxLength: MAX_HANDOFF_LENGTH,
245
+ description: 'A self-contained task request preserving the caller’s constraints and decisions from this call.',
246
+ },
247
+ },
248
+ required: ['request'],
249
+ },
250
+ execute: async (args) => options.handoff(args.request),
251
+ });
252
+ const session = new voice.AgentSession({
253
+ llm: model,
254
+ vad: null,
255
+ userAwayTimeout: null,
256
+ turnHandling: { turnDetection: 'realtime_llm' },
257
+ });
258
+ session.on(voice.AgentSessionEventTypes.Error, (event) => {
259
+ options.log(`realtime voice error: ${errorText(event.error)}`);
260
+ });
261
+ session.on(voice.AgentSessionEventTypes.UserInputTranscribed, (event) => {
262
+ if (event.isFinal && event.transcript.trim())
263
+ options.log('heard final voice turn');
264
+ });
265
+ session.on(voice.AgentSessionEventTypes.Close, emitEnded);
266
+ try {
267
+ await session.start({
268
+ room,
269
+ agent: voice.Agent.create({
270
+ instructions: options.instructions,
271
+ tools: [handoffTool],
272
+ }),
273
+ inputOptions: {
274
+ participantIdentity: options.callerId,
275
+ audioEnabled: true,
276
+ videoEnabled: false,
277
+ textEnabled: false,
278
+ closeOnDisconnect: true,
279
+ deleteRoomOnClose: false,
280
+ },
281
+ outputOptions: {
282
+ audioEnabled: true,
283
+ transcriptionEnabled: false,
284
+ },
285
+ // Flow promises that Huddles are not recorded. Keep LiveKit Agents'
286
+ // optional audio, trace, log, and transcript upload disabled as well.
287
+ record: false,
288
+ });
289
+ session.generateReply({
290
+ instructions: `Greet ${options.callerName} by name in one short, natural sentence. ` +
291
+ `You just answered their Flow Huddle, so sound like you picked up a call rather than starting a demo.`,
292
+ allowInterruptions: true,
293
+ });
294
+ }
295
+ catch (error) {
296
+ await session.close().catch(() => undefined);
297
+ await room.disconnect().catch(() => undefined);
298
+ throw error;
299
+ }
300
+ return {
301
+ close: async () => {
302
+ if (closing)
303
+ return;
304
+ closing = true;
305
+ await session.close().catch((error) => options.log(`agent session close failed: ${errorText(error)}`));
306
+ if (room.isConnected) {
307
+ await room.disconnect().catch((error) => options.log(`LiveKit disconnect failed: ${errorText(error)}`));
308
+ }
309
+ },
310
+ };
311
+ }
312
+ function errorText(error) {
313
+ if (error instanceof Error)
314
+ return error.message;
315
+ return String(error);
316
+ }
317
+ //# sourceMappingURL=huddle-voice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"huddle-voice.js","sourceRoot":"","sources":["../src/huddle-voice.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -82,9 +82,18 @@ async function startDaemon(configPath) {
82
82
  const cfg = loadConfig(configPath);
83
83
  const bridge = new AgentBridge(cfg);
84
84
  await bridge.start();
85
+ let shuttingDown = false;
85
86
  const shutdown = () => {
86
- bridge.stop();
87
- setTimeout(() => process.exit(0), 200);
87
+ if (shuttingDown)
88
+ return;
89
+ shuttingDown = true;
90
+ // A failed network leave must not trap the supervisor during shutdown.
91
+ const forceExit = setTimeout(() => process.exit(0), 2_000);
92
+ forceExit.unref();
93
+ void bridge.stop().finally(() => {
94
+ clearTimeout(forceExit);
95
+ process.exit(0);
96
+ });
88
97
  };
89
98
  process.on('SIGINT', shutdown);
90
99
  process.on('SIGTERM', shutdown);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flow-agent-bridge",
3
- "version": "0.30.0",
3
+ "version": "0.31.0",
4
4
  "type": "module",
5
5
  "description": "Flow agent bridge: joins a Flow workspace as a first-class AI agent and execs a coding-agent CLI (Claude Code, Codex) headlessly per conversation",
6
6
  "license": "MIT",
@@ -35,6 +35,9 @@
35
35
  "pack:tarball": "pnpm pack"
36
36
  },
37
37
  "dependencies": {
38
+ "@livekit/agents": "1.7.1",
39
+ "@livekit/agents-plugin-openai": "1.7.1",
40
+ "@livekit/rtc-node": "0.13.34",
38
41
  "ws": "^8.18.0"
39
42
  },
40
43
  "devDependencies": {