@runa-cmd/core 0.2.0-beta.2 → 0.2.0-beta.4

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 (56) hide show
  1. package/CHANGELOG.md +363 -0
  2. package/README.md +140 -4
  3. package/dist/cli.d.ts +20 -0
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +260 -90
  6. package/dist/cli.js.map +1 -1
  7. package/dist/command.d.ts +5 -2
  8. package/dist/command.d.ts.map +1 -1
  9. package/dist/command.js +27 -0
  10. package/dist/command.js.map +1 -1
  11. package/dist/config/merge.d.ts +8 -10
  12. package/dist/config/merge.d.ts.map +1 -1
  13. package/dist/config/merge.js +26 -10
  14. package/dist/config/merge.js.map +1 -1
  15. package/dist/config/scope.d.ts +41 -0
  16. package/dist/config/scope.d.ts.map +1 -0
  17. package/dist/config/scope.js +102 -0
  18. package/dist/config/scope.js.map +1 -0
  19. package/dist/errors.d.ts +12 -0
  20. package/dist/errors.d.ts.map +1 -1
  21. package/dist/errors.js +24 -0
  22. package/dist/errors.js.map +1 -1
  23. package/dist/help.d.ts.map +1 -1
  24. package/dist/help.js +12 -3
  25. package/dist/help.js.map +1 -1
  26. package/dist/index.d.ts +2 -2
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +1 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/introspect.d.ts.map +1 -1
  31. package/dist/introspect.js +10 -0
  32. package/dist/introspect.js.map +1 -1
  33. package/dist/parse/resolve.d.ts +7 -0
  34. package/dist/parse/resolve.d.ts.map +1 -1
  35. package/dist/parse/resolve.js +39 -9
  36. package/dist/parse/resolve.js.map +1 -1
  37. package/dist/plugin.d.ts +6 -1
  38. package/dist/plugin.d.ts.map +1 -1
  39. package/dist/plugin.js +33 -3
  40. package/dist/plugin.js.map +1 -1
  41. package/dist/stop.d.ts +2 -1
  42. package/dist/stop.d.ts.map +1 -1
  43. package/dist/stop.js +6 -3
  44. package/dist/stop.js.map +1 -1
  45. package/dist/testing.d.ts +28 -0
  46. package/dist/testing.d.ts.map +1 -0
  47. package/dist/testing.js +151 -0
  48. package/dist/testing.js.map +1 -0
  49. package/dist/trace.d.ts +36 -0
  50. package/dist/trace.d.ts.map +1 -0
  51. package/dist/trace.js +24 -0
  52. package/dist/trace.js.map +1 -0
  53. package/dist/types.d.ts +35 -9
  54. package/dist/types.d.ts.map +1 -1
  55. package/dist/types.js.map +1 -1
  56. package/package.json +7 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAa,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEzE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,WAAW,WAChB,SAAQ,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,YAAY,GAAG,eAAe,GAAG,YAAY,CAAC;IACtF,sEAAsE;IACtE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IAC1B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,yCAAyC;IACzC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,+EAA+E;IAC/E,KAAK,EAAE,UAAU,EAAE,CAAC;CACpB;AAiHD;;;;GAIG;AACH,wBAAsB,OAAO,CAC5B,MAAM,EAAE,GAAG,GAAG,OAAO,EACrB,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE,WAAgB,GACvB,OAAO,CAAC,UAAU,CAAC,CA4CrB"}
