funolio-agent 1.0.7 → 1.0.47
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/approval.d.ts +1 -0
- package/dist/approval.d.ts.map +1 -1
- package/dist/approval.js +12 -0
- package/dist/approval.js.map +1 -1
- package/dist/auth/auto-detect.d.ts +11 -3
- package/dist/auth/auto-detect.d.ts.map +1 -1
- package/dist/auth/auto-detect.js +136 -168
- package/dist/auth/auto-detect.js.map +1 -1
- package/dist/auth/subscription-runtime.js +1 -1
- package/dist/auth/subscription-runtime.js.map +1 -1
- package/dist/backfill.d.ts.map +1 -1
- package/dist/backfill.js +31 -28
- package/dist/backfill.js.map +1 -1
- package/dist/bot-manager.d.ts +16 -4
- package/dist/bot-manager.d.ts.map +1 -1
- package/dist/bot-manager.js +280 -73
- package/dist/bot-manager.js.map +1 -1
- package/dist/clerk-model.d.ts +10 -6
- package/dist/clerk-model.d.ts.map +1 -1
- package/dist/clerk-model.js +39 -16
- package/dist/clerk-model.js.map +1 -1
- package/dist/cli.js +7 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/import-history.js +5 -1
- package/dist/commands/import-history.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +57 -225
- package/dist/commands/start.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +13 -2
- package/dist/config.js.map +1 -1
- package/dist/context-window.js +1 -1
- package/dist/context-window.js.map +1 -1
- package/dist/import-parser-core.d.ts.map +1 -1
- package/dist/import-parser-core.js +74 -8
- package/dist/import-parser-core.js.map +1 -1
- package/dist/local-data.d.ts +59 -6
- package/dist/local-data.d.ts.map +1 -1
- package/dist/local-data.js +544 -62
- package/dist/local-data.js.map +1 -1
- package/dist/local-db.d.ts.map +1 -1
- package/dist/local-db.js +21 -1
- package/dist/local-db.js.map +1 -1
- package/dist/local-funnel.d.ts +0 -7
- package/dist/local-funnel.d.ts.map +1 -1
- package/dist/local-funnel.js +19 -28
- package/dist/local-funnel.js.map +1 -1
- package/dist/local-import-worker.d.ts.map +1 -1
- package/dist/local-import-worker.js +49 -4
- package/dist/local-import-worker.js.map +1 -1
- package/dist/local-memory-search.d.ts.map +1 -1
- package/dist/local-memory-search.js +6 -3
- package/dist/local-memory-search.js.map +1 -1
- package/dist/local-server.d.ts +37 -0
- package/dist/local-server.d.ts.map +1 -1
- package/dist/local-server.js +731 -227
- package/dist/local-server.js.map +1 -1
- package/dist/mcp/local-memory-server.d.ts +1 -1
- package/dist/mcp/local-memory-server.d.ts.map +1 -1
- package/dist/mcp/local-memory-server.js +23 -11
- package/dist/mcp/local-memory-server.js.map +1 -1
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +86 -18
- package/dist/mcp/manager.js.map +1 -1
- package/dist/message-loop.d.ts +5 -10
- package/dist/message-loop.d.ts.map +1 -1
- package/dist/message-loop.js +393 -289
- package/dist/message-loop.js.map +1 -1
- package/dist/mqtt-client.d.ts +4 -1
- package/dist/mqtt-client.d.ts.map +1 -1
- package/dist/mqtt-client.js.map +1 -1
- package/dist/orchestration/orchestrator-blocked-prompt.d.ts +2 -1
- package/dist/orchestration/orchestrator-blocked-prompt.d.ts.map +1 -1
- package/dist/orchestration/orchestrator-blocked-prompt.js +11 -0
- package/dist/orchestration/orchestrator-blocked-prompt.js.map +1 -1
- package/dist/orchestration/orchestrator-final-response-prompt.d.ts +4 -1
- package/dist/orchestration/orchestrator-final-response-prompt.d.ts.map +1 -1
- package/dist/orchestration/orchestrator-final-response-prompt.js +8 -6
- package/dist/orchestration/orchestrator-final-response-prompt.js.map +1 -1
- package/dist/orchestration/worker-operating-prompt.d.ts +2 -0
- package/dist/orchestration/worker-operating-prompt.d.ts.map +1 -1
- package/dist/orchestration/worker-operating-prompt.js +39 -0
- package/dist/orchestration/worker-operating-prompt.js.map +1 -1
- package/dist/orchestrator.d.ts +13 -0
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +235 -133
- package/dist/orchestrator.js.map +1 -1
- package/dist/providers/anthropic.d.ts +0 -5
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +29 -75
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/claude-cli.d.ts.map +1 -1
- package/dist/providers/claude-cli.js +16 -140
- package/dist/providers/claude-cli.js.map +1 -1
- package/dist/providers/codex-cli.d.ts.map +1 -1
- package/dist/providers/codex-cli.js +78 -59
- package/dist/providers/codex-cli.js.map +1 -1
- package/dist/providers/google.d.ts.map +1 -1
- package/dist/providers/google.js +4 -2
- package/dist/providers/google.js.map +1 -1
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +27 -2
- package/dist/providers/openai.js.map +1 -1
- package/dist/storage-mode.d.ts +5 -0
- package/dist/storage-mode.d.ts.map +1 -0
- package/dist/storage-mode.js +21 -0
- package/dist/storage-mode.js.map +1 -0
- package/dist/summarization-pipeline.d.ts +9 -0
- package/dist/summarization-pipeline.d.ts.map +1 -1
- package/dist/summarization-pipeline.js +61 -17
- package/dist/summarization-pipeline.js.map +1 -1
- package/dist/tools/analyze-image.js +2 -2
- package/dist/tools/analyze-image.js.map +1 -1
- package/dist/tools/edit-file.js +3 -3
- package/dist/tools/edit-file.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +36 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/list-directory.js +7 -4
- package/dist/tools/list-directory.js.map +1 -1
- package/dist/tools/read-file.js +3 -3
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/run-command.js +3 -3
- package/dist/tools/run-command.js.map +1 -1
- package/dist/tools/sandbox.d.ts +10 -5
- package/dist/tools/sandbox.d.ts.map +1 -1
- package/dist/tools/sandbox.js +41 -13
- package/dist/tools/sandbox.js.map +1 -1
- package/dist/tools/search-codebase.js +2 -2
- package/dist/tools/search-codebase.js.map +1 -1
- package/dist/tools/search-local-memory.d.ts.map +1 -1
- package/dist/tools/search-local-memory.js +19 -8
- package/dist/tools/search-local-memory.js.map +1 -1
- package/dist/tools/spawn-subagent.js.map +1 -1
- package/dist/tools/write-file.js +3 -3
- package/dist/tools/write-file.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/verification/index.js +2 -2
- package/dist/verification/index.js.map +1 -1
- package/dist/wizard-state.d.ts.map +1 -1
- package/dist/wizard-state.js +16 -2
- package/dist/wizard-state.js.map +1 -1
- package/dist/wizard-support.d.ts +2 -2
- package/dist/wizard-support.d.ts.map +1 -1
- package/dist/wizard-support.js +80 -93
- package/dist/wizard-support.js.map +1 -1
- package/dist/workflow-engine.d.ts +3 -1
- package/dist/workflow-engine.d.ts.map +1 -1
- package/dist/workflow-engine.js +131 -12
- package/dist/workflow-engine.js.map +1 -1
- package/package.json +1 -1
package/dist/bot-manager.js
CHANGED
|
@@ -50,6 +50,10 @@ const DEDUP_MAX_SIZE = 200;
|
|
|
50
50
|
* Manages agent MessageLoops, keyed by agent ID.
|
|
51
51
|
* The active agent runs as "__default__" loop.
|
|
52
52
|
* Runtime source of truth: config.agents[] + config.activeAgentId.
|
|
53
|
+
*
|
|
54
|
+
* Auth modes supported:
|
|
55
|
+
* 1. CLI providers (claude-cli, codex-cli) — handle their own auth
|
|
56
|
+
* 2. API key (BYOK) — standard x-api-key authentication
|
|
53
57
|
*/
|
|
54
58
|
class BotManager {
|
|
55
59
|
loops = new Map();
|
|
@@ -60,13 +64,17 @@ class BotManager {
|
|
|
60
64
|
constructor(options) {
|
|
61
65
|
this.options = options;
|
|
62
66
|
}
|
|
63
|
-
/** Start the active agent loop
|
|
67
|
+
/** Start the active agent loop */
|
|
64
68
|
async startActive() {
|
|
65
69
|
let provider = this.options.defaultProvider;
|
|
66
70
|
let model = this.options.defaultModel;
|
|
67
71
|
let apiKey = this.options.defaultApiKey;
|
|
68
72
|
let oauthToken = this.options.defaultOauthToken;
|
|
69
|
-
|
|
73
|
+
let authMode;
|
|
74
|
+
let baseUrl;
|
|
75
|
+
let apiStyle;
|
|
76
|
+
let resolvedAuth;
|
|
77
|
+
// Resolve auth — handles API key detection plus OAuth/subscription runtimes
|
|
70
78
|
try {
|
|
71
79
|
const auth = await (0, auto_detect_1.resolveAuth)({
|
|
72
80
|
provider,
|
|
@@ -78,26 +86,36 @@ class BotManager {
|
|
|
78
86
|
});
|
|
79
87
|
if (auth) {
|
|
80
88
|
this.resolvedAuth = auth;
|
|
89
|
+
resolvedAuth = auth;
|
|
81
90
|
provider = auth.provider;
|
|
82
91
|
model = auth.model;
|
|
83
|
-
|
|
84
|
-
|
|
92
|
+
apiKey = auth.source === 'api-key' || auth.source === 'env' ? auth.apiKey : undefined;
|
|
93
|
+
oauthToken = auth.source === 'oauth' ? auth.apiKey : oauthToken;
|
|
94
|
+
authMode = auth.authMode;
|
|
95
|
+
baseUrl = auth.baseUrl;
|
|
96
|
+
apiStyle = auth.apiStyle;
|
|
85
97
|
console.log(chalk_1.default.green(`✓ Auth resolved: provider=${auth.provider}, source=${auth.source}`));
|
|
86
98
|
}
|
|
87
|
-
else if (!apiKey
|
|
88
|
-
console.log(chalk_1.default.yellow('⚠ No API key
|
|
99
|
+
else if (!apiKey) {
|
|
100
|
+
console.log(chalk_1.default.yellow('⚠ No API key found — LLM calls may fail'));
|
|
89
101
|
}
|
|
90
102
|
}
|
|
91
103
|
catch (err) {
|
|
92
104
|
console.error(chalk_1.default.red(`✗ Auth resolution failed: ${err}`));
|
|
93
105
|
}
|
|
106
|
+
const effectiveKey = apiKey || oauthToken || '';
|
|
107
|
+
const isOAuthBearer = effectiveKey.startsWith('sk-ant-oat');
|
|
94
108
|
this.startLoop({
|
|
95
109
|
id: '__default__',
|
|
96
110
|
name: 'active',
|
|
97
111
|
provider,
|
|
98
112
|
model,
|
|
99
|
-
apiKey,
|
|
100
|
-
oauthToken,
|
|
113
|
+
apiKey: effectiveKey || undefined,
|
|
114
|
+
oauthToken: authMode === 'oauth-bearer' || provider === 'openai' ? effectiveKey : undefined,
|
|
115
|
+
authMode: authMode || (isOAuthBearer ? 'oauth-bearer' : undefined),
|
|
116
|
+
baseUrl,
|
|
117
|
+
apiStyle,
|
|
118
|
+
resolvedAuth,
|
|
101
119
|
});
|
|
102
120
|
}
|
|
103
121
|
/**
|
|
@@ -127,8 +145,6 @@ class BotManager {
|
|
|
127
145
|
if (agentCfg.botId) {
|
|
128
146
|
this.botIdToLoopId.set(agentCfg.botId, '__default__');
|
|
129
147
|
// Ensure agent_profile exists in local DB so the clerk prompt builder works.
|
|
130
|
-
// Without this, the clerk path is skipped and buildFallbackSystemPrompt() is
|
|
131
|
-
// used instead, which loses marketplace/platform awareness instructions.
|
|
132
148
|
const profileFields = {
|
|
133
149
|
provider: agentCfg.provider,
|
|
134
150
|
model: agentCfg.model,
|
|
@@ -159,18 +175,30 @@ class BotManager {
|
|
|
159
175
|
// Resolve auth for this bot
|
|
160
176
|
let apiKey = agentCfg.apiKey;
|
|
161
177
|
let oauthToken = agentCfg.oauthToken;
|
|
178
|
+
let provider = agentCfg.provider;
|
|
179
|
+
let model = agentCfg.model;
|
|
180
|
+
let authMode;
|
|
181
|
+
let baseUrl;
|
|
182
|
+
let apiStyle;
|
|
183
|
+
let resolvedAuth;
|
|
162
184
|
try {
|
|
163
185
|
const auth = await (0, auto_detect_1.resolveAuth)({
|
|
164
|
-
provider
|
|
165
|
-
model
|
|
186
|
+
provider,
|
|
187
|
+
model,
|
|
166
188
|
apiKey,
|
|
167
189
|
oauthToken,
|
|
168
190
|
oauthRefreshToken: agentCfg.oauthRefreshToken,
|
|
169
191
|
oauthExpiresAt: agentCfg.oauthExpiresAt,
|
|
170
192
|
});
|
|
171
193
|
if (auth) {
|
|
172
|
-
|
|
173
|
-
|
|
194
|
+
resolvedAuth = auth;
|
|
195
|
+
provider = auth.provider;
|
|
196
|
+
model = auth.model;
|
|
197
|
+
apiKey = auth.source === 'api-key' || auth.source === 'env' ? auth.apiKey : undefined;
|
|
198
|
+
oauthToken = auth.source === 'oauth' ? auth.apiKey : oauthToken;
|
|
199
|
+
authMode = auth.authMode;
|
|
200
|
+
baseUrl = auth.baseUrl;
|
|
201
|
+
apiStyle = auth.apiStyle;
|
|
174
202
|
}
|
|
175
203
|
}
|
|
176
204
|
catch (err) {
|
|
@@ -178,17 +206,21 @@ class BotManager {
|
|
|
178
206
|
continue;
|
|
179
207
|
}
|
|
180
208
|
if (!apiKey && !oauthToken) {
|
|
181
|
-
console.warn(chalk_1.default.yellow(`⚠ No credentials for bot "${name}" (${
|
|
209
|
+
console.warn(chalk_1.default.yellow(`⚠ No credentials for bot "${name}" (${provider}) — skipping`));
|
|
182
210
|
continue;
|
|
183
211
|
}
|
|
184
212
|
this.startLoop({
|
|
185
213
|
id: loopId,
|
|
186
214
|
name: agentCfg.name || name,
|
|
187
|
-
provider
|
|
188
|
-
model
|
|
189
|
-
apiKey,
|
|
215
|
+
provider,
|
|
216
|
+
model,
|
|
217
|
+
apiKey: apiKey || oauthToken,
|
|
190
218
|
oauthToken,
|
|
191
219
|
enabledTools: agentCfg.enabledTools,
|
|
220
|
+
authMode,
|
|
221
|
+
baseUrl,
|
|
222
|
+
apiStyle,
|
|
223
|
+
resolvedAuth,
|
|
192
224
|
});
|
|
193
225
|
// Register botId → loopId mapping
|
|
194
226
|
if (agentCfg.botId) {
|
|
@@ -210,6 +242,7 @@ class BotManager {
|
|
|
210
242
|
// Try direct lookup by botId
|
|
211
243
|
if (this.loops.has(botId))
|
|
212
244
|
return this.loops.get(botId);
|
|
245
|
+
return undefined;
|
|
213
246
|
}
|
|
214
247
|
return this.getDefaultLoop();
|
|
215
248
|
}
|
|
@@ -307,15 +340,15 @@ class BotManager {
|
|
|
307
340
|
startLoop(agent) {
|
|
308
341
|
if (this.loops.has(agent.id))
|
|
309
342
|
return;
|
|
343
|
+
const isOAuthBearer = !!agent.oauthToken && agent.oauthToken.startsWith('sk-ant-oat');
|
|
310
344
|
const loop = new message_loop_1.MessageLoop({
|
|
311
345
|
provider: agent.provider,
|
|
312
346
|
model: agent.model,
|
|
313
347
|
apiKey: agent.apiKey || '',
|
|
314
348
|
oauthToken: agent.oauthToken,
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
} : undefined,
|
|
349
|
+
...(agent.authMode ? { authMode: agent.authMode } : {}),
|
|
350
|
+
...(agent.baseUrl ? { baseUrl: agent.baseUrl } : {}),
|
|
351
|
+
...(agent.apiStyle ? { apiStyle: agent.apiStyle } : {}),
|
|
319
352
|
projectDir: this.options.projectDir,
|
|
320
353
|
userId: this.options.userId,
|
|
321
354
|
mqttClient: this.options.mqttClient,
|
|
@@ -324,6 +357,8 @@ class BotManager {
|
|
|
324
357
|
systemPrompt: this.options.systemPrompt,
|
|
325
358
|
mcpManager: this.options.mcpManager,
|
|
326
359
|
agentName: agent.name,
|
|
360
|
+
resolvedAuth: agent.resolvedAuth || undefined,
|
|
361
|
+
...(!agent.authMode && isOAuthBearer ? { authMode: 'oauth-bearer' } : {}),
|
|
327
362
|
});
|
|
328
363
|
this.loops.set(agent.id, loop);
|
|
329
364
|
}
|
|
@@ -336,16 +371,12 @@ class BotManager {
|
|
|
336
371
|
getDefaultLoop() {
|
|
337
372
|
return this.loops.get('__default__');
|
|
338
373
|
}
|
|
339
|
-
|
|
340
|
-
* Re-fetch full config from server, returning the bot and its resolved credential.
|
|
341
|
-
* This is the single source of truth for bot credentials — no secrets over MQTT.
|
|
342
|
-
*/
|
|
343
|
-
async fetchBotFromServer(botId) {
|
|
374
|
+
async fetchServerConfig() {
|
|
344
375
|
const { loadConfig, FUNOLIO_API_URL } = require('./config');
|
|
345
376
|
const cfg = loadConfig();
|
|
346
377
|
const authToken = cfg.auth?.token;
|
|
347
378
|
if (!authToken) {
|
|
348
|
-
console.warn(chalk_1.default.yellow(' [bot-manager] No auth token — cannot fetch
|
|
379
|
+
console.warn(chalk_1.default.yellow(' [bot-manager] No auth token — cannot fetch config from server'));
|
|
349
380
|
return null;
|
|
350
381
|
}
|
|
351
382
|
try {
|
|
@@ -354,41 +385,179 @@ class BotManager {
|
|
|
354
385
|
});
|
|
355
386
|
if (!res.ok)
|
|
356
387
|
return null;
|
|
357
|
-
|
|
358
|
-
const bot = (body.bots || []).find((b) => b.id === botId);
|
|
359
|
-
if (!bot?.llmProvider)
|
|
360
|
-
return null;
|
|
361
|
-
// Find the credential for this bot
|
|
362
|
-
const providers = body.providers || [];
|
|
363
|
-
let credential = bot.llmKeyId
|
|
364
|
-
? providers.find((p) => p.label?.startsWith('bot:') && p.id === bot.llmProvider) || providers.find((p) => p.id === bot.llmProvider)
|
|
365
|
-
: providers.find((p) => p.id === bot.llmProvider);
|
|
366
|
-
if (!credential)
|
|
367
|
-
return null;
|
|
368
|
-
if (credential.connectionType === 'oauth') {
|
|
369
|
-
return {
|
|
370
|
-
provider: bot.llmProvider,
|
|
371
|
-
model: bot.llmModel || '',
|
|
372
|
-
oauthToken: credential.access_token,
|
|
373
|
-
oauthRefreshToken: credential.refresh_token,
|
|
374
|
-
oauthExpiresAt: credential.expires_at,
|
|
375
|
-
authType: 'oauth',
|
|
376
|
-
};
|
|
377
|
-
}
|
|
378
|
-
else {
|
|
379
|
-
return {
|
|
380
|
-
provider: bot.llmProvider,
|
|
381
|
-
model: bot.llmModel || '',
|
|
382
|
-
apiKey: credential.apiKey,
|
|
383
|
-
authType: 'apiKey',
|
|
384
|
-
};
|
|
385
|
-
}
|
|
388
|
+
return await res.json();
|
|
386
389
|
}
|
|
387
390
|
catch (err) {
|
|
388
391
|
console.warn(chalk_1.default.yellow(` [bot-manager] Server config fetch failed: ${err?.message}`));
|
|
389
392
|
return null;
|
|
390
393
|
}
|
|
391
394
|
}
|
|
395
|
+
/**
|
|
396
|
+
* Re-fetch full config from server, returning the bot and its resolved credential.
|
|
397
|
+
* This is the single source of truth for bot credentials — no secrets over MQTT.
|
|
398
|
+
* Handles both API key and OAuth credential types.
|
|
399
|
+
*/
|
|
400
|
+
async fetchBotFromServer(botId) {
|
|
401
|
+
const body = await this.fetchServerConfig();
|
|
402
|
+
if (!body)
|
|
403
|
+
return null;
|
|
404
|
+
return this.resolveBotFromConfig(botId, body);
|
|
405
|
+
}
|
|
406
|
+
/** Extract a single bot's credentials from a server config response */
|
|
407
|
+
resolveBotFromConfig(botId, body) {
|
|
408
|
+
const bot = (body.bots || []).find((b) => b.id === botId);
|
|
409
|
+
if (!bot?.llmProvider)
|
|
410
|
+
return null;
|
|
411
|
+
// Find the credential for this bot — match by provider id AND credential type
|
|
412
|
+
// Multiple providers can share the same id (e.g., two "openai" entries: one oauth, one apiKey)
|
|
413
|
+
const providers = body.providers || [];
|
|
414
|
+
const botRole = bot.role || bot.credentialSource; // "oauth", "apikey", "subscription"
|
|
415
|
+
let credential;
|
|
416
|
+
if (botRole === 'oauth') {
|
|
417
|
+
// OAuth bots → match provider with connectionType "oauth"
|
|
418
|
+
credential = providers.find((p) => p.id === bot.llmProvider && p.connectionType === 'oauth');
|
|
419
|
+
}
|
|
420
|
+
else if (botRole === 'apikey') {
|
|
421
|
+
// API key bots → prefer bot-specific key (label starts with "bot:"), then any apiKey type
|
|
422
|
+
credential = providers.find((p) => p.label?.startsWith('bot:') && p.id === bot.llmProvider && p.connectionType === 'apiKey')
|
|
423
|
+
|| providers.find((p) => p.id === bot.llmProvider && p.connectionType === 'apiKey');
|
|
424
|
+
}
|
|
425
|
+
else if (botRole === 'subscription') {
|
|
426
|
+
// Subscription bots → match provider with connectionType "subscription"
|
|
427
|
+
credential = providers.find((p) => p.id === bot.llmProvider && p.connectionType === 'subscription');
|
|
428
|
+
}
|
|
429
|
+
// Fallback: any provider matching the bot's provider id
|
|
430
|
+
if (!credential) {
|
|
431
|
+
credential = providers.find((p) => p.id === bot.llmProvider);
|
|
432
|
+
}
|
|
433
|
+
if (!credential)
|
|
434
|
+
return null;
|
|
435
|
+
// Handle OAuth credentials (access_token/refresh_token) vs plain API keys
|
|
436
|
+
if (credential.connectionType === 'oauth' || credential.access_token) {
|
|
437
|
+
return {
|
|
438
|
+
provider: bot.llmProvider,
|
|
439
|
+
model: bot.llmModel || '',
|
|
440
|
+
name: bot.name,
|
|
441
|
+
oauthToken: credential.access_token,
|
|
442
|
+
oauthRefreshToken: credential.refresh_token,
|
|
443
|
+
};
|
|
444
|
+
}
|
|
445
|
+
return {
|
|
446
|
+
provider: bot.llmProvider,
|
|
447
|
+
model: bot.llmModel || '',
|
|
448
|
+
name: bot.name,
|
|
449
|
+
apiKey: credential.apiKey,
|
|
450
|
+
};
|
|
451
|
+
}
|
|
452
|
+
/**
|
|
453
|
+
* Fix B: Sync all cloud-configured bots at startup.
|
|
454
|
+
* Calls /api/v1/agent/config and starts loops for bots that aren't already running locally.
|
|
455
|
+
* This ensures bots created on the web UI are available without manual local config.
|
|
456
|
+
*/
|
|
457
|
+
async syncBotsFromCloud() {
|
|
458
|
+
console.log(chalk_1.default.gray(' Syncing bot configs from cloud...'));
|
|
459
|
+
const body = await this.fetchServerConfig();
|
|
460
|
+
if (!body) {
|
|
461
|
+
console.log(chalk_1.default.gray(' Cloud sync skipped — no server config available'));
|
|
462
|
+
return;
|
|
463
|
+
}
|
|
464
|
+
const bots = body.bots || [];
|
|
465
|
+
let synced = 0;
|
|
466
|
+
for (const bot of bots) {
|
|
467
|
+
if (!bot.id || !bot.llmProvider)
|
|
468
|
+
continue;
|
|
469
|
+
// Skip if this bot already has a loop running (loaded from local config)
|
|
470
|
+
if (this.botIdToLoopId.has(bot.id) || this.loops.has(bot.id)) {
|
|
471
|
+
continue;
|
|
472
|
+
}
|
|
473
|
+
// Resolve credentials from the server config
|
|
474
|
+
const resolved = this.resolveBotFromConfig(bot.id, body);
|
|
475
|
+
if (!resolved) {
|
|
476
|
+
console.warn(chalk_1.default.yellow(` ⚠ Cloud bot "${bot.name}" (${bot.llmProvider}) — no credentials found, skipping`));
|
|
477
|
+
continue;
|
|
478
|
+
}
|
|
479
|
+
// Resolve auth (handles OAuth token detection, refresh, baseUrl/apiStyle for OpenAI sub)
|
|
480
|
+
let provider = resolved.provider;
|
|
481
|
+
let model = resolved.model;
|
|
482
|
+
let apiKey = resolved.apiKey;
|
|
483
|
+
let oauthToken = resolved.oauthToken;
|
|
484
|
+
let authMode;
|
|
485
|
+
let baseUrl;
|
|
486
|
+
let apiStyle;
|
|
487
|
+
let resolvedAuth;
|
|
488
|
+
try {
|
|
489
|
+
const auth = await (0, auto_detect_1.resolveAuth)({
|
|
490
|
+
provider,
|
|
491
|
+
model,
|
|
492
|
+
apiKey,
|
|
493
|
+
oauthToken,
|
|
494
|
+
oauthRefreshToken: resolved.oauthRefreshToken,
|
|
495
|
+
});
|
|
496
|
+
if (auth) {
|
|
497
|
+
resolvedAuth = auth;
|
|
498
|
+
provider = auth.provider;
|
|
499
|
+
model = auth.model;
|
|
500
|
+
apiKey = auth.source === 'api-key' || auth.source === 'env' ? auth.apiKey : undefined;
|
|
501
|
+
oauthToken = auth.source === 'oauth' ? auth.apiKey : oauthToken;
|
|
502
|
+
authMode = auth.authMode;
|
|
503
|
+
baseUrl = auth.baseUrl;
|
|
504
|
+
apiStyle = auth.apiStyle;
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
catch (err) {
|
|
508
|
+
console.warn(chalk_1.default.yellow(` ⚠ Auth resolution failed for cloud bot "${bot.name}": ${err} — skipping`));
|
|
509
|
+
continue;
|
|
510
|
+
}
|
|
511
|
+
if (!apiKey && !oauthToken) {
|
|
512
|
+
console.warn(chalk_1.default.yellow(` ⚠ No usable credentials for cloud bot "${bot.name}" (${provider}) — skipping`));
|
|
513
|
+
continue;
|
|
514
|
+
}
|
|
515
|
+
const effectiveKey = apiKey || oauthToken || '';
|
|
516
|
+
// Start the loop
|
|
517
|
+
this.startLoop({
|
|
518
|
+
id: bot.id,
|
|
519
|
+
name: bot.name,
|
|
520
|
+
provider,
|
|
521
|
+
model,
|
|
522
|
+
apiKey: effectiveKey,
|
|
523
|
+
oauthToken,
|
|
524
|
+
authMode,
|
|
525
|
+
baseUrl,
|
|
526
|
+
apiStyle,
|
|
527
|
+
resolvedAuth,
|
|
528
|
+
});
|
|
529
|
+
this.botIdToLoopId.set(bot.id, bot.id);
|
|
530
|
+
// Persist agent profile locally for prompt building
|
|
531
|
+
const profileFields = {
|
|
532
|
+
provider,
|
|
533
|
+
model,
|
|
534
|
+
name: bot.name,
|
|
535
|
+
permissionMode: default_tool_profile_1.DEFAULT_PERMISSION_MODE,
|
|
536
|
+
enabledBuiltinToolsJson: JSON.stringify([]),
|
|
537
|
+
enabledMcpToolsJson: JSON.stringify([]),
|
|
538
|
+
isActive: true,
|
|
539
|
+
};
|
|
540
|
+
const existing = data.getAgentProfile(bot.id);
|
|
541
|
+
if (existing) {
|
|
542
|
+
data.updateAgentProfile(bot.id, profileFields);
|
|
543
|
+
}
|
|
544
|
+
else {
|
|
545
|
+
data.createAgentProfile({
|
|
546
|
+
...profileFields,
|
|
547
|
+
providerConnectionId: data.findProviderConnection(provider)?.id,
|
|
548
|
+
isDefault: false,
|
|
549
|
+
});
|
|
550
|
+
}
|
|
551
|
+
synced++;
|
|
552
|
+
console.log(chalk_1.default.green(` ✓ Cloud bot "${bot.name}" synced (${provider}/${model})`));
|
|
553
|
+
}
|
|
554
|
+
if (synced > 0) {
|
|
555
|
+
console.log(chalk_1.default.blue(` ${synced} bot(s) synced from cloud`));
|
|
556
|
+
}
|
|
557
|
+
else {
|
|
558
|
+
console.log(chalk_1.default.gray(' No additional cloud bots to sync'));
|
|
559
|
+
}
|
|
560
|
+
}
|
|
392
561
|
/** Add a new agent — re-fetches config from server to get credentials */
|
|
393
562
|
async handleAgentAdd(command) {
|
|
394
563
|
if (!command.bot) {
|
|
@@ -396,8 +565,8 @@ class BotManager {
|
|
|
396
565
|
return;
|
|
397
566
|
}
|
|
398
567
|
const agent = command.bot;
|
|
399
|
-
|
|
400
|
-
|
|
568
|
+
let provider = agent.provider;
|
|
569
|
+
let model = agent.model;
|
|
401
570
|
// Fail closed: if provider is missing, do not fall through to default
|
|
402
571
|
if (!provider) {
|
|
403
572
|
console.error(chalk_1.default.red(`✗ Agent "${agent.name}" has no provider binding — cannot start. Fix in Mission Control.`));
|
|
@@ -407,9 +576,11 @@ class BotManager {
|
|
|
407
576
|
const serverCreds = await this.fetchBotFromServer(agent.id);
|
|
408
577
|
let apiKey;
|
|
409
578
|
let oauthToken;
|
|
579
|
+
let oauthRefreshToken;
|
|
410
580
|
if (serverCreds) {
|
|
411
581
|
apiKey = serverCreds.apiKey;
|
|
412
582
|
oauthToken = serverCreds.oauthToken;
|
|
583
|
+
oauthRefreshToken = serverCreds.oauthRefreshToken;
|
|
413
584
|
}
|
|
414
585
|
else {
|
|
415
586
|
// Fallback: try local provider config
|
|
@@ -417,13 +588,34 @@ class BotManager {
|
|
|
417
588
|
const localProvider = getProvider(loadConfig(), provider);
|
|
418
589
|
if (localProvider) {
|
|
419
590
|
apiKey = localProvider.apiKey;
|
|
420
|
-
oauthToken = localProvider.oauthToken;
|
|
421
591
|
}
|
|
422
592
|
}
|
|
423
593
|
if (!apiKey && !oauthToken) {
|
|
424
594
|
console.error(chalk_1.default.red(`✗ Agent "${agent.name}" (${provider}/${model}) has no credential binding — cannot start.`));
|
|
425
595
|
return;
|
|
426
596
|
}
|
|
597
|
+
// Resolve auth (handles OAuth → baseUrl/apiStyle for OpenAI subscription, token refresh, etc.)
|
|
598
|
+
let authMode;
|
|
599
|
+
let baseUrl;
|
|
600
|
+
let apiStyle;
|
|
601
|
+
let resolvedAuth;
|
|
602
|
+
try {
|
|
603
|
+
const auth = await (0, auto_detect_1.resolveAuth)({ provider, model, apiKey, oauthToken, oauthRefreshToken });
|
|
604
|
+
if (auth) {
|
|
605
|
+
resolvedAuth = auth;
|
|
606
|
+
provider = auth.provider;
|
|
607
|
+
model = auth.model;
|
|
608
|
+
apiKey = auth.source === 'api-key' || auth.source === 'env' ? auth.apiKey : undefined;
|
|
609
|
+
oauthToken = auth.source === 'oauth' ? auth.apiKey : oauthToken;
|
|
610
|
+
authMode = auth.authMode;
|
|
611
|
+
baseUrl = auth.baseUrl;
|
|
612
|
+
apiStyle = auth.apiStyle;
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
catch (err) {
|
|
616
|
+
console.warn(chalk_1.default.yellow(` ⚠ Auth resolution failed for "${agent.name}": ${err}`));
|
|
617
|
+
}
|
|
618
|
+
const effectiveKey = apiKey || oauthToken || '';
|
|
427
619
|
const existing = data.getAgentProfile(agent.id);
|
|
428
620
|
const fields = {
|
|
429
621
|
provider,
|
|
@@ -446,7 +638,7 @@ class BotManager {
|
|
|
446
638
|
isDefault: false,
|
|
447
639
|
});
|
|
448
640
|
}
|
|
449
|
-
this.startLoop({ ...agent, provider, model, apiKey, oauthToken });
|
|
641
|
+
this.startLoop({ ...agent, provider, model, apiKey: effectiveKey, oauthToken, authMode, baseUrl, apiStyle, resolvedAuth });
|
|
450
642
|
if (agent.id) {
|
|
451
643
|
this.botIdToLoopId.set(agent.id, agent.id);
|
|
452
644
|
}
|
|
@@ -476,8 +668,8 @@ class BotManager {
|
|
|
476
668
|
return;
|
|
477
669
|
}
|
|
478
670
|
const agent = command.bot;
|
|
479
|
-
|
|
480
|
-
|
|
671
|
+
let provider = agent.provider;
|
|
672
|
+
let model = agent.model;
|
|
481
673
|
this.stopLoop(agent.id);
|
|
482
674
|
// Fail closed: if provider is missing, do not fall through to default
|
|
483
675
|
if (!provider) {
|
|
@@ -488,22 +680,45 @@ class BotManager {
|
|
|
488
680
|
const serverCreds = await this.fetchBotFromServer(agent.id);
|
|
489
681
|
let apiKey;
|
|
490
682
|
let oauthToken;
|
|
683
|
+
let oauthRefreshToken;
|
|
491
684
|
if (serverCreds) {
|
|
492
685
|
apiKey = serverCreds.apiKey;
|
|
493
686
|
oauthToken = serverCreds.oauthToken;
|
|
687
|
+
oauthRefreshToken = serverCreds.oauthRefreshToken;
|
|
494
688
|
}
|
|
495
689
|
else {
|
|
496
690
|
const { loadConfig, getProvider } = require('./config');
|
|
497
691
|
const localProvider = getProvider(loadConfig(), provider);
|
|
498
692
|
if (localProvider) {
|
|
499
693
|
apiKey = localProvider.apiKey;
|
|
500
|
-
oauthToken = localProvider.oauthToken;
|
|
501
694
|
}
|
|
502
695
|
}
|
|
503
696
|
if (!apiKey && !oauthToken) {
|
|
504
697
|
console.error(chalk_1.default.red(`✗ Agent "${agent.name}" (${provider}/${model}) has no credential binding — cannot update.`));
|
|
505
698
|
return;
|
|
506
699
|
}
|
|
700
|
+
// Resolve auth (handles OAuth → baseUrl/apiStyle for OpenAI subscription, token refresh, etc.)
|
|
701
|
+
let authMode;
|
|
702
|
+
let baseUrl;
|
|
703
|
+
let apiStyle;
|
|
704
|
+
let resolvedAuth;
|
|
705
|
+
try {
|
|
706
|
+
const auth = await (0, auto_detect_1.resolveAuth)({ provider, model, apiKey, oauthToken, oauthRefreshToken });
|
|
707
|
+
if (auth) {
|
|
708
|
+
resolvedAuth = auth;
|
|
709
|
+
provider = auth.provider;
|
|
710
|
+
model = auth.model;
|
|
711
|
+
apiKey = auth.source === 'api-key' || auth.source === 'env' ? auth.apiKey : undefined;
|
|
712
|
+
oauthToken = auth.source === 'oauth' ? auth.apiKey : oauthToken;
|
|
713
|
+
authMode = auth.authMode;
|
|
714
|
+
baseUrl = auth.baseUrl;
|
|
715
|
+
apiStyle = auth.apiStyle;
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
catch (err) {
|
|
719
|
+
console.warn(chalk_1.default.yellow(` ⚠ Auth resolution failed for "${agent.name}": ${err}`));
|
|
720
|
+
}
|
|
721
|
+
const effectiveKey = apiKey || oauthToken || '';
|
|
507
722
|
const fields = {
|
|
508
723
|
provider,
|
|
509
724
|
model,
|
|
@@ -525,20 +740,12 @@ class BotManager {
|
|
|
525
740
|
isDefault: false,
|
|
526
741
|
});
|
|
527
742
|
}
|
|
528
|
-
this.startLoop({ ...agent, provider, model, apiKey, oauthToken });
|
|
743
|
+
this.startLoop({ ...agent, provider, model, apiKey: effectiveKey, oauthToken, authMode, baseUrl, apiStyle, resolvedAuth });
|
|
529
744
|
if (agent.id) {
|
|
530
745
|
this.botIdToLoopId.set(agent.id, agent.id);
|
|
531
746
|
}
|
|
532
747
|
console.log(chalk_1.default.blue(`✓ Agent updated: "${agent.name}" (${provider} / ${agent.model})`));
|
|
533
748
|
}
|
|
534
|
-
/** Update the default OAuth token for the active loop (used by token refresh) */
|
|
535
|
-
updateDefaultToken(token) {
|
|
536
|
-
this.options.defaultOauthToken = token;
|
|
537
|
-
const loop = this.loops.get('__default__');
|
|
538
|
-
if (loop) {
|
|
539
|
-
loop.updateToken(token);
|
|
540
|
-
}
|
|
541
|
-
}
|
|
542
749
|
async handleUpdateCommand(command) {
|
|
543
750
|
console.log(chalk_1.default.cyan('⟳ Remote update requested via MQTT'));
|
|
544
751
|
try {
|
package/dist/bot-manager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-manager.js","sourceRoot":"","sources":["../src/bot-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bot-manager.js","sourceRoot":"","sources":["../src/bot-manager.ts"],"names":[],"mappings":"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"}
|