@runa-cmd/core 0.2.0-beta.0 → 0.2.0-beta.2
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 +137 -23
- package/dist/cli.d.ts +20 -4
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +370 -123
- package/dist/cli.js.map +1 -1
- package/dist/command.d.ts.map +1 -1
- package/dist/command.js +1 -0
- package/dist/command.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 +152 -0
- package/dist/help.js.map +1 -0
- package/dist/index.d.ts +1 -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 +12 -3
- package/dist/introspect.js.map +1 -1
- package/dist/lifecycle.js +1 -1
- package/dist/lifecycle.js.map +1 -1
- package/dist/parse/adapters/zod-v4.d.ts.map +1 -1
- package/dist/parse/adapters/zod-v4.js +6 -3
- package/dist/parse/adapters/zod-v4.js.map +1 -1
- 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.map +1 -1
- package/dist/parse/parseargs-bridge.js +14 -10
- package/dist/parse/parseargs-bridge.js.map +1 -1
- package/dist/parse/resolve.d.ts +34 -4
- package/dist/parse/resolve.d.ts.map +1 -1
- package/dist/parse/resolve.js +134 -54
- package/dist/parse/resolve.js.map +1 -1
- package/dist/parse/schema-adapter.d.ts +5 -3
- package/dist/parse/schema-adapter.d.ts.map +1 -1
- package/dist/parse/schema-adapter.js.map +1 -1
- package/dist/parse/schema-walker.d.ts.map +1 -1
- package/dist/parse/schema-walker.js +1 -0
- package/dist/parse/schema-walker.js.map +1 -1
- package/dist/parse/strict.d.ts +36 -2
- package/dist/parse/strict.d.ts.map +1 -1
- package/dist/parse/strict.js +53 -15
- package/dist/parse/strict.js.map +1 -1
- package/dist/plugin.d.ts +12 -3
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +60 -9
- 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 +3 -2
- package/dist/suggest.d.ts.map +1 -1
- package/dist/suggest.js +5 -4
- package/dist/suggest.js.map +1 -1
- 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 -8
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +5 -1
package/dist/suggest.d.ts.map
CHANGED
|
@@ -1 +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
|
|
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
CHANGED
|
@@ -36,8 +36,9 @@ export function levenshtein(a, b) {
|
|
|
36
36
|
return at(b.length, a.length);
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
* Find the best suggestion for a misspelled name
|
|
40
|
-
*
|
|
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.
|
|
41
42
|
*/
|
|
42
43
|
export function findSuggestion(input, candidates) {
|
|
43
44
|
let best;
|
|
@@ -49,7 +50,7 @@ export function findSuggestion(input, candidates) {
|
|
|
49
50
|
best = candidate;
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
|
-
|
|
53
|
-
return bestDist <=
|
|
53
|
+
const maxDistance = Math.min(3, Math.floor(input.length / 2));
|
|
54
|
+
return bestDist <= maxDistance ? best : undefined;
|
|
54
55
|
}
|
|
55
56
|
//# sourceMappingURL=suggest.js.map
|
package/dist/suggest.js.map
CHANGED
|
@@ -1 +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
|
|
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,10 @@ 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
|
-
/**
|
|
18
|
-
|
|
17
|
+
/** What help calls the value, e.g. 'hex' for `--color <hex>`. Default: its type */
|
|
18
|
+
valueName?: string;
|
|
19
19
|
}
|
|
20
20
|
export interface CommandMeta<TOptions extends Record<string, ZodType> = Record<string, ZodType>> {
|
|
21
21
|
name: string;
|
|
@@ -46,8 +46,10 @@ export interface RunContext<TArgs extends Record<string, ZodType> = Record<strin
|
|
|
46
46
|
globalOptions: Record<string, unknown>;
|
|
47
47
|
command: CommandMeta<TOptions>;
|
|
48
48
|
rawArgs: string[];
|
|
49
|
-
/**
|
|
49
|
+
/** What's left after `--`, verbatim and unvalidated, if the command declares `rest: true`. Else `[]` */
|
|
50
50
|
rest: string[];
|
|
51
|
+
/** Aborted when the run must stop. Pass it on to whatever the command starts. */
|
|
52
|
+
signal: AbortSignal;
|
|
51
53
|
}
|
|
52
54
|
/**
|
|
53
55
|
* If TOutput extends ZodType, run() must return data matching the schema.
|
|
@@ -59,6 +61,8 @@ export interface CommandConfig<TArgs extends Record<string, ZodType> = Record<st
|
|
|
59
61
|
args?: TArgs;
|
|
60
62
|
options?: TOptions;
|
|
61
63
|
output?: TOutput;
|
|
64
|
+
/** Take what's left after `--` in `ctx.rest`. Without it, that's a usage error */
|
|
65
|
+
rest?: boolean;
|
|
62
66
|
run: (ctx: RunContext<TArgs, TOptions>) => RunReturn<TOutput>;
|
|
63
67
|
}
|
|
64
68
|
export interface Command {
|
|
@@ -67,6 +71,7 @@ export interface Command {
|
|
|
67
71
|
readonly args?: Record<string, ZodType>;
|
|
68
72
|
readonly options?: Record<string, ZodType>;
|
|
69
73
|
readonly output?: ZodType;
|
|
74
|
+
readonly rest?: boolean;
|
|
70
75
|
readonly run: (ctx: RunContext) => unknown;
|
|
71
76
|
}
|
|
72
77
|
export interface CommandTree {
|
|
@@ -99,6 +104,11 @@ export interface CLIConfig {
|
|
|
99
104
|
*/
|
|
100
105
|
strictOptions?: boolean;
|
|
101
106
|
}
|
|
107
|
+
/** Options for runCLI(): a CLI config without what the command itself provides. */
|
|
108
|
+
export interface RunCLIOptions extends Omit<CLIConfig, 'meta' | 'commands'> {
|
|
109
|
+
/** Arguments to parse. Default: process.argv.slice(2) */
|
|
110
|
+
argv?: string[];
|
|
111
|
+
}
|
|
102
112
|
export interface CLI {
|
|
103
113
|
readonly _type: 'runa:cli';
|
|
104
114
|
readonly config: CLIConfig;
|
|
@@ -106,7 +116,8 @@ export interface CLI {
|
|
|
106
116
|
}
|
|
107
117
|
export interface PluginMeta {
|
|
108
118
|
name: string;
|
|
109
|
-
|
|
119
|
+
/** Informative only: Runa does not read it. Compatibility belongs in peerDependencies */
|
|
120
|
+
version?: string;
|
|
110
121
|
description?: string;
|
|
111
122
|
/** Names of other plugins this depends on */
|
|
112
123
|
dependencies?: string[];
|
|
@@ -115,6 +126,7 @@ export interface PluginCapabilities {
|
|
|
115
126
|
addCommands?: boolean;
|
|
116
127
|
addGlobalOptions?: boolean;
|
|
117
128
|
addMiddleware?: boolean;
|
|
129
|
+
replaceHelp?: boolean;
|
|
118
130
|
}
|
|
119
131
|
export interface PluginConfig {
|
|
120
132
|
meta: PluginMeta;
|
|
@@ -129,7 +141,18 @@ export interface PluginAPI {
|
|
|
129
141
|
hook(name: HookName, handler: HookHandler): void;
|
|
130
142
|
getSchema(): CLISchema;
|
|
131
143
|
getCommands(): CommandTree;
|
|
144
|
+
/** Values from the config file of the CLI, if it has one */
|
|
145
|
+
getConfigValues(): Promise<Record<string, unknown> | undefined>;
|
|
146
|
+
/** Show help your way, instead of the built-in plain text. Only one plugin can */
|
|
147
|
+
replaceHelp(show: HelpHandler): void;
|
|
132
148
|
}
|
|
149
|
+
/** What help is about. A command also lists the global options that work on it. */
|
|
150
|
+
export type HelpTarget = CLISchema | CommandSchema;
|
|
151
|
+
/**
|
|
152
|
+
* Shows the help of a target, how the plugin wants. Write it to `output`:
|
|
153
|
+
* stdout if the person asked for it, stderr if there was nothing to run.
|
|
154
|
+
*/
|
|
155
|
+
export type HelpHandler = (target: HelpTarget, output: NodeJS.WritableStream) => void | Promise<void>;
|
|
133
156
|
export declare const HOOK_NAMES: {
|
|
134
157
|
readonly BEFORE_PARSE: "beforeParse";
|
|
135
158
|
readonly ON_GLOBAL_FLAGS: "onGlobalFlags";
|
|
@@ -140,9 +163,19 @@ export declare const HOOK_NAMES: {
|
|
|
140
163
|
readonly CLEANUP: "cleanup";
|
|
141
164
|
};
|
|
142
165
|
export type HookName = (typeof HOOK_NAMES)[keyof typeof HOOK_NAMES];
|
|
166
|
+
/** Where a run comes from: a person or script at the CLI, or a tool call. */
|
|
167
|
+
export type Invocation = {
|
|
168
|
+
surface: 'cli';
|
|
169
|
+
} | {
|
|
170
|
+
surface: 'tool';
|
|
171
|
+
tool: string;
|
|
172
|
+
};
|
|
143
173
|
export interface HookContext {
|
|
144
174
|
cli: CLIMeta;
|
|
175
|
+
invocation: Invocation;
|
|
145
176
|
rawArgs: string[];
|
|
177
|
+
/** Aborted when the run must stop */
|
|
178
|
+
signal: AbortSignal;
|
|
146
179
|
globalOptions?: Record<string, unknown>;
|
|
147
180
|
command?: CommandMeta;
|
|
148
181
|
args?: Record<string, unknown>;
|
|
@@ -173,6 +206,8 @@ export interface CLISchema {
|
|
|
173
206
|
meta: CLIMeta;
|
|
174
207
|
commands: CommandSchema[];
|
|
175
208
|
globalOptions: OptionSchema[];
|
|
209
|
+
/** Name of the command that runs without a subcommand: set by runCLI() */
|
|
210
|
+
root?: string;
|
|
176
211
|
}
|
|
177
212
|
export interface CommandSchema {
|
|
178
213
|
name: string;
|
|
@@ -194,16 +229,22 @@ export interface ArgSchema {
|
|
|
194
229
|
enumValues?: string[];
|
|
195
230
|
}
|
|
196
231
|
export interface OptionSchema {
|
|
232
|
+
/** The key in code, in config files and in MCP tools */
|
|
197
233
|
name: string;
|
|
234
|
+
/** The long flag, without dashes: what a person types */
|
|
235
|
+
flag: string;
|
|
198
236
|
description?: string;
|
|
237
|
+
/** `array` means the option repeats, with `itemType` values */
|
|
199
238
|
type: ParamType;
|
|
239
|
+
itemType?: ParamType;
|
|
240
|
+
/** What help calls the value, if the author named it */
|
|
241
|
+
valueName?: string;
|
|
200
242
|
required: boolean;
|
|
201
243
|
defaultValue?: unknown;
|
|
202
244
|
alias?: string[];
|
|
203
245
|
env?: string;
|
|
204
246
|
group?: string;
|
|
205
247
|
deprecated?: string;
|
|
206
|
-
hint?: string;
|
|
207
248
|
enumValues?: string[];
|
|
208
249
|
}
|
|
209
250
|
export declare const PARAM_TYPES: {
|
|
@@ -223,9 +264,11 @@ export interface ParamMetadata {
|
|
|
223
264
|
isOptional: boolean;
|
|
224
265
|
/** Default value extracted from .default(), or undefined */
|
|
225
266
|
defaultValue: unknown;
|
|
226
|
-
/** Whether this is a z.array()
|
|
267
|
+
/** Whether this is a z.array(): a variadic arg or an option that repeats */
|
|
227
268
|
isArray: boolean;
|
|
228
|
-
/**
|
|
269
|
+
/** Type of each element of a z.array() */
|
|
270
|
+
itemType?: ParamType;
|
|
271
|
+
/** Enum values extracted from z.enum(), also as the element of a z.array() */
|
|
229
272
|
enumValues?: string[];
|
|
230
273
|
/** Description extracted from .describe() */
|
|
231
274
|
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":"AA8MA,+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;AAoGX,+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.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.2",
|
|
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,6 +24,10 @@
|
|
|
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": {
|