@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
@@ -3,36 +3,62 @@ import { readFileSync, existsSync, cpSync } from 'node:fs';
3
3
  import { homedir } from 'node:os';
4
4
  import { saveConfig, getDefaultConfigPath, APP_VERSION } from '@markus/shared';
5
5
  import { resolveTemplatesDir } from '../paths.js';
6
+ import { findConnector, scanInstalledPlatforms, readPlatformLLMProviders } from '../connector-service.js';
6
7
  export function registerInitCommand(program) {
7
8
  program
8
9
  .command('init')
9
- .description('Interactive setup wizard: configure LLM provider, API keys, and server settings')
10
+ .description('Setup wizard: configure LLM provider, API keys, and server settings')
10
11
  .option('--force', 'Overwrite existing configuration')
12
+ .option('--non-interactive', 'Run without prompts (use env vars or --import-from)')
13
+ .option('--provider <name>', 'LLM provider (anthropic/openai/google/minimax/siliconflow/ollama)')
14
+ .option('--api-key <key>', 'LLM API key')
15
+ .option('--port <port>', 'API server port', '8056')
16
+ .option('--import-from <platform>', 'Import LLM config from an installed agent platform (e.g. openclaw, hermes)')
17
+ .option('--auto-connect', 'Auto-connect detected agent platforms after init')
11
18
  .action(async (opts) => {
12
- await quickInit({ force: opts.force });
19
+ await quickInit({
20
+ force: opts.force,
21
+ nonInteractive: opts.nonInteractive,
22
+ provider: opts.provider,
23
+ apiKey: opts.apiKey,
24
+ port: opts.port,
25
+ importFrom: opts.importFrom,
26
+ autoConnect: opts.autoConnect,
27
+ });
13
28
  });
14
29
  }
