@chozzz/vargos 2.0.13 → 2.1.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/.templates/vargos/agent/extensions/.gitkeep +0 -0
- package/dist/.templates/vargos/agents/subagent.md +36 -0
- package/dist/.templates/vargos/workspace/AGENTS.md +106 -41
- package/dist/.templates/vargos/workspace/HEARTBEAT.md +12 -0
- package/dist/cli/channels.d.ts +26 -0
- package/dist/cli/channels.d.ts.map +1 -0
- package/dist/cli/channels.js +116 -0
- package/dist/cli/channels.js.map +1 -0
- package/dist/cli/onboard.d.ts.map +1 -1
- package/dist/cli/onboard.js +213 -108
- package/dist/cli/onboard.js.map +1 -1
- package/dist/cli.js +116 -2
- package/dist/cli.js.map +1 -1
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/subagent.d.ts +10 -3
- package/dist/lib/subagent.d.ts.map +1 -1
- package/dist/lib/subagent.js +20 -1
- package/dist/lib/subagent.js.map +1 -1
- package/dist/lib/templates.d.ts +2 -2
- package/dist/lib/templates.d.ts.map +1 -1
- package/dist/lib/templates.js +15 -7
- package/dist/lib/templates.js.map +1 -1
- package/dist/scripts/seed.js +1 -2
- package/dist/scripts/seed.js.map +1 -1
- package/dist/services/agent/index.d.ts +10 -5
- package/dist/services/agent/index.d.ts.map +1 -1
- package/dist/services/agent/index.js +46 -33
- package/dist/services/agent/index.js.map +1 -1
- package/dist/services/agent/persona.d.ts +6 -0
- package/dist/services/agent/persona.d.ts.map +1 -1
- package/dist/services/agent/persona.js +19 -0
- package/dist/services/agent/persona.js.map +1 -1
- package/dist/services/agent/tools.d.ts +11 -4
- package/dist/services/agent/tools.d.ts.map +1 -1
- package/dist/services/agent/tools.js +24 -7
- package/dist/services/agent/tools.js.map +1 -1
- package/dist/services/channels/index.d.ts.map +1 -1
- package/dist/services/channels/index.js +19 -12
- package/dist/services/channels/index.js.map +1 -1
- package/dist/services/channels/pipeline.js +2 -2
- package/dist/services/channels/pipeline.js.map +1 -1
- package/dist/services/channels/providers/telegram/normalizer.d.ts.map +1 -1
- package/dist/services/channels/providers/telegram/normalizer.js +9 -3
- package/dist/services/channels/providers/telegram/normalizer.js.map +1 -1
- package/dist/services/channels/providers/whatsapp/adapter.d.ts +0 -4
- package/dist/services/channels/providers/whatsapp/adapter.d.ts.map +1 -1
- package/dist/services/channels/providers/whatsapp/adapter.js +10 -33
- package/dist/services/channels/providers/whatsapp/adapter.js.map +1 -1
- package/dist/services/channels/providers/whatsapp/normalizer.d.ts.map +1 -1
- package/dist/services/channels/providers/whatsapp/normalizer.js +8 -9
- package/dist/services/channels/providers/whatsapp/normalizer.js.map +1 -1
- package/dist/services/channels/providers/whatsapp/session.d.ts.map +1 -1
- package/dist/services/channels/providers/whatsapp/session.js +13 -7
- package/dist/services/channels/providers/whatsapp/session.js.map +1 -1
- package/dist/services/config/index.d.ts +3 -3
- package/dist/services/config/schemas/auth.d.ts +2 -2
- package/dist/services/cron/index.d.ts.map +1 -1
- package/dist/services/cron/index.js +7 -1
- package/dist/services/cron/index.js.map +1 -1
- package/package.json +16 -15
- package/dist/.templates/vargos/agent/extensions/anthropic-custom-payload.patch.json +0 -34
- package/dist/.templates/vargos/agent/extensions/anthropic-custom-payload.ts +0 -74
package/dist/cli/onboard.js
CHANGED
|
@@ -7,8 +7,10 @@
|
|
|
7
7
|
* Uses @clack/prompts (already a dependency) for the TUI.
|
|
8
8
|
*/
|
|
9
9
|
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
10
|
+
import path from 'node:path';
|
|
10
11
|
import * as p from '@clack/prompts';
|
|
11
12
|
import { getDataPaths } from '../lib/paths.js';
|
|
13
|
+
import { registerChannel } from './channels.js';
|
|
12
14
|
const PROVIDERS = {
|
|
13
15
|
anthropic: {
|
|
14
16
|
baseUrl: 'https://api.anthropic.com/v1',
|
|
@@ -83,125 +85,228 @@ function writeJson(filePath, data) {
|
|
|
83
85
|
export async function onboard() {
|
|
84
86
|
const { dataDir, configFile } = getDataPaths();
|
|
85
87
|
const agentDir = `${dataDir}/agent`;
|
|
88
|
+
const hasConfig = existsSync(configFile);
|
|
86
89
|
p.intro('⚡ Vargos — Setup Wizard');
|
|
87
|
-
// ── Step 1: Provider
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
if (p.isCancel(providerKey)) {
|
|
96
|
-
p.cancel('Setup cancelled. Run vargos onboard to try again.');
|
|
97
|
-
process.exit(0);
|
|
98
|
-
}
|
|
99
|
-
const preset = PROVIDERS[providerKey];
|
|
100
|
-
// ── Step 2: API Key ──────────────────────────────────────────────────────
|
|
101
|
-
let apiKey;
|
|
102
|
-
if (preset.envKey) {
|
|
103
|
-
const envVal = process.env[preset.envKey];
|
|
104
|
-
if (envVal) {
|
|
105
|
-
p.note(`Found ${preset.envKey} in environment — using it.`, 'API Key');
|
|
106
|
-
apiKey = envVal;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
if (!apiKey && preset.envKey) {
|
|
110
|
-
const input = (await p.password({
|
|
111
|
-
message: `Enter your ${providerKey} API key:`,
|
|
112
|
-
validate(value) {
|
|
113
|
-
if (!value)
|
|
114
|
-
return 'API key is required';
|
|
115
|
-
return;
|
|
116
|
-
},
|
|
90
|
+
// ── Step 1: Provider (skip if already configured) ────────────────────────
|
|
91
|
+
if (!hasConfig) {
|
|
92
|
+
const providerKey = (await p.select({
|
|
93
|
+
message: 'Choose your LLM provider:',
|
|
94
|
+
options: Object.entries(PROVIDERS).map(([key, preset]) => {
|
|
95
|
+
const local = key === 'ollama' ? ' (local)' : '';
|
|
96
|
+
return { value: key, label: `${key}${local}`, hint: preset.baseUrl };
|
|
97
|
+
}),
|
|
117
98
|
}));
|
|
118
|
-
if (p.isCancel(
|
|
119
|
-
p.cancel('Setup cancelled.');
|
|
99
|
+
if (p.isCancel(providerKey)) {
|
|
100
|
+
p.cancel('Setup cancelled. Run vargos onboard to try again.');
|
|
120
101
|
process.exit(0);
|
|
121
102
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
const customUrl = (await p.text({
|
|
132
|
-
message: `Ollama base URL:`,
|
|
133
|
-
placeholder: preset.baseUrl,
|
|
134
|
-
defaultValue: preset.baseUrl,
|
|
135
|
-
}));
|
|
136
|
-
if (p.isCancel(customUrl)) {
|
|
137
|
-
p.cancel('Setup cancelled.');
|
|
138
|
-
process.exit(0);
|
|
103
|
+
const preset = PROVIDERS[providerKey];
|
|
104
|
+
// ── Step 2: API Key ────────────────────────────────────────────────────
|
|
105
|
+
let apiKey;
|
|
106
|
+
if (preset.envKey) {
|
|
107
|
+
const envVal = process.env[preset.envKey];
|
|
108
|
+
if (envVal) {
|
|
109
|
+
p.note(`Found ${preset.envKey} in environment — using it.`, 'API Key');
|
|
110
|
+
apiKey = envVal;
|
|
111
|
+
}
|
|
139
112
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
113
|
+
if (!apiKey && preset.envKey) {
|
|
114
|
+
const input = (await p.password({
|
|
115
|
+
message: `Enter your ${providerKey} API key:`,
|
|
116
|
+
validate(value) {
|
|
117
|
+
if (!value)
|
|
118
|
+
return 'API key is required';
|
|
119
|
+
return;
|
|
120
|
+
},
|
|
121
|
+
}));
|
|
122
|
+
if (p.isCancel(input)) {
|
|
123
|
+
p.cancel('Setup cancelled.');
|
|
124
|
+
process.exit(0);
|
|
125
|
+
}
|
|
126
|
+
apiKey = input;
|
|
127
|
+
}
|
|
128
|
+
// Local providers don't need an API key
|
|
129
|
+
if (providerKey === 'ollama' && !apiKey) {
|
|
130
|
+
apiKey = 'ollama';
|
|
131
|
+
}
|
|
132
|
+
// ── Step 3: Base URL (for custom/local) ────────────────────────────────
|
|
133
|
+
let baseUrl = preset.baseUrl;
|
|
134
|
+
if (providerKey === 'ollama') {
|
|
135
|
+
const customUrl = (await p.text({
|
|
136
|
+
message: `Ollama base URL:`,
|
|
137
|
+
placeholder: preset.baseUrl,
|
|
138
|
+
defaultValue: preset.baseUrl,
|
|
139
|
+
}));
|
|
140
|
+
if (p.isCancel(customUrl)) {
|
|
141
|
+
p.cancel('Setup cancelled.');
|
|
142
|
+
process.exit(0);
|
|
143
|
+
}
|
|
144
|
+
baseUrl = customUrl || preset.baseUrl;
|
|
152
145
|
}
|
|
153
|
-
|
|
146
|
+
// ── Step 4: Model ──────────────────────────────────────────────────────
|
|
147
|
+
let model = preset.models?.[0]?.id ?? '';
|
|
148
|
+
if (preset.models && preset.models.length > 0) {
|
|
149
|
+
const selected = (await p.select({
|
|
150
|
+
message: 'Default model:',
|
|
151
|
+
options: preset.models.map(m => ({ value: m.id, label: m.name })),
|
|
152
|
+
}));
|
|
153
|
+
if (p.isCancel(selected)) {
|
|
154
|
+
p.cancel('Setup cancelled.');
|
|
155
|
+
process.exit(0);
|
|
156
|
+
}
|
|
157
|
+
model = selected;
|
|
158
|
+
}
|
|
159
|
+
if (!model && !preset.models) {
|
|
160
|
+
const customModel = (await p.text({
|
|
161
|
+
message: 'Enter model ID:',
|
|
162
|
+
placeholder: 'e.g. gpt-4o, claude-sonnet-4-20250514',
|
|
163
|
+
}));
|
|
164
|
+
if (p.isCancel(customModel)) {
|
|
165
|
+
p.cancel('Setup cancelled.');
|
|
166
|
+
process.exit(0);
|
|
167
|
+
}
|
|
168
|
+
model = customModel || '';
|
|
169
|
+
}
|
|
170
|
+
// ── Write config files ─────────────────────────────────────────────────
|
|
171
|
+
const spinner = p.spinner();
|
|
172
|
+
spinner.start('Writing configuration…');
|
|
173
|
+
// config.json — minimal app config
|
|
174
|
+
writeJson(configFile, { gateway: {} });
|
|
175
|
+
// agent/models.json — provider registry
|
|
176
|
+
writeJson(`${agentDir}/models.json`, {
|
|
177
|
+
providers: {
|
|
178
|
+
[providerKey]: {
|
|
179
|
+
baseUrl,
|
|
180
|
+
api: preset.api,
|
|
181
|
+
...(preset.models ? { models: preset.models } : {}),
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
});
|
|
185
|
+
// agent/auth.json — API key
|
|
186
|
+
if (apiKey) {
|
|
187
|
+
writeJson(`${agentDir}/auth.json`, {
|
|
188
|
+
[providerKey]: { type: 'api_key', key: apiKey },
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
// agent/settings.json — Pi SDK settings (default model + provider)
|
|
192
|
+
writeJson(`${agentDir}/settings.json`, {
|
|
193
|
+
defaultModel: model,
|
|
194
|
+
defaultProvider: providerKey,
|
|
195
|
+
});
|
|
196
|
+
spinner.stop('Configuration saved.');
|
|
154
197
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
198
|
+
// ── Channels Setup ───────────────────────────────────────────────────────────
|
|
199
|
+
p.note('Vargos can connect to Telegram and WhatsApp so you can talk to your agent\n' +
|
|
200
|
+
'from your phone. You can skip this and set up channels later.', 'Communication');
|
|
201
|
+
const addChannel = (await p.confirm({
|
|
202
|
+
message: 'Set up a messaging channel now?',
|
|
203
|
+
initialValue: true,
|
|
204
|
+
}));
|
|
205
|
+
if (!p.isCancel(addChannel) && addChannel) {
|
|
206
|
+
const channelType = (await p.select({
|
|
207
|
+
message: 'Which channel?',
|
|
208
|
+
options: [
|
|
209
|
+
{ value: 'telegram', label: 'Telegram', hint: 'Bot API token required' },
|
|
210
|
+
{ value: 'whatsapp', label: 'WhatsApp', hint: 'QR code pairing' },
|
|
211
|
+
],
|
|
159
212
|
}));
|
|
160
|
-
if (p.isCancel(
|
|
161
|
-
p.
|
|
162
|
-
|
|
213
|
+
if (!p.isCancel(channelType)) {
|
|
214
|
+
const channelId = (await p.text({
|
|
215
|
+
message: 'Channel ID (a short name for this connection):',
|
|
216
|
+
placeholder: channelType === 'telegram' ? 'telegram-bot' : 'whatsapp-personal',
|
|
217
|
+
validate(value) {
|
|
218
|
+
if (!value)
|
|
219
|
+
return 'Channel ID is required';
|
|
220
|
+
if (!/^[a-z0-9_-]+$/.test(value))
|
|
221
|
+
return 'Use lowercase letters, numbers, hyphens, underscores';
|
|
222
|
+
return;
|
|
223
|
+
},
|
|
224
|
+
}));
|
|
225
|
+
if (!p.isCancel(channelId)) {
|
|
226
|
+
try {
|
|
227
|
+
if (channelType === 'telegram') {
|
|
228
|
+
const tgBotKey = (await p.password({
|
|
229
|
+
message: 'Telegram Bot Token (from @BotFather):',
|
|
230
|
+
validate(value) {
|
|
231
|
+
if (!value)
|
|
232
|
+
return 'Bot token is required';
|
|
233
|
+
return;
|
|
234
|
+
},
|
|
235
|
+
}));
|
|
236
|
+
if (!p.isCancel(tgBotKey)) {
|
|
237
|
+
registerChannel({ id: channelId, type: 'telegram', botToken: tgBotKey });
|
|
238
|
+
p.note(`Channel "${channelId}" registered.\nRun vargos start to bring it online.`, 'Telegram');
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
// WhatsApp
|
|
243
|
+
registerChannel({ id: channelId, type: 'whatsapp' });
|
|
244
|
+
const pairNow = (await p.confirm({
|
|
245
|
+
message: 'Pair WhatsApp now? (QR code will appear in terminal)',
|
|
246
|
+
initialValue: true,
|
|
247
|
+
}));
|
|
248
|
+
if (!p.isCancel(pairNow) && pairNow) {
|
|
249
|
+
console.log('\n Scan the QR code with WhatsApp → Linked Devices\n');
|
|
250
|
+
try {
|
|
251
|
+
const { pairWhatsApp } = await import('./channels.js');
|
|
252
|
+
await pairWhatsApp(channelId);
|
|
253
|
+
}
|
|
254
|
+
catch (err) {
|
|
255
|
+
p.note(`Pairing failed: ${err instanceof Error ? err.message : err}\nRun "vargos channels pair whatsapp ${channelId}" to try again.`, 'WhatsApp');
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
p.note(`Channel "${channelId}" registered.\nRun "vargos channels pair whatsapp ${channelId}" to pair.`, 'WhatsApp');
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
catch (err) {
|
|
264
|
+
p.note(`Failed: ${err instanceof Error ? err.message : err}`, 'Error');
|
|
265
|
+
}
|
|
266
|
+
}
|
|
163
267
|
}
|
|
164
|
-
model = customModel || '';
|
|
165
268
|
}
|
|
166
|
-
// ──
|
|
167
|
-
const
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
269
|
+
// ── MCP Adapter Setup ────────────────────────────────────────────────────────
|
|
270
|
+
const enableMcp = (await p.confirm({
|
|
271
|
+
message: 'Enable MCP (Model Context Protocol) support for accessing tools in chat?',
|
|
272
|
+
initialValue: true,
|
|
273
|
+
}));
|
|
274
|
+
if (!p.isCancel(enableMcp) && enableMcp) {
|
|
275
|
+
const spinnerMcp = p.spinner();
|
|
276
|
+
spinnerMcp.start('Setting up MCP adapter…');
|
|
277
|
+
try {
|
|
278
|
+
const { execSync } = await import('node:child_process');
|
|
279
|
+
// Find pi CLI via node_modules (same logic as chat command)
|
|
280
|
+
let piCliPath = 'pi';
|
|
281
|
+
try {
|
|
282
|
+
const searchDir = process.cwd();
|
|
283
|
+
const piPath = path.join(searchDir, 'node_modules', '@mariozechner', 'pi-coding-agent', 'dist', 'cli.js');
|
|
284
|
+
if (existsSync(piPath))
|
|
285
|
+
piCliPath = piPath;
|
|
286
|
+
}
|
|
287
|
+
catch {
|
|
288
|
+
// fallback to 'pi' command
|
|
289
|
+
}
|
|
290
|
+
execSync(`node "${piCliPath}" install npm:pi-mcp-adapter`, {
|
|
291
|
+
stdio: 'pipe',
|
|
292
|
+
env: { ...process.env, PI_CODING_AGENT_DIR: agentDir },
|
|
293
|
+
});
|
|
294
|
+
spinnerMcp.stop('MCP adapter installed.');
|
|
295
|
+
}
|
|
296
|
+
catch {
|
|
297
|
+
spinnerMcp.stop('MCP setup skipped (pi CLI not available yet).');
|
|
298
|
+
p.note('You can enable MCP later by running: pi install npm:pi-mcp-adapter', 'MCP Setup');
|
|
299
|
+
}
|
|
186
300
|
}
|
|
187
|
-
// agent/settings.json — Pi SDK settings (default model + provider)
|
|
188
|
-
writeJson(`${agentDir}/settings.json`, {
|
|
189
|
-
defaultModel: model,
|
|
190
|
-
defaultProvider: providerKey,
|
|
191
|
-
});
|
|
192
|
-
spinner.stop('Configuration saved.');
|
|
193
301
|
// ── Done ─────────────────────────────────────────────────────────────────
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
.filter(Boolean)
|
|
204
|
-
.join('\n'), 'Files written');
|
|
205
|
-
p.outro('Ready. Run vargos start to boot the server.');
|
|
302
|
+
if (!hasConfig) {
|
|
303
|
+
p.note([
|
|
304
|
+
`Config: ${configFile}`,
|
|
305
|
+
`Models: ${agentDir}/models.json`,
|
|
306
|
+
`Auth: ${agentDir}/auth.json`,
|
|
307
|
+
`Settings: ${agentDir}/settings.json`,
|
|
308
|
+
].join('\n'), 'Files written');
|
|
309
|
+
}
|
|
310
|
+
p.outro('Ready. Run vargos start to boot the server.\n Use vargos channels to manage messaging connections.');
|
|
206
311
|
}
|
|
207
312
|
//# sourceMappingURL=onboard.js.map
|
package/dist/cli/onboard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../cli/onboard.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../cli/onboard.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -34,8 +34,9 @@ function usage() {
|
|
|
34
34
|
Usage:
|
|
35
35
|
vargos First-run setup or show this help
|
|
36
36
|
vargos start Boot the agent server (gateway + all services)
|
|
37
|
-
vargos onboard Interactive setup wizard (provider, model, API key)
|
|
37
|
+
vargos onboard Interactive setup wizard (provider, model, API key, channels)
|
|
38
38
|
vargos config Show current configuration
|
|
39
|
+
vargos channels Manage messaging channels (list, register, deregister, pair)
|
|
39
40
|
vargos chat Start an interactive chat session with the agent
|
|
40
41
|
|
|
41
42
|
Options:
|
|
@@ -118,7 +119,7 @@ if (cmd === 'chat') {
|
|
|
118
119
|
const paths = getDataPaths();
|
|
119
120
|
const { createLogger } = await import('./lib/logger.js');
|
|
120
121
|
const log = createLogger('seed');
|
|
121
|
-
await (await import('./lib/templates.js')).seedDataDir(
|
|
122
|
+
await (await import('./lib/templates.js')).seedDataDir(log);
|
|
122
123
|
// Then run pi CLI with environment variables
|
|
123
124
|
const { execSync } = await import('node:child_process');
|
|
124
125
|
const dataDir = paths.dataDir;
|
|
@@ -140,6 +141,32 @@ if (cmd === 'chat') {
|
|
|
140
141
|
catch {
|
|
141
142
|
// fallback to 'pi' command
|
|
142
143
|
}
|
|
144
|
+
// Ensure pi-mcp-adapter is installed to the Vargos agent directory
|
|
145
|
+
try {
|
|
146
|
+
const settingsPath = path.join(agentDir, 'settings.json');
|
|
147
|
+
const settingsContent = existsSync(settingsPath)
|
|
148
|
+
? JSON.parse(readFileSync(settingsPath, 'utf8'))
|
|
149
|
+
: {};
|
|
150
|
+
const packages = settingsContent.packages ?? [];
|
|
151
|
+
if (!packages.includes('npm:pi-mcp-adapter')) {
|
|
152
|
+
// Auto-install pi-mcp-adapter silently
|
|
153
|
+
try {
|
|
154
|
+
execSync(`node "${piCliPath}" install npm:pi-mcp-adapter`, {
|
|
155
|
+
stdio: 'pipe',
|
|
156
|
+
env: {
|
|
157
|
+
...process.env,
|
|
158
|
+
PI_CODING_AGENT_DIR: agentDir,
|
|
159
|
+
},
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
catch {
|
|
163
|
+
// Silently ignore MCP setup failure — chat still works without it
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
catch {
|
|
168
|
+
// Skip MCP setup if there's any issue
|
|
169
|
+
}
|
|
143
170
|
execSync(`node "${piCliPath}" --session-dir "${dataDir}/sessions/cli"`, {
|
|
144
171
|
stdio: 'inherit',
|
|
145
172
|
env: {
|
|
@@ -149,6 +176,93 @@ if (cmd === 'chat') {
|
|
|
149
176
|
},
|
|
150
177
|
});
|
|
151
178
|
}
|
|
179
|
+
// channels subcommand
|
|
180
|
+
if (cmd === 'channels') {
|
|
181
|
+
const sub = process.argv[3];
|
|
182
|
+
const { listChannels, registerChannel, deregisterChannel, pairWhatsApp } = await import('./cli/channels.js');
|
|
183
|
+
if (sub === 'list' || !sub) {
|
|
184
|
+
const channels = listChannels();
|
|
185
|
+
if (channels.length === 0) {
|
|
186
|
+
console.log('No channels configured.\n');
|
|
187
|
+
console.log(' vargos channels register whatsapp <id>');
|
|
188
|
+
console.log(' vargos channels register telegram <id> --bot-token <token>');
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
console.log('Channels:\n');
|
|
192
|
+
for (const ch of channels) {
|
|
193
|
+
const status = ch.type === 'whatsapp'
|
|
194
|
+
? (ch.registered ? '✅ paired' : '⚠ not paired')
|
|
195
|
+
: '✅ configured';
|
|
196
|
+
const tokenHint = ch.botToken ? ` (key: ${ch.botToken.slice(0, 8)}…)` : '';
|
|
197
|
+
console.log(` ${ch.id} [${ch.type}] ${status}${tokenHint}`);
|
|
198
|
+
}
|
|
199
|
+
console.log('');
|
|
200
|
+
}
|
|
201
|
+
process.exit(0);
|
|
202
|
+
}
|
|
203
|
+
if (sub === 'register') {
|
|
204
|
+
const type = process.argv[4];
|
|
205
|
+
const id = process.argv[5];
|
|
206
|
+
if (!type || !id || !['telegram', 'whatsapp'].includes(type)) {
|
|
207
|
+
console.log('Usage: vargos channels register <telegram|whatsapp> <id> [--bot-token <token>]');
|
|
208
|
+
process.exit(1);
|
|
209
|
+
}
|
|
210
|
+
try {
|
|
211
|
+
const tgBotKey = type === 'telegram'
|
|
212
|
+
? process.argv[process.argv.indexOf('--bot-token') + 1]
|
|
213
|
+
: undefined;
|
|
214
|
+
if (type === 'telegram' && !tgBotKey) {
|
|
215
|
+
console.log('Telegram requires --bot-token <token>');
|
|
216
|
+
process.exit(1);
|
|
217
|
+
}
|
|
218
|
+
registerChannel({ id, type, botToken: tgBotKey });
|
|
219
|
+
console.log(`✅ Channel "${id}" registered.`);
|
|
220
|
+
if (type === 'whatsapp') {
|
|
221
|
+
console.log(` Run "vargos channels pair whatsapp ${id}" to scan the QR code.`);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
catch (err) {
|
|
225
|
+
console.error(`❌ ${err instanceof Error ? err.message : err}`);
|
|
226
|
+
process.exit(1);
|
|
227
|
+
}
|
|
228
|
+
process.exit(0);
|
|
229
|
+
}
|
|
230
|
+
if (sub === 'deregister') {
|
|
231
|
+
const id = process.argv[4];
|
|
232
|
+
if (!id) {
|
|
233
|
+
console.log('Usage: vargos channels deregister <id>');
|
|
234
|
+
process.exit(1);
|
|
235
|
+
}
|
|
236
|
+
try {
|
|
237
|
+
deregisterChannel(id);
|
|
238
|
+
console.log(`✅ Channel "${id}" removed.`);
|
|
239
|
+
}
|
|
240
|
+
catch (err) {
|
|
241
|
+
console.error(`❌ ${err instanceof Error ? err.message : err}`);
|
|
242
|
+
process.exit(1);
|
|
243
|
+
}
|
|
244
|
+
process.exit(0);
|
|
245
|
+
}
|
|
246
|
+
if (sub === 'pair') {
|
|
247
|
+
const type = process.argv[4];
|
|
248
|
+
const id = process.argv[5];
|
|
249
|
+
if (type !== 'whatsapp' || !id) {
|
|
250
|
+
console.log('Usage: vargos channels pair whatsapp <id>');
|
|
251
|
+
process.exit(1);
|
|
252
|
+
}
|
|
253
|
+
console.log('Scan the QR code with WhatsApp → Linked Devices\n');
|
|
254
|
+
try {
|
|
255
|
+
await pairWhatsApp(id);
|
|
256
|
+
}
|
|
257
|
+
catch (err) {
|
|
258
|
+
console.error(`❌ ${err instanceof Error ? err.message : err}`);
|
|
259
|
+
process.exit(1);
|
|
260
|
+
}
|
|
261
|
+
process.exit(0);
|
|
262
|
+
}
|
|
263
|
+
console.log('Usage: vargos channels [list|register|deregister|pair]');
|
|
264
|
+
process.exit(1);
|
|
265
|
+
}
|
|
152
266
|
// No command — first-run or help
|
|
153
267
|
if (isFirstRun()) {
|
|
154
268
|
console.log(' ⚡ Vargos v' + VERSION + ' — First run detected.\n');
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,gFAAgF;AAEhF,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACvD,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC;IACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,8BAA8B,QAAQ,qBAAqB,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CACtF,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC9D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC;IACtC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AAElE,SAAS,KAAK;IACZ,OAAO,CAAC,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { EventEmitterBus } from './gateway/emitter.js';
|
|
2
2
|
import { startTCPServer } from './gateway/tcp-server.js';
|
|
3
3
|
import { createLogger } from './lib/logger.js';
|
|
4
|
-
import { getDataPaths } from './lib/paths.js';
|
|
5
4
|
import { seedDataDir } from './lib/templates.js';
|
|
6
5
|
// ── Boot order ────────────────────────────────────────────────────────────────
|
|
7
6
|
// Each entry: [label, () => import(module)]
|
|
@@ -25,8 +24,8 @@ const log = createLogger('boot');
|
|
|
25
24
|
const stoppers = [];
|
|
26
25
|
// Bootstrap the bus itself (registers bus.search and bus.inspect)
|
|
27
26
|
bus.bootstrap();
|
|
28
|
-
//
|
|
29
|
-
await seedDataDir(
|
|
27
|
+
// Seed bundled templates into the VARGOS data dir before services boot.
|
|
28
|
+
await seedDataDir(log);
|
|
30
29
|
for (const [label, load] of SERVICES) {
|
|
31
30
|
try {
|
|
32
31
|
const { boot } = await load();
|
|
@@ -55,7 +54,9 @@ catch (err) {
|
|
|
55
54
|
}
|
|
56
55
|
// Signal that boot is complete — deferred startup can proceed
|
|
57
56
|
bus.emit('bus.onReady', {});
|
|
58
|
-
|
|
57
|
+
// Boot summary
|
|
58
|
+
const svcList = SERVICES.map(([label]) => label);
|
|
59
|
+
log.info(`✅ ${svcList.length} services booted: ${svcList.join(', ')}`);
|
|
59
60
|
// ── Global error handlers ────────────────────────────────────────────────────
|
|
60
61
|
// Prevent undici socket errors (UND_ERR_SOCKET "other side closed") from
|
|
61
62
|
// crashing the process when LLM providers close connections after streaming.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/subagent.d.ts
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure session key helpers — no domain dependencies.
|
|
3
|
-
*/
|
|
4
1
|
export declare function cronSessionKey(taskId: string): string;
|
|
5
2
|
export declare function webhookSessionKey(hookId: string): string;
|
|
3
|
+
/**
|
|
4
|
+
* Generate a unique subagent session key from the parent key.
|
|
5
|
+
* Appends `:subagent:<shortId>` so each delegation gets its own session,
|
|
6
|
+
* enabling parallel subagents without collision.
|
|
7
|
+
*/
|
|
8
|
+
export declare function subagentSessionKey(parentKey: string): string;
|
|
9
|
+
/** Check if a sessionKey belongs to any subagent (any depth). */
|
|
10
|
+
export declare function isSubagentSession(key: string): boolean;
|
|
11
|
+
/** Extract the root parent sessionKey by stripping all subagent suffixes. */
|
|
12
|
+
export declare function rootSessionKey(key: string): string;
|
|
6
13
|
export declare function parseSessionKey(key: string): {
|
|
7
14
|
type: string;
|
|
8
15
|
id: string;
|