@wirecat/cli-base 0.44.4 → 0.44.5

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.
@@ -24,7 +24,13 @@
24
24
  "preset": "recommended",
25
25
  "style": {
26
26
  "useConst": "error",
27
- "noNonNullAssertion": "error"
27
+ "noNonNullAssertion": "error",
28
+ "noExcessiveLinesPerFile": {
29
+ "level": "error",
30
+ "options": {
31
+ "maxLines": 1000
32
+ }
33
+ }
28
34
  },
29
35
  "correctness": {
30
36
  "noUnusedImports": "error",
@@ -37,7 +43,8 @@
37
43
  "options": {
38
44
  "allow": ["error"]
39
45
  }
40
- }
46
+ },
47
+ "noImportCycles": "error"
41
48
  },
42
49
  "security": {
43
50
  "noSecrets": {
@@ -60,6 +67,24 @@
60
67
  }
61
68
  }
62
69
  },
70
+ {
71
+ "includes": [
72
+ "**/*.test.*",
73
+ "**/*.spec.*",
74
+ "**/test/**",
75
+ "**/tests/**",
76
+ "**/__tests__/**",
77
+ "**/fixtures/**",
78
+ "**/generated/**"
79
+ ],
80
+ "linter": {
81
+ "rules": {
82
+ "style": {
83
+ "noExcessiveLinesPerFile": "off"
84
+ }
85
+ }
86
+ }
87
+ },
63
88
  {
64
89
  "includes": [
65
90
  "**/*.test.*",
@@ -83,6 +108,18 @@
83
108
  "./config/wirecat/no-new-function.grit",
84
109
  "./config/wirecat/no-shell-true.grit",
85
110
  "./config/wirecat/no-exec-interpolation.grit",
111
+ {
112
+ "path": "./config/wirecat/no-deep-wirecat-import.grit",
113
+ "includes": [
114
+ "**",
115
+ "!**/*.test.*",
116
+ "!**/*.spec.*",
117
+ "!**/test/**",
118
+ "!**/tests/**",
119
+ "!**/__tests__/**",
120
+ "!**/fixtures/**"
121
+ ]
122
+ },
86
123
  {
87
124
  "path": "./config/wirecat/no-unbounded-spread.grit",
88
125
  "includes": [
@@ -1,19 +1,20 @@
1
1
  {
2
2
  "source": "https://github.com/WireCatLabs/community",
3
- "revision": "60a8857c04548e135f672db64e0723dbe87b433f",
3
+ "revision": "b22b7ede5931a4058fc763e0a7d6bfe0fbdb87c8",
4
4
  "files": {
5
- "biome.base.json": "6a5a2efe0b8989c29458f47f79c35cf756e6277a6b51699fe832b0da49d67370",
5
+ "biome.base.json": "5d265b71896cdb0454260fa8d897bd517f61de512f16831e5d5273f29775f9f3",
6
6
  "cspell.json": "8241122ed4d461976a838099b265ef8f2689a066608257b6fdc250d9b49b58aa",
7
7
  "lefthook.yml": "2f65a2e3103006d43f6d6f0a07ab333c132286157763222a59a5a22676acd391",
8
8
  "markdownlint.json": "5ed7d6980054c539f3f3c0e47a090f1a725b15be2c486a769a836bc6cd48ad2d",
9
+ "no-deep-wirecat-import.grit": "b9cb69b9ae125604c951cd924941ab089af32f9fa91f072e34531ca861ed125d",
9
10
  "no-exec-interpolation.grit": "b9461f887afd0f7d555814bc45c5cd47537808edc10a17b06049f3ca0fff5957",
10
11
  "no-new-function.grit": "f6423e186cca90b1ab87d40185c6d920e99d83366af6dc11455963a0797fb627",
11
12
  "no-shell-true.grit": "d3943cfa1d7ebbf7be0fa22c2aaf2b7d7aa9ff462f2eb14a7798632764e3875c",
12
13
  "no-unbounded-spread.grit": "f4178e5b74212fef58fec8916b6783d9f4f192ac618aa4ced041c4167bfbf81b",
13
- "rumdl.toml": "048b929176f13234324f5825d1e811397f1491b9cb6684a1953e268e2c2ed863",
14
- "check.mjs": "34b266411eaab7707030915f645308e86784b1574b21fa44ca974861a90c9ce1",
14
+ "release-lock-info.mjs": "4abab1f01ceee7d4c709222e923c9a6fc634bcf7b8b64d745a9ac495993310e0",
15
15
  "release-lock.sh": "f3309e569daea423c35f2a7b51cd55aec24c28160428b67ee2ece05e67fab877",
16
- "release-lock-info.mjs": "4abab1f01ceee7d4c709222e923c9a6fc634bcf7b8b64d745a9ac495993310e0"
16
+ "rumdl.toml": "048b929176f13234324f5825d1e811397f1491b9cb6684a1953e268e2c2ed863",
17
+ "check.mjs": "34b266411eaab7707030915f645308e86784b1574b21fa44ca974861a90c9ce1"
17
18
  },
18
19
  "packageManager": "pnpm@11.20.0",
19
20
  "node": ">=22",
@@ -25,9 +26,5 @@
25
26
  "cspell": "10.3.6",
26
27
  "lefthook": "2.1.16",
27
28
  "markdownlint-cli2": "0.23.3"
28
- },
29
- "fileRevisions": {
30
- "release-lock.sh": "f5e184c78cb170158773d2270cecb14431315ed6",
31
- "release-lock-info.mjs": "f5e184c78cb170158773d2270cecb14431315ed6"
32
29
  }
33
30
  }
@@ -0,0 +1,15 @@
1
+ language js
2
+
3
+ or {
4
+ `import $_ from $source`,
5
+ `import $source`,
6
+ `export { $_ } from $source`,
7
+ `export * from $source`,
8
+ `export * as $_ from $source`,
9
+ `export type { $_ } from $source`,
10
+ `import($source)`,
11
+ `require($source)`
12
+ } where {
13
+ $source <: r"^[\"'`]@wirecat/[^/\"'`]+/(?:src|dist)(?:/.*)?[\"'`]$",
14
+ register_diagnostic(span=$source, message="Import WireCat packages through their public exports, never src/ or dist/: those paths are not part of the package contract and break on the next release.", severity="error")
15
+ }
@@ -1,6 +1,6 @@
1
1
  import type { Command } from "commander";
2
2
  import * as v from "valibot";
3
- import { type CommandInfo, type OptionInfo } from "./index.js";
3
+ import { type CommandInfo, type OptionInfo } from "./registry.js";
4
4
  /**
5
5
  * What `<cli> commands --json` prints, in every CLI on cli-base. `scope` and `inherited_options` are
6
6
  * there only when one command path was asked for. Nothing else at the top: `cli-dev lint` refuses it.
@@ -1 +1 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/commands/document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAK5B,OAAO,EAAE,KAAK,WAAW,EAAoC,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AAmEhG;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;IAGjC,8DAA8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAQ9D,CAAA;AAEF,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,UAAU,EAAE,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,iBAAiB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE,EAAE,CAAA;IAC/D,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACnC;AAED,eAAO,MAAM,0BAA0B,oDAA6E,CAAA;AAEpH,eAAO,MAAM,qBAAqB,UACzB,OAAO,KACb;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAGnG,CAAA;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,wGAAwG;AACxG,eAAO,MAAM,gBAAgB,SAAU,OAAO,SAAS,qBAAqB,KAAG,gBAQ7E,CAAA"}
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/commands/document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAK5B,OAAO,EAAE,KAAK,WAAW,EAAoC,KAAK,UAAU,EAAE,MAAM,eAAe,CAAA;AAmEnG;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;IAGjC,8DAA8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAQ9D,CAAA;AAEF,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,UAAU,EAAE,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,iBAAiB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE,EAAE,CAAA;IAC/D,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACnC;AAED,eAAO,MAAM,0BAA0B,oDAA6E,CAAA;AAEpH,eAAO,MAAM,qBAAqB,UACzB,OAAO,KACb;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAGnG,CAAA;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,wGAAwG;AACxG,eAAO,MAAM,gBAAgB,SAAU,OAAO,SAAS,qBAAqB,KAAG,gBAQ7E,CAAA"}
@@ -3,7 +3,7 @@ import { EXIT_CODES, GENERIC_FAILURE } from "../exit-codes.js";
3
3
  import { FIELD_TYPES, QUERY_BACKENDS } from "../query/fields.js";
4
4
  import { effectsSchema } from "../standards/effects.js";
5
5
  import { issuesOf, jsonSchemaOf } from "../standards/registry.js";
6
- import { describeOptions, describeProgram } from "./index.js";
6
+ import { describeOptions, describeProgram } from "./registry.js";
7
7
  const argumentInfoSchema = v.object({
8
8
  name: v.string(),
9
9
  required: v.boolean(),
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/commands/document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/commands/document.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAoB,eAAe,EAAE,eAAe,EAAmB,MAAM,eAAe,CAAA;AAEnG,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;CACjC,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IACxB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAChC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACtD,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;CAClC,CAAC,CAAA;AAEF,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAChF,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;CACxC,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAiC,CAAC,CAAC,MAAM,CAAC;IAC/D,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAChD,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;IAClC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IACrD,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IAC/D,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/C,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAClF,KAAK,EAAE,CAAC,CAAC,QAAQ,CACf,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;QACnC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;QAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;KAC1C,CAAC,CACH;IACD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAClC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC;CACnD,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,YAAY,CAAC;IACnD,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzC,8DAA8D;IAC9D,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;IACnH,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;CAClE,CAAC,CAAA;AAcF,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAA;AAEpH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAAc,EACuF,EAAE;IACvG,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAA;IACzD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAA0B,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAA;AACjH,CAAC,CAAA;AAQD,wGAAwG;AACxG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAa,EAAE,KAA4B,EAAoB,EAAE,CAAC,CAAC;IAClG,GAAG,EAAE,KAAK,CAAC,GAAG;IACd,OAAO,EAAE,KAAK,CAAC,OAAO;IACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;IAC/B,cAAc,EAAE,eAAe,CAAC,IAAI,CAAC;IACrC,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC;IAC/B,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,UAAU,EAAE;CACtE,CAAC,CAAA"}
@@ -9,129 +9,10 @@
9
9
  * Behind its own entry point for the same reason `/http` is: Commander is only a type here, and the
10
10
  * root of this package stays free of any command-line framework.
11
11
  */
12
- import type { Command, Option } from "commander";
13
- import type { QueryRegistry } from "../query/fields.js";
14
- import { type QueryInfo } from "../query/registry.js";
15
- import type { Effects } from "../standards/effects.js";
16
- import type { StepTarget } from "../standards/steps.js";
17
- export type Origin = "handwritten" | "generated";
18
- export type CommandState = "beta" | "deprecated";
19
- /**
20
- * How long a command runs: `persistent` until it is stopped (a server, a watch), `interactive` until a person answers
21
- * (a login). Unset, it is bounded by the default timeout.
22
- */
23
- export type CommandLifetime = "persistent" | "interactive";
24
- /**
25
- * Who the remote side of `effects` is when it is not the CLI's own service: an embedding or analysis provider, a model
26
- * host. The commands page labels such a command by that service, not by the CLI's.
27
- */
28
- export type CommandReach = "other_service";
29
- export interface CommandMeta {
30
- origin?: Origin;
31
- /** The catalog operation a generated command was made from; not `operation_id`, which is one write attempt. */
32
- api_operation?: string;
33
- /** What running it touches. Left out, it counts as a write: never retried, never run as a next step on its own. */
34
- effects?: Effects;
35
- state?: CommandState;
36
- /** The command may answer with `meta.complete: false` and still exit 0; without it a partial answer fails. */
37
- partial?: boolean;
38
- lifetime?: CommandLifetime;
39
- reaches?: CommandReach;
40
- /** `false` keeps the command and all its subcommands off MCP servers; agents using the CLI itself are not affected. */
41
- mcp?: boolean;
42
- /**
43
- * `false`: the command and all its subcommands cannot answer from the local copy, so an MCP tool offers no
44
- * `offline` input for them. The CLI's global `--offline` still reaches them and they refuse it themselves.
45
- */
46
- offline?: boolean;
47
- /** Stops at its own pace when the run is aborted from outside, keeping what it already did — a long fetch. */
48
- cooperative?: boolean;
49
- examples?: readonly string[];
50
- /** The entity the command answers with, or one of its views. */
51
- output?: CommandOutput;
52
- /** A list's query fields; the list takes them as its last argument, `[query...]`. */
53
- query?: QueryRegistry;
54
- }
55
- export interface OptionMeta {
56
- /** `false` leaves the option out of MCP tools' input; agents using the CLI itself are not affected. */
57
- mcp?: boolean;
58
- }
59
- export interface CommandOutput {
60
- entity: string;
61
- view?: string;
62
- }
63
- export interface ArgumentInfo {
64
- name: string;
65
- required: boolean;
66
- variadic: boolean;
67
- description: string;
68
- choices?: readonly string[];
69
- default?: unknown;
70
- }
71
- export interface OptionInfo {
72
- flags: string;
73
- description: string;
74
- /** False for a plain switch like `--json`, so an agent knows not to look for a value. */
75
- takes_value: boolean;
76
- /**
77
- * Whether the option itself must be given. Deliberately not Commander's `required`, which means
78
- * "takes a value when present" — reading that as "you must pass this" is the obvious misreading.
79
- */
80
- mandatory: boolean;
81
- choices?: readonly string[];
82
- default?: unknown;
83
- env?: string;
84
- /** Options that may not be given together with this one. */
85
- conflicts?: readonly string[];
86
- /** Values this option sets on others when they are not given, by long flag. */
87
- implies?: Readonly<Record<string, unknown>>;
88
- /** Present only when the option is kept off MCP tools. */
89
- mcp?: false;
90
- }
91
- export interface CommandInfo {
92
- /** What to pass to the CLI, already split: `["runs", "list"]`. */
93
- path: readonly string[];
94
- name: string;
95
- summary?: string;
96
- description: string;
97
- usage: string;
98
- origin: Origin;
99
- api_operation?: string;
100
- effects?: Effects;
101
- state?: CommandState;
102
- partial?: boolean;
103
- lifetime?: CommandLifetime;
104
- reaches?: CommandReach;
105
- /** Present only when the command or a group above it is kept off MCP servers. */
106
- mcp?: false;
107
- /** Present only when the command or a group above it cannot answer from the local copy. */
108
- offline?: false;
109
- cooperative?: boolean;
110
- examples?: readonly string[];
111
- output?: CommandOutput;
112
- query?: QueryInfo;
113
- /** Present only on a group that runs on its own; a group without it only shows its help. */
114
- runnable?: true;
115
- arguments: readonly ArgumentInfo[];
116
- options: readonly OptionInfo[];
117
- commands: readonly CommandInfo[];
118
- }
119
- /** Attaches what the tree cannot say. Repeated calls merge; the command is returned for chaining. */
120
- export declare const annotate: <T extends Command>(command: T, meta: CommandMeta) => T;
121
- export declare const metaOf: (command: Command) => CommandMeta;
122
- /** `annotate` for an option. Repeated calls merge; the option is returned for `addOption`. */
123
- export declare const annotateOption: <T extends Option>(option: T, meta: OptionMeta) => T;
124
- export declare const optionMetaOf: (option: Option) => OptionMeta;
125
- export declare const describeProgram: (root: Command) => CommandInfo[];
126
- export declare const describeOptions: (command: Command) => OptionInfo[];
127
- export declare const flatten: (commands: readonly CommandInfo[]) => CommandInfo[];
128
- /**
129
- * What a next step may name, by command path (`messages list`): its effects, and the arguments and options it takes
130
- * in snake_case. Hand it to `stepOf` and `errorObjectOf` as `targets`.
131
- */
132
- export declare const stepTargets: (root: Command) => ((command: string) => StepTarget | undefined);
12
+ import type { Command } from "commander";
133
13
  export { type CommandsDocument, type CommandsDocumentAbout, commandsDocument, commandsDocumentJsonSchema, commandsDocumentSchema, parseCommandsDocument, } from "./document.js";
134
14
  export { COMMANDS_PAGE_LABELS, type CommandsPage, type CommandsPageLabels, type CommandsPageText, commandsPage, } from "./page.js";
15
+ export * from "./registry.js";
135
16
  /**
136
17
  * Refuses a command path that arrived as one argument — `"projects add" --help`, what a zsh loop over
137
18
  * `$c` passes. Commander settles `--help` for an unknown word before any hook runs and prints the root
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,YAAY,GACb,MAAM,WAAW,CAAA;AAClB,cAAc,eAAe,CAAA;AAE7B;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,SAAU,OAAO,QAAQ,SAAS,MAAM,EAAE,KAAG,IAgBzE,CAAA"}
@@ -1,111 +1,7 @@
1
1
  import { CliError } from "../errors.js";
2
- import { describeQuery } from "../query/registry.js";
3
- const labels = new WeakMap();
4
- /** Attaches what the tree cannot say. Repeated calls merge; the command is returned for chaining. */
5
- export const annotate = (command, meta) => {
6
- labels.set(command, { ...labels.get(command), ...meta });
7
- return command;
8
- };
9
- export const metaOf = (command) => labels.get(command) ?? {};
10
- const optionLabels = new WeakMap();
11
- /** `annotate` for an option. Repeated calls merge; the option is returned for `addOption`. */
12
- export const annotateOption = (option, meta) => {
13
- optionLabels.set(option, { ...optionLabels.get(option), ...meta });
14
- return option;
15
- };
16
- export const optionMetaOf = (option) => optionLabels.get(option) ?? {};
17
- export const describeProgram = (root) => visible(root).map((child) => describe(child, root.name(), [], { offMcp: false, noOffline: false }));
18
- export const describeOptions = (command) => command.options.filter((option) => !option.hidden).map(describeOption);
19
- export const flatten = (commands) => commands.flatMap((command) => [command, ...flatten(command.commands)]);
20
- const snake = (name) => name.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`).replaceAll("-", "_");
21
- /**
22
- * What a next step may name, by command path (`messages list`): its effects, and the arguments and options it takes
23
- * in snake_case. Hand it to `stepOf` and `errorObjectOf` as `targets`.
24
- */
25
- export const stepTargets = (root) => {
26
- const found = new Map();
27
- // From the long flag, so `--no-input` is `no_input`: the name a step's args render back into the same flag.
28
- const optionName = (option) => snake((option.long ?? option.attributeName()).replace(/^--/, ""));
29
- const visit = (command, parents, above) => {
30
- const path = [...parents, command.name()];
31
- const options = [...above, ...command.options];
32
- const { effects } = metaOf(command);
33
- found.set(path.join(" "), {
34
- ...(effects ? { effects } : {}),
35
- names: [...command.registeredArguments.map((argument) => snake(argument.name())), ...options.map(optionName)],
36
- });
37
- for (const child of command.commands)
38
- visit(child, path, options);
39
- };
40
- for (const child of root.commands)
41
- visit(child, [], root.options);
42
- return (command) => found.get(command);
43
- };
44
- const describe = (command, cli, parents, above) => {
45
- const path = [...parents, command.name()];
46
- const args = command.registeredArguments.map(describeArgument);
47
- const options = describeOptions(command);
48
- const { origin = "handwritten", query, mcp, offline, ...meta } = metaOf(command);
49
- const here = { offMcp: above.offMcp || mcp === false, noOffline: above.noOffline || offline === false };
50
- const usage = [
51
- cli,
52
- ...path,
53
- ...args.map((argument) => (argument.required ? `<${argument.name}>` : `[${argument.name}]`)),
54
- options.length > 0 ? "[options]" : "",
55
- ]
56
- .filter(Boolean)
57
- .join(" ");
58
- return {
59
- path,
60
- name: command.name(),
61
- ...(command.summary() ? { summary: command.summary() } : {}),
62
- description: command.description(),
63
- usage,
64
- origin,
65
- ...meta,
66
- ...(here.offMcp ? { mcp: false } : {}),
67
- ...(here.noOffline ? { offline: false } : {}),
68
- ...(query ? { query: describeQuery(query) } : {}),
69
- ...(visible(command).length > 0 && hasAction(command) ? { runnable: true } : {}),
70
- arguments: args,
71
- options,
72
- commands: visible(command).map((child) => describe(child, cli, path, here)),
73
- };
74
- };
75
- // Commander has no public getter for the action either; without one, a group prints its help.
76
- const hasAction = (command) => Boolean(command._actionHandler);
77
- // `addCommand(command, { hidden: true })` sets only this; Commander has no public getter for it.
78
- const visible = (command) => command.commands.filter((child) => !child._hidden);
79
- const describeArgument = (argument) => ({
80
- name: argument.name(),
81
- required: argument.required,
82
- variadic: argument.variadic,
83
- description: argument.description,
84
- ...(argument.argChoices ? { choices: argument.argChoices } : {}),
85
- ...(argument.defaultValue === undefined ? {} : { default: argument.defaultValue }),
86
- });
87
- // Commander keys `implies` by attribute name (`dryRun`); the document names the flag, as everywhere else.
88
- const impliesOf = (implied) => Object.fromEntries(Object.entries(implied).map(([name, value]) => [
89
- `--${name.replace(/[A-Z]/g, (l) => `-${l.toLowerCase()}`)}`,
90
- value,
91
- ]));
92
- const describeOption = (option) => {
93
- const { conflictsWith = [], implied } = option;
94
- return {
95
- flags: option.flags,
96
- description: option.description,
97
- takes_value: option.required || option.optional,
98
- mandatory: option.mandatory,
99
- ...(option.argChoices ? { choices: option.argChoices } : {}),
100
- ...(option.defaultValue === undefined ? {} : { default: option.defaultValue }),
101
- ...(option.envVar ? { env: option.envVar } : {}),
102
- ...(conflictsWith.length > 0 ? { conflicts: conflictsWith } : {}),
103
- ...(implied ? { implies: impliesOf(implied) } : {}),
104
- ...(optionMetaOf(option).mcp === false ? { mcp: false } : {}),
105
- };
106
- };
107
2
  export { commandsDocument, commandsDocumentJsonSchema, commandsDocumentSchema, parseCommandsDocument, } from "./document.js";
108
3
  export { COMMANDS_PAGE_LABELS, commandsPage, } from "./page.js";
4
+ export * from "./registry.js";
109
5
  /**
110
6
  * Refuses a command path that arrived as one argument — `"projects add" --help`, what a zsh loop over
111
7
  * `$c` passes. Commander settles `--help` for an unknown word before any hook runs and prints the root
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,OAAO,EAGL,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,oBAAoB,EAIpB,YAAY,GACb,MAAM,WAAW,CAAA;AAClB,cAAc,eAAe,CAAA;AAE7B;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAa,EAAE,IAAuB,EAAQ,EAAE;IAC/E,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAM;QAC/B,MAAM,CAAC,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACrD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;QACxG,IAAI,IAAI,KAAK,SAAS;YAAE,OAAM;QAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YACjB,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,IAAI,GAAG,qCAAqC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC/F,CAAA;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAChB,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;AACH,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { CommandInfo, OptionInfo } from "./index.js";
1
+ import type { CommandInfo, OptionInfo } from "./registry.js";
2
2
  /** The labels of the tables; the same for every CLI writing in one language. */
3
3
  export type CommandsPageLabels = {
4
4
  option: string;
@@ -1 +1 @@
1
- {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/commands/page.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvE,gFAAgF;AAChF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAA;IACjB,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,sGAAsG;IACtG,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,oBAAoB;;iBAE7B,MAAM,EAAE,QAAQ;iBAChB,IAAI,EAAE,cAAc;iBACpB,QAAQ,EAAE,UAAU;iBACpB,MAAM,EAAE,YAAY;iBACpB,QAAQ,EAAE,UAAU;iBACpB,QAAQ,EAAE,UAAU;iBACpB,SAAS,EAAE,SAAS;iBACpB,KAAK,EAAE,QAAQ;iBACf,IAAI,EAAE,MAAM;iBACZ,IAAI,EAAE,MAAM;iBACZ,OAAO,EAAE,WAAW;iBACpB,SAAS,EAAE,eAAe;iBAC1B,YAAY,EAAE,uCAAuC;iBACrD,YAAY,EAAE,oCAAoC;;;iBAGlD,MAAM,EAAE,OAAO;iBACf,IAAI,EAAE,YAAY;iBAClB,QAAQ,EAAE,UAAU;iBACpB,MAAM,EAAE,SAAS;iBACjB,QAAQ,EAAE,cAAc;iBACxB,QAAQ,EAAE,gBAAgB;iBAC1B,SAAS,EAAE,cAAc;iBACzB,KAAK,EAAE,SAAS;iBAChB,IAAI,EAAE,KAAK;iBACX,IAAI,EAAE,OAAO;iBACb,OAAO,EAAE,YAAY;iBACrB,SAAS,EAAE,eAAe;iBAC1B,YAAY,EAAE,yCAAyC;iBACvD,YAAY,EAAE,iCAAiC;;CAEI,CAAA;AAEvD,uFAAuF;AACvF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,yGAAyG;IACzG,OAAO,EAAE,MAAM,CAAA;IACf,8FAA8F;IAC9F,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAA;IAChC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAA;IAC9B,MAAM,EAAE,kBAAkB,CAAA;IAC1B,IAAI,EAAE,gBAAgB,CAAA;CACvB,CAAA;AAWD;;;;GAIG;AACH,eAAO,MAAM,YAAY,6CAA8C,YAAY,KAAG,MA6ErF,CAAA"}
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/commands/page.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1E,gFAAgF;AAChF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAA;IACjB,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,sGAAsG;IACtG,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,oBAAoB;;iBAE7B,MAAM,EAAE,QAAQ;iBAChB,IAAI,EAAE,cAAc;iBACpB,QAAQ,EAAE,UAAU;iBACpB,MAAM,EAAE,YAAY;iBACpB,QAAQ,EAAE,UAAU;iBACpB,QAAQ,EAAE,UAAU;iBACpB,SAAS,EAAE,SAAS;iBACpB,KAAK,EAAE,QAAQ;iBACf,IAAI,EAAE,MAAM;iBACZ,IAAI,EAAE,MAAM;iBACZ,OAAO,EAAE,WAAW;iBACpB,SAAS,EAAE,eAAe;iBAC1B,YAAY,EAAE,uCAAuC;iBACrD,YAAY,EAAE,oCAAoC;;;iBAGlD,MAAM,EAAE,OAAO;iBACf,IAAI,EAAE,YAAY;iBAClB,QAAQ,EAAE,UAAU;iBACpB,MAAM,EAAE,SAAS;iBACjB,QAAQ,EAAE,cAAc;iBACxB,QAAQ,EAAE,gBAAgB;iBAC1B,SAAS,EAAE,cAAc;iBACzB,KAAK,EAAE,SAAS;iBAChB,IAAI,EAAE,KAAK;iBACX,IAAI,EAAE,OAAO;iBACb,OAAO,EAAE,YAAY;iBACrB,SAAS,EAAE,eAAe;iBAC1B,YAAY,EAAE,yCAAyC;iBACvD,YAAY,EAAE,iCAAiC;;CAEI,CAAA;AAEvD,uFAAuF;AACvF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,yGAAyG;IACzG,OAAO,EAAE,MAAM,CAAA;IACf,8FAA8F;IAC9F,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAA;IAChC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAA;IAC9B,MAAM,EAAE,kBAAkB,CAAA;IAC1B,IAAI,EAAE,gBAAgB,CAAA;CACvB,CAAA;AAWD;;;;GAIG;AACH,eAAO,MAAM,YAAY,6CAA8C,YAAY,KAAG,MA6ErF,CAAA"}
@@ -0,0 +1,122 @@
1
+ import type { Command, Option } from "commander";
2
+ import type { QueryRegistry } from "../query/fields.js";
3
+ import { type QueryInfo } from "../query/registry.js";
4
+ import type { Effects } from "../standards/effects.js";
5
+ import type { StepTarget } from "../standards/steps.js";
6
+ export type Origin = "handwritten" | "generated";
7
+ export type CommandState = "beta" | "deprecated";
8
+ /**
9
+ * How long a command runs: `persistent` until it is stopped (a server, a watch), `interactive` until a person answers
10
+ * (a login). Unset, it is bounded by the default timeout.
11
+ */
12
+ export type CommandLifetime = "persistent" | "interactive";
13
+ /**
14
+ * Who the remote side of `effects` is when it is not the CLI's own service: an embedding or analysis provider, a model
15
+ * host. The commands page labels such a command by that service, not by the CLI's.
16
+ */
17
+ export type CommandReach = "other_service";
18
+ export interface CommandMeta {
19
+ origin?: Origin;
20
+ /** The catalog operation a generated command was made from; not `operation_id`, which is one write attempt. */
21
+ api_operation?: string;
22
+ /** What running it touches. Left out, it counts as a write: never retried, never run as a next step on its own. */
23
+ effects?: Effects;
24
+ state?: CommandState;
25
+ /** The command may answer with `meta.complete: false` and still exit 0; without it a partial answer fails. */
26
+ partial?: boolean;
27
+ lifetime?: CommandLifetime;
28
+ reaches?: CommandReach;
29
+ /** `false` keeps the command and all its subcommands off MCP servers; agents using the CLI itself are not affected. */
30
+ mcp?: boolean;
31
+ /**
32
+ * `false`: the command and all its subcommands cannot answer from the local copy, so an MCP tool offers no
33
+ * `offline` input for them. The CLI's global `--offline` still reaches them and they refuse it themselves.
34
+ */
35
+ offline?: boolean;
36
+ /** Stops at its own pace when the run is aborted from outside, keeping what it already did — a long fetch. */
37
+ cooperative?: boolean;
38
+ examples?: readonly string[];
39
+ /** The entity the command answers with, or one of its views. */
40
+ output?: CommandOutput;
41
+ /** A list's query fields; the list takes them as its last argument, `[query...]`. */
42
+ query?: QueryRegistry;
43
+ }
44
+ export interface OptionMeta {
45
+ /** `false` leaves the option out of MCP tools' input; agents using the CLI itself are not affected. */
46
+ mcp?: boolean;
47
+ }
48
+ export interface CommandOutput {
49
+ entity: string;
50
+ view?: string;
51
+ }
52
+ export interface ArgumentInfo {
53
+ name: string;
54
+ required: boolean;
55
+ variadic: boolean;
56
+ description: string;
57
+ choices?: readonly string[];
58
+ default?: unknown;
59
+ }
60
+ export interface OptionInfo {
61
+ flags: string;
62
+ description: string;
63
+ /** False for a plain switch like `--json`, so an agent knows not to look for a value. */
64
+ takes_value: boolean;
65
+ /**
66
+ * Whether the option itself must be given. Deliberately not Commander's `required`, which means
67
+ * "takes a value when present" — reading that as "you must pass this" is the obvious misreading.
68
+ */
69
+ mandatory: boolean;
70
+ choices?: readonly string[];
71
+ default?: unknown;
72
+ env?: string;
73
+ /** Options that may not be given together with this one. */
74
+ conflicts?: readonly string[];
75
+ /** Values this option sets on others when they are not given, by long flag. */
76
+ implies?: Readonly<Record<string, unknown>>;
77
+ /** Present only when the option is kept off MCP tools. */
78
+ mcp?: false;
79
+ }
80
+ export interface CommandInfo {
81
+ /** What to pass to the CLI, already split: `["runs", "list"]`. */
82
+ path: readonly string[];
83
+ name: string;
84
+ summary?: string;
85
+ description: string;
86
+ usage: string;
87
+ origin: Origin;
88
+ api_operation?: string;
89
+ effects?: Effects;
90
+ state?: CommandState;
91
+ partial?: boolean;
92
+ lifetime?: CommandLifetime;
93
+ reaches?: CommandReach;
94
+ /** Present only when the command or a group above it is kept off MCP servers. */
95
+ mcp?: false;
96
+ /** Present only when the command or a group above it cannot answer from the local copy. */
97
+ offline?: false;
98
+ cooperative?: boolean;
99
+ examples?: readonly string[];
100
+ output?: CommandOutput;
101
+ query?: QueryInfo;
102
+ /** Present only on a group that runs on its own; a group without it only shows its help. */
103
+ runnable?: true;
104
+ arguments: readonly ArgumentInfo[];
105
+ options: readonly OptionInfo[];
106
+ commands: readonly CommandInfo[];
107
+ }
108
+ /** Attaches what the tree cannot say. Repeated calls merge; the command is returned for chaining. */
109
+ export declare const annotate: <T extends Command>(command: T, meta: CommandMeta) => T;
110
+ export declare const metaOf: (command: Command) => CommandMeta;
111
+ /** `annotate` for an option. Repeated calls merge; the option is returned for `addOption`. */
112
+ export declare const annotateOption: <T extends Option>(option: T, meta: OptionMeta) => T;
113
+ export declare const optionMetaOf: (option: Option) => OptionMeta;
114
+ export declare const describeProgram: (root: Command) => CommandInfo[];
115
+ export declare const describeOptions: (command: Command) => OptionInfo[];
116
+ export declare const flatten: (commands: readonly CommandInfo[]) => CommandInfo[];
117
+ /**
118
+ * What a next step may name, by command path (`messages list`): its effects, and the arguments and options it takes
119
+ * in snake_case. Hand it to `stepOf` and `errorObjectOf` as `targets`.
120
+ */
121
+ export declare const stepTargets: (root: Command) => ((command: string) => StepTarget | undefined);
122
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/commands/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ import { describeQuery } from "../query/registry.js";
2
+ const labels = new WeakMap();
3
+ /** Attaches what the tree cannot say. Repeated calls merge; the command is returned for chaining. */
4
+ export const annotate = (command, meta) => {
5
+ labels.set(command, { ...labels.get(command), ...meta });
6
+ return command;
7
+ };
8
+ export const metaOf = (command) => labels.get(command) ?? {};
9
+ const optionLabels = new WeakMap();
10
+ /** `annotate` for an option. Repeated calls merge; the option is returned for `addOption`. */
11
+ export const annotateOption = (option, meta) => {
12
+ optionLabels.set(option, { ...optionLabels.get(option), ...meta });
13
+ return option;
14
+ };
15
+ export const optionMetaOf = (option) => optionLabels.get(option) ?? {};
16
+ export const describeProgram = (root) => visible(root).map((child) => describe(child, root.name(), [], { offMcp: false, noOffline: false }));
17
+ export const describeOptions = (command) => command.options.filter((option) => !option.hidden).map(describeOption);
18
+ export const flatten = (commands) => commands.flatMap((command) => [command, ...flatten(command.commands)]);
19
+ const snake = (name) => name.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`).replaceAll("-", "_");
20
+ /**
21
+ * What a next step may name, by command path (`messages list`): its effects, and the arguments and options it takes
22
+ * in snake_case. Hand it to `stepOf` and `errorObjectOf` as `targets`.
23
+ */
24
+ export const stepTargets = (root) => {
25
+ const found = new Map();
26
+ // From the long flag, so `--no-input` is `no_input`: the name a step's args render back into the same flag.
27
+ const optionName = (option) => snake((option.long ?? option.attributeName()).replace(/^--/, ""));
28
+ const visit = (command, parents, above) => {
29
+ const path = [...parents, command.name()];
30
+ const options = [...above, ...command.options];
31
+ const { effects } = metaOf(command);
32
+ found.set(path.join(" "), {
33
+ ...(effects ? { effects } : {}),
34
+ names: [...command.registeredArguments.map((argument) => snake(argument.name())), ...options.map(optionName)],
35
+ });
36
+ for (const child of command.commands)
37
+ visit(child, path, options);
38
+ };
39
+ for (const child of root.commands)
40
+ visit(child, [], root.options);
41
+ return (command) => found.get(command);
42
+ };
43
+ const describe = (command, cli, parents, above) => {
44
+ const path = [...parents, command.name()];
45
+ const args = command.registeredArguments.map(describeArgument);
46
+ const options = describeOptions(command);
47
+ const { origin = "handwritten", query, mcp, offline, ...meta } = metaOf(command);
48
+ const here = { offMcp: above.offMcp || mcp === false, noOffline: above.noOffline || offline === false };
49
+ const usage = [
50
+ cli,
51
+ ...path,
52
+ ...args.map((argument) => (argument.required ? `<${argument.name}>` : `[${argument.name}]`)),
53
+ options.length > 0 ? "[options]" : "",
54
+ ]
55
+ .filter(Boolean)
56
+ .join(" ");
57
+ return {
58
+ path,
59
+ name: command.name(),
60
+ ...(command.summary() ? { summary: command.summary() } : {}),
61
+ description: command.description(),
62
+ usage,
63
+ origin,
64
+ ...meta,
65
+ ...(here.offMcp ? { mcp: false } : {}),
66
+ ...(here.noOffline ? { offline: false } : {}),
67
+ ...(query ? { query: describeQuery(query) } : {}),
68
+ ...(visible(command).length > 0 && hasAction(command) ? { runnable: true } : {}),
69
+ arguments: args,
70
+ options,
71
+ commands: visible(command).map((child) => describe(child, cli, path, here)),
72
+ };
73
+ };
74
+ // Commander has no public getter for the action either; without one, a group prints its help.
75
+ const hasAction = (command) => Boolean(command._actionHandler);
76
+ // `addCommand(command, { hidden: true })` sets only this; Commander has no public getter for it.
77
+ const visible = (command) => command.commands.filter((child) => !child._hidden);
78
+ const describeArgument = (argument) => ({
79
+ name: argument.name(),
80
+ required: argument.required,
81
+ variadic: argument.variadic,
82
+ description: argument.description,
83
+ ...(argument.argChoices ? { choices: argument.argChoices } : {}),
84
+ ...(argument.defaultValue === undefined ? {} : { default: argument.defaultValue }),
85
+ });
86
+ // Commander keys `implies` by attribute name (`dryRun`); the document names the flag, as everywhere else.
87
+ const impliesOf = (implied) => Object.fromEntries(Object.entries(implied).map(([name, value]) => [
88
+ `--${name.replace(/[A-Z]/g, (l) => `-${l.toLowerCase()}`)}`,
89
+ value,
90
+ ]));
91
+ const describeOption = (option) => {
92
+ const { conflictsWith = [], implied } = option;
93
+ return {
94
+ flags: option.flags,
95
+ description: option.description,
96
+ takes_value: option.required || option.optional,
97
+ mandatory: option.mandatory,
98
+ ...(option.argChoices ? { choices: option.argChoices } : {}),
99
+ ...(option.defaultValue === undefined ? {} : { default: option.defaultValue }),
100
+ ...(option.envVar ? { env: option.envVar } : {}),
101
+ ...(conflictsWith.length > 0 ? { conflicts: conflictsWith } : {}),
102
+ ...(implied ? { implies: impliesOf(implied) } : {}),
103
+ ...(optionMetaOf(option).mcp === false ? { mcp: false } : {}),
104
+ };
105
+ };
106
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/commands/registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wirecat/cli-base",
3
- "version": "0.44.4",
3
+ "version": "0.44.5",
4
4
  "description": "The parts every command line tool needs: output modes, terminal rendering, error model, exit codes, credentials, clocks",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Viacheslav Ptsarev",