@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.
Files changed (82) hide show
  1. package/README.md +125 -23
  2. package/dist/cli.d.ts +20 -4
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +392 -143
  5. package/dist/cli.js.map +1 -1
  6. package/dist/errors.d.ts +25 -0
  7. package/dist/errors.d.ts.map +1 -1
  8. package/dist/errors.js +72 -6
  9. package/dist/errors.js.map +1 -1
  10. package/dist/flag-name.d.ts +12 -0
  11. package/dist/flag-name.d.ts.map +1 -0
  12. package/dist/flag-name.js +19 -0
  13. package/dist/flag-name.js.map +1 -0
  14. package/dist/help.d.ts +21 -0
  15. package/dist/help.d.ts.map +1 -0
  16. package/dist/help.js +151 -0
  17. package/dist/help.js.map +1 -0
  18. package/dist/index.d.ts +2 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/internal.d.ts +10 -0
  22. package/dist/internal.d.ts.map +1 -0
  23. package/dist/internal.js +9 -0
  24. package/dist/internal.js.map +1 -0
  25. package/dist/introspect.d.ts.map +1 -1
  26. package/dist/introspect.js +10 -3
  27. package/dist/introspect.js.map +1 -1
  28. package/dist/lifecycle.d.ts.map +1 -1
  29. package/dist/lifecycle.js +5 -3
  30. package/dist/lifecycle.js.map +1 -1
  31. package/dist/parse/adapters/zod-v4.d.ts +3 -0
  32. package/dist/parse/adapters/zod-v4.d.ts.map +1 -0
  33. package/dist/parse/adapters/zod-v4.js +106 -0
  34. package/dist/parse/adapters/zod-v4.js.map +1 -0
  35. package/dist/parse/deprecated.d.ts +12 -0
  36. package/dist/parse/deprecated.d.ts.map +1 -0
  37. package/dist/parse/deprecated.js +21 -0
  38. package/dist/parse/deprecated.js.map +1 -0
  39. package/dist/parse/parseargs-bridge.d.ts +10 -0
  40. package/dist/parse/parseargs-bridge.d.ts.map +1 -1
  41. package/dist/parse/parseargs-bridge.js +20 -6
  42. package/dist/parse/parseargs-bridge.js.map +1 -1
  43. package/dist/parse/resolve.d.ts +44 -1
  44. package/dist/parse/resolve.d.ts.map +1 -1
  45. package/dist/parse/resolve.js +151 -73
  46. package/dist/parse/resolve.js.map +1 -1
  47. package/dist/parse/schema-adapter.d.ts +42 -0
  48. package/dist/parse/schema-adapter.d.ts.map +1 -0
  49. package/dist/parse/schema-adapter.js +4 -0
  50. package/dist/parse/schema-adapter.js.map +1 -0
  51. package/dist/parse/schema-walker.d.ts +3 -3
  52. package/dist/parse/schema-walker.d.ts.map +1 -1
  53. package/dist/parse/schema-walker.js +13 -104
  54. package/dist/parse/schema-walker.js.map +1 -1
  55. package/dist/parse/strict.d.ts +52 -0
  56. package/dist/parse/strict.d.ts.map +1 -0
  57. package/dist/parse/strict.js +68 -0
  58. package/dist/parse/strict.js.map +1 -0
  59. package/dist/parse/variadic.d.ts +2 -1
  60. package/dist/parse/variadic.d.ts.map +1 -1
  61. package/dist/parse/variadic.js +4 -24
  62. package/dist/parse/variadic.js.map +1 -1
  63. package/dist/plugin.d.ts +41 -1
  64. package/dist/plugin.d.ts.map +1 -1
  65. package/dist/plugin.js +189 -0
  66. package/dist/plugin.js.map +1 -1
  67. package/dist/stop.d.ts +25 -0
  68. package/dist/stop.d.ts.map +1 -0
  69. package/dist/stop.js +110 -0
  70. package/dist/stop.js.map +1 -0
  71. package/dist/suggest.d.ts +18 -0
  72. package/dist/suggest.d.ts.map +1 -0
  73. package/dist/suggest.js +56 -0
  74. package/dist/suggest.js.map +1 -0
  75. package/dist/tool-channel.d.ts +48 -0
  76. package/dist/tool-channel.d.ts.map +1 -0
  77. package/dist/tool-channel.js +46 -0
  78. package/dist/tool-channel.js.map +1 -0
  79. package/dist/types.d.ts +51 -7
  80. package/dist/types.d.ts.map +1 -1
  81. package/dist/types.js.map +1 -1
  82. package/package.json +6 -2
