@markus-global/cli 0.4.2 → 0.4.4

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.
Files changed (47) hide show
  1. package/connectors/_template.json +22 -0
  2. package/connectors/hermes.json +30 -0
  3. package/connectors/openclaw.json +32 -0
  4. package/dist/commands/connect.d.ts +3 -0
  5. package/dist/commands/connect.d.ts.map +1 -0
  6. package/dist/commands/connect.js +267 -0
  7. package/dist/commands/connect.js.map +1 -0
  8. package/dist/commands/external-agent.d.ts.map +1 -1
  9. package/dist/commands/external-agent.js +9 -4
  10. package/dist/commands/external-agent.js.map +1 -1
  11. package/dist/commands/init.d.ts +10 -3
  12. package/dist/commands/init.d.ts.map +1 -1
  13. package/dist/commands/init.js +167 -40
  14. package/dist/commands/init.js.map +1 -1
  15. package/dist/commands/install-agent.d.ts +3 -0
  16. package/dist/commands/install-agent.d.ts.map +1 -0
  17. package/dist/commands/install-agent.js +146 -0
  18. package/dist/commands/install-agent.js.map +1 -0
  19. package/dist/commands/start.js +53 -15
  20. package/dist/commands/start.js.map +1 -1
  21. package/dist/connector-service.d.ts +53 -0
  22. package/dist/connector-service.d.ts.map +1 -0
  23. package/dist/connector-service.js +225 -0
  24. package/dist/connector-service.js.map +1 -0
  25. package/dist/index.js +5 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/markus.mjs +4012 -1139
  28. package/dist/web-ui/assets/index-Bolfhnhg.js +63 -0
  29. package/dist/web-ui/assets/index-d4taGsNz.css +1 -0
  30. package/dist/web-ui/index.html +2 -2
  31. package/package.json +3 -2
  32. package/templates/openclaw-markus-skill/AGENTS.md +9 -9
  33. package/templates/openclaw-markus-skill/TOOLS.md +4 -4
  34. package/templates/openclaw-markus-skill/heartbeat.md +1 -1
  35. package/templates/roles/SHARED.md +4 -4
  36. package/templates/roles/developer/HEARTBEAT.md +2 -2
  37. package/templates/roles/operations/HEARTBEAT.md +2 -2
  38. package/templates/roles/org-manager/HEARTBEAT.md +2 -2
  39. package/templates/roles/org-manager/ROLE.md +1 -1
  40. package/templates/roles/product-manager/HEARTBEAT.md +2 -2
  41. package/templates/roles/product-manager/ROLE.md +1 -1
  42. package/templates/roles/reviewer/HEARTBEAT.md +2 -2
  43. package/templates/roles/secretary/HEARTBEAT.md +2 -2
  44. package/templates/skills/chrome-devtools/SKILL.md +107 -122
  45. package/templates/skills/markus-project-cli/SKILL.md +4 -3
  46. package/dist/web-ui/assets/index-Bcc58A3R.css +0 -1
  47. package/dist/web-ui/assets/index-eYuP972k.js +0 -61
