icore 1.0.1 → 1.0.3

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/dist/argv.d.ts CHANGED
@@ -1,3 +1,14 @@
1
+ /**
2
+ * The argv parser module transforms raw CLI tokens into positional segments
3
+ * and unvalidated long-option values.
4
+ *
5
+ * Allowed here:
6
+ * - splitting argv into positionals and named options;
7
+ * - applying option-schema hints only when token ownership is ambiguous;
8
+ * - rejecting duplicate raw option names before schema validation;
9
+ *
10
+ * This file must not contain typed option validation or command resolution.
11
+ */
1
12
  import type { OptionsSchema, RawOptionValue } from './options';
2
13
  /**
3
14
  * Parsed CLI arguments split into positional command path segments and raw
@@ -1 +1 @@
1
- {"version":3,"file":"argv.d.ts","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE/D;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,MAAM,CAAC,EAAE,aAAa,GACrB,UAAU,CAqEZ"}
1
+ {"version":3,"file":"argv.d.ts","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE/D;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,MAAM,CAAC,EAAE,aAAa,GACrB,UAAU,CAqEZ"}
package/dist/argv.js CHANGED
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ /**
3
+ * The argv parser module transforms raw CLI tokens into positional segments
4
+ * and unvalidated long-option values.
5
+ *
6
+ * Allowed here:
7
+ * - splitting argv into positionals and named options;
8
+ * - applying option-schema hints only when token ownership is ambiguous;
9
+ * - rejecting duplicate raw option names before schema validation;
10
+ *
11
+ * This file must not contain typed option validation or command resolution.
12
+ */
2
13
  Object.defineProperty(exports, "__esModule", { value: true });
3
14
  exports.parseArgv = parseArgv;
4
15
  /**
package/dist/argv.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"argv.js","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":";;AAcA,8BAwEC;AA3ED;;GAEG;AACH,SAAgB,SAAS,CACvB,IAAuB,EACvB,MAAsB;IAEtB,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,OAAO,GAAmC,EAAE,CAAC;IACnD,IAAI,YAAY,GAAG,IAAI,CAAC;IAExB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,SAAS;QACX,CAAC;QAED,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC3D,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,YAAY,GAAG,KAAK,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,cAAc,KAAK,CAAC,CAAC;YAChC,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAEpC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,GAAG,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,GAAG,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;YACjD,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,UAAU,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACrB,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAEhC,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;YACxB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;YACxB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,OAAO;QACL,WAAW;QACX,OAAO;KACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"argv.js","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAgBH,8BAwEC;AA3ED;;GAEG;AACH,SAAgB,SAAS,CACvB,IAAuB,EACvB,MAAsB;IAEtB,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,OAAO,GAAmC,EAAE,CAAC;IACnD,IAAI,YAAY,GAAG,IAAI,CAAC;IAExB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,SAAS;QACX,CAAC;QAED,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC3D,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,YAAY,GAAG,KAAK,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,cAAc,KAAK,CAAC,CAAC;YAChC,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAEpC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,GAAG,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,GAAG,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;YACjD,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,UAAU,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACrB,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAEhC,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;YACxB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;YACxB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,OAAO;QACL,WAAW;QACX,OAAO;KACR,CAAC;AACJ,CAAC"}
package/dist/cli.d.ts CHANGED
@@ -1,20 +1,12 @@
1
1
  /**
2
- * The CLI mechanics module describes declarative command contracts and performs
3
- * generic user argument parsing.
2
+ * The CLI public barrel module exposes the supported command mechanics API.
4
3
  *
5
4
  * Allowed here:
6
- * - parsing raw argv into positionals and long options;
7
- * - validating primitive CLI options against declarative schemas;
8
- * - applying and validating defaults;
9
- * - checking command paths and extra positionals;
10
- * - running command handlers with typed options and caller-provided context.
5
+ * - re-exporting public argv parser contracts;
6
+ * - re-exporting public option schema contracts;
7
+ * - re-exporting public command registry contracts;
11
8
  *
12
- * Not allowed here:
13
- * - application-specific business rules;
14
- * - SDK/API request building;
15
- * - external client lifecycle management;
16
- * - JSON/table/CSV output formatting;
17
- * - domain-specific command DSLs.
9
+ * This file must not contain parser, validator, or command runtime logic.
18
10
  */
