funolio-agent 0.3.1 → 0.3.3
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 +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +96 -5
- package/dist/commands/init.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -8,7 +8,7 @@ const start_1 = require("./commands/start");
|
|
|
8
8
|
const status_1 = require("./commands/status");
|
|
9
9
|
const configure_1 = require("./commands/configure");
|
|
10
10
|
const update_check_1 = require("./update-check");
|
|
11
|
-
const CLI_VERSION = '0.3.
|
|
11
|
+
const CLI_VERSION = '0.3.3';
|
|
12
12
|
const program = new commander_1.Command();
|
|
13
13
|
program
|
|
14
14
|
.name('funolio-agent')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAYD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAYD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgPrE"}
|
package/dist/commands/init.js
CHANGED
|
@@ -148,18 +148,109 @@ async function initCommand(options) {
|
|
|
148
148
|
console.log(chalk_1.default.yellow(` ⚠ Tool setup encountered an error: ${error.message}`));
|
|
149
149
|
console.log(chalk_1.default.gray(' Skipping tool installation — you can run it later with: funolio-agent configure'));
|
|
150
150
|
}
|
|
151
|
-
// Step 6:
|
|
151
|
+
// Step 6: Check for existing bot (created during web onboarding)
|
|
152
|
+
let botName = '';
|
|
153
|
+
let existingBot = false;
|
|
154
|
+
try {
|
|
155
|
+
const botsRes = await fetch(`${config_1.FUNOLIO_API_URL}/api/v1/agent/bots`, {
|
|
156
|
+
headers: { Authorization: `Bearer ${token}` },
|
|
157
|
+
});
|
|
158
|
+
if (botsRes.ok) {
|
|
159
|
+
const botsData = await botsRes.json();
|
|
160
|
+
if (botsData.bots?.length > 0) {
|
|
161
|
+
botName = botsData.bots[0].name;
|
|
162
|
+
existingBot = true;
|
|
163
|
+
console.log(chalk_1.default.green(`\n ✓ Found your bot: "${botName}"`));
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
catch {
|
|
168
|
+
// Server unreachable — we'll ask for name
|
|
169
|
+
}
|
|
170
|
+
if (!existingBot) {
|
|
171
|
+
console.log(chalk_1.default.blue.bold('\n🤖 Name Your Bot\n'));
|
|
172
|
+
botName = await prompt(' Bot name: ') || `${config.auth?.username || 'My'}'s Bot`;
|
|
173
|
+
}
|
|
174
|
+
// Step 7: Configure LLM provider inline
|
|
152
175
|
console.log(chalk_1.default.blue.bold('\n📡 LLM Provider Setup\n'));
|
|
153
176
|
console.log(chalk_1.default.white(' Your bot needs an AI provider to think with.\n'));
|
|
154
177
|
const { configureCommand } = await Promise.resolve().then(() => __importStar(require('./configure')));
|
|
155
178
|
await configureCommand();
|
|
156
|
-
//
|
|
179
|
+
// Reload config after configure step
|
|
180
|
+
const updatedConfig = (0, config_1.loadConfig)();
|
|
181
|
+
const providerName = updatedConfig.providers?.[0]?.id || '';
|
|
182
|
+
const modelName = updatedConfig.providers?.[0]?.defaultModel || '';
|
|
183
|
+
const providerConfig = updatedConfig.providers?.[0];
|
|
184
|
+
// Step 8: Send LLM key/token to server so Mission Control chat works
|
|
185
|
+
if (providerConfig && token) {
|
|
186
|
+
const llmKey = providerConfig.apiKey || providerConfig.oauthToken;
|
|
187
|
+
if (llmKey) {
|
|
188
|
+
console.log(chalk_1.default.blue('\n Syncing credentials to Funolio...'));
|
|
189
|
+
try {
|
|
190
|
+
const keyRes = await fetch(`${config_1.FUNOLIO_API_URL}/api/v1/agent/keys`, {
|
|
191
|
+
method: 'POST',
|
|
192
|
+
headers: {
|
|
193
|
+
'Content-Type': 'application/json',
|
|
194
|
+
Authorization: `Bearer ${token}`,
|
|
195
|
+
},
|
|
196
|
+
body: JSON.stringify({
|
|
197
|
+
provider: providerName,
|
|
198
|
+
key: llmKey,
|
|
199
|
+
label: 'CLI',
|
|
200
|
+
}),
|
|
201
|
+
});
|
|
202
|
+
if (keyRes.ok) {
|
|
203
|
+
console.log(chalk_1.default.green(` ✓ ${providerName} credentials synced`));
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
console.log(chalk_1.default.yellow(` ⚠ Could not sync credentials (${keyRes.status})`));
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
catch {
|
|
210
|
+
console.log(chalk_1.default.yellow(' ⚠ Could not sync credentials'));
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
// Step 9: Register bot on server (if not already created during web onboarding)
|
|
215
|
+
if (!existingBot) {
|
|
216
|
+
console.log(chalk_1.default.blue(' Registering bot on Funolio...'));
|
|
217
|
+
try {
|
|
218
|
+
const createRes = await fetch(`${config_1.FUNOLIO_API_URL}/api/v1/agent/bots`, {
|
|
219
|
+
method: 'POST',
|
|
220
|
+
headers: {
|
|
221
|
+
'Content-Type': 'application/json',
|
|
222
|
+
Authorization: `Bearer ${token}`,
|
|
223
|
+
},
|
|
224
|
+
body: JSON.stringify({
|
|
225
|
+
name: botName,
|
|
226
|
+
llmProvider: providerName || undefined,
|
|
227
|
+
llmModel: modelName || undefined,
|
|
228
|
+
}),
|
|
229
|
+
});
|
|
230
|
+
if (createRes.ok) {
|
|
231
|
+
const botData = await createRes.json();
|
|
232
|
+
console.log(chalk_1.default.green(` ✓ Bot "${botData.name}" created`));
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
const errText = await createRes.text();
|
|
236
|
+
console.log(chalk_1.default.yellow(` ⚠ Bot registration: ${errText}`));
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
catch (err) {
|
|
240
|
+
console.log(chalk_1.default.yellow(` ⚠ Could not register bot: ${err.message}`));
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
// Update existing bot with LLM config
|
|
245
|
+
// (future: PATCH /api/v1/agent/bots/:id)
|
|
246
|
+
console.log(chalk_1.default.green(' ✓ Bot already registered'));
|
|
247
|
+
}
|
|
248
|
+
// Step 10: Setup complete — guide user to Mission Control
|
|
157
249
|
const username = config.auth?.username || 'your bot';
|
|
158
|
-
const providerName = config.providers?.[0]?.id || 'your provider';
|
|
159
|
-
const modelName = config.providers?.[0]?.defaultModel || '';
|
|
160
250
|
console.log(chalk_1.default.green.bold('\n✅ Setup complete!\n'));
|
|
161
251
|
console.log(chalk_1.default.white(' Summary:'));
|
|
162
|
-
console.log(chalk_1.default.gray(` Bot: ${
|
|
252
|
+
console.log(chalk_1.default.gray(` Bot: ${botName}`));
|
|
253
|
+
console.log(chalk_1.default.gray(` Owner: ${username}`));
|
|
163
254
|
console.log(chalk_1.default.gray(` Provider: ${providerName}${modelName ? ` (${modelName})` : ''}`));
|
|
164
255
|
if (intents.length > 0) {
|
|
165
256
|
console.log(chalk_1.default.gray(` Tools: ${intents.join(', ')}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|