@@ -0,0 +1,22 @@
1
+ {
2
+ "platform": "my-agent",
3
+ "displayName": "My Custom Agent",
4
+ "description": "Describe your agent platform here",
5
+ "detection": {
6
+ "configPaths": ["~/.my-agent/config.json"],
7
+ "binaryName": "my-agent"
8
+ },
9
+ "installation": {
10
+ "npmPackage": "my-agent-cli",
11
+ "startCommand": "my-agent start"
12
+ },
13
+ "integration": {
14
+ "type": "gateway",
15
+ "configFormat": "json",
16
+ "configPath": "~/.my-agent/config.json",
17
+ "tokenField": "markus.token",
18
+ "urlField": "markus.url"
19
+ },
20
+ "defaultCapabilities": ["code"],
21
+ "defaultAgentName": "My Agent"
22
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "platform": "hermes",
3
+ "displayName": "Hermes Agent",
4
+ "description": "High-performance AI agent framework with tool-use and multi-step reasoning",
5
+ "homepage": "https://github.com/hermes-agent/hermes",
6
+ "detection": {
7
+ "configPaths": [
8
+ "~/.hermes/config.json",
9
+ "~/.hermes/hermes.yaml"
10
+ ],
11
+ "binaryName": "hermes",
12
+ "processName": "hermes-agent"
13
+ },
14
+ "installation": {
15
+ "npmPackage": "hermes-agent",
16
+ "initCommand": "hermes init",
17
+ "startCommand": "hermes serve --daemon",
18
+ "stopCommand": "hermes stop"
19
+ },
20
+ "integration": {
21
+ "type": "gateway",
22
+ "configFormat": "json",
23
+ "configPath": "~/.hermes/config.json",
24
+ "tokenField": "extensions.markus.token",
25
+ "urlField": "extensions.markus.url",
26
+ "llmProvidersField": "llm.providers"
27
+ },
28
+ "defaultCapabilities": ["code", "research", "analysis", "reasoning"],
29
+ "defaultAgentName": "Hermes Agent"
30
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "platform": "openclaw",
3
+ "displayName": "OpenClaw",
4
+ "description": "Open-source AI coding agent with multi-model support",
5
+ "homepage": "https://github.com/nicepkg/openclaw",
6
+ "detection": {
7
+ "configPaths": [
8
+ "~/.openclaw/openclaw.json",
9
+ "~/.openclaw/openclaw.json5"
10
+ ],
11
+ "binaryName": "openclaw",
12
+ "processName": "openclaw"
13
+ },
14
+ "installation": {
15
+ "npmPackage": "openclaw",
16
+ "initCommand": "openclaw init",
17
+ "startCommand": "openclaw start --daemon",
18
+ "stopCommand": "openclaw stop"
19
+ },
20
+ "integration": {
21
+ "type": "gateway",
22
+ "configFormat": "json5",
23
+ "configPath": "~/.openclaw/openclaw.json",
24
+ "tokenField": "integrations.markus.token",
25
+ "urlField": "integrations.markus.url",
26
+ "llmProvidersField": "models.providers",
27
+ "skillDir": "~/.openclaw/skills",
28
+ "skillTemplateName": "openclaw-markus-skill"
29
+ },
30
+ "defaultCapabilities": ["code", "review", "test", "debug", "documentation"],
31
+ "defaultAgentName": "OpenClaw Agent"
32
+ }
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerConnectCommands(program: Command): void;
3
+ //# sourceMappingURL=connect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,QA6RvD"}
@@ -0,0 +1,267 @@
1
+ import { randomBytes } from 'node:crypto';
2
+ import { createClient, ApiError } from '../api-client.js';
3
+ import { success, fail, table } from '../output.js';
4
+ import { loadConnectors, findConnector, scanInstalledPlatforms, writePlatformConfig, installSkillTemplate, } from '../connector-service.js';
5
+ export function registerConnectCommands(program) {
6
+ const root = program.command('connect').description('Connect / disconnect external agent platforms');
7
+ // ── markus connect scan ─────────────────────────────────────────────────────
8
+ root
9
+ .command('scan')
10
+ .description('Scan for installed agent platforms that can be connected')
11
+ .action(async (_opts, cmd) => {
12
+ const g = cmd.optsWithGlobals();
13
+ const out = { json: !!g.json };
14
+ const results = scanInstalledPlatforms();
15
+ if (out.json) {
16
+ console.log(JSON.stringify(results, null, 2));
17
+ return;
18
+ }
19
+ if (results.length === 0) {
20
+ console.log(' No connector descriptors found.');
21
+ console.log(' Place connector JSON files in ~/.markus/connectors/');
22
+ return;
23
+ }
24
+ table(results, [
25
+ { key: 'displayName', header: 'Platform', width: 20 },
26
+ { key: 'platform', header: 'ID', width: 15 },
27
+ { key: 'installed', header: 'Installed', width: 10 },
28
+ { key: 'binaryFound', header: 'Binary', width: 8 },
29
+ { key: 'running', header: 'Running', width: 8 },
30
+ { key: 'configPath', header: 'Config', width: 40 },
31
+ ], { title: 'Detected agent platforms' });
32
+ const installed = results.filter(r => r.installed);
33
+ if (installed.length > 0) {
34
+ console.log(`\n To connect: markus connect <platform>`);
35
+ console.log(` Available: ${installed.map(r => r.platform).join(', ')}`);
36
+ }
37
+ });
38
+ // ── markus connect list ─────────────────────────────────────────────────────
39
+ root
40
+ .command('list')
41
+ .description('List all available connector descriptors')
42
+ .action(async (_opts, cmd) => {
43
+ const g = cmd.optsWithGlobals();
44
+ const out = { json: !!g.json };
45
+ const connectors = loadConnectors();
46
+ if (out.json) {
47
+ console.log(JSON.stringify(connectors, null, 2));
48
+ return;
49
+ }
50
+ table(connectors.map(c => ({
51
+ platform: c.platform,
52
+ displayName: c.displayName,
53
+ description: c.description,
54
+ type: c.integration.type,
55
+ })), [
56
+ { key: 'platform', header: 'ID', width: 15 },
57
+ { key: 'displayName', header: 'Name', width: 20 },
58
+ { key: 'description', header: 'Description', width: 45 },
59
+ { key: 'type', header: 'Type', width: 10 },
60
+ ], { title: 'Available connectors' });
61
+ });
62
+ // ── markus connect <platform> ───────────────────────────────────────────────
63
+ root
64
+ .command('add <platform>')
65
+ .description('Connect an external agent platform to Markus')
66
+ .option('--agent-id <id>', 'External agent ID (auto-generated if omitted)')
67
+ .option('--agent-name <name>', 'Agent display name')
68
+ .option('--org-id <id>', 'Organization ID', 'default')
69
+ .option('--capabilities <csv>', 'Comma-separated capabilities')
70
+ .option('--no-config-write', 'Skip writing token/URL to platform config')
71
+ .option('--no-skill-install', 'Skip installing integration skill template')
72
+ .option('--agent-card-url <url>', 'Agent Card URL for custom platforms')
73
+ .action(async (platform, opts, cmd) => {
74
+ const g = cmd.optsWithGlobals();
75
+ const out = { json: !!g.json };
76
+ const connector = findConnector(platform);
77
+ if (!connector) {
78
+ fail(`Unknown platform "${platform}". Run \`markus connect list\` to see available connectors.`);
79
+ return;
80
+ }
81
+ const agentId = opts.agentId || `${platform}-${randomBytes(4).toString('hex')}`;
82
+ const agentName = opts.agentName || connector.defaultAgentName || `${connector.displayName} Agent`;
83
+ const capabilities = opts.capabilities
84
+ ? String(opts.capabilities).split(',').map((s) => s.trim()).filter(Boolean)
85
+ : connector.defaultCapabilities ?? [];
86
+ const client = createClient(g);
87
+ const serverUrl = g.server || process.env['MARKUS_API_URL'] || 'http://localhost:8056';
88
+ try {
89
+ // Step 1: Register via gateway
90
+ console.log(`\n Connecting ${connector.displayName} to Markus...\n`);
91
+ console.log(` [1/4] Registering external agent...`);
92
+ const reg = await client.post('/gateway/register', {
93
+ agentId,
94
+ agentName,
95
+ orgId: opts.orgId,
96
+ capabilities,
97
+ platform: connector.platform,
98
+ agentCardUrl: opts.agentCardUrl || connector.detection.agentCardUrl,
99
+ });
100
+ const markusAgentId = reg['markusAgentId'];
101
+ console.log(` Agent registered: ${agentId} → Markus agent ${markusAgentId ?? '(none)'}`);
102
+ // Step 2: Authenticate to get token
103
+ console.log(` [2/4] Generating authentication token...`);
104
+ let token;
105
+ try {
106
+ const infoRes = await client.get('/gateway/info');
107
+ const secret = infoRes['orgSecretFull'];
108
+ const authRes = await client.post('/gateway/auth', {
109
+ agentId,
110
+ orgId: opts.orgId,
111
+ secret,
112
+ });
113
+ token = authRes['token'];
114
+ console.log(` Token generated (${token ? token.slice(0, 20) + '...' : 'none'})`);
115
+ }
116
+ catch {
117
+ console.log(` Warning: Could not auto-generate token. You may need to authenticate manually.`);
118
+ }
119
+ // Step 3: Write config to platform
120
+ let configUpdated = false;
121
+ if (opts.configWrite !== false && token) {
122
+ console.log(` [3/4] Writing connection config to ${connector.displayName}...`);
123
+ configUpdated = writePlatformConfig(connector, serverUrl, token);
124
+ if (configUpdated) {
125
+ console.log(` Updated: ${connector.integration.configPath}`);
126
+ }
127
+ else {
128
+ console.log(` Skipped: could not write config (file may not exist yet)`);
129
+ }
130
+ }
131
+ else {
132
+ console.log(` [3/4] Config write skipped.`);
133
+ }
134
+ // Step 4: Install skill template
135
+ let skillInstalled = false;
136
+ if (opts.skillInstall !== false && connector.integration.skillTemplateName) {
137
+ console.log(` [4/4] Installing integration skill template...`);
138
+ skillInstalled = installSkillTemplate(connector);
139
+ if (skillInstalled) {
140
+ console.log(` Installed: ${connector.integration.skillTemplateName}`);
141
+ }
142
+ else {
143
+ console.log(` Skipped: skill template not found or target dir missing`);
144
+ }
145
+ }
146
+ else {
147
+ console.log(` [4/4] Skill install skipped.`);
148
+ }
149
+ // Summary
150
+ const result = {
151
+ platform: connector.platform,
152
+ externalAgentId: agentId,
153
+ markusAgentId,
154
+ markusUrl: serverUrl,
155
+ token: token ? `${token.slice(0, 20)}...` : undefined,
156
+ configUpdated,
157
+ skillInstalled,
158
+ };
159
+ if (out.json) {
160
+ console.log(JSON.stringify({ ...result, token }, null, 2));
161
+ }
162
+ else {
163
+ console.log(`\n ┌─────────────────────────────────────┐`);
164
+ console.log(` │ Connection Successful! │`);
165
+ console.log(` └─────────────────────────────────────┘`);
166
+ console.log(`\n Platform: ${connector.displayName}`);
167
+ console.log(` External Agent ID: ${agentId}`);
168
+ console.log(` Markus Agent ID: ${markusAgentId ?? 'N/A'}`);
169
+ console.log(` Markus URL: ${serverUrl}`);
170
+ console.log(` Config Updated: ${configUpdated ? 'Yes' : 'No'}`);
171
+ console.log(` Skill Installed: ${skillInstalled ? 'Yes' : 'No'}`);
172
+ if (token && !configUpdated) {
173
+ console.log(`\n Manual setup required:`);
174
+ console.log(` Set the following in your ${connector.displayName} config:`);
175
+ console.log(` ${connector.integration.urlField}: ${serverUrl}`);
176
+ console.log(` ${connector.integration.tokenField}: ${token}`);
177
+ }
178
+ if (!token) {
179
+ console.log(`\n Next step: authenticate the agent manually:`);
180
+ console.log(` markus admin gateway auth --agent-id ${agentId} --secret <gateway-secret>`);
181
+ }
182
+ console.log('');
183
+ }
184
+ }
185
+ catch (e) {
186
+ if (e instanceof ApiError) {
187
+ fail(`Failed to connect: ${e.message}`);
188
+ }
189
+ else {
190
+ throw e;
191
+ }
192
+ }
193
+ });
194
+ // ── markus connect remove <platform-or-id> ──────────────────────────────────
195
+ root
196
+ .command('remove <platformOrId>')
197
+ .description('Disconnect an external agent platform from Markus')
198
+ .option('--org-id <id>', 'Organization ID', 'default')
199
+ .action(async (platformOrId, opts, cmd) => {
200
+ const g = cmd.optsWithGlobals();
201
+ const out = { json: !!g.json };
202
+ const client = createClient(g);
203
+ try {
204
+ // Try to list external agents and find matching one
205
+ const agents = await client.get('/external-agents', { orgId: opts.orgId });
206
+ const rows = agents.registrations ?? agents.agents ?? [];
207
+ const match = rows.find((r) => r['platform'] === platformOrId ||
208
+ r['externalAgentId'] === platformOrId ||
209
+ r['externalAgentId']?.startsWith(platformOrId + '-'));
210
+ if (!match) {
211
+ fail(`No connected agent found for "${platformOrId}". Run \`markus admin external-agent list\` to see all.`);
212
+ return;
213
+ }
214
+ const extId = match['externalAgentId'];
215
+ const agentId = match['id'] ?? match['markusAgentId'];
216
+ // Delete via external-agents endpoint
217
+ if (agentId) {
218
+ await client.delete(`/external-agents/${encodeURIComponent(agentId)}`, { orgId: opts.orgId });
219
+ }
220
+ success(`Disconnected ${platformOrId} (agent: ${extId})`, match, out);
221
+ }
222
+ catch (e) {
223
+ if (e instanceof ApiError)
224
+ fail(e.message);
225
+ else
226
+ throw e;
227
+ }
228
+ });
229
+ // ── markus connect status ───────────────────────────────────────────────────
230
+ root
231
+ .command('status')
232
+ .description('Show connection status of all external agents')
233
+ .option('--org-id <id>', 'Organization ID', 'default')
234
+ .action(async (opts, cmd) => {
235
+ const g = cmd.optsWithGlobals();
236
+ const out = { json: !!g.json };
237
+ const client = createClient(g);
238
+ try {
239
+ const data = await client.get('/external-agents', { orgId: opts.orgId });
240
+ const rows = (data['registrations'] ?? data['agents'] ?? data['rows'] ?? []);
241
+ if (out.json) {
242
+ console.log(JSON.stringify(rows, null, 2));
243
+ return;
244
+ }
245
+ if (rows.length === 0) {
246
+ console.log(' No external agents connected.');
247
+ console.log(' Run `markus connect scan` to find installable platforms.');
248
+ return;
249
+ }
250
+ table(rows, [
251
+ { key: 'externalAgentId', header: 'External ID', width: 24 },
252
+ { key: 'agentName', header: 'Name', width: 20 },
253
+ { key: 'platform', header: 'Platform', width: 12 },
254
+ { key: 'connected', header: 'Online', width: 8 },
255
+ { key: 'markusAgentId', header: 'Markus Agent', width: 28 },
256
+ { key: 'lastHeartbeat', header: 'Last Seen', width: 20 },
257
+ ], { title: 'Connected external agents' });
258
+ }
259
+ catch (e) {
260
+ if (e instanceof ApiError)
261
+ fail(e.message);
262
+ else
263
+ throw e;
264
+ }
265
+ });
266
+ }
267
+ //# sourceMappingURL=connect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"external-agent.d.ts","sourceRoot":"","sources":["../../src/commands/external-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,QAsE7D"}
1
+ {"version":3,"file":"external-agent.d.ts","sourceRoot":"","sources":["../../src/commands/external-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,QA2E7D"}
@@ -13,10 +13,11 @@ export function registerExternalAgentCommands(program) {
13
13
  const data = await client.get('/external-agents', opts.orgId ? { orgId: opts.orgId } : undefined);
14
14
  const rows = extractRows(data);
15
15
  table(rows, [
16
- { key: 'id', header: 'ID', width: 28 },
17
- { key: 'name', header: 'Name', width: 20 },
18
- { key: 'agentId', header: 'Agent ID', width: 28 },
19
- { key: 'connected', header: 'Connected', width: 10 },
16
+ { key: 'id', header: 'ID', width: 24 },
17
+ { key: 'name', header: 'Name', width: 18 },
18
+ { key: 'agentId', header: 'Agent ID', width: 24 },
19
+ { key: 'platform', header: 'Platform', width: 12 },
20
+ { key: 'connected', header: 'Online', width: 8 },
20
21
  ], { ...out, title: 'External agents' });
21
22
  }
22
23
  catch (e) {
@@ -31,6 +32,8 @@ export function registerExternalAgentCommands(program) {
31
32
  .requiredOption('--agent-id <id>')
32
33
  .requiredOption('--name <n>')
33
34
  .option('--capabilities <csv>')
35
+ .option('--platform <name>', 'Platform identifier (e.g. openclaw, hermes)')
36
+ .option('--agent-card-url <url>', 'Agent Card URL for discovery')
34
37
  .action(async (opts, cmd) => {
35
38
  const g = cmd.optsWithGlobals();
36
39
  const client = createClient(g);
@@ -44,6 +47,8 @@ export function registerExternalAgentCommands(program) {
44
47
  name: opts.name,
45
48
  ...(opts.orgId && { orgId: opts.orgId }),
46
49
  ...(caps && { capabilities: caps }),
50
+ ...(opts.platform && { platform: opts.platform }),
51
+ ...(opts.agentCardUrl && { agentCardUrl: opts.agentCardUrl }),
47
52
  });
48
53
  success('External agent registered', data, out);
49
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"external-agent.js","sourceRoot":"","sources":["../../src/commands/external-agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEjE,MAAM,UAAU,6BAA6B,CAAC,OAAgB;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAE9E,IAAI;SACD,OAAO,CAAC,MAAM,CAAC;SACf,MAAM,CAAC,eAAe,CAAC;SACvB,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC1B,MAAM,CAAC,GAAG,GAAG,CAAC,eAAe,EAA0D,CAAC;QACxF,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAA0B,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC3H,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,EAAE;gBACV,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;gBACtC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC1C,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;gBACjD,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE;aACrD,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,QAAQ;gBAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,IAAI;SACD,OAAO,CAAC,UAAU,CAAC;SACnB,MAAM,CAAC,eAAe,CAAC;SACvB,cAAc,CAAC,iBAAiB,CAAC;SACjC,cAAc,CAAC,YAAY,CAAC;SAC5B,MAAM,CAAC,sBAAsB,CAAC;SAC9B,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC1B,MAAM,CAAC,GAAG,GAAG,CAAC,eAAe,EAA0D,CAAC;QACxF,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY;YAC5B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YACzE,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAU,2BAA2B,EAAE;gBACnE,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACxC,GAAG,CAAC,IAAI,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;aACpC,CAAC,CAAC;YACH,OAAO,CAAC,2BAA2B,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,QAAQ;gBAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,IAAI;SACD,OAAO,CAAC,aAAa,CAAC;SACtB,MAAM,CAAC,eAAe,CAAC;SACvB,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC9B,MAAM,CAAC,GAAG,GAAG,CAAC,eAAe,EAA0D,CAAC;QACxF,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAC9B,oBAAoB,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAC5C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAC/C,CAAC;YACF,OAAO,CAAC,wBAAwB,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,QAAQ;gBAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"external-agent.js","sourceRoot":"","sources":["../../src/commands/external-agent.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,13 @@
1
1
  import type { Command } from 'commander';
2
- export declare function registerInitCommand(program: Command): void;
3
- export declare function quickInit(options?: {
2
+ export interface InitOptions {
4
3
  force?: boolean;
5
- }): Promise<void>;
4
+ nonInteractive?: boolean;
5
+ provider?: string;
6
+ apiKey?: string;
7
+ port?: string;
8
+ importFrom?: string;
9
+ autoConnect?: boolean;
10
+ }
11
+ export declare function registerInitCommand(program: Command): void;
12
+ export declare function quickInit(options?: InitOptions): Promise<void>;
6
13
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,QAQnD;AAED,wBAAsB,SAAS,CAAC,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,iBAsP5D"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,QAsBnD;AAED,wBAAsB,SAAS,CAAC,OAAO,CAAC,EAAE,WAAW,iBA6VpD"}