19
11
  export { parseArgv, type ParsedArgv } from './argv';
20
12
  export { defineCommand, defineCommandRegistry, isCommandName, resolveCommand, resolveCommandFromArgs, runCommand, runCommandFromRegistry, type CommandDefinition, type CommandInput, type CommandName, type CommandRegistry, type ResolvedCommand } from './commands';
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EACL,SAAS,EACT,KAAK,UAAU,EAChB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,UAAU,EACV,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,SAAS,EACT,KAAK,UAAU,EAChB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,UAAU,EACV,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC"}
package/dist/cli.js CHANGED
@@ -1,21 +1,13 @@
1
1
  "use strict";
2
2
  /**
3
- * The CLI mechanics module describes declarative command contracts and performs
4
- * generic user argument parsing.
3
+ * The CLI public barrel module exposes the supported command mechanics API.
5
4
  *
6
5
  * Allowed here:
7
- * - parsing raw argv into positionals and long options;
8
- * - validating primitive CLI options against declarative schemas;
9
- * - applying and validating defaults;
10
- * - checking command paths and extra positionals;
11
- * - running command handlers with typed options and caller-provided context.
6
+ * - re-exporting public argv parser contracts;
7
+ * - re-exporting public option schema contracts;
8
+ * - re-exporting public command registry contracts;
12
9
  *
13
- * Not allowed here:
14
- * - application-specific business rules;
15
- * - SDK/API request building;
16
- * - external client lifecycle management;
17
- * - JSON/table/CSV output formatting;
18
- * - domain-specific command DSLs.
10
+ * This file must not contain parser, validator, or command runtime logic.
19
11
  */
20
12
  Object.defineProperty(exports, "__esModule", { value: true });
21
13
  exports.parseOptionsDetailed = exports.parseOptions = exports.mergeOptionsSchema = exports.runCommandFromRegistry = exports.runCommand = exports.resolveCommandFromArgs = exports.resolveCommand = exports.isCommandName = exports.defineCommandRegistry = exports.defineCommand = exports.parseArgv = void 0;
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAEH,+BAGgB;AAFd,iGAAA,SAAS,OAAA;AAGX,uCAaoB;AAZlB,yGAAA,aAAa,OAAA;AACb,iHAAA,qBAAqB,OAAA;AACrB,yGAAA,aAAa,OAAA;AACb,0GAAA,cAAc,OAAA;AACd,kHAAA,sBAAsB,OAAA;AACtB,sGAAA,UAAU,OAAA;AACV,kHAAA,sBAAsB,OAAA;AAOxB,qCAcmB;AAbjB,6GAAA,kBAAkB,OAAA;AAClB,uGAAA,YAAY,OAAA;AACZ,+GAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,+BAGgB;AAFd,iGAAA,SAAS,OAAA;AAGX,uCAaoB;AAZlB,yGAAA,aAAa,OAAA;AACb,iHAAA,qBAAqB,OAAA;AACrB,yGAAA,aAAa,OAAA;AACb,0GAAA,cAAc,OAAA;AACd,kHAAA,sBAAsB,OAAA;AACtB,sGAAA,UAAU,OAAA;AACV,kHAAA,sBAAsB,OAAA;AAOxB,qCAcmB;AAbjB,6GAAA,kBAAkB,OAAA;AAClB,uGAAA,YAAY,OAAA;AACZ,+GAAA,oBAAoB,OAAA"}
@@ -1,3 +1,15 @@
1
+ /**
2
+ * The command mechanics module resolves command paths and runs typed command
3
+ * handlers after argv and option validation.
4
+ *
5
+ * Allowed here:
6
+ * - defining command and registry contracts;
7
+ * - resolving the most specific command path match;
8
+ * - passing parsed options, provided metadata, positionals, and context to handlers;
9
+ *
10
+ * This file must not contain raw token parsing, option schema validation,
11
+ * domain behavior, SDK calls, or output formatting.
12
+ */
1
13
  import { type InferOptions, type InferProvidedOptions, type OptionsSchema } from './options';
