@inventarch/cli 0.0.0-stage → 1.0.0

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 (110) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +4 -0
  3. package/README.md +19 -2
  4. package/SPEC.md +30 -0
  5. package/assets/base/71f0665cb1ffc3f3964fc7710528451f635d664bdf4b8c95005ee97c21db5928.ia.tgz +0 -0
  6. package/assets/base.json +6 -0
  7. package/assets/host/43a1f8c471141b1f2f46cef4411a9a61c00da1c1aa19d277189ae2423282bfd6.tgz +0 -0
  8. package/assets/host.json +6 -0
  9. package/assets/vocabulary.json +3268 -0
  10. package/dist/args.d.ts +62 -0
  11. package/dist/args.d.ts.map +1 -0
  12. package/dist/args.js +117 -0
  13. package/dist/args.js.map +1 -0
  14. package/dist/briefing.d.ts +76 -0
  15. package/dist/briefing.d.ts.map +1 -0
  16. package/dist/briefing.js +105 -0
  17. package/dist/briefing.js.map +1 -0
  18. package/dist/channel.d.ts +22 -0
  19. package/dist/channel.d.ts.map +1 -0
  20. package/dist/channel.js +74 -0
  21. package/dist/channel.js.map +1 -0
  22. package/dist/claude-cli.d.ts +35 -0
  23. package/dist/claude-cli.d.ts.map +1 -0
  24. package/dist/claude-cli.js +101 -0
  25. package/dist/claude-cli.js.map +1 -0
  26. package/dist/commands.d.ts +39 -0
  27. package/dist/commands.d.ts.map +1 -0
  28. package/dist/commands.js +436 -0
  29. package/dist/commands.js.map +1 -0
  30. package/dist/compile.d.ts +39 -0
  31. package/dist/compile.d.ts.map +1 -0
  32. package/dist/compile.js +136 -0
  33. package/dist/compile.js.map +1 -0
  34. package/dist/consumer.d.ts +137 -0
  35. package/dist/consumer.d.ts.map +1 -0
  36. package/dist/consumer.js +366 -0
  37. package/dist/consumer.js.map +1 -0
  38. package/dist/decline.d.ts +7 -0
  39. package/dist/decline.d.ts.map +1 -0
  40. package/dist/decline.js +78 -0
  41. package/dist/decline.js.map +1 -0
  42. package/dist/distribute.d.ts +163 -0
  43. package/dist/distribute.d.ts.map +1 -0
  44. package/dist/distribute.js +664 -0
  45. package/dist/distribute.js.map +1 -0
  46. package/dist/doctor-user.d.ts +45 -0
  47. package/dist/doctor-user.d.ts.map +1 -0
  48. package/dist/doctor-user.js +193 -0
  49. package/dist/doctor-user.js.map +1 -0
  50. package/dist/doctor.d.ts +57 -0
  51. package/dist/doctor.d.ts.map +1 -0
  52. package/dist/doctor.js +754 -0
  53. package/dist/doctor.js.map +1 -0
  54. package/dist/format.d.ts +25 -0
  55. package/dist/format.d.ts.map +1 -0
  56. package/dist/format.js +168 -0
  57. package/dist/format.js.map +1 -0
  58. package/dist/home-remedy.d.ts +10 -0
  59. package/dist/home-remedy.d.ts.map +1 -0
  60. package/dist/home-remedy.js +26 -0
  61. package/dist/home-remedy.js.map +1 -0
  62. package/dist/host-projection.d.ts +11 -0
  63. package/dist/host-projection.d.ts.map +1 -0
  64. package/dist/host-projection.js +73 -0
  65. package/dist/host-projection.js.map +1 -0
  66. package/dist/host.d.ts +162 -0
  67. package/dist/host.d.ts.map +1 -0
  68. package/dist/host.js +599 -0
  69. package/dist/host.js.map +1 -0
  70. package/dist/init.d.ts +217 -0
  71. package/dist/init.d.ts.map +1 -0
  72. package/dist/init.js +840 -0
  73. package/dist/init.js.map +1 -0
  74. package/dist/inspect.d.ts +32 -0
  75. package/dist/inspect.d.ts.map +1 -0
  76. package/dist/inspect.js +226 -0
  77. package/dist/inspect.js.map +1 -0
  78. package/dist/main.d.ts +24 -0
  79. package/dist/main.d.ts.map +1 -0
  80. package/dist/main.js +215 -0
  81. package/dist/main.js.map +1 -0
  82. package/dist/operation-help.d.ts +14 -0
  83. package/dist/operation-help.d.ts.map +1 -0
  84. package/dist/operation-help.js +75 -0
  85. package/dist/operation-help.js.map +1 -0
  86. package/dist/pack.d.ts +17 -0
  87. package/dist/pack.d.ts.map +1 -0
  88. package/dist/pack.js +121 -0
  89. package/dist/pack.js.map +1 -0
  90. package/dist/render.d.ts +165 -0
  91. package/dist/render.d.ts.map +1 -0
  92. package/dist/render.js +277 -0
  93. package/dist/render.js.map +1 -0
  94. package/dist/session.d.ts +13 -0
  95. package/dist/session.d.ts.map +1 -0
  96. package/dist/session.js +25 -0
  97. package/dist/session.js.map +1 -0
  98. package/dist/user-host.d.ts +59 -0
  99. package/dist/user-host.d.ts.map +1 -0
  100. package/dist/user-host.js +228 -0
  101. package/dist/user-host.js.map +1 -0
  102. package/dist/validate.d.ts +53 -0
  103. package/dist/validate.d.ts.map +1 -0
  104. package/dist/validate.js +220 -0
  105. package/dist/validate.js.map +1 -0
  106. package/dist/vocabulary.d.ts +55 -0
  107. package/dist/vocabulary.d.ts.map +1 -0
  108. package/dist/vocabulary.js +179 -0
  109. package/dist/vocabulary.js.map +1 -0
  110. package/package.json +153 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-host.js","sourceRoot":"","sources":["../src/user-host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * `ia validate`: docs/specs/consumer-cli-contract/README.md §2.5, rendered per §6.5 and §7.4/§7.5.