package/dist/lifecycle.js CHANGED
@@ -41,9 +41,11 @@ export function createHookRegistry() {
41
41
  try {
42
42
  await handler(context);
43
43
  }
44
- catch {
45
- // Cleanup errors are swallowed to ensure all handlers run.
46
- // Plugin cleanup errors are reported separately.
44
+ catch (err) {
45
+ // ADR-0009: never rethrown (all handlers must run), but the
46
+ // handler's own defect must not vanish — log to stderr.
47
+ // Plugin cleanup() errors are reported separately.
48
+ console.error('runa: cleanup hook threw:', err);
47
49
  }
48
50
  }
49
51
  return { shortCircuited: false };
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AA0BA;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEpD,OAAO;QACN,QAAQ,CAAC,IAAc,EAAE,OAAoB;YAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxB,CAAC;YACD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;QACF,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAc,EAAE,OAAoB;YAC9C,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9C,IAAI,cAAc,GAAG,KAAK,CAAC;YAE3B,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;gBAC9B,kEAAkE;gBAClE,IAAI,eAAe,GAAG,KAAK,CAAC;gBAC5B,MAAM,mBAAmB,GAAgB;oBACxC,GAAG,OAAO;oBACV,YAAY,EAAE,GAAG,EAAE;wBAClB,eAAe,GAAG,IAAI,CAAC;oBACxB,CAAC;iBACD,CAAC;gBAEF,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;oBACpC,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;oBACnC,IAAI,eAAe,EAAE,CAAC;wBACrB,cAAc,GAAG,IAAI,CAAC;wBACtB,MAAM;oBACP,CAAC;gBACF,CAAC;gBACD,OAAO,EAAE,cAAc,EAAE,CAAC;YAC3B,CAAC;YAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACxB,4DAA4D;gBAC5D,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;oBACpC,IAAI,CAAC;wBACJ,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;oBACxB,CAAC;oBAAC,MAAM,CAAC;wBACR,2DAA2D;wBAC3D,iDAAiD;oBAClD,CAAC;gBACF,CAAC;gBACD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;YAClC,CAAC;YAED,qDAAqD;YACrD,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;gBACpC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YAED,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QAClC,CAAC;QAED,WAAW,CAAC,IAAc;YACzB,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AA0BA;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEpD,OAAO;QACN,QAAQ,CAAC,IAAc,EAAE,OAAoB;YAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxB,CAAC;YACD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;QACF,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAc,EAAE,OAAoB;YAC9C,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9C,IAAI,cAAc,GAAG,KAAK,CAAC;YAE3B,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;gBAC9B,kEAAkE;gBAClE,IAAI,eAAe,GAAG,KAAK,CAAC;gBAC5B,MAAM,mBAAmB,GAAgB;oBACxC,GAAG,OAAO;oBACV,YAAY,EAAE,GAAG,EAAE;wBAClB,eAAe,GAAG,IAAI,CAAC;oBACxB,CAAC;iBACD,CAAC;gBAEF,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;oBACpC,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;oBACnC,IAAI,eAAe,EAAE,CAAC;wBACrB,cAAc,GAAG,IAAI,CAAC;wBACtB,MAAM;oBACP,CAAC;gBACF,CAAC;gBACD,OAAO,EAAE,cAAc,EAAE,CAAC;YAC3B,CAAC;YAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACxB,4DAA4D;gBAC5D,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;oBACpC,IAAI,CAAC;wBACJ,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;oBACxB,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACd,4DAA4D;wBAC5D,wDAAwD;wBACxD,mDAAmD;wBACnD,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;oBACjD,CAAC;gBACF,CAAC;gBACD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;YAClC,CAAC;YAED,qDAAqD;YACrD,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;gBACpC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YAED,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QAClC,CAAC;QAED,WAAW,CAAC,IAAc;YACzB,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { SchemaAdapter } from '../schema-adapter.js';
2
+ export declare const zodV4Adapter: SchemaAdapter;
3
+ //# sourceMappingURL=zod-v4.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-v4.d.ts","sourceRoot":"","sources":["../../../src/parse/adapters/zod-v4.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,sBAAsB,CAAC;AAsJ7E,eAAO,MAAM,YAAY,EAAE,aAyB1B,CAAC"}
@@ -0,0 +1,106 @@
1
+ // ─── Helper: access ._zod.def safely ───────────────────────
2
+ function getZodDef(schema) {
3
+ const s = schema;
4
+ if (!s._zod?.def) {
5
+ throw new Error('Cannot introspect Zod schema: ._zod.def is missing. Ensure you are using Zod v4.');
6
+ }
7
+ return s._zod.def;
8
+ }
9
+ function getDescription(schema) {
10
+ const s = schema;
11
+ return s.description;
12
+ }
13
+ function unwrapSchema(schema) {
14
+ let isOptional = false;
15
+ let defaultValue;
16
+ let hasDefault = false;
17
+ let description = getDescription(schema);
18
+ let current = schema;
19
+ // Iteratively unwrap layers
20
+ const maxDepth = 10; // safety limit
21
+ for (let i = 0; i < maxDepth; i++) {
22
+ const def = getZodDef(current);
23
+ if (def.type === 'optional') {
24
+ isOptional = true;
25
+ current = def.innerType;
26
+ if (!description)
27
+ description = getDescription(current);
28
+ continue;
29
+ }
30
+ if (def.type === 'default') {
31
+ isOptional = true; // defaults make the field optional from the user's perspective
32
+ hasDefault = true;
33
+ defaultValue = def.defaultValue;
34
+ current = def.innerType;
35
+ if (!description)
36
+ description = getDescription(current);
37
+ continue;
38
+ }
39
+ if (def.type === 'nullable') {
40
+ current = def.innerType;
41
+ if (!description)
42
+ description = getDescription(current);
43
+ continue;
44
+ }
45
+ // Base type reached
46
+ break;
47
+ }
48
+ return {
49
+ baseDef: getZodDef(current),
50
+ isOptional,
51
+ hasDefault,
52
+ defaultValue: hasDefault ? defaultValue : undefined,
53
+ description,
54
+ };
55
+ }
56
+ // ─── Detect base type ───────────────────────────────────────
57
+ function detectParamType(def) {
58
+ switch (def.type) {
59
+ case 'string':
60
+ return { kind: 'string' };
61
+ case 'number':
62
+ case 'int':
63
+ return { kind: 'number' };
64
+ case 'boolean':
65
+ return { kind: 'boolean' };
66
+ case 'enum': {
67
+ // Zod v4 uses `entries` (object { staging: 'staging', prod: 'prod' })
68
+ // not `values` (array). Extract the values from the entries object.
69
+ const entries = def.entries;
70
+ const values = entries ? Object.values(entries) : undefined;
71
+ return { kind: 'enum', enumValues: values };
72
+ }
73
+ case 'array': {
74
+ const item = detectParamType(unwrapSchema(def.element).baseDef);
75
+ return { kind: 'array', itemKind: item.kind, enumValues: item.enumValues };
76
+ }
77
+ default:
78
+ // Fallback: treat unknown types as string
79
+ return { kind: 'string' };
80
+ }
81
+ }
82
+ // ─── Adapter ────────────────────────────────────────────────
83
+ export const zodV4Adapter = {
84
+ name: 'zod-v4',
85
+ supports(schema) {
86
+ if (schema === null || (typeof schema !== 'object' && typeof schema !== 'function')) {
87
+ return false;
88
+ }
89
+ const s = schema;
90
+ return s._zod?.def !== undefined;
91
+ },
92
+ describe(schema) {
93
+ const { baseDef, isOptional, hasDefault, defaultValue, description } = unwrapSchema(schema);
94
+ const { kind, enumValues, itemKind } = detectParamType(baseDef);
95
+ return {
96
+ kind,
97
+ isOptional,
98
+ hasDefault,
99
+ defaultValue,
100
+ enumValues,
101
+ itemKind,
102
+ description,
103
+ };
104
+ },
105
+ };
106
+ //# sourceMappingURL=zod-v4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-v4.js","sourceRoot":"","sources":["../../../src/parse/adapters/zod-v4.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { OptionMeta } from '../types.js';
2
+ export interface DeprecationInput {
3
+ /** Keys of the util.parseArgs result: holds only what the user passed */
4
+ provided: string[];
5
+ longAliasMap: Record<string, string>;
6
+ optionMeta?: Record<string, OptionMeta>;
7
+ configValues?: Record<string, unknown>;
8
+ env?: Record<string, string | undefined>;
9
+ }
10
+ /** The warnings for every deprecated option set from the CLI, env or config. */
11
+ export declare function deprecationWarnings(input: DeprecationInput): string[];
12
+ //# sourceMappingURL=deprecated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deprecated.d.ts","sourceRoot":"","sources":["../../src/parse/deprecated.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAChC,yEAAyE;IACzE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACzC;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAcrE"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @runa-cmd/core — Deprecated option warnings
3
+ *
4
+ * `meta.options[name].deprecated` declares the notice once. It is shown in help
5
+ * and, through this module, whenever the option is actually used.
6
+ */
7
+ import { longFlag } from '../flag-name.js';
8
+ /** The warnings for every deprecated option set from the CLI, env or config. */
9
+ export function deprecationWarnings(input) {
10
+ const { provided, longAliasMap, optionMeta, configValues, env = process.env } = input;
11
+ const fromCli = new Set(provided.map((key) => longAliasMap[key] ?? key));
12
+ return Object.entries(optionMeta ?? {}).flatMap(([name, meta]) => {
13
+ if (!meta.deprecated)
14
+ return [];
15
+ const isUsed = fromCli.has(name) ||
16
+ (meta.env !== undefined && env[meta.env] !== undefined) ||
17
+ configValues?.[name] !== undefined;
18
+ return isUsed ? [`Warning: ${longFlag(name)} is deprecated. ${meta.deprecated}`] : [];
19
+ });
20
+ }
21
+ //# sourceMappingURL=deprecated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deprecated.js","sourceRoot":"","sources":["../../src/parse/deprecated.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAY3C,gFAAgF;AAChF,MAAM,UAAU,mBAAmB,CAAC,KAAuB;IAC1D,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IACtF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAEzE,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QAChE,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAEhC,MAAM,MAAM,GACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YACjB,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;YACvD,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;QAEpC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,QAAQ,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -10,6 +10,16 @@ export interface ParseArgsBridgeConfig {
10
10
  parseArgsConfig: ParseArgsConfig;
11
11
  /** Maps long alias names → canonical option name */
12
12
  longAliasMap: Record<string, string>;
13
+ /**
14
+ * Every key util.parseArgs may legitimately produce for this config:
15
+ * canonical option names + registered long aliases, plus a defensive
16
+ * `no-{name}` per boolean option (parseArgs folds `--no-x` into `x: false`
17
+ * under allowNegative — pinned by parseargs-negation.test.ts — but the
18
+ * allowance guards against a future representation change).
19
+ */
20
+ knownKeys: Set<string>;
21
+ /** Canonical names of boolean options (for the strict check's `no-*` allowance) */
22
+ booleanKeys: Set<string>;
13
23
  }
