@markus-global/cli 0.7.3-rc.2 → 0.7.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.
Files changed (109) hide show
  1. package/dist/commands/agent.d.ts.map +1 -1
  2. package/dist/commands/agent.js +2 -149
  3. package/dist/commands/agent.js.map +1 -1
  4. package/dist/commands/doctor.js +1 -1
  5. package/dist/commands/doctor.js.map +1 -1
  6. package/dist/commands/init.js +2 -2
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/install-agent.d.ts.map +1 -1
  9. package/dist/commands/install-agent.js +4 -5
  10. package/dist/commands/install-agent.js.map +1 -1
  11. package/dist/commands/system.d.ts.map +1 -1
  12. package/dist/commands/system.js +3 -124
  13. package/dist/commands/system.js.map +1 -1
  14. package/dist/index.js +4 -57
  15. package/dist/index.js.map +1 -1
  16. package/dist/markus.mjs +580 -3213
  17. package/dist/tray.js +6 -2
  18. package/dist/tray.js.map +1 -1
  19. package/dist/tray.mjs +4 -2
  20. package/dist/utils/logger.d.ts +1 -1
  21. package/dist/utils/logger.js +1 -1
  22. package/dist/web-ui/assets/{browser-CIXBeJ4H.js → browser-hOSqGAXu.js} +1 -1
  23. package/dist/web-ui/assets/index-ThJZw2FP.js +706 -0
  24. package/dist/web-ui/assets/index-r_zg4Nsa.css +1 -0
  25. package/dist/web-ui/index.html +2 -2
  26. package/package.json +1 -1
  27. package/templates/skills/markus-admin-cli/SKILL.md +23 -96
  28. package/dist/commands/approval.d.ts +0 -3
  29. package/dist/commands/approval.d.ts.map +0 -1
  30. package/dist/commands/approval.js +0 -59
  31. package/dist/commands/approval.js.map +0 -1
  32. package/dist/commands/audit.d.ts +0 -3
  33. package/dist/commands/audit.d.ts.map +0 -1
  34. package/dist/commands/audit.js +0 -92
  35. package/dist/commands/audit.js.map +0 -1
  36. package/dist/commands/builder.d.ts +0 -3
  37. package/dist/commands/builder.d.ts.map +0 -1
  38. package/dist/commands/builder.js +0 -85
  39. package/dist/commands/builder.js.map +0 -1
  40. package/dist/commands/channel.d.ts +0 -3
  41. package/dist/commands/channel.d.ts.map +0 -1
  42. package/dist/commands/channel.js +0 -259
  43. package/dist/commands/channel.js.map +0 -1
  44. package/dist/commands/connect.d.ts +0 -3
  45. package/dist/commands/connect.d.ts.map +0 -1
  46. package/dist/commands/connect.js +0 -267
  47. package/dist/commands/connect.js.map +0 -1
  48. package/dist/commands/deliverable.d.ts +0 -3
  49. package/dist/commands/deliverable.d.ts.map +0 -1
  50. package/dist/commands/deliverable.js +0 -127
  51. package/dist/commands/deliverable.js.map +0 -1
  52. package/dist/commands/external-agent.d.ts +0 -3
  53. package/dist/commands/external-agent.d.ts.map +0 -1
  54. package/dist/commands/external-agent.js +0 -79
  55. package/dist/commands/external-agent.js.map +0 -1
  56. package/dist/commands/gateway.d.ts +0 -3
  57. package/dist/commands/gateway.d.ts.map +0 -1
  58. package/dist/commands/gateway.js +0 -91
  59. package/dist/commands/gateway.js.map +0 -1
  60. package/dist/commands/key.d.ts +0 -3
  61. package/dist/commands/key.d.ts.map +0 -1
  62. package/dist/commands/key.js +0 -68
  63. package/dist/commands/key.js.map +0 -1
  64. package/dist/commands/project.d.ts +0 -3
  65. package/dist/commands/project.d.ts.map +0 -1
  66. package/dist/commands/project.js +0 -164
  67. package/dist/commands/project.js.map +0 -1
  68. package/dist/commands/report.d.ts +0 -3
  69. package/dist/commands/report.d.ts.map +0 -1
  70. package/dist/commands/report.js +0 -99
  71. package/dist/commands/report.js.map +0 -1
  72. package/dist/commands/requirement.d.ts +0 -3
  73. package/dist/commands/requirement.d.ts.map +0 -1
  74. package/dist/commands/requirement.js +0 -197
  75. package/dist/commands/requirement.js.map +0 -1
  76. package/dist/commands/review.d.ts +0 -3
  77. package/dist/commands/review.d.ts.map +0 -1
  78. package/dist/commands/review.js +0 -71
  79. package/dist/commands/review.js.map +0 -1
  80. package/dist/commands/role.d.ts +0 -3
  81. package/dist/commands/role.d.ts.map +0 -1
  82. package/dist/commands/role.js +0 -39
  83. package/dist/commands/role.js.map +0 -1
  84. package/dist/commands/settings.d.ts +0 -3
  85. package/dist/commands/settings.d.ts.map +0 -1
  86. package/dist/commands/settings.js +0 -53
  87. package/dist/commands/settings.js.map +0 -1
  88. package/dist/commands/skill.d.ts +0 -3
  89. package/dist/commands/skill.d.ts.map +0 -1
  90. package/dist/commands/skill.js +0 -136
  91. package/dist/commands/skill.js.map +0 -1
  92. package/dist/commands/task.d.ts +0 -3
  93. package/dist/commands/task.d.ts.map +0 -1
  94. package/dist/commands/task.js +0 -510
  95. package/dist/commands/task.js.map +0 -1
  96. package/dist/commands/team.d.ts +0 -3
  97. package/dist/commands/team.d.ts.map +0 -1
  98. package/dist/commands/team.js +0 -312
  99. package/dist/commands/team.js.map +0 -1
  100. package/dist/commands/template.d.ts +0 -3
  101. package/dist/commands/template.d.ts.map +0 -1
  102. package/dist/commands/template.js +0 -77
  103. package/dist/commands/template.js.map +0 -1
  104. package/dist/commands/user.d.ts +0 -3
  105. package/dist/commands/user.d.ts.map +0 -1
  106. package/dist/commands/user.js +0 -68
  107. package/dist/commands/user.js.map +0 -1
  108. package/dist/web-ui/assets/index-BUO-8jKv.js +0 -706
  109. package/dist/web-ui/assets/index-DxTg9YFr.css +0 -1