3
+ *
4
+ * Admission is whole-workspace by construction, so positionals restrict reporting and never admission: the
5
+ * summary always states the true total and the exit class is computed from the unfiltered finding set.
6
+ *
7
+ * Acquisition and presentation are separated so that §7's reference blocks can be produced by this verb's own
8
+ * renderer over this verb's own captured data — tools/docs/cli-examples.ts calls `collectValidation` and
9
+ * `renderValidation` rather than recomposing the report from renderer primitives. The only value that tool
10
+ * supplies of its own is the display root, which §2.5 already defines as a CLI-resolved value and which is the
11
+ * one part of this output that differs between machines.
12
+ */
13
+ import { openWorkspaceSession } from '@inventarch/distribution/services';
14
+ import type { Context, Result } from './consumer.js';
15
+ import type { Capabilities } from './render.js';
16
+ type Session = ReturnType<typeof openWorkspaceSession>;
17
+ type Admission = ReturnType<Session['admission']>;
18
+ type Finding = Admission['findings'][number];
19
+ export type Severity = 'error' | 'warning';
20
+ /** §2.5: `fail` on any error, else `not-evaluated` on an unresolved or unevaluated check, else `pass`. */
21
+ export type ReportOutcome = 'pass' | 'fail' | 'not-evaluated';
22
+ export declare const NOT_EVALUATED: ReadonlySet<string>;
23
+ export declare const locationOf: (finding: Finding) => string | null;
24
+ /** §6.5 element 1: a finding with no location of its own is rendered beside the check that produced it. */
25
+ export declare const checkNames: (verdicts: readonly {
26
+ readonly check: string;
27
+ readonly findings: readonly Finding[];
28
+ }[]) => ReadonlyMap<string, string>;
29
+ export interface ValidationView {
30
+ /** The path the CLI resolved, never the runtime's own `result.root`, which is always empty (§2.5). */
31
+ readonly root: string;
32
+ readonly revision: string;
33
+ readonly status: 'admitted' | 'refused';
34
+ readonly outcome: ReportOutcome;
35
+ readonly records: number;
36
+ /** Every finding, unfiltered: the counts and the exit class are computed from this. */
37
+ readonly findings: readonly Finding[];
38
+ readonly checks: ReadonlyMap<string, string>;
39
+ }
40
+ export interface ValidationOptions {
41
+ readonly filters: readonly string[];
42
+ readonly severity: Severity;
43
+ readonly limit: number;
44
+ }
45
+ export declare const DEFAULT_OPTIONS: ValidationOptions;
46
+ export declare const validationExit: (view: ValidationView) => 0 | 1;
47
+ /** Opens the workspace, reads its admission and closes it. The only part of this verb that touches a workspace. */
48
+ export declare function collectValidation(root: string): ValidationView;
49
+ export declare function validationEnvelope(view: ValidationView, options: ValidationOptions): unknown;
50
+ export declare function renderValidation(view: ValidationView, options: ValidationOptions, caps: Capabilities): string;
51
+ export declare function runValidate(context: Context): Result;
52
+ export {};
53
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAE,YAAY,EAAwB,MAAM,aAAa,CAAC;AAetE,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACvD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAClD,KAAK,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7C,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3C,0GAA0G;AAC1G,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC;AAC9D,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,CAAiE,CAAC;AAmBhH,eAAO,MAAM,UAAU,GAAI,SAAS,OAAO,KAAG,MAAM,GAAG,IACS,CAAC;AASjE,2GAA2G;AAC3G,eAAO,MAAM,UAAU,GACrB,UAAU,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,EAAE,KACrF,WAAW,CAAC,MAAM,EAAE,MAAM,CAM5B,CAAC;AAYF,MAAM,WAAW,cAAc;IAC7B,sGAAsG;IACtG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uFAAuF;IACvF,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C;AACD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AACD,eAAO,MAAM,eAAe,EAAE,iBAAmE,CAAC;AAClG,eAAO,MAAM,cAAc,GAAI,MAAM,cAAc,KAAG,CAAC,GAAG,CAAmD,CAAC;AAE9G,mHAAmH;AACnH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAiC9D;AAmBD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAY5F;AAuED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAoE7G;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAYpD"}
@@ -0,0 +1,220 @@
1
+ /**
2
+ * `ia validate`: docs/specs/consumer-cli-contract/README.md §2.5, rendered per §6.5 and §7.4/§7.5.
3
+ *
4
+ * Admission is whole-workspace by construction, so positionals restrict reporting and never admission: the
5
+ * summary always states the true total and the exit class is computed from the unfiltered finding set.
6
+ *
7
+ * Acquisition and presentation are separated so that §7's reference blocks can be produced by this verb's own
8
+ * renderer over this verb's own captured data — tools/docs/cli-examples.ts calls `collectValidation` and
9
+ * `renderValidation` rather than recomposing the report from renderer primitives. The only value that tool
10
+ * supplies of its own is the display root, which §2.5 already defines as a CLI-resolved value and which is the
11
+ * one part of this output that differs between machines.
12
+ */
13
+ import { openWorkspaceSession } from '@inventarch/distribution/services';
14
+ import { Refusal, requireRoot } from './consumer.js';
15
+ import { atom, blockSymbolWidth, contentColumn, document, entry, errorBlock, headerLine, sectionLabel, statusSymbol, truncateDigest, words, } from './render.js';
16
+ export const NOT_EVALUATED = new Set(['IA-COMP-EDGE-UNRESOLVED', 'IA-COMP-NOT-EVALUATED']);
17
+ /**
18
+ * §6.5's next action "names a command, a file, or a specific thing to change". These are the codes for which one
19
+ * sentence is true of every instance; a code that has no such sentence gets none rather than a filler. Nothing
20
+ * here infers a cause across findings — §7.5's "both errors come from one edit" is an authoring-history claim the
21
+ * finding shape cannot support, so it is not reproduced.
22
+ */
23
+ const ACTIONS = {
24
+ 'IA-COMP-NOT-EVALUATED': 'Supply the evaluator each check above names, then run "ia validate" again.',
25
+ 'IA-COMP-EDGE-UNRESOLVED': 'Resolve or remove the named relationship target, then run "ia validate" again.',
26
+ 'IA-COMP-FRAGMENT-MISSING': 'Declare the named fragment on the target contract, or correct the reference that names it.',
27
+ 'IA-COMP-COVERAGE-MISSING': 'Add an unconditional implementing case for the named requirement, or withdraw the requirement.',
28
+ 'IA-COMP-DISCRIMINATOR-FOREIGN': 'Declare the owning system as a direct requirement, or move the record to a system that already requires it.',
29
+ };
30
+ export const locationOf = (finding) => finding.path === '' ? null : `${finding.path}:${finding.line}`;
31
+ const countsOf = (findings) => ({
32
+ errors: findings.filter((finding) => finding.severity === 'error').length,
33
+ warnings: findings.filter((finding) => finding.severity === 'warning').length,
34
+ notEvaluated: findings.filter((finding) => NOT_EVALUATED.has(finding.code)).length,
35
+ });
36
+ const findingKey = (finding) => JSON.stringify([finding.code, finding.path, finding.line, finding.message]);
37
+ /** §6.5 element 1: a finding with no location of its own is rendered beside the check that produced it. */
38
+ export const checkNames = (verdicts) => {
39
+ const byFinding = new Map();
40
+ for (const verdict of verdicts)
41
+ for (const finding of verdict.findings)
42
+ if (!byFinding.has(findingKey(finding)))
43
+ byFinding.set(findingKey(finding), verdict.check);
44
+ return byFinding;
45
+ };
46
+ /** §2.5: a positional selects for reporting by exact file or by directory prefix, relative to the root. */
47
+ const selects = (finding, filters) => {
48
+ if (filters.length === 0)
49
+ return true;
50
+ const path = finding.path.replaceAll('\\', '/');
51
+ return filters.some((raw) => {
52
+ const filter = raw.replaceAll('\\', '/').replace(/\/+$/, '');
53
+ return path === filter || path.startsWith(filter + '/');
54
+ });
55
+ };
56
+ export const DEFAULT_OPTIONS = { filters: [], severity: 'warning', limit: 50 };
57
+ export const validationExit = (view) => (countsOf(view.findings).errors === 0 ? 0 : 1);
58
+ /** Opens the workspace, reads its admission and closes it. The only part of this verb that touches a workspace. */
59
+ export function collectValidation(root) {
60
+ let session;
61
+ try {
62
+ session = openWorkspaceSession({ root });
63
+ }
64
+ catch (error) {
65
+ const code = error !== null && typeof error === 'object' && 'code' in error && typeof error.code === 'string'
66
+ ? error.code
67
+ : 'IA-DB-ROOT-INVALID';
68
+ throw new Refusal(code, error instanceof Error ? error.message : String(error), 3, { path: root }, code === 'IA-DB-SOURCE-UNAVAILABLE'
69
+ ? `An interrupted installation blocks the read. Run "ia-distribution recover --root ${root}".`
70
+ : 'Pass --root <path> with an existing workspace, or run "ia init" to see what a new one would contain.');
71
+ }
72
+ try {
73
+ const admission = session.admission();
74
+ return {
75
+ root,
76
+ revision: admission.revision,
77
+ status: admission.status,
78
+ outcome: session.reader.report.outcome,
79
+ records: admission.records,
80
+ findings: admission.findings,
81
+ checks: checkNames(session.reader.report.verdicts),
82
+ };
83
+ }
84
+ finally {
85
+ session.close();
86
+ }
87
+ }
88
+ const select = (view, options) => {
89
+ const bySeverity = view.findings.filter((finding) => options.severity === 'warning' || finding.severity === 'error');
90
+ const reported = bySeverity.filter((finding) => selects(finding, options.filters));
91
+ return {
92
+ reported,
93
+ shown: reported.slice(0, options.limit),
94
+ hiddenBySeverity: view.findings.length - bySeverity.length,
95
+ hiddenByPath: bySeverity.length - reported.length,
96
+ };
97
+ };
98
+ export function validationEnvelope(view, options) {
99
+ const { reported, shown } = select(view, options);
100
+ return {
101
+ version: 1,
102
+ root: view.root,
103
+ revision: view.revision,
104
+ status: view.status,
105
+ reportOutcome: view.outcome,
106
+ counts: countsOf(view.findings),
107
+ findings: shown,
108
+ truncated: shown.length < reported.length,
109
+ };
110
+ }
111
+ const element = (view, finding, width) => {
112
+ const location = locationOf(finding);
113
+ const check = view.checks.get(findingKey(finding));
114
+ // The whole-workspace checks embed their own name in the message; elements 1 and 3 already carry it.
115
+ const message = check !== undefined && finding.message.startsWith(check + ': ')
116
+ ? finding.message.slice(check.length + 2)
117
+ : finding.message;
118
+ return {
119
+ location,
120
+ ...(location === null && check !== undefined ? { check } : {}),
121
+ ...(finding.identity === undefined ? {} : { identity: finding.identity }),
122
+ code: finding.code,
123
+ message,
124
+ severity: finding.severity,
125
+ symbolWidth: width,
126
+ };
127
+ };
128
+ /** §7.4's collapse: findings differing only in the fragment their message names are one row plus a dim tail. */
129
+ const FRAGMENT = /#[A-Za-z0-9][A-Za-z0-9-]*/;
130
+ const recordKey = (finding) => JSON.stringify([finding.code, finding.path, finding.line, finding.identity ?? null]);
131
+ const collapseByRecord = (findings) => {
132
+ const rows = [];
133
+ for (const finding of findings) {
134
+ const previous = rows.at(-1);
135
+ // Only an adjacent run collapses, so the document order the compliance layer sorted into is preserved.
136
+ if (previous !== undefined && recordKey(previous.head) === recordKey(finding) && finding.path !== '')
137
+ previous.rest.push(finding);
138
+ else
139
+ rows.push({ head: finding, rest: [] });
140
+ }
141
+ return rows;
142
+ };
143
+ const collapseTail = (rest) => {
144
+ const fragments = rest.map((finding) => FRAGMENT.exec(finding.message)?.[0]);
145
+ const named = fragments.every((fragment) => fragment !== undefined) ? fragments.join(', ') : '';
146
+ return `${rest.length} more on this record${named === '' ? '.' : `: ${named}`}`;
147
+ };
148
+ /**
149
+ * §6.5's grouping rule: "When several findings share a next action, the action is printed once under the group
150
+ * rather than repeated per finding." A next action is keyed by finding code, so an adjacent run of one code is
151
+ * one group and its action is attached to the group's last rendered entry, where errorBlock places it.
152
+ */
153
+ const severitySection = (view, rows, caps) => {
154
+ const width = blockSymbolWidth(rows.map((finding) => finding.severity), caps.ascii);
155
+ const collapsed = collapseByRecord(rows);
156
+ const lines = [];
157
+ for (const [index, group] of collapsed.entries()) {
158
+ const column = contentColumn(2, statusSymbol(group.head.severity, caps.ascii), width);
159
+ lines.push(...errorBlock(element(view, group.head, width), { depth: 1 }, caps));
160
+ if (group.rest.length > 0)
161
+ lines.push(...entry([[atom(collapseTail(group.rest), 'dim', 0)]], { column, symbol: 'info' }, caps));
162
+ const action = ACTIONS[group.head.code];
163
+ // The action closes the run, so a code that appears several times in a row carries one action, not one each.
164
+ if (action !== undefined && collapsed[index + 1]?.head.code !== group.head.code)
165
+ lines.push(...entry([words(action)], { column, symbol: 'step' }, caps));
166
+ }
167
+ return lines;
168
+ };
169
+ export function renderValidation(view, options, caps) {
170
+ const total = countsOf(view.findings);
171
+ const { reported, shown, hiddenBySeverity, hiddenByPath } = select(view, options);
172
+ const summary = [
173
+ words(`${view.status === 'admitted' ? 'Admitted' : 'Refused'}. ${view.records} records, ${total.errors} errors, ${total.warnings} warnings.`),
174
+ ];
175
+ if (hiddenBySeverity > 0)
176
+ summary.push(words(`${hiddenBySeverity} warnings hidden by --severity ${options.severity}.`));
177
+ if (hiddenByPath > 0)
178
+ summary.push(words(`${hiddenByPath} ${hiddenByPath === 1 ? 'finding' : 'findings'} elsewhere in the workspace hidden by the path filter; admission is whole-workspace and the counts above are unfiltered.`));
179
+ if (view.outcome === 'not-evaluated')
180
+ summary.push(words(`Admission outcome: not-evaluated. No evaluator was supplied for ${total.notEvaluated} checks, so this run is not a pass.`));
181
+ const blocks = [
182
+ headerLine('Workspace', view.root, [{ text: `revision ${truncateDigest(view.revision, caps.ascii)}`, column: 50 }], caps),
183
+ entry(summary, { depth: 1, symbol: total.errors === 0 ? 'success' : 'error' }, caps),
184
+ ];
185
+ for (const group of [
186
+ { label: 'Errors', severity: 'error' },
187
+ { label: 'Warnings', severity: 'warning' },
188
+ ]) {
189
+ const rows = shown.filter((finding) => finding.severity === group.severity);
190
+ if (rows.length === 0)
191
+ continue;
192
+ blocks.push([sectionLabel(group.label, caps), ...severitySection(view, rows, caps)]);
193
+ }
194
+ if (shown.length < reported.length)
195
+ blocks.push(entry([
196
+ words(`${caps.ascii ? '...' : '…'} and ${reported.length - shown.length} more; raise --max-findings to see them.`, 'dim'),
197
+ ], { depth: 0 }, caps));
198
+ blocks.push(entry([
199
+ words(total.errors > 0
200
+ ? 'Fix the errors above and run "ia validate" again.'
201
+ : view.outcome === 'not-evaluated'
202
+ ? 'A not-evaluated result is not a pass. Supply the named evaluator to obtain one.'
203
+ : 'Every declared structural obligation is satisfied at this revision.'),
204
+ ], { depth: 0, symbol: 'step' }, caps));
205
+ return document(blocks, { leadingBlank: true });
206
+ }
207
+ export function runValidate(context) {
208
+ const { args, caps, json } = context;
209
+ const view = collectValidation(requireRoot(context));
210
+ const options = {
211
+ filters: args.positionals,
212
+ severity: (args.value('severity') ?? 'warning'),
213
+ limit: args.integer('max-findings', 50),
214
+ };
215
+ const exitCode = validationExit(view);
216
+ return json
217
+ ? { exitCode, stdout: JSON.stringify(validationEnvelope(view, options)) + '\n', stderr: '' }
218
+ : { exitCode, stdout: renderValidation(view, options, caps), stderr: '' };
219
+ }
220
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type { Context, Result } from './consumer.js';
2
+ interface SchemaSection {
3
+ readonly name: string;
4
+ readonly required: boolean;
5
+ }
6
+ interface SchemaField {
7
+ readonly path: string;
8
+ readonly type: unknown;
9
+ readonly required: boolean;
10
+ readonly description?: string;
11
+ /** W0 narrowings the catalogue carries beside the type: `id in [...]`, `ref to <word>`, `text form <form>`. */
12
+ readonly values?: readonly string[];
13
+ readonly target?: string;
14
+ readonly form?: string;
15
+ }
16
+ interface SchemaEdge {
17
+ readonly predicate: string;
18
+ readonly target: string;
19
+ readonly cardinality: string;
20
+ readonly required: boolean;
21
+ }
22
+ interface WordSchema {
23
+ readonly name: string;
24
+ readonly path: string;
25
+ readonly closed: boolean;
26
+ readonly sections: readonly SchemaSection[];
27
+ readonly fields: readonly SchemaField[];
28
+ readonly edges: readonly SchemaEdge[];
29
+ }
30
+ export interface Word {
31
+ readonly word: string;
32
+ readonly owner: string;
33
+ readonly kind: string;
34
+ readonly category: string;
35
+ readonly facets: readonly string[];
36
+ readonly identity: string;
37
+ readonly description: string;
38
+ readonly schema: WordSchema;
39
+ readonly kernelMembers: readonly string[];
40
+ readonly consumer: string;
41
+ /** Absent from every word the generator emits today; §2.2 and §8 both record that. */
42
+ readonly example?: string;
43
+ }
44
+ export interface Catalogue {
45
+ readonly version: number;
46
+ readonly language: string;
47
+ readonly status: string;
48
+ readonly sourceDigest: string;
49
+ readonly words: readonly Word[];
50
+ }
51
+ export declare const CATALOGUE_PATH = "assets/vocabulary.json";
52
+ export declare function readCatalogue(packageRoot: string): Catalogue;
53
+ export declare function runVocabulary(context: Context): Result;
54
+ export {};
55
+ //# sourceMappingURL=vocabulary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocabulary.d.ts","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAMrD,UAAU,aAAa;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AACD,UAAU,WAAW;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,+GAA+G;IAC/G,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AACD,UAAU,UAAU;IAClB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AACD,UAAU,UAAU;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;CACvC;AACD,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sFAAsF;IACtF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AACD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;CACjC;AAED,eAAO,MAAM,cAAc,2BAA2B,CAAC;AACvD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAa5D;AA2HD,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CA0GtD"}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * `ia vocabulary`: docs/specs/consumer-cli-contract/README.md §2.2.
3
+ *
4
+ * Reads the catalogue shipped inside the installed package at `assets/vocabulary.json` and nothing else, so the
5
+ * command works in an empty directory with no `.ia` tree anywhere. The asset is generated by
6
+ * `tools/native/public-vocabulary.ts` under the `vocabulary:check` drift gate. It carries no example field
7
+ * today, so `--example` reports that plainly and never composes one.
8
+ */
9
+ import { readFileSync } from 'node:fs';
10
+ import { resolve } from 'node:path';
11
+ import { fieldTypeText } from '@inventarch/compliance';
12
+ import { Refusal } from './consumer.js';
13
+ import { nearestTokens } from './commands.js';
14
+ import { atom, document, entry, fieldRows, headerLine, sectionLabel, truncateDigest, words } from './render.js';
15
+ export const CATALOGUE_PATH = 'assets/vocabulary.json';
16
+ export function readCatalogue(packageRoot) {
17
+ const path = resolve(packageRoot, CATALOGUE_PATH);
18
+ try {
19
+ return JSON.parse(readFileSync(path, 'utf8'));
20
+ }
21
+ catch (error) {
22
+ throw new Refusal('IA-CLI-FAILED', `The shipped vocabulary catalogue at ${path} could not be read: ${error instanceof Error ? error.message : String(error)}`, 3, { path }, 'Reinstall @inventarch/cli; the catalogue ships with the package and is not read from the workspace.');
23
+ }
24
+ }
25
+ /** The catalogue's type as a string (it is JSON), spelled with its W0 narrowing by the language's one renderer. */
26
+ const typeText = (field) => fieldTypeText({ ...field, type: typeof field.type === 'string' ? field.type : JSON.stringify(field.type) });
27
+ const reduceSchema = (schema, full) => full ? schema : { name: schema.name, path: schema.path, closed: schema.closed };
28
+ const projectWord = (word, full, example) => ({
29
+ ...word,
30
+ schema: reduceSchema(word.schema, full),
31
+ ...(example && word.example !== undefined ? { example: word.example } : {}),
32
+ });
33
+ const detail = (word, full, caps) => {
34
+ const pair = (label, value) => ({ label, value });
35
+ const blocks = [
36
+ headerLine('Word', `@${word.word}`, [{ text: word.owner, column: 50 }], caps),
37
+ entry([words(word.description)], { depth: 1 }, caps),
38
+ [
39
+ sectionLabel('Definition', caps),
40
+ ...fieldRows([
41
+ pair('Kind', words(word.kind)),
42
+ pair('Category', words(word.category)),
43
+ pair('Facets', [
44
+ atom(word.facets.join(', '), null, 0),
45
+ ...(word.facets.length > 1 ? words('(the first is the default)', 'dim', 2) : []),
46
+ ]),
47
+ pair('Identity', [atom(word.identity, 'cyan', 0)]),
48
+ pair('Consumer', words(word.consumer)),
49
+ ], { depth: 1 }, caps),
50
+ ],
51
+ [
52
+ sectionLabel('Schema', caps),
53
+ ...fieldRows([
54
+ pair('Name', [atom(word.schema.name, 'cyan', 0)]),
55
+ pair('Source', [atom(word.schema.path, 'cyan', 0)]),
56
+ pair('Sections', words(word.schema.closed ? 'closed ordinary sections' : 'open ordinary sections')),
57
+ pair('Required', words(word.schema.sections
58
+ .filter((row) => row.required)
59
+ .map((row) => row.name)
60
+ .join(', ') || 'none')),
61
+ pair('Optional', words(word.schema.sections
62
+ .filter((row) => !row.required)
63
+ .map((row) => row.name)
64
+ .join(', ') || 'none')),
65
+ ], { depth: 1 }, caps),
66
+ ],
67
+ ];
68
+ if (word.kernelMembers.length > 0)
69
+ blocks.push([
70
+ sectionLabel('Closed kernel members', caps),
71
+ ...entry([words(word.kernelMembers.join(', '))], { depth: 1 }, caps),
72
+ ]);
73
+ if (!full) {
74
+ blocks.push(entry([words(`Run "ia vocabulary ${word.word} --schema" for fields and relationships.`, 'dim')], { depth: 0 }, caps));
75
+ return blocks;
76
+ }
77
+ blocks.push([
78
+ sectionLabel('Fields', caps),
79
+ ...(word.schema.fields.length === 0
80
+ ? entry([words('None; the shared schema grammar applies.')], { depth: 1 }, caps)
81
+ : fieldRows(word.schema.fields.map((field) => ({
82
+ label: field.path,
83
+ value: [atom(typeText(field), null, 0), ...words(field.required ? 'required' : 'optional', 'dim', 2)],
84
+ })), { depth: 1 }, caps)),
85
+ ]);
86
+ if (word.schema.edges.length > 0)
87
+ blocks.push([
88
+ sectionLabel('Relationships', caps),
89
+ ...fieldRows(word.schema.edges.map((edge) => ({
90
+ label: edge.predicate,
91
+ value: [
92
+ atom(edge.target, 'cyan', 0),
93
+ ...words(`${edge.cardinality}; ${edge.required ? 'required' : 'optional'}`, 'dim', 2),
94
+ ],
95
+ })), { depth: 1 }, caps),
96
+ ]);
97
+ return blocks;
98
+ };
99
+ const filterText = (context) => {
100
+ const parts = [];
101
+ const word = context.args.positionals[0];
102
+ if (word !== undefined)
103
+ parts.push(`@${word.replace(/^@/, '')}`);
104
+ for (const domain of context.args.list('domain'))
105
+ parts.push(`--domain ${domain}`);
106
+ for (const kind of context.args.list('kind'))
107
+ parts.push(`--kind ${kind}`);
108
+ const search = context.args.value('search');
109
+ if (search !== undefined)
110
+ parts.push(`--search ${search}`);
111
+ return parts.length === 0 ? 'no filters' : parts.join(' ');
112
+ };
113
+ export function runVocabulary(context) {
114
+ const { args, caps, json } = context;
115
+ const catalogue = readCatalogue(context.host.packageRoot);
116
+ const requested = args.positionals[0]?.replace(/^@/, '');
117
+ const full = args.flag('schema'), wantsExample = args.flag('example');
118
+ if (requested !== undefined && !catalogue.words.some((word) => word.word === requested)) {
119
+ const near = nearestTokens(requested, catalogue.words.map((word) => word.word));
120
+ throw new Refusal('IA-CLI-USAGE', `Unknown word @${requested}; the shipped catalogue carries ${catalogue.words.length} words`, 2, null, near.length === 0
121
+ ? 'Run "ia vocabulary" to list every word.'
122
+ : `Did you mean ${near.map((name) => `@${name}`).join(', ')}?`);
123
+ }
124
+ const domains = args.list('domain'), kinds = args.list('kind');
125
+ const search = args.value('search')?.toLowerCase();
126
+ const selected = catalogue.words.filter((word) => (requested === undefined || word.word === requested) &&
127
+ (domains.length === 0 || domains.includes(word.owner)) &&
128
+ (kinds.length === 0 || kinds.includes(word.kind)) &&
129
+ (search === undefined ||
130
+ word.word.toLowerCase().includes(search) ||
131
+ word.description.toLowerCase().includes(search)));
132
+ const single = selected.length === 1 && requested !== undefined ? selected[0] : undefined;
133
+ const exampleMissing = wantsExample && single !== undefined && single.example === undefined;
134
+ const exitCode = selected.length === 0 || exampleMissing ? 1 : 0;
135
+ if (json) {
136
+ const body = {
137
+ version: catalogue.version,
138
+ language: catalogue.language,
139
+ status: catalogue.status,
140
+ sourceDigest: catalogue.sourceDigest,
141
+ words: selected.map((word) => projectWord(word, full, wantsExample)),
142
+ };
143
+ return { exitCode, stdout: JSON.stringify(body) + '\n', stderr: '' };
144
+ }
145
+ if (selected.length === 0)
146
+ return {
147
+ exitCode,
148
+ stdout: '',
149
+ stderr: document([
150
+ entry([
151
+ words(`No word matches ${filterText(context)}.`),
152
+ words(`The shipped catalogue carries ${catalogue.words.length} words.`, 'dim'),
153
+ ], { depth: 0, symbol: 'info' }, caps),
154
+ ]),
155
+ };
156
+ if (single !== undefined) {
157
+ const blocks = [...detail(single, full, caps)];
158
+ if (wantsExample && single.example !== undefined)
159
+ blocks.push([sectionLabel('Example', caps), ...entry([[atom(single.example, null, 0)]], { depth: 1 }, caps)]);
160
+ return {
161
+ exitCode,
162
+ stdout: document(blocks, { leadingBlank: true }),
163
+ stderr: exampleMissing ? `No example is shipped for @${single.word}.\n` : '',
164
+ };
165
+ }
166
+ return {
167
+ exitCode,
168
+ stdout: document([
169
+ headerLine('Vocabulary', `${selected.length} of ${catalogue.words.length} words`, [{ text: `source digest ${truncateDigest(catalogue.sourceDigest, caps.ascii)}`, column: 50 }], caps),
170
+ [
171
+ sectionLabel('Words', caps),
172
+ ...fieldRows(selected.map((word) => ({ label: `@${word.word}`, value: words(word.description) })), { depth: 1 }, caps),
173
+ ],
174
+ entry([words('Run "ia vocabulary <word> --schema" for one word\'s fields and relationships.', 'dim')], { depth: 0 }, caps),
175
+ ], { leadingBlank: true }),
176
+ stderr: '',
177
+ };
178
+ }
179
+ //# sourceMappingURL=vocabulary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":"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"}