14
24
  /**
15
25
  * Build a util.parseArgs configuration from schema walker output.
@@ -1 +1 @@
1
- {"version":3,"file":"parseargs-bridge.d.ts","sourceRoot":"","sources":["../../src/parse/parseargs-bridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI7D,MAAM,WAAW,qBAAqB;IACrC,eAAe,EAAE,eAAe,CAAC;IACjC,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAID;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,aAAa,EAAE,EACzB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACvC,OAAO,CAAC,EAAE,OAAO,GACf,qBAAqB,CAsDvB"}
1
+ {"version":3,"file":"parseargs-bridge.d.ts","sourceRoot":"","sources":["../../src/parse/parseargs-bridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI7D,MAAM,WAAW,qBAAqB;IACrC,eAAe,EAAE,eAAe,CAAC;IACjC,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC;;;;;;OAMG;IACH,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,mFAAmF;IACnF,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzB;AAID;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,aAAa,EAAE,EACzB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACvC,OAAO,CAAC,EAAE,OAAO,GACf,qBAAqB,CAiEvB"}
@@ -1,3 +1,4 @@
1
+ import { flagName } from '../flag-name.js';
1
2
  // ─── Public API ─────────────────────────────────────────────
2
3
  /**
3
4
  * Build a util.parseArgs configuration from schema walker output.
@@ -9,6 +10,8 @@
9
10
  export function buildParseArgsConfig(metadata, optionMeta, hasArgs) {
10
11
  const options = {};
11
12
  const longAliasMap = {};
13
+ const knownKeys = new Set();
14
+ const booleanKeys = new Set();
12
15
  for (const param of metadata) {
13
16
  // Map Zod type → parseArgs type
14
17
  // boolean → 'boolean' (enables --no-* negation)
@@ -16,6 +19,7 @@ export function buildParseArgsConfig(metadata, optionMeta, hasArgs) {
16
19
  const parseArgsType = param.zodType === 'boolean' ? 'boolean' : 'string';
17
20
  const optConfig = {
18
21
  type: parseArgsType,
22
+ ...(param.isArray ? { multiple: true } : {}),
19
23
  };
20
24
  // Extract aliases from meta
21
25
  const meta = optionMeta?.[param.name];
@@ -26,7 +30,8 @@ export function buildParseArgsConfig(metadata, optionMeta, hasArgs) {
26
30
  const longName = alias.slice(2);
27
31
  longAliasMap[longName] = param.name;
28
32
  // Register the long alias in parseArgs too
29
- options[longName] = { type: parseArgsType };
33
+ options[longName] = { type: parseArgsType, ...(param.isArray ? { multiple: true } : {}) };
34
+ knownKeys.add(longName);
30
35
  }
31
36
  else if (alias.startsWith('-') && alias.length === 2) {
32
37
  // Short alias: single char after '-'
@@ -34,12 +39,19 @@ export function buildParseArgsConfig(metadata, optionMeta, hasArgs) {
34
39
  }
35
40
  }
36
41
  }
37
- // Set boolean defaults so parseArgs returns them correctly
38
- // For booleans with defaults, pass the default to parseArgs
39
- if (parseArgsType === 'boolean' && param.defaultValue !== undefined) {
40
- optConfig.default = param.defaultValue;
42
+ // The flag is registered, not the key: `--darkColor` must stay unknown.
43
+ // It maps back like any long alias, so `--no-dark-mode` needs nothing else.
44
+ const flag = flagName(param.name);
45
+ if (flag !== param.name)
46
+ longAliasMap[flag] = param.name;
47
+ // Never pass schema defaults here: a value from parseArgs counts as a CLI
48
+ // argument and would beat env and config. Zod applies them last.
49
+ options[flag] = optConfig;
50
+ knownKeys.add(flag);
51
+ if (parseArgsType === 'boolean') {
52
+ booleanKeys.add(flag);
53
+ knownKeys.add(`no-${flag}`);
41
54
  }
42
- options[param.name] = optConfig;
43
55
  }
44
56
  return {
45
57
  parseArgsConfig: {
@@ -49,6 +61,8 @@ export function buildParseArgsConfig(metadata, optionMeta, hasArgs) {
49
61
  allowNegative: true, // Enable --no-* boolean negation
50
62
  },
51
63
  longAliasMap,
64
+ knownKeys,
65
+ booleanKeys,
52
66
  };
53
67
  }
54
68
  //# sourceMappingURL=parseargs-bridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseargs-bridge.js","sourceRoot":"","sources":["../../src/parse/parseargs-bridge.ts"],"names":[],"mappings":"AAiBA,+DAA+D;AAE/D;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CACnC,QAAyB,EACzB,UAAuC,EACvC,OAAiB;IAEjB,MAAM,OAAO,GAA4C,EAAE,CAAC;IAC5D,MAAM,YAAY,GAA2B,EAAE,CAAC;IAEhD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC9B,gCAAgC;QAChC,gDAAgD;QAChD,0DAA0D;QAC1D,MAAM,aAAa,GAAyB,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QAE/F,MAAM,SAAS,GAKX;YACH,IAAI,EAAE,aAAa;SACnB,CAAC;QAEF,4BAA4B;QAC5B,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;YACjB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,sEAAsE;oBACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAChC,YAAY,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;oBACpC,2CAA2C;oBAC3C,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;gBAC7C,CAAC;qBAAM,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxD,qCAAqC;oBACrC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,CAAC;YACF,CAAC;QACF,CAAC;QAED,2DAA2D;QAC3D,4DAA4D;QAC5D,IAAI,aAAa,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrE,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC,YAAuB,CAAC;QACnD,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IACjC,CAAC;IAED,OAAO;QACN,eAAe,EAAE;YAChB,OAAO;YACP,gBAAgB,EAAE,OAAO,IAAI,KAAK;YAClC,MAAM,EAAE,KAAK,EAAE,uCAAuC;YACtD,aAAa,EAAE,IAAI,EAAE,iCAAiC;SACtD;QACD,YAAY;KACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"parseargs-bridge.js","sourceRoot":"","sources":["../../src/parse/parseargs-bridge.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAqB3C,+DAA+D;AAE/D;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CACnC,QAAyB,EACzB,UAAuC,EACvC,OAAiB;IAEjB,MAAM,OAAO,GAA4C,EAAE,CAAC;IAC5D,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEtC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC9B,gCAAgC;QAChC,gDAAgD;QAChD,0DAA0D;QAC1D,MAAM,aAAa,GAAyB,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QAE/F,MAAM,SAAS,GAIX;YACH,IAAI,EAAE,aAAa;YACnB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC;QAEF,4BAA4B;QAC5B,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;YACjB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,sEAAsE;oBACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAChC,YAAY,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;oBACpC,2CAA2C;oBAC3C,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC1F,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACzB,CAAC;qBAAM,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxD,qCAAqC;oBACrC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,CAAC;YACF,CAAC;QACF,CAAC;QAED,wEAAwE;QACxE,4EAA4E;QAC5E,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI;YAAE,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;QAEzD,0EAA0E;QAC1E,iEAAiE;QACjE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YACjC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtB,SAAS,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC7B,CAAC;IACF,CAAC;IAED,OAAO;QACN,eAAe,EAAE;YAChB,OAAO;YACP,gBAAgB,EAAE,OAAO,IAAI,KAAK;YAClC,MAAM,EAAE,KAAK,EAAE,uCAAuC;YACtD,aAAa,EAAE,IAAI,EAAE,iCAAiC;SACtD;QACD,YAAY;QACZ,SAAS;QACT,WAAW;KACX,CAAC;AACH,CAAC"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Merge priority: CLI args > env vars > config file > Zod defaults.
5
5
  * Maps positionals to args by insertion order.
6
- * Pre-coerces number strings before Zod .parse().
6
+ * Pre-coerces number and boolean strings before Zod .parse().
7
7
  */