2
14
  /**
3
15
  * Input passed to a command handler after command path and option validation.
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EACnB,MAAM,WAAW,CAAC;AAEnB;;GAEG;AACH,MAAM,MAAM,YAAY,CACtB,OAAO,SAAS,aAAa,EAC7B,QAAQ,IACN;IACF,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/B,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACxC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,CAC3B,OAAO,SAAS,aAAa,EAC7B,QAAQ,EACR,OAAO,EACP,KAAK,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,IAC3E;IACF,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5E,CAAC;AAEF,KAAK,oBAAoB,GAAG,iBAAiB,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEvE,KAAK,eAAe,CAAC,KAAK,SAAS,SAAS,MAAM,EAAE,IAClD,MAAM,SAAS,KAAK,CAAC,QAAQ,CAAC,GAC1B,MAAM,GACN,KAAK,SAAS,SAAS,CAAC,MAAM,KAAK,SAAS,MAAM,CAAC,GACjD,KAAK,GACL,KAAK,SAAS,SAAS;IACvB,MAAM,KAAK,SAAS,MAAM;IAC1B,GAAG,MAAM,KAAK,SAAS,SAAS,MAAM,EAAE;CACzC,GACG,GAAG,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,GACpC,KAAK,CAAC;AAEhB,KAAK,cAAc,CAAC,QAAQ,SAAS,oBAAoB,IACvD,QAAQ,SAAS,iBAAiB,CAAC,aAAa,EAAE,MAAM,QAAQ,EAAE,GAAG,CAAC,GAClE,QAAQ,GACR,KAAK,CAAC;AAEZ,KAAK,aAAa,CAAC,QAAQ,SAAS,oBAAoB,IACtD,QAAQ,SAAS,iBAAiB,CAAC,aAAa,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,GACjE,OAAO,CAAC,OAAO,CAAC,GAChB,KAAK,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,QAAQ,SAAS,oBAAoB,IAC3D,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,SAAS,oBAAoB,EAAE,IAAI;IAC/E,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,EAAE,SAAS,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;CACzD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,QAAQ,SAAS,oBAAoB,IAAI;IACnE,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,EAAE,QAAQ,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,CAAC,OAAO,SAAS,aAAa,EACnC,KAAK,CAAC,KAAK,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EAClD,QAAQ,GAAG,SAAS,EACpB,OAAO,GAAG,OAAO,EAEjB,OAAO,EAAE,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,GAC5D,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAEtD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,CAAC,SAAS,SAAS,SAAS,oBAAoB,EAAE,EAEvD,QAAQ,EAAE,SAAS,GAClB,eAAe,CAAC,SAAS,CAAC,CAS5B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,CAAC,SAAS,SAAS,SAAS,oBAAoB,EAAE,EAEvD,QAAQ,EAAE,eAAe,CAAC,SAAS,CAAC,EACpC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAGzC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,CAAC,SAAS,SAAS,SAAS,oBAAoB,EAAE,EAEvD,QAAQ,EAAE,eAAe,CAAC,SAAS,CAAC,EACpC,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAUpC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,CAAC,SAAS,SAAS,SAAS,oBAAoB,EAAE,EAEvD,QAAQ,EAAE,eAAe,CAAC,SAAS,CAAC,EACpC,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAWpC;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,CAAC,SAAS,SAAS,SAAS,oBAAoB,EAAE,EAEvD,QAAQ,EAAE,eAAe,CAAC,SAAS,CAAC,EACpC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GACzC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAQ3C;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,KAAK,CAAC,OAAO,SAAS,aAAa,EACnC,QAAQ,EACR,OAAO,EAEP,OAAO,EAAE,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EACtD,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,OAAO,CAAC,CAkBlB"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
package/dist/commands.js CHANGED
@@ -1,4 +1,16 @@
1
1
  "use strict";
2
+ /**
3
+ * The command mechanics module resolves command paths and runs typed command
4
+ * handlers after argv and option validation.
5
+ *
6
+ * Allowed here:
7
+ * - defining command and registry contracts;
8
+ * - resolving the most specific command path match;
9
+ * - passing parsed options, provided metadata, positionals, and context to handlers;
10
+ *
11
+ * This file must not contain raw token parsing, option schema validation,
12
+ * domain behavior, SDK calls, or output formatting.
13
+ */
2
14
  Object.defineProperty(exports, "__esModule", { value: true });