@@ -0,0 +1,151 @@
1
+ /**
2
+ * @runa-cmd/core/testing — Test a CLI without a child process (ADR-0041)
3
+ *
4
+ * The output of a process is one for everyone, so swapping it per run mixes up
5
+ * runs at the same time, and loses what the test runner reports through it.
6
+ * Output is routed by async context instead: each write finds the run it came
7
+ * from, and anything else goes where it always went.
8
+ */
9
+ import { AsyncLocalStorage } from 'node:async_hooks';
10
+ import { format } from 'node:util';
11
+ import { rootConfig, runWithHarness } from './cli.js';
12
+ import { ProcessExit } from './errors.js';
13
+ const capture = new AsyncLocalStorage();
14
+ function record(run, stream, text) {
15
+ run[stream] += text;
16
+ run.trace.push({ step: 'output', stream, text });
17
+ }
18
+ function routedWrite(stream, real) {
19
+ return function write(chunk, encoding, callback) {
20
+ const run = capture.getStore();
21
+ if (!run)
22
+ return real.call(process[stream], chunk, encoding, callback);
23
+ record(run, stream, typeof chunk === 'string' ? chunk : Buffer.from(chunk).toString());
24
+ const done = typeof encoding === 'function' ? encoding : callback;
25
+ done?.();
26
+ return true;
27
+ };
28
+ }
29
+ const CONSOLE_STREAMS = {
30
+ log: 'stdout',
31
+ info: 'stdout',
32
+ debug: 'stdout',
33
+ warn: 'stderr',
34
+ error: 'stderr',
35
+ };
36
+ /**
37
+ * A runner can replace console, and then console.log never reaches
38
+ * process.stdout: both have to be routed.
39
+ */
40
+ function routeOutput() {
41
+ const { stdout, stderr, exit } = process;
42
+ const realOut = stdout.write;
43
+ const realErr = stderr.write;
44
+ const realConsole = Object.fromEntries(Object.keys(CONSOLE_STREAMS).map((method) => [method, console[method]]));
45
+ const out = routedWrite('stdout', realOut);
46
+ const err = routedWrite('stderr', realErr);
47
+ const leave = ((code) => {
48
+ if (!capture.getStore())
49
+ return exit(code);
50
+ throw new ProcessExit(code ?? 0);
51
+ });
52
+ stdout.write = out;
53
+ stderr.write = err;
54
+ process.exit = leave;
55
+ const routed = {};
56
+ for (const method of Object.keys(CONSOLE_STREAMS)) {
57
+ routed[method] = (...args) => {
58
+ const run = capture.getStore();
59
+ if (!run)
60
+ return realConsole[method].apply(console, args);
61
+ record(run, CONSOLE_STREAMS[method], `${format(...args)}\n`);
62
+ };
63
+ console[method] = routed[method];
64
+ }
65
+ return () => {
66
+ // Whoever replaced them after us keeps them
67
+ if (stdout.write === out)
68
+ stdout.write = realOut;
69
+ if (stderr.write === err)
70
+ stderr.write = realErr;
71
+ if (process.exit === leave)
72
+ process.exit = exit;
73
+ for (const method of Object.keys(CONSOLE_STREAMS)) {
74
+ if (console[method] === routed[method])
75
+ console[method] = realConsole[method];
76
+ }
77
+ };
78
+ }
79
+ let active = 0;
80
+ let restoreOutput;
81
+ function enter() {
82
+ active += 1;
83
+ restoreOutput ??= routeOutput();
84
+ }
85
+ function leave() {
86
+ active -= 1;
87
+ if (active > 0)
88
+ return;
89
+ restoreOutput?.();
90
+ restoreOutput = undefined;
91
+ }
92
+ function isCLI(target) {
93
+ return target._type === 'runa:cli';
94
+ }
95
+ /** What runCLI() builds from a command, or the CLI as it was defined. */
96
+ function configOf(target, options) {
97
+ if (isCLI(target))
98
+ return [target.config, undefined];
99
+ const { plugins, middleware, globalOptions, globalMeta } = options;
100
+ const name = target.meta.name ?? 'command';
101
+ return [rootConfig(target, name, { plugins, middleware, globalOptions, globalMeta }), name];
102
+ }
103
+ /**
104
+ * Run a CLI or a command through its real lifecycle, without ending the process.
105
+ *
106
+ * @param argv - What would follow the name of the program at the terminal
107
+ */
108
+ export async function testCLI(target, argv = [], options = {}) {
109
+ const run = { stdout: '', stderr: '', trace: [] };
110
+ const outcome = {};
111
+ const harness = {
112
+ env: options.env ?? {},
113
+ configValues: options.config,
114
+ trace: (event) => run.trace.push(event),
115
+ onResult: (value) => {
116
+ outcome.result = value;
117
+ },
118
+ onError: (error) => {
119
+ outcome.error = error;
120
+ },
121
+ onExit: (code) => {
122
+ outcome.code = code;
123
+ },
124
+ };
125
+ const [config, rootName] = configOf(target, options);
126
+ const exitCodeBefore = process.exitCode;
127
+ enter();
128
+ try {
129
+ await capture.run(run, () => runWithHarness(config, argv, rootName, harness));
130
+ }
131
+ catch (err) {
132
+ if (!(err instanceof ProcessExit))
133
+ throw err;
134
+ outcome.code = err.exitCode;
135
+ }
136
+ finally {
137
+ leave();
138
+ }
139
+ // A command can set it instead of exiting, and it must not outlive the run
140
+ const setByCommand = process.exitCode === exitCodeBefore ? undefined : process.exitCode;
141
+ process.exitCode = exitCodeBefore;
142
+ return {
143
+ code: outcome.code ?? Number(setByCommand ?? 0),
144
+ stdout: run.stdout,
145
+ stderr: run.stderr,
146
+ result: outcome.result,
147
+ error: outcome.error,
148
+ trace: run.trace,
149
+ };
150
+ }
151
+ //# sourceMappingURL=testing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @runa-cmd/core — What a run did, as data (ADR-0045)
3
+ *
4
+ * The lifecycle knows this before it becomes text. testCLI() returns it, and
5
+ * RUNA_DEBUG=1 prints it while it happens.
6
+ */
7
+ import type { HookName } from './types.js';
8
+ export type ValueSource = 'cli' | 'env' | 'config' | 'default' | 'input';
9
+ export type TraceEvent = {
10
+ step: 'config';
11
+ file?: string;
12
+ } | {
13
+ step: 'option';
14
+ name: string;
15
+ scope: 'global' | 'command';
16
+ source: ValueSource;
17
+ /** Left out when it comes from env: it can be a secret */
18
+ value?: unknown;
19
+ } | {
20
+ step: 'hook';
21
+ name: HookName;
22
+ ms: number;
23
+ } | {
24
+ step: 'run';
25
+ command: string[];
26
+ ms: number;
27
+ } | {
28
+ step: 'output';
29
+ stream: 'stdout' | 'stderr';
30
+ text: string;
31
+ };
32
+ /** One line per event. Never a value: this output ends up in CI logs. */
33
+ export declare function debugLine(event: TraceEvent): string | undefined;
34
+ /** The events of a set of options. A value from env stays out of them. */
35
+ export declare function optionEvents(scope: 'global' | 'command', names: string[], values: Record<string, unknown>, sources: Record<string, ValueSource>): TraceEvent[];
36
+ //# sourceMappingURL=trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAEzE,MAAM,MAAM,UAAU,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACjC;IACA,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAC;CACf,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjE,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAa/D;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CAC3B,KAAK,EAAE,QAAQ,GAAG,SAAS,EAC3B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAClC,UAAU,EAAE,CAMd"}
package/dist/trace.js ADDED
@@ -0,0 +1,24 @@
1
+ /** One line per event. Never a value: this output ends up in CI logs. */
2
+ export function debugLine(event) {
3
+ switch (event.step) {
4
+ case 'config':
5
+ return `runa: config ${event.file ?? '(no file)'}`;
6
+ case 'option':
7
+ return `runa: option ${event.name} (${event.source})`;
8
+ case 'hook':
9
+ return `runa: hook ${event.name} ${event.ms}ms`;
10
+ case 'run':
11
+ return `runa: run ${event.command.join(' ')} ${event.ms}ms`;
12
+ default:
13
+ return undefined;
14
+ }
15
+ }
16
+ /** The events of a set of options. A value from env stays out of them. */
17
+ export function optionEvents(scope, names, values, sources) {
18
+ return names.map((name) => {
19
+ const source = sources[name] ?? 'default';
20
+ const event = { step: 'option', name, scope, source };
21
+ return source === 'env' ? event : { ...event, value: values[name] };
22
+ });
23
+ }
24
+ //# sourceMappingURL=trace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.js","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AAwBA,yEAAyE;AACzE,MAAM,UAAU,SAAS,CAAC,KAAiB;IAC1C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ;YACZ,OAAO,gBAAgB,KAAK,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;QACpD,KAAK,QAAQ;YACZ,OAAO,gBAAgB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;QACvD,KAAK,MAAM;YACV,OAAO,cAAc,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,IAAI,CAAC;QACjD,KAAK,KAAK;YACT,OAAO,aAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,IAAI,CAAC;QAC7D;YACC,OAAO,SAAS,CAAC;IACnB,CAAC;AACF,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,YAAY,CAC3B,KAA2B,EAC3B,KAAe,EACf,MAA+B,EAC/B,OAAoC;IAEpC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;QAC1C,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC/D,OAAO,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;AACJ,CAAC"}
package/dist/types.d.ts CHANGED
@@ -16,9 +16,19 @@ export interface OptionMeta {
16
16
  deprecated?: string;
17
17
  /** What help calls the value, e.g. 'hex' for `--color <hex>`. Default: its type */
18
18
  valueName?: string;
19
+ /** False if a config file can't set it, as with a guardrail. Default: true */
20
+ configurable?: boolean;
19
21
  }