8
8
  import { type ZodType } from 'zod';
9
9
  import type { OptionMeta } from '../types.js';
@@ -34,6 +34,35 @@ export interface ResolveOutput {
34
34
  parsedArgs: Record<string, unknown>;
35
35
  parsedOptions: Record<string, unknown>;
36
36
  }
37
+ /**
38
+ * Decide which tokens after `--` are operands and which stay in ctx.rest
39
+ * (ADR-0022): they fill the positionals still empty, where a variadic counts
40
+ * as one. So `lint -- -a -b` fills `files`, while `lint a.ts -- --fix` keeps
41
+ * `--fix` for ctx.rest.
42
+ */
43
+ export declare function distributeRest(positionals: string[], rest: string[], argsSchemas: Record<string, ZodType>): {
44
+ positionals: string[];
45
+ rest: string[];
46
+ };
47
+ /**
48
+ * Pre-coerce a string to a number for z.number() fields.
49
+ * Empty/whitespace-only strings are returned UNCHANGED — Number('') === 0
50
+ * and Number(' ') === 0 would silently fabricate a value. Leaving the
51
+ * string intact lets Zod reject it as invalid_type, which flows through
52
+ * the existing humanizer to a ValidationError (exit 2).
53
+ *
54
+ * Exported for unit testing only — not part of the public API (not in index.ts).
55
+ */
56
+ export declare function coerceNumberValue(value: unknown): unknown;
57
+ /**
58
+ * Pre-coerce a string to a boolean for z.boolean() fields. Env vars are always
59
+ * strings, and `--flag=false` also reaches here as one. Anything but
60
+ * true/false/1/0 is returned UNCHANGED so Zod rejects it instead of guessing:
61
+ * `MINIFY=quizas` must not silently mean either value.
62
+ *
63
+ * Exported for unit testing only — not part of the public API (not in index.ts).
64
+ */
65
+ export declare function coerceBooleanValue(value: unknown): unknown;
37
66
  /**
38
67
  * Resolve values from all sources and validate through Zod.
39
68
  *
@@ -45,4 +74,18 @@ export interface ResolveOutput {
45
74
  * 5. Return typed results or throw ValidationError
46
75
  */