15
30
  export async function quickInit(options) {
16
31
  const { writeFileSync, mkdirSync } = await import('node:fs');
17
32
  const { join: pathJoin } = await import('node:path');
18
33
  const readline = await import('node:readline');
19
- const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
20
- const ask = (q, def) => new Promise(r => rl.question(`${q}${def ? ` [${def}]` : ''}: `, ans => r(ans.trim() || def || '')));
21
- // Welcome banner
34
+ const nonInteractive = options?.nonInteractive ?? false;
35
+ let rl;
36
+ if (!nonInteractive) {
37
+ rl = readline.createInterface({ input: process.stdin, output: process.stdout });
38
+ }
39
+ const ask = (q, def) => {
40
+ if (nonInteractive)
41
+ return Promise.resolve(def || '');
42
+ return new Promise(r => rl.question(`${q}${def ? ` [${def}]` : ''}: `, ans => r(ans.trim() || def || '')));
43
+ };
22
44
  console.log(`
23
45
  ┌─────────────────────────────────────┐
24
46
  │ Markus v${APP_VERSION.padEnd(22)}│
25
47
  │ AI Digital Workforce Platform │
26
48
  └─────────────────────────────────────┘
27
49
  `);
28
- // Check for existing config
29
50
  const configPath = getDefaultConfigPath();
30
51
  if (existsSync(configPath) && !options?.force) {
52
+ if (nonInteractive) {
53
+ console.log(` Existing configuration found. Use --force to overwrite.`);
54
+ rl?.close();
55
+ return;
56
+ }
31
57
  console.log(` Existing configuration found: ${configPath}`);
32
58
  const overwrite = await ask(' Overwrite? (y/n)', 'n');
33
59
  if (overwrite.toLowerCase() !== 'y') {
34
60
  console.log(' Keeping existing config. Use --force to overwrite.');
35
- rl.close();
61
+ rl?.close();
36
62
  return;
37
63
  }
38
64
  console.log('');
@@ -62,6 +88,9 @@ export async function quickInit(options) {
62
88
  if (key)
63
89
  envProviders.push({ provider: def.provider, label: def.label, key, baseUrl: def.baseUrl });
64
90
  }
91
+ // Detect installed agent platforms via connector system
92
+ const installedPlatforms = scanInstalledPlatforms().filter(p => p.installed);
93
+ // Legacy OpenClaw detection (for backward compat)
65
94
  let openclawPath = '';
66
95
  const openclawCandidates = [
67
96
  pathJoin(homedir(), '.openclaw', 'openclaw.json'),
@@ -73,7 +102,6 @@ export async function quickInit(options) {
73
102
  break;
74
103
  }
75
104
  }
76
- // --- Step 2: Show detected sources and let user choose ---
77
105
  const sources = [];
78
106
  if (envProviders.length > 0) {
79
107
  console.log(` Found ${envProviders.length} API key(s) in environment variables:`);
@@ -85,24 +113,52 @@ export async function quickInit(options) {
85
113
  console.log(` Found OpenClaw config: ${openclawPath}`);
86
114
  sources.push('openclaw');
87
115
  }
116
+ for (const ip of installedPlatforms) {
117
+ if (ip.platform !== 'openclaw' && ip.configPath) {
118
+ console.log(` Found ${ip.displayName} config: ${ip.configPath}`);
119
+ sources.push(ip.platform);
120
+ }
121
+ }
88
122
  if (sources.length === 0) {
89
- console.log(' No API keys detected in environment or OpenClaw config.');
123
+ console.log(' No API keys detected in environment or external agent configs.');
90
124
  }
91
125
  console.log('');
126
+ // Non-interactive: determine mode from flags
92
127
  let mode;
93
- if (sources.length > 0) {
94
- const options = [
95
- ...sources.map(s => s === 'env' ? 'env (use environment variables)' : 'openclaw (import from OpenClaw)'),
128
+ if (nonInteractive) {
129
+ if (options?.importFrom) {
130
+ mode = options.importFrom;
131
+ }
132
+ else if (options?.provider) {
133
+ mode = 'manual';
134
+ }
135
+ else if (envProviders.length > 0) {
136
+ mode = 'env';
137
+ }
138
+ else if (sources.length > 0) {
139
+ mode = sources[0];
140
+ }
141
+ else {
142
+ mode = 'manual';
143
+ }
144
+ }
145
+ else if (sources.length > 0) {
146
+ const optionsList = [
147
+ ...sources.map(s => {
148
+ if (s === 'env')
149
+ return 'env (use environment variables)';
150
+ const p = installedPlatforms.find(ip => ip.platform === s);
151
+ return p ? `${s} (import from ${p.displayName})` : `${s} (import)`;
152
+ }),
96
153
  'manual (enter API key manually)',
97
154
  ];
98
- mode = await ask(` Config source? ${options.join(' / ')}`, sources[0]);
99
- if (!['env', 'openclaw', 'manual'].includes(mode))
155
+ mode = await ask(` Config source? ${optionsList.join(' / ')}`, sources[0]);
156
+ if (!['env', 'manual', ...sources].includes(mode))
100
157
  mode = sources[0];
101
158
  }
102
159
  else {
103
160
  mode = 'manual';
104
161
  }
105
- // --- Step 3: Build provider configs based on chosen source ---
106
162
  const providers = {};
107
163
  let defaultProvider = '';
108
164
  if (mode === 'env') {
@@ -117,7 +173,7 @@ export async function quickInit(options) {
117
173
  }
118
174
  defaultProvider = envProviders[0].provider;
119
175
  console.log(`\n Importing ${envProviders.length} provider(s) from environment variables.`);
120
- if (envProviders.length > 1) {
176
+ if (envProviders.length > 1 && !nonInteractive) {
121
177
  const choices = envProviders.map(e => e.provider).join('/');
122
178
  defaultProvider = await ask(` Default provider? (${choices})`, defaultProvider);
123
179
  if (!providers[defaultProvider])
@@ -125,6 +181,7 @@ export async function quickInit(options) {
125
181
  }
126
182
  }
127
183
  else if (mode === 'openclaw') {
184
+ // Legacy OpenClaw import path
128
185
  try {
129
186
  const raw = readFileSync(openclawPath, 'utf-8');
130
187
  const cleaned = raw
@@ -145,7 +202,7 @@ export async function quickInit(options) {
145
202
  }
146
203
  if (provNames.length > 0)
147
204
  defaultProvider = provNames[0];
148
- if (provNames.length > 1) {
205
+ if (provNames.length > 1 && !nonInteractive) {
149
206
  defaultProvider = await ask(` Default provider? (${provNames.join('/')})`, defaultProvider);
150
207
  if (!providers[defaultProvider])
151
208
  defaultProvider = provNames[0];
@@ -161,30 +218,87 @@ export async function quickInit(options) {
161
218
  mode = 'manual';
162
219
  }
163
220
  }
221
+ else if (mode !== 'manual') {
222
+ // Generic platform import via connector system
223
+ const connector = findConnector(mode);
224
+ if (connector) {
225
+ const llmProviders = readPlatformLLMProviders(connector);
226
+ if (llmProviders) {
227
+ const provNames = Object.keys(llmProviders);
228
+ console.log(`\n Found ${provNames.length} provider(s) in ${connector.displayName} config.`);
229
+ for (const [name, cfg] of Object.entries(llmProviders)) {
230
+ const c = cfg;
231
+ providers[name] = {
232
+ ...(c.baseUrl ? { baseUrl: c.baseUrl } : {}),
233
+ ...(c.model ? { model: c.model } : {}),
234
+ ...(c.apiKey ? { apiKey: c.apiKey } : {}),
235
+ enabled: true,
236
+ };
237
+ }
238
+ if (provNames.length > 0)
239
+ defaultProvider = provNames[0];
240
+ if (provNames.length > 1 && !nonInteractive) {
241
+ defaultProvider = await ask(` Default provider? (${provNames.join('/')})`, defaultProvider);
242
+ if (!providers[defaultProvider])
243
+ defaultProvider = provNames[0];
244
+ }
245
+ }
246
+ else {
247
+ console.log(`\n No LLM providers found in ${connector.displayName} config, switching to manual mode.`);
248
+ mode = 'manual';
249
+ }
250
+ }
251
+ else {
252
+ mode = 'manual';
253
+ }
254
+ }
164
255
  if (mode === 'manual') {
165
- const provider = await ask(' LLM provider (anthropic/openai/google/minimax/siliconflow/ollama)', 'anthropic');
166
- defaultProvider = provider;
167
- let apiKey = '';
168
- if (provider !== 'ollama') {
169
- apiKey = await ask(` ${provider} API Key`) ?? '';
170
- }
171
- if (apiKey || provider === 'ollama') {
172
- const baseUrlMap = {
173
- minimax: 'https://api.minimax.io/v1',
174
- siliconflow: 'https://api.siliconflow.cn/v1',
175
- };
176
- providers[provider] = {
177
- ...(apiKey ? { apiKey } : {}),
178
- model: MODEL_MAP[provider],
179
- ...(baseUrlMap[provider] ? { baseUrl: baseUrlMap[provider] } : {}),
180
- enabled: true,
181
- };
256
+ if (nonInteractive) {
257
+ const provider = options?.provider || 'anthropic';
258
+ defaultProvider = provider;
259
+ const apiKey = options?.apiKey || process.env['ANTHROPIC_API_KEY'] || process.env['OPENAI_API_KEY'] || '';
260
+ if (apiKey || provider === 'ollama') {
261
+ const baseUrlMap = {
262
+ minimax: 'https://api.minimax.io/v1',
263
+ siliconflow: 'https://api.siliconflow.cn/v1',
264
+ };
265
+ providers[provider] = {
266
+ ...(apiKey ? { apiKey } : {}),
267
+ model: MODEL_MAP[provider],
268
+ ...(baseUrlMap[provider] ? { baseUrl: baseUrlMap[provider] } : {}),
269
+ enabled: true,
270
+ };
271
+ console.log(` Using provider: ${provider}`);
272
+ }
273
+ else {
274
+ console.log(' Warning: No API key provided. Configure manually in ~/.markus/markus.json');
275
+ }
276
+ }
277
+ else {
278
+ const provider = await ask(' LLM provider (anthropic/openai/google/minimax/siliconflow/ollama)', 'anthropic');
279
+ defaultProvider = provider;
280
+ let apiKey = '';
281
+ if (provider !== 'ollama') {
282
+ apiKey = await ask(` ${provider} API Key`) ?? '';
283
+ }
284
+ if (apiKey || provider === 'ollama') {
285
+ const baseUrlMap = {
286
+ minimax: 'https://api.minimax.io/v1',
287
+ siliconflow: 'https://api.siliconflow.cn/v1',
288
+ };
289
+ providers[provider] = {
290
+ ...(apiKey ? { apiKey } : {}),
291
+ model: MODEL_MAP[provider],
292
+ ...(baseUrlMap[provider] ? { baseUrl: baseUrlMap[provider] } : {}),
293
+ enabled: true,
294
+ };
295
+ }
182
296
  }
183
297
  }
184
298
  // --- Step 4: Server settings ---
185
299
  console.log('\n [2/3] Server Settings\n');
186
- const port = await ask(' API Port', '8056');
187
- rl.close();
300
+ const port = nonInteractive ? (options?.port || '8056') : await ask(' API Port', '8056');
301
+ rl?.close();
188
302
  // --- Step 5: Save config ---
189
303
  console.log('\n [3/3] Saving Configuration\n');
190
304
  const configUpdates = {
@@ -232,6 +346,8 @@ export async function quickInit(options) {
232
346
  console.log(' Created default developer role template.');
233
347
  }
234
348
  const apiPort = parseInt(port) || 8056;
349
+ // Detect external agent platforms for hint
350
+ const detectedPlatforms = scanInstalledPlatforms().filter(p => p.installed);
235
351
  console.log(`
236
352
  ┌─────────────────────────────────────┐
237
353
  │ Setup Complete! │
@@ -242,10 +358,21 @@ export async function quickInit(options) {
242
358
  markus start Start the server
243
359
  markus agent list List agents
244
360
  markus --help Show all commands
245
-
246
- Config: ${configPath}
247
- Data: ${pathJoin(homedir(), '.markus')}
248
- Server: http://localhost:${apiPort}
249
361
  `);
362
+ if (detectedPlatforms.length > 0) {
363
+ console.log(` Detected external agent platforms:`);
364
+ for (const p of detectedPlatforms) {
365
+ console.log(` - ${p.displayName} (${p.platform})`);
366
+ }
367
+ console.log(`\n Connect them after starting the server:`);
368
+ for (const p of detectedPlatforms) {
369
+ console.log(` markus connect add ${p.platform}`);
370
+ }
371
+ console.log('');
372
+ }
373
+ console.log(` Config: ${configPath}`);
374
+ console.log(` Data: ${pathJoin(homedir(), '.markus')}`);
375
+ console.log(` Server: http://localhost:${apiPort}`);
376
+ console.log('');
250
377
  }
251
378
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerInstallAgentCommands(program: Command): void;
3
+ //# sourceMappingURL=install-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-agent.d.ts","sourceRoot":"","sources":["../../src/commands/install-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,QAoJ5D"}
@@ -0,0 +1,146 @@
1
+ import { execSync } from 'node:child_process';
2
+ import { randomBytes } from 'node:crypto';
3
+ import { createClient, ApiError } from '../api-client.js';
4
+ import { fail } from '../output.js';
5
+ import { findConnector, loadConnectors, scanInstalledPlatforms, writePlatformConfig, installSkillTemplate, } from '../connector-service.js';
6
+ export function registerInstallAgentCommands(program) {
7
+ program
8
+ .command('install <platform>')
9
+ .description('Install an external agent platform and connect it to Markus')
10
+ .option('--org-id <id>', 'Organization ID', 'default')
11
+ .option('--agent-name <name>', 'Agent display name')
12
+ .option('--skip-install', 'Skip npm install (platform already installed)')
13
+ .option('--skip-init', 'Skip platform initialization')
14
+ .option('--skip-connect', 'Only install, do not register with Markus')
15
+ .action(async (platform, opts, cmd) => {
16
+ const g = cmd.optsWithGlobals();
17
+ const connector = findConnector(platform);
18
+ if (!connector) {
19
+ const available = loadConnectors().map(c => c.platform).join(', ');
20
+ fail(`Unknown platform "${platform}". Available: ${available || 'none'}`);
21
+ return;
22
+ }
23
+ console.log(`\n Installing ${connector.displayName}...\n`);
24
+ // Step 1: Check if already installed
25
+ const scan = scanInstalledPlatforms();
26
+ const existing = scan.find(s => s.platform === platform);
27
+ const alreadyInstalled = existing?.installed;
28
+ if (alreadyInstalled && !opts.skipInstall) {
29
+ console.log(` [1/5] ${connector.displayName} is already installed.`);
30
+ }
31
+ else if (opts.skipInstall) {
32
+ console.log(` [1/5] Skipping installation (--skip-install).`);
33
+ }
34
+ else {
35
+ // Install via npm or custom command
36
+ const installCmd = connector.installation.installCommand
37
+ ?? (connector.installation.npmPackage ? `npm install -g ${connector.installation.npmPackage}` : null);
38
+ if (!installCmd) {
39
+ fail(`No installation method defined for ${connector.displayName}.`);
40
+ return;
41
+ }
42
+ console.log(` [1/5] Installing: ${installCmd}`);
43
+ try {
44
+ execSync(installCmd, { stdio: 'inherit', timeout: 300_000 });
45
+ console.log(` Installation complete.`);
46
+ }
47
+ catch (e) {
48
+ fail(`Installation failed: ${e instanceof Error ? e.message : String(e)}`);
49
+ return;
50
+ }
51
+ }
52
+ // Step 2: Initialize the platform
53
+ if (!opts.skipInit && connector.installation.initCommand) {
54
+ console.log(` [2/5] Initializing: ${connector.installation.initCommand}`);
55
+ try {
56
+ execSync(connector.installation.initCommand, { stdio: 'inherit', timeout: 120_000 });
57
+ }
58
+ catch (e) {
59
+ console.log(` Warning: init command failed (${e instanceof Error ? e.message : String(e)}). Continuing...`);
60
+ }
61
+ }
62
+ else {
63
+ console.log(` [2/5] Initialization skipped.`);
64
+ }
65
+ if (opts.skipConnect) {
66
+ console.log(` [3/5] Connection skipped (--skip-connect).`);
67
+ console.log(` [4/5] Token generation skipped.`);
68
+ console.log(` [5/5] Config write skipped.`);
69
+ console.log(`\n ${connector.displayName} installed. Run \`markus connect add ${platform}\` to connect later.\n`);
70
+ return;
71
+ }
72
+ // Step 3-5: Register, authenticate, and configure (same as `markus connect add`)
73
+ const client = createClient(g);
74
+ const serverUrl = g.server || process.env['MARKUS_API_URL'] || 'http://localhost:8056';
75
+ const agentId = `${platform}-${randomBytes(4).toString('hex')}`;
76
+ const agentName = opts.agentName || connector.defaultAgentName || `${connector.displayName} Agent`;
77
+ const capabilities = connector.defaultCapabilities ?? [];
78
+ try {
79
+ console.log(` [3/5] Registering ${connector.displayName} with Markus...`);
80
+ const reg = await client.post('/gateway/register', {
81
+ agentId,
82
+ agentName,
83
+ orgId: opts.orgId,
84
+ capabilities,
85
+ platform: connector.platform,
86
+ });
87
+ const markusAgentId = reg['markusAgentId'];
88
+ console.log(` Registered: ${agentId} → ${markusAgentId ?? 'N/A'}`);
89
+ // Authenticate
90
+ console.log(` [4/5] Generating auth token...`);
91
+ let token;
92
+ try {
93
+ const infoRes = await client.get('/gateway/info');
94
+ const secret = infoRes['orgSecretFull'];
95
+ const authRes = await client.post('/gateway/auth', {
96
+ agentId,
97
+ orgId: opts.orgId,
98
+ secret,
99
+ });
100
+ token = authRes['token'];
101
+ console.log(` Token ready.`);
102
+ }
103
+ catch {
104
+ console.log(` Warning: auto-auth failed. Authenticate manually later.`);
105
+ }
106
+ // Write config + install skill
107
+ console.log(` [5/5] Configuring ${connector.displayName}...`);
108
+ let configUpdated = false;
109
+ if (token) {
110
+ configUpdated = writePlatformConfig(connector, serverUrl, token);
111
+ if (configUpdated) {
112
+ console.log(` Config updated: ${connector.integration.configPath}`);
113
+ }
114
+ }
115
+ const skillInstalled = installSkillTemplate(connector);
116
+ if (skillInstalled) {
117
+ console.log(` Skill template installed.`);
118
+ }
119
+ // Summary
120
+ console.log(`\n ┌─────────────────────────────────────┐`);
121
+ console.log(` │ Install & Connect Complete! │`);
122
+ console.log(` └─────────────────────────────────────┘`);
123
+ console.log(`\n Platform: ${connector.displayName}`);
124
+ console.log(` External Agent ID: ${agentId}`);
125
+ console.log(` Markus Agent ID: ${markusAgentId ?? 'N/A'}`);
126
+ if (connector.installation.startCommand) {
127
+ console.log(`\n To start ${connector.displayName}:`);
128
+ console.log(` ${connector.installation.startCommand}`);
129
+ }
130
+ console.log(`\n To verify connection:`);
131
+ console.log(` markus connect status`);
132
+ console.log('');
133
+ }
134
+ catch (e) {
135
+ if (e instanceof ApiError) {
136
+ console.error(`\n Connection failed: ${e.message}`);
137
+ console.log(` ${connector.displayName} was installed but could not connect to Markus.`);
138
+ console.log(` Make sure the Markus server is running (\`markus start\`), then run:`);
139
+ console.log(` markus connect add ${platform}\n`);
140
+ return;
141
+ }
142
+ throw e;
143
+ }
144
+ });
145
+ }
146
+ //# sourceMappingURL=install-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-agent.js","sourceRoot":"","sources":["../../src/commands/install-agent.ts"],"names":[],"mappings":"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"}