@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,99 +0,0 @@
1
- import { createClient, ApiError } from '../api-client.js';
2
- import { table, detail, success, fail, extractRows } from '../output.js';
3
- export function registerReportCommands(program) {
4
- const root = program.command('report').description('Reports and usage');
5
- root
6
- .command('list')
7
- .option('--scope <s>')
8
- .option('--scope-id <id>')
9
- .option('--type <t>')
10
- .action(async (opts, cmd) => {
11
- const g = cmd.optsWithGlobals();
12
- const client = createClient(g);
13
- const out = { json: !!g.json };
14
- try {
15
- const data = await client.get('/reports', {
16
- scope: opts.scope,
17
- scopeId: opts.scopeId,
18
- type: opts.type,
19
- });
20
- const rows = extractRows(data);
21
- table(rows, [
22
- { key: 'id', header: 'ID', width: 20 },
23
- { key: 'type', header: 'Type', width: 10 },
24
- { key: 'scope', header: 'Scope', width: 10 },
25
- { key: 'period', header: 'Period', width: 10 },
26
- { key: 'createdAt', header: 'Created', width: 22 },
27
- ], { ...out, title: 'Reports' });
28
- }
29
- catch (e) {
30
- if (e instanceof ApiError)
31
- fail(e.message);
32
- throw e;
33
- }
34
- });
35
- root
36
- .command('generate')
37
- .requiredOption('--period <p>', 'daily | weekly | monthly')
38
- .option('--scope <s>')
39
- .option('--org-id <id>')
40
- .action(async (opts, cmd) => {
41
- const g = cmd.optsWithGlobals();
42
- const client = createClient(g);
43
- const out = { json: !!g.json };
44
- const period = String(opts.period).toLowerCase();
45
- if (!['daily', 'weekly', 'monthly'].includes(period))
46
- fail('--period must be daily, weekly, or monthly');
47
- try {
48
- const data = await client.post('/reports/generate', {
49
- period,
50
- ...(opts.scope && { scope: opts.scope }),
51
- ...(opts.orgId && { orgId: opts.orgId }),
52
- });
53
- success('Report generated', data, out);
54
- }
55
- catch (e) {
56
- if (e instanceof ApiError)
57
- fail(e.message);
58
- throw e;
59
- }
60
- });
61
- root
62
- .command('usage')
63
- .option('--org-id <id>')
64
- .action(async (opts, cmd) => {
65
- const g = cmd.optsWithGlobals();
66
- const client = createClient(g);
67
- const out = { json: !!g.json };
68
- const q = opts.orgId ? { orgId: opts.orgId } : undefined;
69
- try {
70
- const usage = await client.get('/usage', q);
71
- const agentsData = await client.get('/usage/agents', q);
72
- if (out.json) {
73
- console.log(JSON.stringify({ usage, agents: agentsData }, null, 2));
74
- return;
75
- }
76
- const u = (usage.usage ?? usage);
77
- detail(u, { title: 'Usage' });
78
- if (usage.plan) {
79
- const plan = usage.plan;
80
- const limits = (plan.limits ?? plan);
81
- detail({ tier: plan.tier, ...limits }, { title: 'Plan limits' });
82
- }
83
- const agentRows = extractRows(agentsData);
84
- table(agentRows, [
85
- { key: 'agentName', header: 'Name', width: 20 },
86
- { key: 'role', header: 'Role', width: 18 },
87
- { key: 'status', header: 'Status', width: 8 },
88
- { key: 'tokensUsedToday', header: 'Tokens/Day', width: 12 },
89
- { key: 'totalTokensUsed', header: 'Total Tokens', width: 14 },
90
- ], { title: 'Usage by agent' });
91
- }
92
- catch (e) {
93
- if (e instanceof ApiError)
94
- fail(e.message);
95
- throw e;
96
- }
97
- });
98
- }
99
- //# sourceMappingURL=report.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from 'commander';
2
- export declare function registerRequirementCommands(program: Command): void;
3
- //# sourceMappingURL=requirement.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requirement.d.ts","sourceRoot":"","sources":["../../src/commands/requirement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBzC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,QA8M3D"}
@@ -1,197 +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 parseTags(raw) {
13
- if (!raw?.trim())
14
- return undefined;
15
- const tags = raw.split(',').map(s => s.trim()).filter(Boolean);
16
- return tags.length ? tags : undefined;
17
- }
18
- export function registerRequirementCommands(program) {
19
- const requirement = program.command('requirement').description('Manage requirements');
20
- requirement
21
- .command('list')
22
- .description('List requirements')
23
- .option('--org-id <id>', 'Organization id')
24
- .option('--status <status>', 'Filter by status')
25
- .option('--project-id <id>', 'Filter by project id')
26
- .option('--source <source>', 'Filter by source')
27
- .action(async (_opts, cmd) => {
28
- const globalOpts = cmd.optsWithGlobals();
29
- const client = createClient(globalOpts);
30
- const opts = outOpts(cmd);
31
- try {
32
- const res = await client.get('/requirements', {
33
- orgId: globalOpts.orgId,
34
- status: globalOpts.status,
35
- projectId: globalOpts.projectId,
36
- source: globalOpts.source,
37
- });
38
- const rows = (res.requirements ?? []).map(r => ({
39
- id: String(r['id'] ?? ''),
40
- title: truncate(String(r['title'] ?? ''), 30),
41
- status: String(r['status'] ?? ''),
42
- priority: String(r['priority'] ?? ''),
43
- projectId: String(r['projectId'] ?? r['project_id'] ?? ''),
44
- }));
45
- table(rows, [
46
- { key: 'id', header: 'id' },
47
- { key: 'title', header: 'title', width: 30 },
48
- { key: 'status', header: 'status' },
49
- { key: 'priority', header: 'priority' },
50
- { key: 'projectId', header: 'projectId' },
51
- ], { ...opts, title: 'Requirements' });
52
- }
53
- catch (e) {
54
- if (e instanceof ApiError)
55
- fail(e.message);
56
- throw e;
57
- }
58
- });
59
- requirement
60
- .command('get <id>')
61
- .description('Get a requirement by id')
62
- .action(async (id, _opts, cmd) => {
63
- const globalOpts = cmd.optsWithGlobals();
64
- const client = createClient(globalOpts);
65
- const opts = outOpts(cmd);
66
- try {
67
- const res = await client.get(`/requirements/${encodeURIComponent(id)}`);
68
- detail(res.requirement ?? {}, { ...opts, title: `Requirement ${id}` });
69
- }
70
- catch (e) {
71
- if (e instanceof ApiError)
72
- fail(e.message);
73
- throw e;
74
- }
75
- });
76
- requirement
77
- .command('create')
78
- .description('Create a requirement')
79
- .requiredOption('--title <title>', 'Title')
80
- .option('--description <text>', 'Description')
81
- .option('--priority <priority>', 'Priority')
82
- .option('--project-id <id>', 'Project id')
83
- .option('--org-id <id>', 'Organization id')
84
- .option('--tags <tags>', 'Comma-separated tags')
85
- .action(async (_opts, cmd) => {
86
- const globalOpts = cmd.optsWithGlobals();
87
- const client = createClient(globalOpts);
88
- const opts = outOpts(cmd);
89
- const body = {
90
- title: globalOpts.title,
91
- description: globalOpts.description ?? '',
92
- orgId: globalOpts.orgId ?? 'default',
93
- };
94
- if (globalOpts.priority !== undefined)
95
- body['priority'] = globalOpts.priority;
96
- if (globalOpts.projectId !== undefined)
97
- body['projectId'] = globalOpts.projectId;
98
- const tags = parseTags(globalOpts.tags);
99
- if (tags !== undefined)
100
- body['tags'] = tags;
101
- try {
102
- const res = await client.post('/requirements', body);
103
- success('Requirement created', res.requirement, opts);
104
- }
105
- catch (e) {
106
- if (e instanceof ApiError)
107
- fail(e.message);
108
- throw e;
109
- }
110
- });
111
- requirement
112
- .command('update <id>')
113
- .description('Update a requirement')
114
- .option('--title <title>', 'Title')
115
- .option('--description <text>', 'Description')
116
- .option('--priority <priority>', 'Priority')
117
- .option('--tags <tags>', 'Comma-separated tags')
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.title !== undefined)
124
- body['title'] = globalOpts.title;
125
- if (globalOpts.description !== undefined)
126
- body['description'] = globalOpts.description;
127
- if (globalOpts.priority !== undefined)
128
- body['priority'] = globalOpts.priority;
129
- const tags = parseTags(globalOpts.tags);
130
- if (tags !== undefined)
131
- body['tags'] = tags;
132
- if (Object.keys(body).length === 0)
133
- fail('Provide at least one of --title, --description, --priority, --tags');
134
- try {
135
- const res = await client.put(`/requirements/${encodeURIComponent(id)}`, body);
136
- success('Requirement updated', res.requirement, opts);
137
- }
138
- catch (e) {
139
- if (e instanceof ApiError)
140
- fail(e.message);
141
- throw e;
142
- }
143
- });
144
- requirement
145
- .command('approve <id>')
146
- .description('Approve a requirement')
147
- .action(async (id, _opts, cmd) => {
148
- const globalOpts = cmd.optsWithGlobals();
149
- const client = createClient(globalOpts);
150
- const opts = outOpts(cmd);
151
- try {
152
- const res = await client.post(`/requirements/${encodeURIComponent(id)}/approve`);
153
- success('Requirement approved', res.requirement, opts);
154
- }
155
- catch (e) {
156
- if (e instanceof ApiError)
157
- fail(e.message);
158
- throw e;
159
- }
160
- });
161
- requirement
162
- .command('reject <id>')
163
- .description('Reject a requirement')
164
- .option('--reason <text>', 'Rejection reason')
165
- .action(async (id, _opts, cmd) => {
166
- const globalOpts = cmd.optsWithGlobals();
167
- const client = createClient(globalOpts);
168
- const opts = outOpts(cmd);
169
- try {
170
- const res = await client.post(`/requirements/${encodeURIComponent(id)}/reject`, { reason: globalOpts.reason ?? '' });
171
- success('Requirement rejected', res.requirement, opts);
172
- }
173
- catch (e) {
174
- if (e instanceof ApiError)
175
- fail(e.message);
176
- throw e;
177
- }
178
- });
179
- requirement
180
- .command('delete <id>')
181
- .description('Delete (cancel) a requirement')
182
- .action(async (id, _opts, cmd) => {
183
- const globalOpts = cmd.optsWithGlobals();
184
- const client = createClient(globalOpts);
185
- const opts = outOpts(cmd);
186
- try {
187
- const res = await client.delete(`/requirements/${encodeURIComponent(id)}`);
188
- success('Requirement deleted', res, opts);
189
- }
190
- catch (e) {
191
- if (e instanceof ApiError)
192
- fail(e.message);
193
- throw e;
194
- }
195
- });
196
- }
197
- //# sourceMappingURL=requirement.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requirement.js","sourceRoot":"","sources":["../../src/commands/requirement.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from 'commander';
2
- export declare function registerReviewCommands(program: Command): void;
3
- //# sourceMappingURL=review.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,QAgEtD"}
@@ -1,71 +0,0 @@
1
- import { createClient, ApiError } from '../api-client.js';
2
- import { table, detail, success, fail, extractRows } from '../output.js';
3
- export function registerReviewCommands(program) {
4
- const root = program.command('review').description('Code / task reviews');
5
- root
6
- .command('run')
7
- .requiredOption('--task-id <id>')
8
- .option('--agent-id <id>')
9
- .option('--description <d>')
10
- .action(async (opts, cmd) => {
11
- const g = cmd.optsWithGlobals();
12
- const client = createClient(g);
13
- const out = { json: !!g.json };
14
- try {
15
- const data = await client.post('/reviews', {
16
- taskId: opts.taskId,
17
- ...(opts.agentId && { agentId: opts.agentId }),
18
- ...(opts.description && { description: opts.description }),
19
- });
20
- success('Review started', data, out);
21
- }
22
- catch (e) {
23
- if (e instanceof ApiError)
24
- fail(e.message);
25
- throw e;
26
- }
27
- });
28
- root
29
- .command('list')
30
- .option('--task-id <id>')
31
- .option('--limit <n>')
32
- .action(async (opts, cmd) => {
33
- const g = cmd.optsWithGlobals();
34
- const client = createClient(g);
35
- const out = { json: !!g.json };
36
- try {
37
- const data = await client.get('/reviews', {
38
- taskId: opts.taskId,
39
- limit: opts.limit,
40
- });
41
- const rows = extractRows(data);
42
- table(rows, [
43
- { key: 'id', header: 'ID', width: 28 },
44
- { key: 'taskId', header: 'Task', width: 28 },
45
- { key: 'status', header: 'Status', width: 10 },
46
- { key: 'verdict', header: 'Verdict', width: 10 },
47
- { key: 'createdAt', header: 'Created', width: 24 },
48
- ], { ...out, title: 'Reviews' });
49
- }
50
- catch (e) {
51
- if (e instanceof ApiError)
52
- fail(e.message);
53
- throw e;
54
- }
55
- });
56
- root.command('get <id>').action(async (id, _opts, cmd) => {
57
- const g = cmd.optsWithGlobals();
58
- const client = createClient(g);
59
- const out = { json: !!g.json };
60
- try {
61
- const data = await client.get(`/reviews/${id}`);
62
- detail(data, { ...out, title: `Review ${id}` });
63
- }
64
- catch (e) {
65
- if (e instanceof ApiError)
66
- fail(e.message);
67
- throw e;
68
- }
69
- });
70
- }
71
- //# sourceMappingURL=review.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from 'commander';
2
- export declare function registerRoleCommands(program: Command): void;
3
- //# sourceMappingURL=role.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../src/commands/role.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAiCpD"}
@@ -1,39 +0,0 @@
1
- import { createClient, ApiError } from '../api-client.js';
2
- import { table, detail, fail, extractRows } from '../output.js';
3
- export function registerRoleCommands(program) {
4
- const root = program.command('role').description('Role templates');
5
- root.command('list').action(async (_opts, cmd) => {
6
- const g = cmd.optsWithGlobals();
7
- const client = createClient(g);
8
- const out = { json: !!g.json };
9
- try {
10
- const data = await client.get('/roles');
11
- const rows = extractRows(data);
12
- table(rows, [
13
- { key: 'name', header: 'Name', width: 24 },
14
- { key: 'description', header: 'Description', width: 40 },
15
- { key: 'source', header: 'Source', width: 12 },
16
- ], { ...out, title: 'Roles' });
17
- }
18
- catch (e) {
19
- if (e instanceof ApiError)
20
- fail(e.message);
21
- throw e;
22
- }
23
- });
24
- root.command('get <name>').action(async (name, _opts, cmd) => {
25
- const g = cmd.optsWithGlobals();
26
- const client = createClient(g);
27
- const out = { json: !!g.json };
28
- try {
29
- const data = await client.get(`/roles/${encodeURIComponent(name)}`);
30
- detail(data, { ...out, title: `Role ${name}` });
31
- }
32
- catch (e) {
33
- if (e instanceof ApiError)
34
- fail(e.message);
35
- throw e;
36
- }
37
- });
38
- }
39
- //# sourceMappingURL=role.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"role.js","sourceRoot":"","sources":["../../src/commands/role.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhE,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAEnE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC/C,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,QAAQ,CAAC,CAAC;YACjE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,EAAE;gBACV,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC1C,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE;gBACxD,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;aAC/C,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACjC,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;IAEH,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3D,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,UAAU,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7F,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,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;AACL,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Command } from 'commander';
2
- export declare function registerSettingsCommands(program: Command): void;
3
- //# sourceMappingURL=settings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/commands/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,QA8CxD"}
@@ -1,53 +0,0 @@
1
- import { createClient, ApiError } from '../api-client.js';
2
- import { detail, fail } from '../output.js';
3
- export function registerSettingsCommands(program) {
4
- const root = program.command('settings').description('Server settings');
5
- root.command('llm').action(async (_opts, cmd) => {
6
- const g = cmd.optsWithGlobals();
7
- const client = createClient(g);
8
- const out = { json: !!g.json };
9
- try {
10
- const data = await client.get('/settings/llm');
11
- detail(data, { ...out, title: 'LLM settings' });
12
- }
13
- catch (e) {
14
- if (e instanceof ApiError)
15
- fail(e.message);
16
- throw e;
17
- }
18
- });
19
- root.command('env-models').action(async (_opts, cmd) => {
20
- const g = cmd.optsWithGlobals();
21
- const client = createClient(g);
22
- const out = { json: !!g.json };
23
- try {
24
- const data = await client.get('/settings/env-models');
25
- detail(data, { ...out, title: 'Env models' });
26
- }
27
- catch (e) {
28
- if (e instanceof ApiError)
29
- fail(e.message);
30
- throw e;
31
- }
32
- });
33
- root
34
- .command('oauth-status')
35
- .option('--provider <p>')
36
- .action(async (opts, cmd) => {
37
- const g = cmd.optsWithGlobals();
38
- const client = createClient(g);
39
- const out = { json: !!g.json };
40
- try {
41
- const data = await client.get('/settings/oauth/status', {
42
- provider: opts.provider,
43
- });
44
- detail(data, { ...out, title: 'OAuth status' });
45
- }
46
- catch (e) {
47
- if (e instanceof ApiError)
48
- fail(e.message);
49
- throw e;
50
- }
51
- });
52
- }
53
- //# sourceMappingURL=settings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/commands/settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAExE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC9C,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,eAAe,CAAC,CAAC;YACxE,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,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;IAEH,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACrD,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,sBAAsB,CAAC,CAAC;YAC/E,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAChD,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;IAEH,IAAI;SACD,OAAO,CAAC,cAAc,CAAC;SACvB,MAAM,CAAC,gBAAgB,CAAC;SACxB,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,wBAAwB,EAAE;gBAC/E,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,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;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Command } from 'commander';
2
- export declare function registerSkillCommands(program: Command): Command;
3
- //# sourceMappingURL=skill.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CA6H/D"}