47
76
  export declare function resolveValues(input: ResolveInput): ResolveOutput;
77
+ export interface ResolveToolInput {
78
+ /** The call's arguments, as one object */
79
+ input: Record<string, unknown>;
80
+ schemas: ResolveInput['schemas'];
81
+ meta?: ResolveInput['meta'];
82
+ configValues?: Record<string, unknown>;
83
+ env?: Record<string, string | undefined>;
84
+ }
85
+ /**
86
+ * Same resolution as resolveValues, from an object instead of parsed argv. Each
87
+ * key names its target, so there are no positions, tokens or aliases to read:
88
+ * arrays, objects and numbers arrive as they are, and data is never a route.
89
+ */
90
+ export declare function resolveToolInput(toolInput: ResolveToolInput): ResolveOutput;
48
91
  //# sourceMappingURL=resolve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/parse/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAY,KAAK,OAAO,EAAK,MAAM,KAAK,CAAC;AAEhD,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,aAAa,CAAC;AAM7D,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC5B,qCAAqC;IACrC,eAAe,EAAE,eAAe,CAAC;IACjC,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,sBAAsB;IACtB,OAAO,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,CAAC;IACF,4CAA4C;IAC5C,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;KAAE,CAAC;IAChD,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,8EAA8E;IAC9E,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAkOD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CAwDhE"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/parse/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAY,KAAK,OAAO,EAAK,MAAM,KAAK,CAAC;AAGhD,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,aAAa,CAAC;AAM7D,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC5B,qCAAqC;IACrC,eAAe,EAAE,eAAe,CAAC;IACjC,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,sBAAsB;IACtB,OAAO,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,CAAC;IACF,4CAA4C;IAC5C,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;KAAE,CAAC;IAChD,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,8EAA8E;IAC9E,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AA6DD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC7B,WAAW,EAAE,MAAM,EAAE,EACrB,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC;IAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAW3C;AAID;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKzD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAM1D;AAoKD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CAyBhE;AAED,MAAM,WAAW,gBAAgB;IAChC,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACzC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,GAAG,aAAa,CAiC3E"}