3
15
  exports.defineCommand = defineCommand;
4
16
  exports.defineCommandRegistry = defineCommandRegistry;
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
package/dist/options.d.ts CHANGED
@@ -1,3 +1,15 @@
1
+ /**
2
+ * The option schema module validates raw option values against declarative
3
+ * primitive option contracts.
4
+ *
5
+ * Allowed here:
6
+ * - defining string, boolean, and number option contracts;
7
+ * - applying and validating default values;
8
+ * - producing typed option values and user-provided metadata;
9
+ *
10
+ * This file must not contain argv tokenization, command resolution, or
11
+ * application-specific validation rules.
12
+ */
1
13
  type OptionBase<TType extends string, TValue> = {
2
14
  type: TType;
3
15
  required?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
package/dist/options.js CHANGED
@@ -1,4 +1,16 @@
1
1
  "use strict";
2
+ /**
3
+ * The option schema module validates raw option values against declarative
4
+ * primitive option contracts.
5
+ *
6
+ * Allowed here:
7
+ * - defining string, boolean, and number option contracts;
8
+ * - applying and validating default values;
9
+ * - producing typed option values and user-provided metadata;
10
+ *
11
+ * This file must not contain argv tokenization, command resolution, or
12
+ * application-specific validation rules.
13
+ */
2
14
  Object.defineProperty(exports, "__esModule", { value: true });
3
15
  exports.mergeOptionsSchema = mergeOptionsSchema;
4
16
  exports.parseOptions = parseOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,16 @@
1
1
  {
2
2
  "name": "icore",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Declarative command line interface mechanics for Node.js",
5
5
  "keywords": [
6
- "cli"
6
+ "command-line",
7
+ "argv",
8
+ "argument-parser",
9
+ "option-parser",
10
+ "command-registry",
11
+ "command-router",
12
+ "typed-cli",
13
+ "declarative-cli"
7
14
  ],
8
15
  "license": "MIT",
9
16
  "author": {
@@ -12,7 +19,7 @@
12
19
  },
13
20
  "repository": {
14
21
  "type": "git",
15
- "url": "https://github.com/woodger/icore"
22
+ "url": "git@github.com:woodger/icore.git"
16
23
  },
17
24
  "main": "dist/index.js",
18
25
  "types": "dist/index.d.ts",
package/readme.md CHANGED
@@ -5,121 +5,101 @@
5
5
  [![types](https://img.shields.io/npm/types/icore.svg)](https://www.npmjs.com/package/icore)
6
6
  [![license](https://img.shields.io/npm/l/icore.svg)](LICENSE)
7
7
 
8
- Declarative command line interface mechanics for Node.js.
8
+ Small dependency-free command line interface mechanics for [Node.js®](https://nodejs.org) applications.
9
9
 
10
- `icore` helps describe CLI commands with small option schemas and keeps command
11
- handlers focused on application work. It standardizes argument parsing,
12
- primitive option validation, defaults, choices, numeric ranges, and positional
13
- argument checks. It can also resolve commands from a registry and report whether
14
- each option was provided explicitly by the user or filled from a default.
10
+ [API](#api) | [Option Schemas](#option-schemas) | [Type Inference](#type-inference)
15
11
 
16
12
  ### How it works?
17
13
 
18
14
  ![yuml diagram](http://yuml.me/diagram/scruffy;dir:LR;/class/[*argv*%20{bg:gray}|External;users%20get%20--limit%2010%20--json]->[*matches*%20{bg:lavender}|System;parse,%20resolve,%20validate,%20infer]->[*typed%20result*%20{bg:honeydew}|Container;command=users/get;%20limit=10;%20json=true]->[*your%20app*%20{bg:cornsilk}|System;business%20logic%20and%20output])
19
15
 
20
- It does not try to model your business domain. API calls, request building,
21
- response mapping, and output formatting should stay in the application that uses
22
- `icore`.
16
+ Use `icore` when you need more than raw argument parsing:
23
17
 
24
- ## Table of Contents
18
+ - typed command definitions;
19
+ - command registry resolution;
20
+ - required options;
21
+ - string choices;
22
+ - number parsing with integer, minimum, and maximum constraints;
23
+ - option presence metadata;
24
+ - typed command handler input.
25
+
26
+ Use [`node:util.parseArgs`](https://nodejs.org/api/util.html#utilparseargsconfig)
27
+ directly when you only need low-level argument parsing.
25
28
 
26
- - [Installation](#installation)
27
- - [Requirements](#requirements)
28
- - [Basic Usage](#basic-usage)
29
- - [Design Goals](#design-goals)
30
- - [What icore Handles](#what-icore-handles)
31
- - [What icore Does Not Handle](#what-icore-does-not-handle)
32
- - [Option Schemas](#option-schemas)
33
- - [API](#api)
29
+ ### Installation
34
30
 
35
- ## Installation
31
+ To use `icores` in your project, run:
36
32
 
37
33
  ```sh
38
34
  npm install icore
39
35
  ```
40
36
 
41
- ## Requirements
37
+ ### Table of Contents
38
+
39
+ - [`parseArgv(args, schema?)`](#parseargvargs-schema)
40
+ - [`parseOptions(schema, values)`](#parseoptionsschema-values)
41
+ - [`parseOptionsDetailed(schema, values)`](#parseoptionsdetailedschema-values)
42
+ - [`defineCommand(command)`](#definecommandcommand)
43
+ - [`defineCommandRegistry(commands)`](#definecommandregistrycommands)
44
+ - [`isCommandName(registry, value)`](#iscommandnameregistry-value)
45
+ - [`resolveCommand(registry, positionals)`](#resolvecommandregistry-positionals)
46
+ - [`resolveCommandFromArgs(registry, args)`](#resolvecommandfromargsregistry-args)
47
+ - [`runCommandFromRegistry(registry, args, context)`](#runcommandfromregistryregistry-args-context)
48
+ - [`mergeOptionsSchema(...schemas)`](#mergeoptionsschemaschemas)
49
+ - [`runCommand(command, args, context)`](#runcommandcommand-args-context)
42
50
 
43
- - Node.js `>=16.9.0`
44
- - TypeScript is supported through bundled declaration files.
51
+ ### Design Goals
52
+
53
+ - describe CLI mechanics declaratively;
54
+ - use literal option types: `type: 'string' | 'boolean' | 'number'`;
55
+ - keep handlers free from repetitive option parsing;
56
+ - keep domain and API semantics outside the framework;
57
+ - provide predictable user-facing errors;
58
+ - avoid runtime dependencies.
45
59
 
46
- ## Basic Usage
60
+ #### Basic Usage
47
61
 
48
62
  ```ts
49
63
  import { defineCommand, runCommand } from 'icore';
50
64
 
51
- const command = defineCommand({
52
- path: ['users', 'get-accounts'],
65
+ const helloCommand = defineCommand({
66
+ path: ['hello'],
53
67
  options: {
54
- format: {
68
+ name: {
55
69
  type: 'string',
56
- choices: ['json', 'table'],
57
- default: 'table'
70
+ default: 'world'
58
71
  },
59
- insecure: {
72
+ upper: {
60
73
  type: 'boolean'
61
74
  }
62
75
  },
63
- async handle({ options, context }) {
64
- const response = await context.sdk.users.getAccounts({});
76
+ async handle({ options }) {
77
+ const message = `Hello, ${options.name}!`;
65
78
 
66
- return context.formatAccounts(response.accounts, options.format);
79
+ return options.upper ? message.toUpperCase() : message;
67
80
  }
68
81
  });
69
82
 
70
83
  const output = await runCommand(
71
- command,
72
- ['users', 'get-accounts', '--format', 'json'],
73
- {
74
- sdk,
75
- formatAccounts
76
- }
84
+ helloCommand,
85
+ ['hello', '--name', 'Stanislav', '--upper'],
86
+ {}
77
87
  );
88
+
89
+ console.log(output);
78
90
  ```
79
91
 
80
92
  The command handler receives parsed options, user-provided option metadata,
81
93
  remaining positionals, and caller provided context.
82
94
 
83
- ## Design Goals
95
+ CommonJS is supported:
84
96
 
85
- - describe CLI mechanics declaratively;
86
- - use literal option types: `type: 'string' | 'boolean' | 'number'`;
87
- - keep handlers free from repetitive option parsing;
88
- - keep domain and API semantics outside the framework;
89
- - provide predictable user-facing errors;
90
- - avoid runtime dependencies.
91
-
92
- ## What icore Handles
93
-
94
- `icore` handles generic CLI mechanics:
95
-
96
- - parsing long options;
97
- - validating known options;
98
- - rejecting duplicated options;
99
- - checking required options;
100
- - applying and validating defaults;
101
- - validating string choices;
102
- - validating boolean flag form;
103
- - composing option schemas;
104
- - defining command registries;
105
- - resolving commands by path;
106
- - preserving user-provided option metadata;
107
- - parsing numbers;
108
- - validating integer, minimum, and maximum numeric constraints;
109
- - checking command path and extra positional arguments.
110
-
111
- ## What icore Does Not Handle
112
-
113
- `icore` intentionally does not handle application-specific behavior:
114
-
115
- - building API request DTOs;
116
- - calling SDKs or network clients;
117
- - managing database, HTTP, or gRPC lifecycle;
118
- - checking business invariants such as `from <= to`;
119
- - resolving mutually exclusive command modes;
120
- - formatting output as JSON, tables, CSV, or other application formats.
121
-
122
- Keep those decisions near the command handler or in your application layer.
97
+ ```js
98
+ const {
99
+ defineCommand,
100
+ runCommand
101
+ } = require('icore');
102
+ ```
123
103
 
124
104
  ## Option Schemas
125
105
 
@@ -188,7 +168,7 @@ const schema = {
188
168
  Number options parse decimal numeric values and can validate integer and range
189
169
  constraints. Defaults are validated with the same rules as user-provided values.
190
170
 
191
- ## API
171
+ ### API
192
172
 
193
173
  ### `parseArgv(args, schema?)`
194
174
 
@@ -501,7 +481,7 @@ const output = await runCommand(
501
481
  By default, extra positionals are rejected. A command can opt in to extra
502
482
  positionals with `allowExtraPositionals: true`.
503
483
 
504
- ## Type Inference
484
+ ### Type Inference
505
485
 
506
486
  Use `InferOptions` when you need the parsed option type explicitly.
507
487
 
@@ -567,9 +547,26 @@ type Name = CommandName<typeof usersGetAccountsCommand>;
567
547
  type Name = 'users get-accounts';
568
548
  ```
569
549
 
570
- ## Error Messages
550
+ ### Facade of arguments
551
+
552
+ The table below provides examples of how to specify the syntax.
571
553
 
572
- `icore` throws regular `Error` objects with stable messages.
554
+ | Syntax | Supported | Notes |
555
+ |---|---:|---|
556
+ | `--name value` | yes | string and number options |
557
+ | `--name=value` | yes | string and number options |
558
+ | `--flag` | yes | boolean options |
559
+ | `--flag=true` | no | boolean options are flag-only |
560
+ | `-f` | no | short aliases are not supported |
561
+ | `--no-cache` | no | negative boolean flags are not supported |
562
+ | repeated options | no | duplicates are rejected |
563
+ | multiple values | no | arrays are not supported |
564
+
565
+ ### Error Messages
566
+
567
+ `icore` throws regular `Error` objects with predictable user-facing messages.
568
+ Applications should treat these messages as display text, not as a
569
+ machine-readable API.
573
570
 
574
571
  Examples:
575
572
 
@@ -586,7 +583,7 @@ Expected '--depth' to be greater than or equal to 1
586
583
 
587
584
  Applications can catch these errors and decide how to print them.
588
585
 
589
- ## Project Boundary
586
+ ### Project Boundary
590
587
 
591
588
  `icore` is intended to be a small CLI mechanics module. It should not grow into a
592
589
  domain-specific framework for a particular SDK or API.
@@ -597,11 +594,3 @@ Good responsibilities for `icore`:
597
594
  - command path checking;
598
595
  - common argument errors;
599
596
  - typed command handler input.
600
-
601
- Responsibilities that should stay outside `icore`:
602
-
603
- - business validation;
604
- - SDK lifecycle management;
605
- - provider-specific request modes;
606
- - generated contract mapping;
607
- - presentation formatting.