@voxagent/bridge 0.1.0 → 0.2.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/dist/cli.js +79 -16
- package/dist/cli.js.map +1 -1
- package/dist/pair.d.ts +22 -0
- package/dist/pair.d.ts.map +1 -1
- package/dist/pair.js +2 -0
- package/dist/pair.js.map +1 -1
- package/package.json +10 -10
package/dist/cli.js
CHANGED
|
@@ -71,6 +71,51 @@ function loadDotenv() {
|
|
|
71
71
|
}
|
|
72
72
|
return { loaded: null };
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Merges pair-payload BYOK keys into `process.env` so the second
|
|
76
|
+
* `buildBridgeConfig()` pass picks them up. Precedence inside the bridge
|
|
77
|
+
* remains: explicit CLI flag > pair payload > pre-existing env (.env.local
|
|
78
|
+
* or shell export) > built-in defaults. We implement that here by ONLY
|
|
79
|
+
* setting an env var when the user hasn't already set it AND no CLI flag
|
|
80
|
+
* supplies the same value.
|
|
81
|
+
*
|
|
82
|
+
* Keys are kept in-process; never written to disk.
|
|
83
|
+
*/
|
|
84
|
+
function applyPairOverrides(pair, flags) {
|
|
85
|
+
const setIfMissing = (key, value) => {
|
|
86
|
+
if (!value)
|
|
87
|
+
return;
|
|
88
|
+
if (process.env[key])
|
|
89
|
+
return;
|
|
90
|
+
process.env[key] = value;
|
|
91
|
+
};
|
|
92
|
+
if (pair.tts) {
|
|
93
|
+
if (!flags.tts)
|
|
94
|
+
setIfMissing('VOXAGENT_TTS', pair.tts.provider);
|
|
95
|
+
if (pair.tts.provider === 'elevenlabs') {
|
|
96
|
+
setIfMissing('VOXAGENT_ELEVENLABS_API_KEY', pair.tts.apiKey);
|
|
97
|
+
if (!flags.voice)
|
|
98
|
+
setIfMissing('VOXAGENT_VOICE_ID', pair.tts.voiceId);
|
|
99
|
+
if (!flags.model)
|
|
100
|
+
setIfMissing('VOXAGENT_MODEL_ID', pair.tts.modelId);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
setIfMissing('VOXAGENT_OPENAI_API_KEY', pair.tts.apiKey);
|
|
104
|
+
if (!flags.voice)
|
|
105
|
+
setIfMissing('VOXAGENT_VOICE_ID', pair.tts.voice);
|
|
106
|
+
if (!flags.model)
|
|
107
|
+
setIfMissing('VOXAGENT_MODEL_ID', pair.tts.model);
|
|
108
|
+
}
|
|
109
|
+
log.info('bridge_pair_tts_applied', {
|
|
110
|
+
provider: pair.tts.provider,
|
|
111
|
+
voiceFromPayload: Boolean(pair.tts.voiceId ?? pair.tts.voice),
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
if (pair.deepgramApiKey) {
|
|
115
|
+
setIfMissing('DEEPGRAM_API_KEY', pair.deepgramApiKey);
|
|
116
|
+
log.info('bridge_pair_deepgram_applied', {});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
74
119
|
async function main() {
|
|
75
120
|
const dotenv = loadDotenv();
|
|
76
121
|
if (dotenv.loaded) {
|
|
@@ -109,38 +154,56 @@ async function main() {
|
|
|
109
154
|
flags.code = entered;
|
|
110
155
|
}
|
|
111
156
|
}
|
|
112
|
-
|
|
157
|
+
// First-pass resolution. We need apiBaseUrl, pairCode, backend, cwd
|
|
158
|
+
// before we can pair — but TTS-related fields will be resolved AGAIN
|
|
159
|
+
// after the pair payload (potentially) populates process.env, so the
|
|
160
|
+
// user's BYOK keys win without forcing a terminal export.
|
|
161
|
+
const preConfig = buildBridgeConfig(flags);
|
|
113
162
|
log.info('bridge_config_resolved', {
|
|
114
|
-
backend:
|
|
115
|
-
apiBaseUrl:
|
|
116
|
-
cwd:
|
|
117
|
-
llmModel:
|
|
118
|
-
fullAccess:
|
|
119
|
-
textOnly:
|
|
163
|
+
backend: preConfig.backend,
|
|
164
|
+
apiBaseUrl: preConfig.apiBaseUrl,
|
|
165
|
+
cwd: preConfig.cwd,
|
|
166
|
+
llmModel: preConfig.llmModel,
|
|
167
|
+
fullAccess: preConfig.fullAccess,
|
|
168
|
+
textOnly: preConfig.textOnly,
|
|
120
169
|
});
|
|
121
170
|
const permissionBroker = new PermissionBroker({
|
|
122
|
-
workspaceCwd:
|
|
123
|
-
fullAccess:
|
|
171
|
+
workspaceCwd: preConfig.cwd,
|
|
172
|
+
fullAccess: preConfig.fullAccess,
|
|
124
173
|
});
|
|
125
|
-
const driver = createDriver(
|
|
126
|
-
...(
|
|
127
|
-
fullAccess:
|
|
174
|
+
const driver = createDriver(preConfig.backend, {
|
|
175
|
+
...(preConfig.llmModel ? { model: preConfig.llmModel } : {}),
|
|
176
|
+
fullAccess: preConfig.fullAccess,
|
|
128
177
|
permissionResolver: permissionBroker,
|
|
129
178
|
});
|
|
130
|
-
const capabilities = await driver.capabilities(
|
|
179
|
+
const capabilities = await driver.capabilities(preConfig.cwd);
|
|
131
180
|
log.info('bridge_capabilities', {
|
|
132
181
|
backend: capabilities.backend,
|
|
133
182
|
skills: capabilities.skills.length,
|
|
134
183
|
plugins: capabilities.plugins.length,
|
|
135
184
|
mcpServers: capabilities.mcpServers.length,
|
|
136
185
|
});
|
|
137
|
-
log.info('bridge_pairing', { apiBaseUrl:
|
|
186
|
+
log.info('bridge_pairing', { apiBaseUrl: preConfig.apiBaseUrl });
|
|
138
187
|
const pair = await exchangePairCode({
|
|
139
|
-
apiBaseUrl:
|
|
140
|
-
pairCode:
|
|
188
|
+
apiBaseUrl: preConfig.apiBaseUrl,
|
|
189
|
+
pairCode: preConfig.pairCode,
|
|
141
190
|
capabilities,
|
|
142
191
|
});
|
|
143
192
|
log.info('bridge_paired', { roomId: pair.roomId, roomName: pair.roomName, hostName: pair.hostName });
|
|
193
|
+
// Merge pair-supplied BYOK keys into process.env BEFORE the final
|
|
194
|
+
// buildBridgeConfig pass, so that an unset CLI flag falls through to
|
|
195
|
+
// the user's web-settings keys instead of bridge defaults.
|
|
196
|
+
applyPairOverrides(pair, flags);
|
|
197
|
+
const config = buildBridgeConfig(flags);
|
|
198
|
+
if (config !== preConfig) {
|
|
199
|
+
log.info('bridge_config_finalized', {
|
|
200
|
+
ttsProvider: config.ttsProvider,
|
|
201
|
+
ttsVoiceId: config.ttsVoiceId,
|
|
202
|
+
ttsModelId: config.ttsModelId,
|
|
203
|
+
hasElevenLabsKey: Boolean(config.elevenLabsApiKey),
|
|
204
|
+
hasOpenAiKey: Boolean(config.openAiApiKey),
|
|
205
|
+
});
|
|
206
|
+
}
|
|
144
207
|
const runtime = new BridgeRoomRuntime({ config, pair, driver, capabilities, permissionBroker });
|
|
145
208
|
await runtime.start();
|
|
146
209
|
log.info('bridge_ready');
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/pair.d.ts
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
* @file Bridge pair-code exchange with the VoxAgent cloud API.
|
|
3
3
|
*/
|
|
4
4
|
import type { CapabilitiesInfo } from './protocol.js';
|
|
5
|
+
/**
|
|
6
|
+
* Optional TTS payload delivered by the cloud when the host has BYOK creds
|
|
7
|
+
* configured in /settings/integrations. The bridge merges these into
|
|
8
|
+
* `process.env` before `buildBridgeConfig()` runs so the user can pair
|
|
9
|
+
* without exporting anything in their terminal.
|
|
10
|
+
*/
|
|
11
|
+
export interface PairTts {
|
|
12
|
+
provider: 'elevenlabs' | 'openai';
|
|
13
|
+
apiKey: string;
|
|
14
|
+
/** ElevenLabs only. */
|
|
15
|
+
voiceId?: string;
|
|
16
|
+
/** ElevenLabs only. */
|
|
17
|
+
modelId?: string;
|
|
18
|
+
/** OpenAI only. */
|
|
19
|
+
voice?: string;
|
|
20
|
+
/** OpenAI only. */
|
|
21
|
+
model?: string;
|
|
22
|
+
}
|
|
5
23
|
export interface PairResult {
|
|
6
24
|
livekitUrl: string;
|
|
7
25
|
livekitToken: string;
|
|
@@ -10,6 +28,10 @@ export interface PairResult {
|
|
|
10
28
|
roomName: string;
|
|
11
29
|
/** Friendly host name surfaced in the UI when the bridge connects. */
|
|
12
30
|
hostName: string;
|
|
31
|
+
/** Host's BYOK TTS provider, if configured. `null` when unset. */
|
|
32
|
+
tts: PairTts | null;
|
|
33
|
+
/** Host's BYOK Deepgram key, if configured. `null` when unset. */
|
|
34
|
+
deepgramApiKey: string | null;
|
|
13
35
|
}
|
|
14
36
|
export interface PairOptions {
|
|
15
37
|
apiBaseUrl: string;
|
package/dist/pair.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pair.d.ts","sourceRoot":"","sources":["../src/pair.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"pair.d.ts","sourceRoot":"","sources":["../src/pair.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,YAAY,GAAG,QAAQ,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IACpB,kEAAkE;IAClE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,gBAAgB,CAAC;CAChC;AAcD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAsChF"}
|
package/dist/pair.js
CHANGED
|
@@ -36,6 +36,8 @@ export async function exchangePairCode(options) {
|
|
|
36
36
|
roomId: body.roomId,
|
|
37
37
|
roomName: body.roomName,
|
|
38
38
|
hostName: body.hostName ?? 'Host',
|
|
39
|
+
tts: body.tts ?? null,
|
|
40
|
+
deepgramApiKey: body.deepgramApiKey ?? null,
|
|
39
41
|
};
|
|
40
42
|
}
|
|
41
43
|
//# sourceMappingURL=pair.js.map
|
package/dist/pair.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pair.js","sourceRoot":"","sources":["../src/pair.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"pair.js","sourceRoot":"","sources":["../src/pair.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAsDjC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAoB;IACzD,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,UAAU,kBAAkB,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE;QAClC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,IAAI,EAAE,OAAO,CAAC,QAAQ;YACtB,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAqB,CAAC;IAEhF,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,mCAAmC,QAAQ,CAAC,UAAU,GAAG,CAAC;QACxF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,IACE,CAAC,IAAI,CAAC,UAAU;QAChB,CAAC,IAAI,CAAC,YAAY;QAClB,CAAC,IAAI,CAAC,SAAS;QACf,CAAC,IAAI,CAAC,MAAM;QACZ,CAAC,IAAI,CAAC,QAAQ,EACd,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM;QACjC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI;QACrB,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI;KAC5C,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voxagent/bridge",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Local bridge process that pairs the host's Claude Code or Codex agent with a VoxAgent meeting.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -40,14 +40,6 @@
|
|
|
40
40
|
"dist",
|
|
41
41
|
"README.md"
|
|
42
42
|
],
|
|
43
|
-
"scripts": {
|
|
44
|
-
"build": "tsc -p tsconfig.json",
|
|
45
|
-
"dev": "tsx watch src/cli.ts",
|
|
46
|
-
"start": "node dist/cli.js",
|
|
47
|
-
"test": "vitest run",
|
|
48
|
-
"test:watch": "vitest",
|
|
49
|
-
"type-check": "tsc -p tsconfig.json --noEmit"
|
|
50
|
-
},
|
|
51
43
|
"dependencies": {
|
|
52
44
|
"@anthropic-ai/claude-agent-sdk": "^0.1.13",
|
|
53
45
|
"@livekit/rtc-node": "^0.13.24",
|
|
@@ -64,5 +56,13 @@
|
|
|
64
56
|
},
|
|
65
57
|
"engines": {
|
|
66
58
|
"node": ">=20"
|
|
59
|
+
},
|
|
60
|
+
"scripts": {
|
|
61
|
+
"build": "tsc -p tsconfig.json",
|
|
62
|
+
"dev": "tsx watch src/cli.ts",
|
|
63
|
+
"start": "node dist/cli.js",
|
|
64
|
+
"test": "vitest run",
|
|
65
|
+
"test:watch": "vitest",
|
|
66
|
+
"type-check": "tsc -p tsconfig.json --noEmit"
|
|
67
67
|
}
|
|
68
|
-
}
|
|
68
|
+
}
|