@martini-film/cli 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +165 -44
- package/dist/api.js +57 -17
- package/dist/api.js.map +1 -1
- package/dist/approve.js +2 -1
- package/dist/approve.js.map +1 -1
- package/dist/cli.js +429 -144
- package/dist/cli.js.map +1 -1
- package/dist/commands/assets.js +141 -25
- package/dist/commands/assets.js.map +1 -1
- package/dist/commands/call.js +99 -0
- package/dist/commands/call.js.map +1 -0
- package/dist/commands/context.js +15 -2
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/files.js +100 -7
- package/dist/commands/files.js.map +1 -1
- package/dist/commands/guide.js +67 -0
- package/dist/commands/guide.js.map +1 -0
- package/dist/commands/init.js +196 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/login.js +37 -6
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/tools.js +63 -78
- package/dist/commands/tools.js.map +1 -1
- package/dist/commands/use.js +143 -0
- package/dist/commands/use.js.map +1 -0
- package/dist/config.js +82 -6
- package/dist/config.js.map +1 -1
- package/dist/generated/guide.json +104 -0
- package/dist/generated/manifest.json +10 -2
- package/dist/guideCache.js +204 -0
- package/dist/guideCache.js.map +1 -0
- package/dist/help.js +375 -32
- package/dist/help.js.map +1 -1
- package/dist/manifest.js +27 -0
- package/dist/manifest.js.map +1 -1
- package/dist/manifestCache.js +196 -0
- package/dist/manifestCache.js.map +1 -0
- package/dist/output.js +210 -28
- package/dist/output.js.map +1 -1
- package/dist/schema.js +99 -14
- package/dist/schema.js.map +1 -1
- package/dist/wait.js +31 -1
- package/dist/wait.js.map +1 -1
- package/package.json +2 -2
package/dist/help.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CLI_VERSION } from './api.js';
|
|
2
2
|
import { approvalSupport } from './approve.js';
|
|
3
3
|
import { groupTools } from './manifest.js';
|
|
4
|
-
import { flagSpecs, kebab } from './schema.js';
|
|
4
|
+
import { flagSpecs, kebab, propertySchema, withoutNull } from './schema.js';
|
|
5
5
|
export const SUPERSEDED_BY_COMPOUND = {
|
|
6
6
|
upload_assets_prepare: 'upload',
|
|
7
7
|
upload_assets_complete: 'upload',
|
|
@@ -9,13 +9,31 @@ export const SUPERSEDED_BY_COMPOUND = {
|
|
|
9
9
|
get_asset_download_url: 'download',
|
|
10
10
|
};
|
|
11
11
|
const CONTEXT_PROPERTIES = ['projectId', 'canvasId', 'runId'];
|
|
12
|
+
export const MEDIA_RESULT_TOOLS = new Set([
|
|
13
|
+
'view_asset',
|
|
14
|
+
'view_library_asset',
|
|
15
|
+
'inspect_video',
|
|
16
|
+
'render_timeline_frame',
|
|
17
|
+
'inspect_timeline_artifact',
|
|
18
|
+
'get_timeline_audio_report',
|
|
19
|
+
'extract_video_frame',
|
|
20
|
+
]);
|
|
21
|
+
const COMPACT_FLAGS_OVER = 12;
|
|
22
|
+
const RESULT_FIELD_DEFAULT_LINES = 30;
|
|
12
23
|
export const GLOBAL_FLAGS = [
|
|
13
24
|
[
|
|
14
25
|
'--fields a,b.c',
|
|
15
26
|
'keep only these dotted paths of the result (on the server; in the CLI after a wait or when a segment is * — assets.*.status steps into an id-keyed map); a tool argument named like a global flag is spelled --tool-<name> (--tool-fields)',
|
|
16
27
|
],
|
|
17
|
-
[
|
|
18
|
-
|
|
28
|
+
[
|
|
29
|
+
'--out-dir <dir>',
|
|
30
|
+
'write each media block to its own file, in result order, named by the asset its text block names',
|
|
31
|
+
],
|
|
32
|
+
[
|
|
33
|
+
'--out <path>',
|
|
34
|
+
'write the result to a file and print a one-line JSON receipt; a media extension (.jpg .png .webp .mp3 .wav) writes the media bytes of a one-media result (view_asset, render_timeline_frame)',
|
|
35
|
+
],
|
|
36
|
+
['--raw', 'with --out or a pipe: the media bytes of a one-media result, whatever the file is called'],
|
|
19
37
|
[
|
|
20
38
|
'--args <object|@file>',
|
|
21
39
|
'pass the whole arguments object as JSON instead of flags (tools only; --json is an alias unless the tool has an argument named json)',
|
|
@@ -34,19 +52,26 @@ export const GLOBAL_FLAGS = [
|
|
|
34
52
|
],
|
|
35
53
|
[
|
|
36
54
|
'--project / --canvas / --run <id>',
|
|
37
|
-
'
|
|
55
|
+
'projectId / canvasId / runId for this command (--project-id, --canvas-id, --run-id mean the same); martini use <project> sets the first two once for the directory; --no-context sends only what you typed',
|
|
38
56
|
],
|
|
39
57
|
[
|
|
40
58
|
'--api-key / --api-url / --profile',
|
|
41
59
|
'credential and endpoint overrides (else env, .martini/config.json, ~/.config/martini/config.json)',
|
|
42
60
|
],
|
|
43
61
|
['--quiet', 'print nothing on success'],
|
|
62
|
+
[
|
|
63
|
+
'--schema [<flag>] [--keys]',
|
|
64
|
+
"on a tool: print that argument's JSON Schema (no flag: the whole input schema) and exit; --keys prints one line per key instead (name, type, first sentence); needs no key, sends nothing",
|
|
65
|
+
],
|
|
66
|
+
['--help [--all]', 'on a tool: its flags, result fields, and examples; --all prints every description in full'],
|
|
44
67
|
];
|
|
68
|
+
export const EXIT_CODES_LINE = 'Exit codes: 0 done, all of it · 1 tool error · 2 usage · 3 auth · 4 not ready or timed out · 5 over budget (olives, or a quote over --max-olives)';
|
|
45
69
|
export function renderHelp(manifest, compounds) {
|
|
46
70
|
const lines = [];
|
|
47
71
|
lines.push(`martini ${CLI_VERSION} — the Martini CLI for agents and scripts`);
|
|
48
72
|
lines.push('');
|
|
49
73
|
lines.push('Usage: martini <command> [flags] martini <command> --help');
|
|
74
|
+
lines.push('Start with martini guide: the operator rules, once per session (martini guide <topic> for one topic).');
|
|
50
75
|
lines.push('');
|
|
51
76
|
lines.push('Commands (what no single tool does):');
|
|
52
77
|
for (const command of compounds)
|
|
@@ -75,12 +100,12 @@ export function renderHelp(manifest, compounds) {
|
|
|
75
100
|
for (const [flag, description] of GLOBAL_FLAGS)
|
|
76
101
|
lines.push(` ${flag.padEnd(36)} ${description}`);
|
|
77
102
|
lines.push('');
|
|
78
|
-
lines.push('Output: JSON on stdout (compact when piped). Errors: one JSON object on stderr.');
|
|
79
|
-
lines.push(
|
|
103
|
+
lines.push('Output: JSON on stdout (compact when piped); guide, init without --write, files cat, and --help print text. Errors: one JSON object on stderr; a command that did part of its work prints that part on stdout as well.');
|
|
104
|
+
lines.push(EXIT_CODES_LINE);
|
|
80
105
|
lines.push('Docs: https://www.martini.film/docs/cli');
|
|
81
106
|
return lines.join('\n') + '\n';
|
|
82
107
|
}
|
|
83
|
-
function describeFlag(spec) {
|
|
108
|
+
function describeFlag(tool, spec) {
|
|
84
109
|
const type = spec.kind === 'array'
|
|
85
110
|
? `${spec.items ?? 'string'}[] (values after the flag, a repeated flag, or a JSON list)`
|
|
86
111
|
: spec.kind === 'object' || spec.kind === 'json'
|
|
@@ -95,8 +120,81 @@ function describeFlag(spec) {
|
|
|
95
120
|
const values = spec.enum ?? spec.itemEnum;
|
|
96
121
|
if (values)
|
|
97
122
|
parts.push(`${spec.itemEnum ? 'each ' : ''}one of: ${values.map(value => JSON.stringify(value)).join(', ')}`);
|
|
123
|
+
if (takesJson(spec))
|
|
124
|
+
parts.push(`(martini ${tool.name} --schema ${spec.flag})`);
|
|
98
125
|
return parts.join(' ');
|
|
99
126
|
}
|
|
127
|
+
export function firstSentence(text, max = 100) {
|
|
128
|
+
const flat = text.replace(/\s+/g, ' ').trim();
|
|
129
|
+
const end = flat.search(/(?<!\b(?:e\.g|i\.e|e|i|vs|etc))(?<!\d)[.!?](?=\s|$)/);
|
|
130
|
+
const sentence = end >= 0 ? flat.slice(0, end + 1) : flat;
|
|
131
|
+
return sentence.length > max ? `${sentence.slice(0, max - 1).trimEnd()}…` : sentence;
|
|
132
|
+
}
|
|
133
|
+
function flagType(spec) {
|
|
134
|
+
if (spec.kind === 'array')
|
|
135
|
+
return `${spec.items ?? 'string'}[]`;
|
|
136
|
+
if (spec.kind === 'object' || spec.kind === 'json')
|
|
137
|
+
return spec.acceptsString ? 'JSON or text' : 'JSON';
|
|
138
|
+
return spec.kind;
|
|
139
|
+
}
|
|
140
|
+
function briefFlag(spec) {
|
|
141
|
+
const values = spec.enum ?? spec.itemEnum;
|
|
142
|
+
const choice = values && values.length <= 6 ? ` one of: ${values.map(value => JSON.stringify(value)).join(', ')}` : '';
|
|
143
|
+
const about = spec.description ? ` ${firstSentence(spec.description)}` : '';
|
|
144
|
+
return `${`--${spec.flag}`.padEnd(30)} ${flagType(spec)}${choice}${about}`;
|
|
145
|
+
}
|
|
146
|
+
export function schemaKeyLines(raw, what) {
|
|
147
|
+
const { schema } = withoutNull(raw);
|
|
148
|
+
const type = typeOf(schema);
|
|
149
|
+
const variants = unionVariants(schema);
|
|
150
|
+
if (variants) {
|
|
151
|
+
return variants.flatMap((variant, index) => [
|
|
152
|
+
...(index > 0 ? [''] : []),
|
|
153
|
+
...schemaKeyLines(variant, `${what}, variant ${index + 1} of ${variants.length}`),
|
|
154
|
+
]);
|
|
155
|
+
}
|
|
156
|
+
if (type === 'array' && schema.items)
|
|
157
|
+
return schemaKeyLines(schema.items, `${what} (each element)`);
|
|
158
|
+
const properties = Object.entries(schema.properties ?? {});
|
|
159
|
+
if (type !== 'object' || properties.length === 0) {
|
|
160
|
+
return [
|
|
161
|
+
`${what}: ${variantSummary(schema)}${schema.description ? ` — ${firstSentence(schema.description, 160)}` : ''}`,
|
|
162
|
+
];
|
|
163
|
+
}
|
|
164
|
+
const required = new Set(schema.required ?? []);
|
|
165
|
+
const names = properties.map(([name]) => `${name}${required.has(name) ? '*' : ''}`);
|
|
166
|
+
const kinds = properties.map(([, value]) => keyType(value));
|
|
167
|
+
const nameWidth = Math.min(32, Math.max(...names.map(name => name.length)));
|
|
168
|
+
const kindWidth = Math.min(28, Math.max(...kinds.map(kind => kind.length)));
|
|
169
|
+
return [
|
|
170
|
+
`${what}: ${properties.length} key${properties.length === 1 ? '' : 's'} (* required)`,
|
|
171
|
+
...properties.map(([, value], index) => {
|
|
172
|
+
const about = value.description ? firstSentence(value.description, 110) : '';
|
|
173
|
+
return ` ${names[index].padEnd(nameWidth)} ${kinds[index].padEnd(kindWidth)}${about ? ` ${about}` : ''}`.trimEnd();
|
|
174
|
+
}),
|
|
175
|
+
];
|
|
176
|
+
}
|
|
177
|
+
function keyType(raw) {
|
|
178
|
+
const { schema, nullable } = withoutNull(raw);
|
|
179
|
+
const summary = (() => {
|
|
180
|
+
if ('const' in schema)
|
|
181
|
+
return JSON.stringify(schema.const);
|
|
182
|
+
if (schema.enum?.length) {
|
|
183
|
+
const listedValues = listed(schema.enum.map(value => JSON.stringify(value)));
|
|
184
|
+
return listedValues.length <= 48 ? listedValues : 'string (enum)';
|
|
185
|
+
}
|
|
186
|
+
const type = typeOf(schema);
|
|
187
|
+
if (type === 'array')
|
|
188
|
+
return `${(schema.items && typeOf(withoutNull(schema.items).schema)) ?? 'any'}[]`;
|
|
189
|
+
return type ?? (unionVariants(schema) ? 'union' : 'any');
|
|
190
|
+
})();
|
|
191
|
+
return nullable ? `${summary}?` : summary;
|
|
192
|
+
}
|
|
193
|
+
function takesJson(spec) {
|
|
194
|
+
return (spec.kind === 'object' ||
|
|
195
|
+
spec.kind === 'json' ||
|
|
196
|
+
(spec.kind === 'array' && (spec.items === 'object' || spec.items === 'json')));
|
|
197
|
+
}
|
|
100
198
|
function shadowNote(tool, spec, shadows) {
|
|
101
199
|
const scalar = (kind) => kind === 'number' || kind === 'integer' ? '1' : kind === 'boolean' ? 'true' : kind === 'string' ? '"…"' : '{…}';
|
|
102
200
|
const sample = spec.kind === 'array' ? `[${scalar(spec.items === 'json' ? 'string' : spec.items)}]` : scalar(spec.kind);
|
|
@@ -107,9 +205,11 @@ function shadowNote(tool, spec, shadows) {
|
|
|
107
205
|
` martini ${tool.name} --args '{"${spec.property}": ${sample}}'`,
|
|
108
206
|
];
|
|
109
207
|
}
|
|
110
|
-
export function renderToolHelp(tool) {
|
|
208
|
+
export function renderToolHelp(tool, options = {}) {
|
|
111
209
|
const specs = flagSpecs(tool);
|
|
112
210
|
const lines = [];
|
|
211
|
+
const compact = !options.all && specs.length > COMPACT_FLAGS_OVER;
|
|
212
|
+
const shortened = [];
|
|
113
213
|
lines.push(`martini ${tool.name}${tool.title ? ` — ${tool.title}` : ''}`);
|
|
114
214
|
lines.push('');
|
|
115
215
|
lines.push(wrap(tool.description, 100));
|
|
@@ -128,21 +228,41 @@ export function renderToolHelp(tool) {
|
|
|
128
228
|
lines.push('Flags:');
|
|
129
229
|
if (specs.length === 0)
|
|
130
230
|
lines.push(' (no arguments)');
|
|
231
|
+
const brief = compact ? specs.filter(spec => !spec.required) : [];
|
|
131
232
|
for (const spec of specs) {
|
|
132
|
-
|
|
233
|
+
if (brief.includes(spec))
|
|
234
|
+
continue;
|
|
235
|
+
lines.push(` ${describeFlag(tool, spec)}`);
|
|
133
236
|
if (spec.description)
|
|
134
237
|
lines.push(` ${wrap(spec.description, 96).split('\n').join('\n ')}`);
|
|
238
|
+
for (const line of shapeLines(propertySchema(tool, spec.property))) {
|
|
239
|
+
lines.push(` ${wrap(line, 94).split('\n').join('\n ')}`);
|
|
240
|
+
}
|
|
135
241
|
if (spec.shadows)
|
|
136
242
|
for (const line of shadowNote(tool, spec, spec.shadows))
|
|
137
243
|
lines.push(` ${line}`);
|
|
138
244
|
}
|
|
245
|
+
if (brief.length > 0) {
|
|
246
|
+
lines.push('');
|
|
247
|
+
lines.push(`Optional flags (${brief.length}; one line each):`);
|
|
248
|
+
for (const spec of brief)
|
|
249
|
+
lines.push(` ${briefFlag(spec)}`);
|
|
250
|
+
shortened.push('every optional flag in full');
|
|
251
|
+
}
|
|
252
|
+
const rules = ruleLines(tool, specs);
|
|
253
|
+
if (rules.length > 0) {
|
|
254
|
+
lines.push('');
|
|
255
|
+
lines.push('Rules:');
|
|
256
|
+
for (const line of rules)
|
|
257
|
+
lines.push(` ${line}`);
|
|
258
|
+
}
|
|
139
259
|
const properties = tool.inputSchema.properties ?? {};
|
|
140
260
|
const contextual = CONTEXT_PROPERTIES.filter(property => property in properties);
|
|
141
261
|
if (contextual.length > 0) {
|
|
142
262
|
lines.push('');
|
|
143
263
|
lines.push(wrap(`Context: ${contextual.map(property => `--${kebabOf(property)}`).join(' / ')} may be omitted; the value then comes from ${contextual
|
|
144
264
|
.map(property => `--${property.replace(/Id$/, '')}`)
|
|
145
|
-
.join(' / ')}, ${contextual.map(property => `MARTINI_${property.replace(/Id$/, '').toUpperCase()}_ID`).join(' / ')}, or
|
|
265
|
+
.join(' / ')}, ${contextual.map(property => `MARTINI_${property.replace(/Id$/, '').toUpperCase()}_ID`).join(' / ')}, or what martini use <project> set for this directory (a Martini workflow run has its own).`, 100));
|
|
146
266
|
}
|
|
147
267
|
const approval = approvalSupport(tool);
|
|
148
268
|
if (approval) {
|
|
@@ -151,16 +271,43 @@ export function renderToolHelp(tool) {
|
|
|
151
271
|
? `Approval: without --${kebab(approval.argument)} the tool answers a quote (approvalNeeded: true, planHash, totalEstimatedOlives) and starts nothing. --approve --max-olives <n> takes the quote, refuses when the total is over the cap (PLAN_OVER_BUDGET, nothing started), and otherwise re-calls with the quote's planHash${approval.echoesBatchRequestId ? ', batchRequestId,' : ''} and the approval in one command; the result carries approvedPlan.`
|
|
152
272
|
: `Approval: --${kebab(approval.argument)} records that the plan was approved; there is no server quote, so --approve attests and --max-olives cannot apply here (for a capped batch: create_nodes, then generate_nodes --approve --max-olives <n>).`, 100));
|
|
153
273
|
}
|
|
274
|
+
if (MEDIA_RESULT_TOOLS.has(tool.name)) {
|
|
275
|
+
lines.push('');
|
|
276
|
+
lines.push('Output: the result carries media. Printed, each image or audio block is a stub (type and size). Save it:');
|
|
277
|
+
lines.push(` martini ${tool.name} … --out <file.jpg> one media block → that file; prints { path, bytes, contentType, result }`);
|
|
278
|
+
if (tool.annotations.readOnlyHint) {
|
|
279
|
+
lines.push(` martini ${tool.name} … --out-dir <dir> every block → a file each, named by its asset; prints { dir, files }`);
|
|
280
|
+
}
|
|
281
|
+
lines.push('Then open the file to look at it: nothing is shown until you do.');
|
|
282
|
+
}
|
|
154
283
|
if (tool.outputSchema) {
|
|
284
|
+
const every = resultFieldLines(tool.outputSchema);
|
|
285
|
+
let depth = RESULT_FIELD_DEPTH;
|
|
286
|
+
while (!options.all &&
|
|
287
|
+
depth > 1 &&
|
|
288
|
+
resultFieldLines(tool.outputSchema, depth).length > RESULT_FIELD_DEFAULT_LINES) {
|
|
289
|
+
depth -= 1;
|
|
290
|
+
}
|
|
291
|
+
const shown = resultFieldLines(tool.outputSchema, depth);
|
|
292
|
+
const deeper = every.length - shown.length;
|
|
155
293
|
lines.push('');
|
|
156
294
|
lines.push('Result fields (use with --fields; the tool may return more):');
|
|
157
|
-
for (const line of
|
|
295
|
+
for (const line of shown)
|
|
158
296
|
lines.push(` ${line}`);
|
|
297
|
+
if (deeper > 0) {
|
|
298
|
+
lines.push(` … ${deeper} more nested field${deeper === 1 ? '' : 's'}`);
|
|
299
|
+
shortened.push('every result field');
|
|
300
|
+
}
|
|
159
301
|
}
|
|
160
302
|
lines.push('');
|
|
161
|
-
|
|
162
|
-
lines.push(
|
|
303
|
+
const examples = examplesFor(tool, specs);
|
|
304
|
+
lines.push(examples.length > 1 ? 'Examples:' : 'Example:');
|
|
305
|
+
for (const example of examples)
|
|
306
|
+
lines.push(` ${example}`);
|
|
163
307
|
lines.push('');
|
|
308
|
+
if (shortened.length > 0) {
|
|
309
|
+
lines.push(wrap(`Shortened: martini ${tool.name} --help --all prints ${shortened.join(' and ')}; martini ${tool.name} --schema <flag> --keys lists one JSON argument's keys.`, 100));
|
|
310
|
+
}
|
|
164
311
|
const owner = 'json' in (tool.inputSchema.properties ?? {});
|
|
165
312
|
lines.push(owner
|
|
166
313
|
? 'The whole arguments object can also be given as JSON: --args \'{"...": ...}\' or --args @args.json (this tool owns --json).'
|
|
@@ -168,7 +315,7 @@ export function renderToolHelp(tool) {
|
|
|
168
315
|
return lines.join('\n') + '\n';
|
|
169
316
|
}
|
|
170
317
|
const RESULT_FIELD_DEPTH = 3;
|
|
171
|
-
export function resultFieldLines(schema) {
|
|
318
|
+
export function resultFieldLines(schema, maxDepth = RESULT_FIELD_DEPTH) {
|
|
172
319
|
const rows = [];
|
|
173
320
|
const visit = (node, path, depth) => {
|
|
174
321
|
const properties = node.properties ?? {};
|
|
@@ -177,7 +324,7 @@ export function resultFieldLines(schema) {
|
|
|
177
324
|
const here = path ? `${path}.${name}` : name;
|
|
178
325
|
const { kind, inner, mapped } = fieldKind(field);
|
|
179
326
|
rows.push([mapped ? `${here}.*` : here, kind, describeField(field)]);
|
|
180
|
-
if (inner && depth <
|
|
327
|
+
if (inner && depth < maxDepth)
|
|
181
328
|
visit(inner, mapped ? `${here}.*` : here, depth + 1);
|
|
182
329
|
}
|
|
183
330
|
};
|
|
@@ -270,27 +417,223 @@ export function renderCompoundHelp(command) {
|
|
|
270
417
|
lines.push(` ${example}`);
|
|
271
418
|
lines.push('');
|
|
272
419
|
}
|
|
273
|
-
lines.push('Global flags apply too: --project / --canvas (or --project-id / --canvas-id), --fields, --out, --wait / --no-wait, --timeout, --quiet, --api-key, --profile.');
|
|
420
|
+
lines.push('Global flags apply too: --project / --canvas (or --project-id / --canvas-id; martini use sets both once), --fields, --out, --wait / --no-wait, --timeout, --quiet, --api-key, --profile.');
|
|
274
421
|
return lines.join('\n') + '\n';
|
|
275
422
|
}
|
|
276
|
-
export function
|
|
277
|
-
const
|
|
423
|
+
export function examplesFor(tool, specs = flagSpecs(tool)) {
|
|
424
|
+
const needed = new Set(specs.filter(spec => spec.required).map(spec => spec.property));
|
|
425
|
+
for (const [, variants] of rootRules(tool.inputSchema))
|
|
426
|
+
for (const key of variants[0].required ?? [])
|
|
427
|
+
needed.add(key);
|
|
278
428
|
const parts = [`martini ${tool.name}`];
|
|
279
|
-
for (const spec of
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
: spec.kind === 'object' || spec.kind === 'json'
|
|
289
|
-
? "'{...}'"
|
|
290
|
-
: `<${spec.flag}>`;
|
|
291
|
-
parts.push(sample ? `--${spec.flag} ${sample}` : `--${spec.flag}`);
|
|
429
|
+
for (const spec of specs) {
|
|
430
|
+
if (!needed.has(spec.property))
|
|
431
|
+
continue;
|
|
432
|
+
if (spec.property === 'projectId')
|
|
433
|
+
parts.push('--project <project-id>');
|
|
434
|
+
else if (spec.property === 'canvasId')
|
|
435
|
+
parts.push('--canvas <canvas-id>');
|
|
436
|
+
else
|
|
437
|
+
parts.push(exampleFlag(tool, spec));
|
|
292
438
|
}
|
|
293
|
-
|
|
439
|
+
const first = parts.join(' ');
|
|
440
|
+
const optional = specs.find(spec => !needed.has(spec.property) && takesJson(spec) && isObjectSample(sampleFor(tool, spec)));
|
|
441
|
+
return optional ? [first, `${first} ${exampleFlag(tool, optional)}`] : [first];
|
|
442
|
+
}
|
|
443
|
+
function exampleFlag(tool, spec) {
|
|
444
|
+
if (takesJson(spec))
|
|
445
|
+
return `--${spec.flag} ${shellWord(JSON.stringify(sampleFor(tool, spec)))}`;
|
|
446
|
+
const sample = spec.enum?.[0] !== undefined
|
|
447
|
+
? JSON.stringify(spec.enum[0])
|
|
448
|
+
: spec.kind === 'boolean'
|
|
449
|
+
? ''
|
|
450
|
+
: spec.kind === 'number' || spec.kind === 'integer'
|
|
451
|
+
? '1'
|
|
452
|
+
: spec.kind === 'array'
|
|
453
|
+
? spec.itemEnum?.[0] !== undefined
|
|
454
|
+
? JSON.stringify(spec.itemEnum[0])
|
|
455
|
+
: spec.items === 'number' || spec.items === 'integer'
|
|
456
|
+
? '1'
|
|
457
|
+
: spec.items === 'boolean'
|
|
458
|
+
? 'true'
|
|
459
|
+
: '<id>'
|
|
460
|
+
: `<${spec.flag}>`;
|
|
461
|
+
return sample ? `--${spec.flag} ${sample}` : `--${spec.flag}`;
|
|
462
|
+
}
|
|
463
|
+
function sampleFor(tool, spec) {
|
|
464
|
+
return sampleValue(propertySchema(tool, spec.property), spec.property, 0);
|
|
465
|
+
}
|
|
466
|
+
function isObjectSample(value) {
|
|
467
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value) && Object.keys(value).length > 0;
|
|
468
|
+
}
|
|
469
|
+
function shellWord(text) {
|
|
470
|
+
return /^[\w.,:@/-]+$/.test(text) ? text : `'${text.replace(/'/g, `'\\''`)}'`;
|
|
471
|
+
}
|
|
472
|
+
const SAMPLE_DEPTH = 2;
|
|
473
|
+
function sampleValue(raw, key, depth) {
|
|
474
|
+
const { schema } = withoutNull(raw);
|
|
475
|
+
if ('const' in schema)
|
|
476
|
+
return schema.const;
|
|
477
|
+
if (schema.enum?.length)
|
|
478
|
+
return schema.enum[0];
|
|
479
|
+
const variants = unionVariants(schema);
|
|
480
|
+
if (variants) {
|
|
481
|
+
const object = variants.find(variant => typeOf(withoutNull(variant).schema) === 'object');
|
|
482
|
+
return sampleValue(object ?? variants[0], key, depth);
|
|
483
|
+
}
|
|
484
|
+
switch (typeOf(schema)) {
|
|
485
|
+
case 'string':
|
|
486
|
+
return `<${key}>`;
|
|
487
|
+
case 'number':
|
|
488
|
+
case 'integer':
|
|
489
|
+
return typeof schema.minimum === 'number' && schema.minimum > 1 ? schema.minimum : 1;
|
|
490
|
+
case 'boolean':
|
|
491
|
+
return true;
|
|
492
|
+
case 'array':
|
|
493
|
+
return schema.items ? [sampleValue(schema.items, key, depth)] : [];
|
|
494
|
+
case 'object':
|
|
495
|
+
return sampleObject(schema, depth, depth >= SAMPLE_DEPTH);
|
|
496
|
+
default:
|
|
497
|
+
return {};
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
function sampleObject(schema, depth, requiredOnly = false) {
|
|
501
|
+
const properties = schema.properties ?? {};
|
|
502
|
+
const names = Object.keys(properties);
|
|
503
|
+
if (names.length === 0) {
|
|
504
|
+
const values = schema.additionalProperties;
|
|
505
|
+
return !requiredOnly && values && typeof values === 'object'
|
|
506
|
+
? { '<key>': sampleValue(values, 'value', depth + 1) }
|
|
507
|
+
: {};
|
|
508
|
+
}
|
|
509
|
+
const required = (schema.required ?? []).filter(name => name in properties);
|
|
510
|
+
const keys = required.length > 0 ? required : requiredOnly ? [] : names.slice(0, 1);
|
|
511
|
+
return Object.fromEntries(keys.map(name => [name, sampleValue(properties[name], name, depth + 1)]));
|
|
512
|
+
}
|
|
513
|
+
const SUMMARY_KEYS = 12;
|
|
514
|
+
const SUMMARY_OBJECT_KEYS = 64;
|
|
515
|
+
const NESTED_SUMMARY_WIDTH = 64;
|
|
516
|
+
const SUMMARY_WIDTH = 96;
|
|
517
|
+
export function shapeLines(raw) {
|
|
518
|
+
const { schema } = withoutNull(raw);
|
|
519
|
+
const variants = unionVariants(schema);
|
|
520
|
+
if (variants)
|
|
521
|
+
return unionLines('one of:', variants);
|
|
522
|
+
const type = typeOf(schema);
|
|
523
|
+
if (type === 'object') {
|
|
524
|
+
const summary = objectSummary(schema);
|
|
525
|
+
return summary ? [`shape: ${summary}`] : [];
|
|
526
|
+
}
|
|
527
|
+
if (type === 'array' && schema.items) {
|
|
528
|
+
const items = withoutNull(schema.items).schema;
|
|
529
|
+
const itemVariants = unionVariants(items);
|
|
530
|
+
if (itemVariants)
|
|
531
|
+
return unionLines('each one of:', itemVariants);
|
|
532
|
+
const summary = typeOf(items) === 'object' ? objectSummary(items) : undefined;
|
|
533
|
+
return summary ? [`each: ${summary}`] : [];
|
|
534
|
+
}
|
|
535
|
+
return [];
|
|
536
|
+
}
|
|
537
|
+
function unionLines(label, variants) {
|
|
538
|
+
const summaries = variants.map(variantSummary);
|
|
539
|
+
const line = `${label} ${summaries.join(' | ')}`;
|
|
540
|
+
return line.length <= SUMMARY_WIDTH ? [line] : [label, ...summaries.map(summary => ` ${summary}`)];
|
|
541
|
+
}
|
|
542
|
+
function unionVariants(schema) {
|
|
543
|
+
const variants = (schema.anyOf ?? schema.oneOf)?.filter(variant => variant.type !== 'null' && variant.const !== null);
|
|
544
|
+
return variants && variants.length > 1 ? variants : undefined;
|
|
545
|
+
}
|
|
546
|
+
function typeOf(schema) {
|
|
547
|
+
return Array.isArray(schema.type) ? schema.type.find(type => type !== 'null') : schema.type;
|
|
548
|
+
}
|
|
549
|
+
function objectSummary(schema, nested = false) {
|
|
550
|
+
const properties = Object.entries(schema.properties ?? {});
|
|
551
|
+
if (properties.length === 0) {
|
|
552
|
+
const values = schema.additionalProperties;
|
|
553
|
+
return values && typeof values === 'object' ? `{ <key>: ${variantSummary(values)} }` : undefined;
|
|
554
|
+
}
|
|
555
|
+
const required = new Set(schema.required ?? []);
|
|
556
|
+
const ordered = [
|
|
557
|
+
...properties.filter(([name]) => required.has(name)),
|
|
558
|
+
...properties.filter(([name]) => !required.has(name)),
|
|
559
|
+
];
|
|
560
|
+
const shown = ordered.slice(0, Math.max(SUMMARY_OBJECT_KEYS, required.size));
|
|
561
|
+
const keys = shown.map(([name, value]) => `${name}${required.has(name) ? '*' : ''}${fixedValue(value) || (!nested && required.has(name) ? requiredShape(value) : '')}`);
|
|
562
|
+
const more = ordered.length - shown.length;
|
|
563
|
+
return `{ ${keys.join(', ')}${more > 0 ? `, … +${more} more` : ''} }`;
|
|
564
|
+
}
|
|
565
|
+
function requiredShape(raw) {
|
|
566
|
+
const { schema } = withoutNull(raw);
|
|
567
|
+
const list = typeOf(schema) === 'array' && schema.items ? withoutNull(schema.items).schema : undefined;
|
|
568
|
+
const object = list ?? schema;
|
|
569
|
+
if (typeOf(object) !== 'object' || unionVariants(object))
|
|
570
|
+
return '';
|
|
571
|
+
const summary = objectSummary(object, true);
|
|
572
|
+
if (!summary || summary.length > NESTED_SUMMARY_WIDTH)
|
|
573
|
+
return '';
|
|
574
|
+
return `: ${list ? `[${summary}]` : summary}`;
|
|
575
|
+
}
|
|
576
|
+
function fixedValue(raw) {
|
|
577
|
+
const { schema } = withoutNull(raw);
|
|
578
|
+
if ('const' in schema)
|
|
579
|
+
return `: ${JSON.stringify(schema.const)}`;
|
|
580
|
+
return schema.enum?.length === 1 ? `: ${JSON.stringify(schema.enum[0])}` : '';
|
|
581
|
+
}
|
|
582
|
+
function variantSummary(raw) {
|
|
583
|
+
const { schema } = withoutNull(raw);
|
|
584
|
+
if ('const' in schema)
|
|
585
|
+
return JSON.stringify(schema.const);
|
|
586
|
+
if (schema.enum?.length)
|
|
587
|
+
return listed(schema.enum.map(value => JSON.stringify(value)));
|
|
588
|
+
const variants = unionVariants(schema);
|
|
589
|
+
if (variants)
|
|
590
|
+
return `(${listed(variants.map(variantSummary))})`;
|
|
591
|
+
const type = typeOf(schema);
|
|
592
|
+
if (type === 'object')
|
|
593
|
+
return objectSummary(schema) ?? 'object';
|
|
594
|
+
if (type === 'array')
|
|
595
|
+
return `${(schema.items && typeOf(withoutNull(schema.items).schema)) ?? 'any'}[]`;
|
|
596
|
+
return type ?? 'any';
|
|
597
|
+
}
|
|
598
|
+
function listed(values) {
|
|
599
|
+
const shown = values.slice(0, SUMMARY_KEYS);
|
|
600
|
+
return `${shown.join(' | ')}${values.length > shown.length ? ` | … +${values.length - shown.length} more` : ''}`;
|
|
601
|
+
}
|
|
602
|
+
export function ruleLines(tool, specs = flagSpecs(tool)) {
|
|
603
|
+
const flagOf = (property) => `--${specs.find(spec => spec.property === property)?.flag ?? kebab(property)}`;
|
|
604
|
+
const lines = [];
|
|
605
|
+
for (const [label, variants] of rootRules(tool.inputSchema)) {
|
|
606
|
+
const requires = variants.map(variant => (variant.required ?? []).map(flagOf).join(' and '));
|
|
607
|
+
if (variants.every(variant => onlyRequires(variant) && (variant.required?.length ?? 0) > 0)) {
|
|
608
|
+
lines.push(`${label}: ${requires.join(' | ')}`);
|
|
609
|
+
continue;
|
|
610
|
+
}
|
|
611
|
+
lines.push(`${label} these:`);
|
|
612
|
+
variants.forEach((variant, index) => {
|
|
613
|
+
const adds = Object.keys(variant.properties ?? {}).map(flagOf);
|
|
614
|
+
const needs = requires[index] ? `requires ${requires[index]}` : 'requires nothing more';
|
|
615
|
+
lines.push(` - ${needs}${adds.length ? `; takes ${adds.join(', ')}` : ''}`);
|
|
616
|
+
});
|
|
617
|
+
}
|
|
618
|
+
return lines;
|
|
619
|
+
}
|
|
620
|
+
function rootRules(schema) {
|
|
621
|
+
const rules = [];
|
|
622
|
+
const collect = (node) => {
|
|
623
|
+
if (node.oneOf?.length)
|
|
624
|
+
rules.push(['Exactly one of', node.oneOf]);
|
|
625
|
+
if (node.anyOf?.length)
|
|
626
|
+
rules.push(['At least one of', node.anyOf]);
|
|
627
|
+
for (const member of node.allOf ?? [])
|
|
628
|
+
collect(member);
|
|
629
|
+
};
|
|
630
|
+
collect(schema);
|
|
631
|
+
return rules;
|
|
632
|
+
}
|
|
633
|
+
function onlyRequires(variant) {
|
|
634
|
+
return Object.entries(variant).every(([key, value]) => key === 'required' ||
|
|
635
|
+
key === 'description' ||
|
|
636
|
+
(key === 'not' && typeof value === 'object' && value !== null && onlyRequires(value)));
|
|
294
637
|
}
|
|
295
638
|
export function wrap(text, width) {
|
|
296
639
|
const words = text.split(/\s+/);
|
package/dist/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
|