@runa-cmd/core 0.1.0 → 0.2.0-beta.1
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 +125 -23
- package/dist/cli.d.ts +20 -4
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +392 -143
- package/dist/cli.js.map +1 -1
- package/dist/errors.d.ts +25 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +72 -6
- package/dist/errors.js.map +1 -1
- package/dist/flag-name.d.ts +12 -0
- package/dist/flag-name.d.ts.map +1 -0
- package/dist/flag-name.js +19 -0
- package/dist/flag-name.js.map +1 -0
- package/dist/help.d.ts +21 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +151 -0
- package/dist/help.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +10 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +9 -0
- package/dist/internal.js.map +1 -0
- package/dist/introspect.d.ts.map +1 -1
- package/dist/introspect.js +10 -3
- package/dist/introspect.js.map +1 -1
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/lifecycle.js +5 -3
- package/dist/lifecycle.js.map +1 -1
- package/dist/parse/adapters/zod-v4.d.ts +3 -0
- package/dist/parse/adapters/zod-v4.d.ts.map +1 -0
- package/dist/parse/adapters/zod-v4.js +106 -0
- package/dist/parse/adapters/zod-v4.js.map +1 -0
- package/dist/parse/deprecated.d.ts +12 -0
- package/dist/parse/deprecated.d.ts.map +1 -0
- package/dist/parse/deprecated.js +21 -0
- package/dist/parse/deprecated.js.map +1 -0
- package/dist/parse/parseargs-bridge.d.ts +10 -0
- package/dist/parse/parseargs-bridge.d.ts.map +1 -1
- package/dist/parse/parseargs-bridge.js +20 -6
- package/dist/parse/parseargs-bridge.js.map +1 -1
- package/dist/parse/resolve.d.ts +44 -1
- package/dist/parse/resolve.d.ts.map +1 -1
- package/dist/parse/resolve.js +151 -73
- package/dist/parse/resolve.js.map +1 -1
- package/dist/parse/schema-adapter.d.ts +42 -0
- package/dist/parse/schema-adapter.d.ts.map +1 -0
- package/dist/parse/schema-adapter.js +4 -0
- package/dist/parse/schema-adapter.js.map +1 -0
- package/dist/parse/schema-walker.d.ts +3 -3
- package/dist/parse/schema-walker.d.ts.map +1 -1
- package/dist/parse/schema-walker.js +13 -104
- package/dist/parse/schema-walker.js.map +1 -1
- package/dist/parse/strict.d.ts +52 -0
- package/dist/parse/strict.d.ts.map +1 -0
- package/dist/parse/strict.js +68 -0
- package/dist/parse/strict.js.map +1 -0
- package/dist/parse/variadic.d.ts +2 -1
- package/dist/parse/variadic.d.ts.map +1 -1
- package/dist/parse/variadic.js +4 -24
- package/dist/parse/variadic.js.map +1 -1
- package/dist/plugin.d.ts +41 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +189 -0
- package/dist/plugin.js.map +1 -1
- package/dist/stop.d.ts +25 -0
- package/dist/stop.d.ts.map +1 -0
- package/dist/stop.js +110 -0
- package/dist/stop.js.map +1 -0
- package/dist/suggest.d.ts +18 -0
- package/dist/suggest.d.ts.map +1 -0
- package/dist/suggest.js +56 -0
- package/dist/suggest.js.map +1 -0
- package/dist/tool-channel.d.ts +48 -0
- package/dist/tool-channel.d.ts.map +1 -0
- package/dist/tool-channel.js +46 -0
- package/dist/tool-channel.js.map +1 -0
- package/dist/types.d.ts +51 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +6 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suggest.d.ts","sourceRoot":"","sources":["../src/suggest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAiCxD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CActF"}
|
package/dist/suggest.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @runa-cmd/core — "Did you mean" suggestion helpers
|
|
3
|
+
*
|
|
4
|
+
* Shared by the command-not-found path (cli.ts) and the unknown-option
|
|
5
|
+
* strict check (parse/strict.ts). Internal module — not exported from
|
|
6
|
+
* the package barrel (index.ts).
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Levenshtein distance for "did you mean" suggestions.
|
|
10
|
+
*/
|
|
11
|
+
export function levenshtein(a, b) {
|
|
12
|
+
const rows = b.length + 1;
|
|
13
|
+
const cols = a.length + 1;
|
|
14
|
+
// Use a flat array for guaranteed index access without non-null assertions
|
|
15
|
+
const matrix = new Array(rows * cols).fill(0);
|
|
16
|
+
const at = (i, j) => matrix[i * cols + j] ?? 0;
|
|
17
|
+
const set = (i, j, v) => {
|
|
18
|
+
matrix[i * cols + j] = v;
|
|
19
|
+
};
|
|
20
|
+
for (let i = 0; i < rows; i++)
|
|
21
|
+
set(i, 0, i);
|
|
22
|
+
for (let j = 0; j < cols; j++)
|
|
23
|
+
set(0, j, j);
|
|
24
|
+
for (let i = 1; i < rows; i++) {
|
|
25
|
+
for (let j = 1; j < cols; j++) {
|
|
26
|
+
if (b[i - 1] === a[j - 1]) {
|
|
27
|
+
set(i, j, at(i - 1, j - 1));
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
set(i, j, Math.min(at(i - 1, j - 1) + 1, // substitution
|
|
31
|
+
at(i, j - 1) + 1, // insertion
|
|
32
|
+
at(i - 1, j) + 1));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return at(b.length, a.length);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Find the best suggestion for a misspelled name, or undefined if none is
|
|
40
|
+
* close. The allowed distance grows with the input, up to 3: on a short name,
|
|
41
|
+
* a distance of 3 means nothing in common, and a wrong suggestion misleads.
|
|
42
|
+
*/
|
|
43
|
+
export function findSuggestion(input, candidates) {
|
|
44
|
+
let best;
|
|
45
|
+
let bestDist = Infinity;
|
|
46
|
+
for (const candidate of candidates) {
|
|
47
|
+
const dist = levenshtein(input, candidate);
|
|
48
|
+
if (dist < bestDist) {
|
|
49
|
+
bestDist = dist;
|
|
50
|
+
best = candidate;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const maxDistance = Math.min(3, Math.floor(input.length / 2));
|
|
54
|
+
return bestDist <= maxDistance ? best : undefined;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=suggest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suggest.js","sourceRoot":"","sources":["../src/suggest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,CAAS,EAAE,CAAS;IAC/C,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAE1B,2EAA2E;IAC3E,MAAM,MAAM,GAAG,IAAI,KAAK,CAAS,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,EAAE;QAC/C,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC3B,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACP,GAAG,CACF,CAAC,EACD,CAAC,EACD,IAAI,CAAC,GAAG,CACP,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,eAAe;gBACrC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,YAAY;gBAC9B,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAChB,CACD,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,UAAoB;IACjE,IAAI,IAAwB,CAAC;IAC7B,IAAI,QAAQ,GAAG,QAAQ,CAAC;IAExB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,GAAG,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9D,OAAO,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export declare const TOOL_CALL_ENV = "RUNA_INTERNAL_TOOL_CALL";
|
|
2
|
+
export declare const TOOL_INPUT_FD = 3;
|
|
3
|
+
export declare const TOOL_REPORT_FD = 4;
|
|
4
|
+
export type ToolRequest =
|
|
5
|
+
/** Proves the server can re-run itself, without touching any command */
|
|
6
|
+
{
|
|
7
|
+
kind: 'ping';
|
|
8
|
+
} | {
|
|
9
|
+
kind: 'call';
|
|
10
|
+
path: string[];
|
|
11
|
+
input: Record<string, unknown>;
|
|
12
|
+
/** A larger result is not sent: holding it would be the server's problem */
|
|
13
|
+
maxResultBytes: number;
|
|
14
|
+
};
|
|
15
|
+
export type ToolReport = {
|
|
16
|
+
kind: 'pong';
|
|
17
|
+
}
|
|
18
|
+
/** run() is about to start: from here on, side effects are possible */
|
|
19
|
+
| {
|
|
20
|
+
kind: 'running';
|
|
21
|
+
}
|
|
22
|
+
/** run() returned: its side effects happened, whatever comes next */
|
|
23
|
+
| {
|
|
24
|
+
kind: 'ran';
|
|
25
|
+
}
|
|
26
|
+
/** The whole command finished, output validated */
|
|
27
|
+
| {
|
|
28
|
+
kind: 'result';
|
|
29
|
+
value: unknown;
|
|
30
|
+
}
|
|
31
|
+
/** The command finished, but what it returned is over the limit */
|
|
32
|
+
| {
|
|
33
|
+
kind: 'oversized';
|
|
34
|
+
bytes: number;
|
|
35
|
+
}
|
|
36
|
+
/** The run ended on an error; the reason is on stderr, for the same text a person reads */
|
|
37
|
+
| {
|
|
38
|
+
kind: 'failed';
|
|
39
|
+
reason: ToolFailureReason;
|
|
40
|
+
};
|
|
41
|
+
export type ToolFailureReason = 'input' | 'output' | 'other';
|
|
42
|
+
/**
|
|
43
|
+
* The request of this process, if it was started as a tool. The variable is
|
|
44
|
+
* removed right away, so a CLI the command starts is an ordinary CLI.
|
|
45
|
+
*/
|
|
46
|
+
export declare function takeToolRequest(): ToolRequest | undefined;
|
|
47
|
+
export declare function sendToolReport(report: ToolReport, maxResultBytes?: number): void;
|
|
48
|
+
//# sourceMappingURL=tool-channel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-channel.d.ts","sourceRoot":"","sources":["../src/tool-channel.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,aAAa,4BAA4B,CAAC;AACvD,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,MAAM,MAAM,WAAW;AACtB,wEAAwE;AACtE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IACA,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;CACtB,CAAC;AAEL,MAAM,MAAM,UAAU,GACnB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;AAClB,uEAAuE;GACrE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE;AACrB,qEAAqE;GACnE;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE;AACjB,mDAAmD;GACjD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE;AACpC,mEAAmE;GACjE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACtC,2FAA2F;GACzF;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,eAAe,IAAI,WAAW,GAAG,SAAS,CAIzD;AAeD,wBAAgB,cAAc,CAC7B,MAAM,EAAE,UAAU,EAClB,cAAc,SAA2B,GACvC,IAAI,CAON"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @runa-cmd/core — Channel between an MCP server and a CLI run as a tool
|
|
3
|
+
*
|
|
4
|
+
* A tool call re-runs the CLI as a child process (ADR-0030). The request comes
|
|
5
|
+
* in on one file descriptor and reports go out on another, so stdin, stdout and
|
|
6
|
+
* stderr stay the command's own. Reports are written synchronously: they must
|
|
7
|
+
* survive a process.exit right after them.
|
|
8
|
+
*
|
|
9
|
+
* Internal contract between @runa-cmd/core and @runa-cmd/mcp, not public API.
|
|
10
|
+
*/
|
|
11
|
+
import { readFileSync, writeSync } from 'node:fs';
|
|
12
|
+
export const TOOL_CALL_ENV = 'RUNA_INTERNAL_TOOL_CALL';
|
|
13
|
+
export const TOOL_INPUT_FD = 3;
|
|
14
|
+
export const TOOL_REPORT_FD = 4;
|
|
15
|
+
/**
|
|
16
|
+
* The request of this process, if it was started as a tool. The variable is
|
|
17
|
+
* removed right away, so a CLI the command starts is an ordinary CLI.
|
|
18
|
+
*/
|
|
19
|
+
export function takeToolRequest() {
|
|
20
|
+
if (!process.env[TOOL_CALL_ENV])
|
|
21
|
+
return undefined;
|
|
22
|
+
delete process.env[TOOL_CALL_ENV];
|
|
23
|
+
return JSON.parse(readFileSync(TOOL_INPUT_FD, 'utf8'));
|
|
24
|
+
}
|
|
25
|
+
function writeLine(report, maxBytes) {
|
|
26
|
+
const line = Buffer.from(`${JSON.stringify(report)}\n`);
|
|
27
|
+
if (report.kind === 'result' && line.length > maxBytes) {
|
|
28
|
+
writeLine({ kind: 'oversized', bytes: line.length }, maxBytes);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
let written = 0;
|
|
32
|
+
while (written < line.length) {
|
|
33
|
+
written += writeSync(TOOL_REPORT_FD, line, written);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export function sendToolReport(report, maxResultBytes = Number.POSITIVE_INFINITY) {
|
|
37
|
+
try {
|
|
38
|
+
writeLine(report, maxResultBytes);
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
// A server that died can't read this, and that must not stop the cleanup
|
|
42
|
+
if (error.code !== 'EPIPE')
|
|
43
|
+
throw error;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=tool-channel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-channel.js","sourceRoot":"","sources":["../src/tool-channel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,CAAC,MAAM,aAAa,GAAG,yBAAyB,CAAC;AACvD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AA4BhC;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAAE,OAAO,SAAS,CAAC;IAClD,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAgB,CAAC;AACvE,CAAC;AAED,SAAS,SAAS,CAAC,MAAkB,EAAE,QAAgB;IACtD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QACxD,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC/D,OAAO;IACR,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO,IAAI,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;AACF,CAAC;AAED,MAAM,UAAU,cAAc,CAC7B,MAAkB,EAClB,cAAc,GAAG,MAAM,CAAC,iBAAiB;IAEzC,IAAI,CAAC;QACJ,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,yEAAyE;QACzE,IAAK,KAA+B,CAAC,IAAI,KAAK,OAAO;YAAE,MAAM,KAAK,CAAC;IACpE,CAAC;AACF,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -12,10 +12,8 @@ export interface OptionMeta {
|
|
|
12
12
|
env?: string;
|
|
13
13
|
/** Help group name, e.g. 'Deploy' */
|
|
14
14
|
group?: string;
|
|
15
|
-
/** Deprecation message, e.g. 'Use --confirm instead' */
|
|
15
|
+
/** Deprecation message, shown in help and when the option is used, e.g. 'Use --confirm instead' */
|
|
16
16
|
deprecated?: string;
|
|
17
|
-
/** Value hint for help, e.g. 'staging|prod' */
|
|
18
|
-
hint?: string;
|
|
19
17
|
}
|
|
20
18
|
export interface CommandMeta<TOptions extends Record<string, ZodType> = Record<string, ZodType>> {
|
|
21
19
|
name: string;
|
|
@@ -46,6 +44,10 @@ export interface RunContext<TArgs extends Record<string, ZodType> = Record<strin
|
|
|
46
44
|
globalOptions: Record<string, unknown>;
|
|
47
45
|
command: CommandMeta<TOptions>;
|
|
48
46
|
rawArgs: string[];
|
|
47
|
+
/** Tokens after the first `--` separator, verbatim and unvalidated. `[]` when absent. */
|
|
48
|
+
rest: string[];
|
|
49
|
+
/** Aborted when the run must stop. Pass it on to whatever the command starts. */
|
|
50
|
+
signal: AbortSignal;
|
|
49
51
|
}
|
|
50
52
|
/**
|
|
51
53
|
* If TOutput extends ZodType, run() must return data matching the schema.
|
|
@@ -90,6 +92,17 @@ export interface CLIConfig {
|
|
|
90
92
|
globalMeta?: {
|
|
91
93
|
options?: Record<string, OptionMeta>;
|
|
92
94
|
};
|
|
95
|
+
/**
|
|
96
|
+
* Reject unknown options with a ValidationError (exit 2) and a
|
|
97
|
+
* did-you-mean suggestion. Default: true. Set to false to restore
|
|
98
|
+
* the v0.1.0 lenient behavior (unknown flags silently ignored).
|
|
99
|
+
*/
|
|
100
|
+
strictOptions?: boolean;
|
|
101
|
+
}
|
|
102
|
+
/** Options for runCLI(): a CLI config without what the command itself provides. */
|
|
103
|
+
export interface RunCLIOptions extends Omit<CLIConfig, 'meta' | 'commands'> {
|
|
104
|
+
/** Arguments to parse. Default: process.argv.slice(2) */
|
|
105
|
+
argv?: string[];
|
|
93
106
|
}
|
|
94
107
|
export interface CLI {
|
|
95
108
|
readonly _type: 'runa:cli';
|
|
@@ -98,7 +111,8 @@ export interface CLI {
|
|
|
98
111
|
}
|
|
99
112
|
export interface PluginMeta {
|
|
100
113
|
name: string;
|
|
101
|
-
|
|
114
|
+
/** Informative only: Runa does not read it. Compatibility belongs in peerDependencies */
|
|
115
|
+
version?: string;
|
|
102
116
|
description?: string;
|
|
103
117
|
/** Names of other plugins this depends on */
|
|
104
118
|
dependencies?: string[];
|
|
@@ -107,6 +121,7 @@ export interface PluginCapabilities {
|
|
|
107
121
|
addCommands?: boolean;
|
|
108
122
|
addGlobalOptions?: boolean;
|
|
109
123
|
addMiddleware?: boolean;
|
|
124
|
+
replaceHelp?: boolean;
|
|
110
125
|
}
|
|
111
126
|
export interface PluginConfig {
|
|
112
127
|
meta: PluginMeta;
|
|
@@ -121,7 +136,18 @@ export interface PluginAPI {
|
|
|
121
136
|
hook(name: HookName, handler: HookHandler): void;
|
|
122
137
|
getSchema(): CLISchema;
|
|
123
138
|
getCommands(): CommandTree;
|
|
139
|
+
/** Values from the config file of the CLI, if it has one */
|
|
140
|
+
getConfigValues(): Promise<Record<string, unknown> | undefined>;
|
|
141
|
+
/** Show help your way, instead of the built-in plain text. Only one plugin can */
|
|
142
|
+
replaceHelp(show: HelpHandler): void;
|
|
124
143
|
}
|
|
144
|
+
/** What help is about. A command also lists the global options that work on it. */
|
|
145
|
+
export type HelpTarget = CLISchema | CommandSchema;
|
|
146
|
+
/**
|
|
147
|
+
* Shows the help of a target, how the plugin wants. Write it to `output`:
|
|
148
|
+
* stdout if the person asked for it, stderr if there was nothing to run.
|
|
149
|
+
*/
|
|
150
|
+
export type HelpHandler = (target: HelpTarget, output: NodeJS.WritableStream) => void | Promise<void>;
|
|
125
151
|
export declare const HOOK_NAMES: {
|
|
126
152
|
readonly BEFORE_PARSE: "beforeParse";
|
|
127
153
|
readonly ON_GLOBAL_FLAGS: "onGlobalFlags";
|
|
@@ -132,9 +158,19 @@ export declare const HOOK_NAMES: {
|
|
|
132
158
|
readonly CLEANUP: "cleanup";
|
|
133
159
|
};
|
|
134
160
|
export type HookName = (typeof HOOK_NAMES)[keyof typeof HOOK_NAMES];
|
|
161
|
+
/** Where a run comes from: a person or script at the CLI, or a tool call. */
|
|
162
|
+
export type Invocation = {
|
|
163
|
+
surface: 'cli';
|
|
164
|
+
} | {
|
|
165
|
+
surface: 'tool';
|
|
166
|
+
tool: string;
|
|
167
|
+
};
|
|
135
168
|
export interface HookContext {
|
|
136
169
|
cli: CLIMeta;
|
|
170
|
+
invocation: Invocation;
|
|
137
171
|
rawArgs: string[];
|
|
172
|
+
/** Aborted when the run must stop */
|
|
173
|
+
signal: AbortSignal;
|
|
138
174
|
globalOptions?: Record<string, unknown>;
|
|
139
175
|
command?: CommandMeta;
|
|
140
176
|
args?: Record<string, unknown>;
|
|
@@ -165,6 +201,8 @@ export interface CLISchema {
|
|
|
165
201
|
meta: CLIMeta;
|
|
166
202
|
commands: CommandSchema[];
|
|
167
203
|
globalOptions: OptionSchema[];
|
|
204
|
+
/** Name of the command that runs without a subcommand: set by runCLI() */
|
|
205
|
+
root?: string;
|
|
168
206
|
}
|
|
169
207
|
export interface CommandSchema {
|
|
170
208
|
name: string;
|
|
@@ -186,16 +224,20 @@ export interface ArgSchema {
|
|
|
186
224
|
enumValues?: string[];
|
|
187
225
|
}
|
|
188
226
|
export interface OptionSchema {
|
|
227
|
+
/** The key in code, in config files and in MCP tools */
|
|
189
228
|
name: string;
|
|
229
|
+
/** The long flag, without dashes: what a person types */
|
|
230
|
+
flag: string;
|
|
190
231
|
description?: string;
|
|
232
|
+
/** `array` means the option repeats, with `itemType` values */
|
|
191
233
|
type: ParamType;
|
|
234
|
+
itemType?: ParamType;
|
|
192
235
|
required: boolean;
|
|
193
236
|
defaultValue?: unknown;
|
|
194
237
|
alias?: string[];
|
|
195
238
|
env?: string;
|
|
196
239
|
group?: string;
|
|
197
240
|
deprecated?: string;
|
|
198
|
-
hint?: string;
|
|
199
241
|
enumValues?: string[];
|
|
200
242
|
}
|
|
201
243
|
export declare const PARAM_TYPES: {
|
|
@@ -215,9 +257,11 @@ export interface ParamMetadata {
|
|
|
215
257
|
isOptional: boolean;
|
|
216
258
|
/** Default value extracted from .default(), or undefined */
|
|
217
259
|
defaultValue: unknown;
|
|
218
|
-
/** Whether this is a z.array()
|
|
260
|
+
/** Whether this is a z.array(): a variadic arg or an option that repeats */
|
|
219
261
|
isArray: boolean;
|
|
220
|
-
/**
|
|
262
|
+
/** Type of each element of a z.array() */
|
|
263
|
+
itemType?: ParamType;
|
|
264
|
+
/** Enum values extracted from z.enum(), also as the element of a z.array() */
|
|
221
265
|
enumValues?: string[];
|
|
222
266
|
/** Description extracted from .describe() */
|
|
223
267
|
description?: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAItC,MAAM,WAAW,UAAU;IAC1B,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAyMA,+DAA+D;AAE/D,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,YAAY,EAAE,aAAa;IAC3B,eAAe,EAAE,eAAe;IAChC,WAAW,EAAE,YAAY;IACzB,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,UAAU;IACrB,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,SAAS;CACT,CAAC;AAkGX,+DAA+D;AAE/D,MAAM,CAAC,MAAM,WAAW,GAAG;IAC1B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@runa-cmd/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0-beta.1",
|
|
4
4
|
"description": "Schema-driven, TypeScript-first CLI engine — commands, parsing, plugins, middleware. Zero runtime deps.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -24,13 +24,17 @@
|
|
|
24
24
|
"./zod": {
|
|
25
25
|
"types": "./dist/zod.d.ts",
|
|
26
26
|
"import": "./dist/zod.js"
|
|
27
|
+
},
|
|
28
|
+
"./internal": {
|
|
29
|
+
"types": "./dist/internal.d.ts",
|
|
30
|
+
"import": "./dist/internal.js"
|
|
27
31
|
}
|
|
28
32
|
},
|
|
29
33
|
"peerDependencies": {
|
|
30
34
|
"zod": "^4.0.0"
|
|
31
35
|
},
|
|
32
36
|
"engines": {
|
|
33
|
-
"node": ">=
|
|
37
|
+
"node": ">=24.0.0"
|
|
34
38
|
},
|
|
35
39
|
"publishConfig": {
|
|
36
40
|
"access": "public"
|