@@ -1,127 +0,0 @@
1
- import { createClient, ApiError } from '../api-client.js';
2
- import { table, success, fail, extractRows } from '../output.js';
3
- export function registerDeliverableCommands(program) {
4
- const root = program.command('deliverable').description('Manage deliverables');
5
- root
6
- .command('list')
7
- .option('--query <q>')
8
- .option('--project-id <id>')
9
- .option('--agent-id <id>')
10
- .option('--type <t>')
11
- .option('--status <s>')
12
- .option('--limit <n>')
13
- .action(async (opts, cmd) => {
14
- const g = cmd.optsWithGlobals();
15
- const client = createClient(g);
16
- const out = { json: !!g.json };
17
- try {
18
- const data = await client.get('/deliverables', {
19
- query: opts.query,
20
- projectId: opts.projectId,
21
- agentId: opts.agentId,
22
- type: opts.type,
23
- status: opts.status,
24
- limit: opts.limit,
25
- });
26
- const rows = extractRows(data);
27
- table(rows, [
28
- { key: 'id', header: 'ID', width: 28 },
29
- { key: 'type', header: 'Type', width: 10 },
30
- { key: 'title', header: 'Title', width: 30 },
31
- { key: 'status', header: 'Status', width: 10 },
32
- { key: 'agentId', header: 'Agent', width: 28 },
33
- ], { ...out, title: `Deliverables (${data.total ?? rows.length} total)` });
34
- }
35
- catch (e) {
36
- if (e instanceof ApiError)
37
- fail(e.message);
38
- throw e;
39
- }
40
- });
41
- root
42
- .command('create')
43
- .requiredOption('--type <t>')
44
- .requiredOption('--title <t>')
45
- .option('--summary <s>')
46
- .option('--reference <r>')
47
- .option('--tags <csv>')
48
- .option('--task-id <id>')
49
- .option('--agent-id <id>')
50
- .option('--project-id <id>')
51
- .action(async (opts, cmd) => {
52
- const g = cmd.optsWithGlobals();
53
- const client = createClient(g);
54
- const out = { json: !!g.json };
55
- const tags = opts.tags ? String(opts.tags).split(',').map(s => s.trim()).filter(Boolean) : undefined;
56
- try {
57
- const body = {
58
- type: opts.type,
59
- title: opts.title,
60
- ...(opts.summary !== undefined && { summary: opts.summary }),
61
- ...(opts.reference !== undefined && { reference: opts.reference }),
62
- ...(tags && { tags }),
63
- ...(opts.taskId && { taskId: opts.taskId }),
64
- ...(opts.agentId && { agentId: opts.agentId }),
65
- ...(opts.projectId && { projectId: opts.projectId }),
66
- };
67
- const data = await client.post('/deliverables', body);
68
- success('Deliverable created', data, out);
69
- }
70
- catch (e) {
71
- if (e instanceof ApiError)
72
- fail(e.message);
73
- throw e;
74
- }
75
- });
76
- root
77
- .command('update <id>')
78
- .option('--title <t>')
79
- .option('--summary <s>')
80
- .option('--reference <r>')
81
- .option('--tags <csv>')
82
- .option('--status <s>')
83
- .option('--type <t>')
84
- .action(async (id, opts, cmd) => {
85
- const g = cmd.optsWithGlobals();
86
- const client = createClient(g);
87
- const out = { json: !!g.json };
88
- const tags = opts.tags ? String(opts.tags).split(',').map(s => s.trim()).filter(Boolean) : undefined;
89
- const body = {};
90
- if (opts.title !== undefined)
91
- body['title'] = opts.title;
92
- if (opts.summary !== undefined)
93
- body['summary'] = opts.summary;
94
- if (opts.reference !== undefined)
95
- body['reference'] = opts.reference;
96
- if (tags)
97
- body['tags'] = tags;
98
- if (opts.status !== undefined)
99
- body['status'] = opts.status;
100
- if (opts.type !== undefined)
101
- body['type'] = opts.type;
102
- try {
103
- const data = await client.put(`/deliverables/${id}`, body);
104
- success('Deliverable updated', data, out);
105
- }
106
- catch (e) {
107
- if (e instanceof ApiError)
108
- fail(e.message);
109
- throw e;
110
- }
111
- });
112
- root.command('delete <id>').action(async (id, _opts, cmd) => {
113
- const g = cmd.optsWithGlobals();
114
- const client = createClient(g);
115
- const out = { json: !!g.json };
116
- try {
117
- const data = await client.delete(`/deliverables/${id}`);
118
- success('Deliverable deleted', data, out);
119
- }
120
- catch (e) {
121
- if (e instanceof ApiError)
122
- fail(e.message);
123
- throw e;
124
- }
125
- });
126
- }
127
- //# sourceMappingURL=deliverable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deliverable.js","sourceRoot":"","sources":["../../src/commands/deliverable.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from 'commander';
2
- export declare function registerExternalAgentCommands(program: Command): void;
3
- //# sourceMappingURL=external-agent.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,79 +0,0 @@
1
- import { createClient, ApiError } from '../api-client.js';
2
- import { table, success, fail, extractRows } from '../output.js';
3
- export function registerExternalAgentCommands(program) {
4
- const root = program.command('external-agent').description('External agents');
5
- root
6
- .command('list')
7
- .option('--org-id <id>')
8
- .action(async (opts, cmd) => {
9
- const g = cmd.optsWithGlobals();
10
- const client = createClient(g);
11
- const out = { json: !!g.json };
12
- try {
13
- const data = await client.get('/external-agents', opts.orgId ? { orgId: opts.orgId } : undefined);
14
- const rows = extractRows(data);
15
- table(rows, [
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 },
21
- ], { ...out, title: 'External agents' });
22
- }
23
- catch (e) {
24
- if (e instanceof ApiError)
25
- fail(e.message);
26
- throw e;
27
- }
28
- });
29
- root
30
- .command('register')
31
- .option('--org-id <id>')
32
- .requiredOption('--agent-id <id>')
33
- .requiredOption('--name <n>')
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')
37
- .action(async (opts, cmd) => {
38
- const g = cmd.optsWithGlobals();
39
- const client = createClient(g);
40
- const out = { json: !!g.json };
41
- const caps = opts.capabilities
42
- ? String(opts.capabilities).split(',').map(s => s.trim()).filter(Boolean)
43
- : undefined;
44
- try {
45
- const data = await client.post('/external-agents/register', {
46
- agentId: opts.agentId,
47
- name: opts.name,
48
- ...(opts.orgId && { orgId: opts.orgId }),
49
- ...(caps && { capabilities: caps }),
50
- ...(opts.platform && { platform: opts.platform }),
51
- ...(opts.agentCardUrl && { agentCardUrl: opts.agentCardUrl }),
52
- });
53
- success('External agent registered', data, out);
54
- }
55
- catch (e) {
56
- if (e instanceof ApiError)
57
- fail(e.message);
58
- throw e;
59
- }
60
- });
61
- root
62
- .command('delete <id>')
63
- .option('--org-id <id>')
64
- .action(async (id, opts, cmd) => {
65
- const g = cmd.optsWithGlobals();
66
- const client = createClient(g);
67
- const out = { json: !!g.json };
68
- try {
69
- const data = await client.delete(`/external-agents/${encodeURIComponent(id)}`, opts.orgId ? { orgId: opts.orgId } : undefined);
70
- success('External agent deleted', data, out);
71
- }
72
- catch (e) {
73
- if (e instanceof ApiError)
74
- fail(e.message);
75
- throw e;
76
- }
77
- });
78
- }
79
- //# sourceMappingURL=external-agent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"external-agent.js","sourceRoot":"","sources":["../../src/commands/external-agent.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from 'commander';
2
- export declare function registerGatewayCommand(program: Command): void;
3
- //# sourceMappingURL=gateway.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/commands/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,QA6FtD"}
@@ -1,91 +0,0 @@
1
- import { loadConfig } from '@markus/shared';
2
- const C = { GREEN: '\x1b[32m', YELLOW: '\x1b[33m', CYAN: '\x1b[36m', DIM: '\x1b[2m', RESET: '\x1b[0m', BOLD: '\x1b[1m' };
3
- const ok = (t, d = '') => console.log(` ${C.GREEN}✓${C.RESET} ${t}${d ? ` ${C.DIM}${d}${C.RESET}` : ''}`);
4
- const warn = (t, d = '') => console.log(` ${C.YELLOW}⚠${C.RESET} ${t}${d ? ` ${C.DIM}${d}${C.RESET}` : ''}`);
5
- const info = (t) => console.log(` ${C.CYAN}→${C.RESET} ${t}`);
6
- export function registerGatewayCommand(program) {
7
- const gateway = program
8
- .command('gateway')
9
- .description('Gateway service management (status, config, logs)');
10
- gateway
11
- .command('status')
12
- .description('Show gateway service status')
13
- .action(async () => {
14
- const config = loadConfig(undefined);
15
- const secret = config.security?.gatewaySecret ?? '';
16
- const secretMasked = secret.length > 8 ? secret.slice(0, 4) + '****' + secret.slice(-3) : '****';
17
- console.log(`\n${C.BOLD}╔══════════════════════════════════════════════════════════════╗
18
- ║ ${C.CYAN}Markus Gateway Status${C.RESET}${C.BOLD} ║
19
- ╚══════════════════════════════════════════════════════════════╝${C.RESET}\n`);
20
- const port = config.server?.apiPort ?? 8056;
21
- try {
22
- const res = await fetch(`http://localhost:${port}/health`, {
23
- signal: AbortSignal.timeout(2000),
24
- });
25
- if (res.ok) {
26
- ok('Gateway API', `running on port ${port}`);
27
- }
28
- }
29
- catch {
30
- warn('Gateway API', `not reachable on port ${port}`);
31
- info('Start with: markus start');
32
- }
33
- console.log(`\n ${C.BOLD}Configuration:${C.RESET}`);
34
- info(`API Port: ${config.server?.apiPort ?? 8056}`);
35
- info(`Web Port: ${config.server?.webPort ?? 8057}`);
36
- info(`Gateway Secret: ${secretMasked}`);
37
- const integrations = config.integrations ?? {};
38
- const channels = Object.keys(integrations).filter(k => !!integrations[k]);
39
- if (channels.length > 0) {
40
- console.log(`\n ${C.BOLD}Active Channels:${C.RESET}`);
41
- for (const ch of channels) {
42
- info(ch);
43
- }
44
- }
45
- console.log('');
46
- });
47
- gateway
48
- .command('logs')
49
- .description('Show recent gateway logs')
50
- .option('--lines <n>', 'Number of lines', '50')
51
- .action(async (opts) => {
52
- const lines = parseInt(opts.lines ?? '50', 10);
53
- const { homedir } = await import('node:os');
54
- const { join } = await import('node:path');
55
- const fs = await import('node:fs');
56
- const logPath = join(homedir(), '.markus', 'logs', 'markus.log');
57
- if (!fs.existsSync(logPath)) {
58
- warn('No log file found', logPath);
59
- return;
60
- }
61
- try {
62
- const content = fs.readFileSync(logPath, 'utf8');
63
- const allLines = content.split('\n');
64
- const recent = allLines.slice(-lines);
65
- for (const line of recent) {
66
- console.log(line);
67
- }
68
- }
69
- catch (e) {
70
- warn(`Could not read log file: ${e}`);
71
- }
72
- });
73
- gateway
74
- .command('config')
75
- .description('Show current gateway configuration (masked)')
76
- .action(async () => {
77
- const config = loadConfig(undefined);
78
- const safe = JSON.stringify(config, (key, value) => {
79
- if (typeof value === 'string' &&
80
- (key.toLowerCase().includes('secret') ||
81
- key.toLowerCase().includes('key') ||
82
- key.toLowerCase().includes('token')) &&
83
- value.length > 8) {
84
- return value.slice(0, 4) + '****' + value.slice(-3);
85
- }
86
- return value;
87
- }, 2);
88
- console.log(safe);
89
- });
90
- }
91
- //# sourceMappingURL=gateway.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/commands/gateway.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from 'commander';
2
- export declare function registerKeyCommands(program: Command): void;
3
- //# sourceMappingURL=key.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/commands/key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,QA4DnD"}
@@ -1,68 +0,0 @@
1
- import { createClient, ApiError } from '../api-client.js';
2
- import { table, success, fail, extractRows } from '../output.js';
3
- export function registerKeyCommands(program) {
4
- const root = program.command('key').description('API keys');
5
- root
6
- .command('list')
7
- .option('--org-id <id>')
8
- .action(async (opts, cmd) => {
9
- const g = cmd.optsWithGlobals();
10
- const client = createClient(g);
11
- const out = { json: !!g.json };
12
- try {
13
- const data = await client.get('/keys', opts.orgId ? { orgId: opts.orgId } : undefined);
14
- const rows = extractRows(data);
15
- table(rows, [
16
- { key: 'id', header: 'ID', width: 28 },
17
- { key: 'name', header: 'Name', width: 20 },
18
- { key: 'createdAt', header: 'Created', width: 24 },
19
- ], { ...out, title: 'Keys' });
20
- }
21
- catch (e) {
22
- if (e instanceof ApiError)
23
- fail(e.message);
24
- throw e;
25
- }
26
- });
27
- root
28
- .command('create')
29
- .option('--name <n>')
30
- .option('--org-id <id>')
31
- .action(async (opts, cmd) => {
32
- const g = cmd.optsWithGlobals();
33
- const client = createClient(g);
34
- const out = { json: !!g.json };
35
- try {
36
- const data = await client.post('/keys', {
37
- ...(opts.name && { name: opts.name }),
38
- ...(opts.orgId && { orgId: opts.orgId }),
39
- });
40
- success('API key created', data, out);
41
- if (!out.json && data) {
42
- const t = data['token'] ?? data['key'] ?? data['apiKey'];
43
- if (t)
44
- console.log(`Token: ${t}`);
45
- }
46
- }
47
- catch (e) {
48
- if (e instanceof ApiError)
49
- fail(e.message);
50
- throw e;
51
- }
52
- });
53
- root.command('delete <id>').action(async (id, _opts, cmd) => {
54
- const g = cmd.optsWithGlobals();
55
- const client = createClient(g);
56
- const out = { json: !!g.json };
57
- try {
58
- const data = await client.delete(`/keys/${encodeURIComponent(id)}`);
59
- success('Key deleted', data, out);
60
- }
61
- catch (e) {
62
- if (e instanceof ApiError)
63
- fail(e.message);
64
- throw e;
65
- }
66
- });
67
- }
68
- //# sourceMappingURL=key.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"key.js","sourceRoot":"","sources":["../../src/commands/key.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from 'commander';
2
- export declare function registerProjectCommands(program: Command): Command;
3
- //# sourceMappingURL=project.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8BzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAgJjE"}
@@ -1,164 +0,0 @@
1
- import { ApiError, createClient } from '../api-client.js';
2
- import { detail, fail, success, table } from '../output.js';
3
- function outOpts(cmd) {
4
- const g = cmd.optsWithGlobals();
5
- return { json: !!g.json };
6
- }
7
- function truncate(s, max) {
8
- if (s.length <= max)
9
- return s;
10
- return s.slice(0, max - 1) + '…';
11
- }
12
- function parseRepositories(raw) {
13
- if (!raw?.trim())
14
- return undefined;
15
- try {
16
- const parsed = JSON.parse(raw);
17
- return Array.isArray(parsed) ? parsed : undefined;
18
- }
19
- catch {
20
- fail('Invalid JSON for --repositories (expected a JSON array)');
21
- }
22
- }
23
- function parseTeamIds(raw) {
24
- if (!raw?.trim())
25
- return undefined;
26
- const ids = raw.split(',').map(s => s.trim()).filter(Boolean);
27
- return ids.length ? ids : undefined;
28
- }
29
- export function registerProjectCommands(program) {
30
- const project = program.command('project').description('Manage projects');
31
- project
32
- .command('list')
33
- .description('List projects')
34
- .option('--org-id <id>', 'Organization id')
35
- .action(async (_opts, cmd) => {
36
- const globalOpts = cmd.optsWithGlobals();
37
- const client = createClient(globalOpts);
38
- const opts = { json: !!globalOpts.json };
39
- try {
40
- const res = await client.get('/projects', {
41
- orgId: globalOpts.orgId,
42
- });
43
- const projects = res.projects ?? [];
44
- if (opts.json) {
45
- console.log(JSON.stringify(projects, null, 2));
46
- return;
47
- }
48
- table(projects, [
49
- { key: 'id', header: 'id', width: 30 },
50
- { key: 'name', header: 'name', width: 20 },
51
- { key: 'status', header: 'status', width: 8 },
52
- { key: 'description', header: 'description', width: 30 },
53
- ], { title: 'Projects' });
54
- }
55
- catch (e) {
56
- if (e instanceof ApiError)
57
- fail(e.message);
58
- throw e;
59
- }
60
- });
61
- project
62
- .command('get <id>')
63
- .description('Get a project by id')
64
- .action(async (id, _opts, cmd) => {
65
- const globalOpts = cmd.optsWithGlobals();
66
- const client = createClient(globalOpts);
67
- const opts = outOpts(cmd);
68
- try {
69
- const res = await client.get(`/projects/${encodeURIComponent(id)}`);
70
- detail(res.project ?? {}, { ...opts, title: `Project ${id}` });
71
- }
72
- catch (e) {
73
- if (e instanceof ApiError)
74
- fail(e.message);
75
- throw e;
76
- }
77
- });
78
- project
79
- .command('create')
80
- .description('Create a project')
81
- .requiredOption('--name <name>', 'Project name')
82
- .option('--description <text>', 'Description')
83
- .option('--org-id <id>', 'Organization id')
84
- .option('--repositories <json>', 'JSON array of repository objects')
85
- .option('--team-ids <ids>', 'Comma-separated team ids')
86
- .action(async (_opts, cmd) => {
87
- const globalOpts = cmd.optsWithGlobals();
88
- const client = createClient(globalOpts);
89
- const opts = outOpts(cmd);
90
- const repositories = parseRepositories(globalOpts.repositories);
91
- const teamIds = parseTeamIds(globalOpts.teamIds);
92
- const body = {
93
- name: globalOpts.name,
94
- description: globalOpts.description ?? '',
95
- orgId: globalOpts.orgId ?? 'default',
96
- };
97
- if (repositories !== undefined)
98
- body['repositories'] = repositories;
99
- if (teamIds !== undefined)
100
- body['teamIds'] = teamIds;
101
- try {
102
- const res = await client.post('/projects', body);
103
- success('Project created', res.project, opts);
104
- }
105
- catch (e) {
106
- if (e instanceof ApiError)
107
- fail(e.message);
108
- throw e;
109
- }
110
- });
111
- project
112
- .command('update <id>')
113
- .description('Update a project')
114
- .option('--name <name>', 'Project name')
115
- .option('--description <text>', 'Description')
116
- .option('--repositories <json>', 'JSON array of repository objects')
117
- .option('--team-ids <ids>', 'Comma-separated team ids')
118
- .action(async (id, _opts, cmd) => {
119
- const globalOpts = cmd.optsWithGlobals();
120
- const client = createClient(globalOpts);
121
- const opts = outOpts(cmd);
122
- const body = {};
123
- if (globalOpts.name !== undefined)
124
- body['name'] = globalOpts.name;
125
- if (globalOpts.description !== undefined)
126
- body['description'] = globalOpts.description;
127
- const repositories = parseRepositories(globalOpts.repositories);
128
- const teamIds = parseTeamIds(globalOpts.teamIds);
129
- if (repositories !== undefined)
130
- body['repositories'] = repositories;
131
- if (teamIds !== undefined)
132
- body['teamIds'] = teamIds;
133
- if (Object.keys(body).length === 0)
134
- fail('Provide at least one of --name, --description, --repositories, --team-ids');
135
- try {
136
- const res = await client.put(`/projects/${encodeURIComponent(id)}`, body);
137
- success('Project updated', res.project, opts);
138
- }
139
- catch (e) {
140
- if (e instanceof ApiError)
141
- fail(e.message);
142
- throw e;
143
- }
144
- });
145
- project
146
- .command('delete <id>')
147
- .description('Delete a project')
148
- .action(async (id, _opts, cmd) => {
149
- const globalOpts = cmd.optsWithGlobals();
150
- const client = createClient(globalOpts);
151
- const opts = outOpts(cmd);
152
- try {
153
- const res = await client.delete(`/projects/${encodeURIComponent(id)}`);
154
- success('Project deleted', res, opts);
155
- }
156
- catch (e) {
157
- if (e instanceof ApiError)
158
- fail(e.message);
159
- throw e;
160
- }
161
- });
162
- return project;
163
- }
164
- //# sourceMappingURL=project.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from 'commander';
2
- export declare function registerReportCommands(program: Command): void;
3
- //# sourceMappingURL=report.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,QA2FtD"}