20
- export interface CommandMeta<TOptions extends Record<string, ZodType> = Record<string, ZodType>> {
22
+ /** A command as it reaches run() and hooks: by then, it always has its name. */
23
+ export type NamedCommandMeta<TOptions extends Record<string, ZodType> = Record<string, ZodType>> = CommandMeta<TOptions> & {
21
24
  name: string;
25
+ };
26
+ export interface CommandMeta<TOptions extends Record<string, ZodType> = Record<string, ZodType>> {
27
+ /**
28
+ * The name of a CLI of one command, which runCLI requires. In defineCLI, the
29
+ * key names the command: this is optional there, and has to match it.
30
+ */
31
+ name?: string;
22
32
  description: string;
23
33
  version?: string;
24
34
  /** Option metadata — keys MUST be a subset of TOptions keys */
@@ -44,7 +54,7 @@ export interface RunContext<TArgs extends Record<string, ZodType> = Record<strin
44
54
  args: InferArgs<TArgs>;
45
55
  options: InferOptions<TOptions>;
46
56
  globalOptions: Record<string, unknown>;
47
- command: CommandMeta<TOptions>;
57
+ command: NamedCommandMeta<TOptions>;
48
58
  rawArgs: string[];
49
59
  /** What's left after `--`, verbatim and unvalidated, if the command declares `rest: true`. Else `[]` */
50
60
  rest: string[];
@@ -53,17 +63,29 @@ export interface RunContext<TArgs extends Record<string, ZodType> = Record<strin
53
63
  }
54
64
  /**
55
65
  * If TOutput extends ZodType, run() must return data matching the schema.
56
- * If TOutput is undefined, run() returns void.
66
+ * If not, run() returns whatever it wants, or nothing.
57
67
  */
58
- export type RunReturn<TOutput> = TOutput extends ZodType ? z.infer<TOutput> | Promise<z.infer<TOutput>> : void | Promise<void>;
59
- export interface CommandConfig<TArgs extends Record<string, ZodType> = Record<string, ZodType>, TOptions extends Record<string, ZodType> = Record<string, ZodType>, TOutput extends ZodType | undefined = undefined> {
68
+ export type RunReturn<TOutput, TResult = void> = TOutput extends ZodType ? z.infer<TOutput> | Promise<z.infer<TOutput>> : TResult | Promise<TResult>;
69
+ /** What format() can read besides the data. */
70
+ export type FormatContext<TArgs extends Record<string, ZodType> = Record<string, ZodType>, TOptions extends Record<string, ZodType> = Record<string, ZodType>> = Pick<RunContext<TArgs, TOptions>, 'args' | 'options'>;
71
+ /** What format() receives: the data, once it's no longer a promise. */
72
+ export type RunResult<TOutput, TResult> = TOutput extends ZodType ? z.infer<TOutput> : TResult;
73
+ export interface CommandConfig<TArgs extends Record<string, ZodType> = Record<string, ZodType>, TOptions extends Record<string, ZodType> = Record<string, ZodType>, TOutput extends ZodType | undefined = undefined, TResult = void> {
60
74
  meta: CommandMeta<TOptions>;
61
75
  args?: TArgs;
62
76
  options?: TOptions;
63
77
  output?: TOutput;
64
78
  /** Take what's left after `--` in `ctx.rest`. Without it, that's a usage error */
65
79
  rest?: boolean;
66
- run: (ctx: RunContext<TArgs, TOptions>) => RunReturn<TOutput>;
80
+ run: (ctx: RunContext<TArgs, TOptions>) => RunReturn<TOutput, TResult>;
81
+ /**
82
+ * What a person reads at the terminal, from what run() returned. A tool gets
83
+ * the data instead, and the command gains `--json`. It also receives the args
84
+ * and options, so what only changes the display stays out of the data.
85
+ */
86
+ format?: (result: RunResult<TOutput, TResult>, context: FormatContext<TArgs, TOptions>) => string;
87
+ /** False if this is only for people at a terminal: an MCP server won't offer it */
88
+ tool?: boolean;
67
89
  }
68
90
  export interface Command {
69
91
  readonly _type: 'runa:command';
@@ -73,6 +95,8 @@ export interface Command {
73
95
  readonly output?: ZodType;
74
96
  readonly rest?: boolean;
75
97
  readonly run: (ctx: RunContext) => unknown;
98
+ readonly format?: (result: unknown, context: FormatContext) => string;
99
+ readonly tool?: boolean;
76
100
  }
77
101
  export interface CommandTree {
78
102
  [key: string]: Command | CommandTree;
@@ -141,8 +165,8 @@ export interface PluginAPI {
141
165
  hook(name: HookName, handler: HookHandler): void;
142
166
  getSchema(): CLISchema;
143
167
  getCommands(): CommandTree;
144
- /** Values from the config file of the CLI, if it has one */
145
- getConfigValues(): Promise<Record<string, unknown> | undefined>;
168
+ /** The config file of the CLI, if it has one. With a path, only that command's values */
169
+ getConfigValues(commandPath?: string[]): Promise<Record<string, unknown> | undefined>;
146
170
  /** Show help your way, instead of the built-in plain text. Only one plugin can */
147
171
  replaceHelp(show: HelpHandler): void;
148
172
  }
@@ -177,7 +201,7 @@ export interface HookContext {
177
201
  /** Aborted when the run must stop */
178
202
  signal: AbortSignal;
179
203
  globalOptions?: Record<string, unknown>;
180
- command?: CommandMeta;
204
+ command?: NamedCommandMeta;
181
205
  args?: Record<string, unknown>;
182
206
  options?: Record<string, unknown>;
183
207
  error?: Error;
@@ -214,6 +238,8 @@ export interface CommandSchema {
214
238
  description: string;
215
239
  /** Full command path, e.g. ['config', 'set'] for nested commands */
216
240
  fullPath: string[];
241
+ /** What a person types to run it, with the CLI, e.g. ['tool', 'config', 'set']. Set for help */
242
+ commandLine?: string[];
217
243
  args: ArgSchema[];
218
244
  options: OptionSchema[];
219
245
  hasOutput: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
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":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA4OA,+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;AAsGX,+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.2",
3
+ "version": "0.2.0-beta.4",
4
4
  "description": "Schema-driven, TypeScript-first CLI engine — commands, parsing, plugins, middleware. Zero runtime deps.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -25,6 +25,10 @@
25
25
  "types": "./dist/zod.d.ts",
26
26
  "import": "./dist/zod.js"
27
27
  },
28
+ "./testing": {
29
+ "types": "./dist/testing.d.ts",
30
+ "import": "./dist/testing.js"
31
+ },
28
32
  "./internal": {
29
33
  "types": "./dist/internal.d.ts",
30
34
  "import": "./dist/internal.js"
@@ -50,7 +54,8 @@
50
54
  },
51
55
  "files": [
52
56
  "dist",
53
- "README.md"
57
+ "README.md",
58
+ "CHANGELOG.md"
54
59
  ],
55
60
  "devDependencies": {
56
61
  "@types/node": "^25.6.0",