wabachi 0.2.1 → 0.3.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 (50) hide show
  1. package/.codex-plugin/plugin.json +1 -1
  2. package/README.md +5 -0
  3. package/dist/architecture/cli.js +47 -32
  4. package/dist/architecture/cli.js.map +1 -1
  5. package/dist/architecture/documentation/react-flow.d.ts +23 -0
  6. package/dist/architecture/documentation/react-flow.js +436 -0
  7. package/dist/architecture/documentation/react-flow.js.map +1 -0
  8. package/dist/architecture/documentation/site.d.ts +10 -13
  9. package/dist/architecture/documentation/site.js +58 -24
  10. package/dist/architecture/documentation/site.js.map +1 -1
  11. package/dist/architecture/projection/react-flow.d.ts +96 -0
  12. package/dist/architecture/projection/react-flow.js +388 -0
  13. package/dist/architecture/projection/react-flow.js.map +1 -0
  14. package/dist/cli.js +1 -1
  15. package/dist/command-contract.d.ts +3 -2
  16. package/dist/command-contract.js +6 -5
  17. package/dist/command-contract.js.map +1 -1
  18. package/dist/index.d.ts +1 -1
  19. package/dist/index.js +1 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/runtime/repository.d.ts +3 -0
  22. package/dist/runtime/repository.js +140 -16
  23. package/dist/runtime/repository.js.map +1 -1
  24. package/dist/runtime/run.js +3 -1
  25. package/dist/runtime/run.js.map +1 -1
  26. package/dist/working-set/codec.d.ts +7 -0
  27. package/dist/working-set/codec.js +53 -0
  28. package/dist/working-set/codec.js.map +1 -0
  29. package/dist/working-set/conflicts.d.ts +46 -0
  30. package/dist/working-set/conflicts.js +97 -0
  31. package/dist/working-set/conflicts.js.map +1 -0
  32. package/dist/working-set/derive.d.ts +34 -0
  33. package/dist/working-set/derive.js +634 -0
  34. package/dist/working-set/derive.js.map +1 -0
  35. package/dist/working-set/index.d.ts +3 -0
  36. package/dist/working-set/index.js +3 -0
  37. package/dist/working-set/index.js.map +1 -0
  38. package/dist/working-set/model.d.ts +93 -0
  39. package/dist/working-set/model.js +204 -0
  40. package/dist/working-set/model.js.map +1 -0
  41. package/dist/working-set/quality.d.ts +201 -0
  42. package/dist/working-set/quality.js +447 -0
  43. package/dist/working-set/quality.js.map +1 -0
  44. package/dist/working-set/seeds.d.ts +135 -0
  45. package/dist/working-set/seeds.js +433 -0
  46. package/dist/working-set/seeds.js.map +1 -0
  47. package/docs/USAGE.md +30 -22
  48. package/docs/examples/minimal-canon.json +24 -0
  49. package/package.json +10 -3
  50. package/skills/wabachi/SKILL.md +10 -1
@@ -0,0 +1,388 @@
1
+ import { validateArchitectureDocument } from "../canon/validate.js";
2
+ import ELK from "elkjs/lib/main.js";
3
+ const ElkLayout = ELK;
4
+ export const REACT_FLOW_PROJECTION_LOSS_CODES = [
5
+ "unsupported-view-kind",
6
+ "unsupported-view-reference",
7
+ "unsupported-view-exclusion",
8
+ "unsupported-view-root",
9
+ "unsupported-presentation",
10
+ "unsupported-containment",
11
+ "unsupported-relationship",
12
+ ];
13
+ class LossCollector {
14
+ values = [];
15
+ keys = new Set();
16
+ add(code, path, canonIds, message) {
17
+ const key = `${code}\u0000${path}`;
18
+ if (this.keys.has(key))
19
+ return;
20
+ this.keys.add(key);
21
+ this.values.push(Object.freeze({
22
+ code,
23
+ path,
24
+ canonIds: Object.freeze([...canonIds]),
25
+ message,
26
+ }));
27
+ }
28
+ finish() {
29
+ return Object.freeze([...this.values].sort((left, right) => compareStrings(left.path, right.path) || compareStrings(left.code, right.code)));
30
+ }
31
+ }
32
+ function compareStrings(left, right) {
33
+ if (left < right)
34
+ return -1;
35
+ if (left > right)
36
+ return 1;
37
+ return 0;
38
+ }
39
+ function identifierPart(value) {
40
+ return [...value]
41
+ .map((character) => {
42
+ if (/^[A-Za-z0-9]$/u.test(character))
43
+ return character;
44
+ return `_x${character.codePointAt(0)?.toString(16)}_`;
45
+ })
46
+ .join("");
47
+ }
48
+ function nodeId(viewKey, canonId) {
49
+ return `react_flow_${identifierPart(viewKey)}_element_${identifierPart(canonId)}`;
50
+ }
51
+ function relationshipKey(record) {
52
+ return [record.source, record.target, record.kind, record.interfaceId ?? ""].join("\u0000");
53
+ }
54
+ function relationshipEntries(document) {
55
+ return Object.freeze(document.relationships.map((record, index) => {
56
+ const candidate = record;
57
+ const identity = typeof candidate.id === "string" ? candidate.id : undefined;
58
+ return Object.freeze({
59
+ record,
60
+ index,
61
+ ...(identity === undefined ? {} : { identity }),
62
+ key: relationshipKey(record),
63
+ });
64
+ }));
65
+ }
66
+ function relationshipEdgeId(viewKey, relationship) {
67
+ return `react_flow_${identifierPart(viewKey)}_relationship_${identifierPart(relationship.key)}`;
68
+ }
69
+ function relationshipLabel(relationship) {
70
+ return relationship.kind;
71
+ }
72
+ function ensurePositiveFinite(value, fallback, label) {
73
+ const resolved = value ?? fallback;
74
+ if (!Number.isFinite(resolved) || resolved <= 0) {
75
+ throw new TypeError(`${label} must be a positive finite number`);
76
+ }
77
+ return Object.is(resolved, -0) ? 0 : resolved;
78
+ }
79
+ function readLayoutOptions(options) {
80
+ return {
81
+ nodeWidth: ensurePositiveFinite(options.nodeWidth, 180, "nodeWidth"),
82
+ nodeHeight: ensurePositiveFinite(options.nodeHeight, 80, "nodeHeight"),
83
+ layerSpacing: ensurePositiveFinite(options.layerSpacing, 80, "layerSpacing"),
84
+ nodeSpacing: ensurePositiveFinite(options.nodeSpacing, 40, "nodeSpacing"),
85
+ };
86
+ }
87
+ function directionFor(view, losses, viewIndex) {
88
+ const value = view.presentation?.direction;
89
+ if (value === undefined)
90
+ return "RIGHT";
91
+ switch (value.toLocaleLowerCase("en-US")) {
92
+ case "lr":
93
+ case "right":
94
+ return "RIGHT";
95
+ case "rl":
96
+ case "left":
97
+ return "LEFT";
98
+ case "tb":
99
+ case "down":
100
+ return "DOWN";
101
+ case "bt":
102
+ case "up":
103
+ return "UP";
104
+ default:
105
+ losses.add("unsupported-presentation", `views[${viewIndex}].presentation.direction`, [view.key], `React Flow + ELK cannot interpret view direction hint: ${value}`);
106
+ return "RIGHT";
107
+ }
108
+ }
109
+ function addPresentationLosses(view, viewIndex, losses) {
110
+ const presentation = view.presentation;
111
+ if (presentation === undefined)
112
+ return;
113
+ if (presentation.layout !== undefined &&
114
+ !["auto", "automatic", "layered"].includes(presentation.layout.toLocaleLowerCase("en-US"))) {
115
+ losses.add("unsupported-presentation", `views[${viewIndex}].presentation.layout`, [view.key], `React Flow + ELK cannot preserve view layout hint: ${presentation.layout}`);
116
+ }
117
+ if (presentation.grouping !== undefined) {
118
+ losses.add("unsupported-presentation", `views[${viewIndex}].presentation.grouping`, [view.key], `React Flow + ELK cannot preserve view grouping hint: ${presentation.grouping}`);
119
+ }
120
+ }
121
+ function viewPath(viewIndex, mode, referenceIndex) {
122
+ return `views[${viewIndex}].scope.${mode}[${referenceIndex}]`;
123
+ }
124
+ function addUnsupportedReference(view, viewIndex, mode, referenceIndex, reference, losses) {
125
+ const code = mode === "include" ? "unsupported-view-reference" : "unsupported-view-exclusion";
126
+ losses.add(code, viewPath(viewIndex, mode, referenceIndex), [view.key, reference.id], `React Flow + ELK cannot represent ${reference.kind} ${reference.id} in a structural view ${mode} scope`);
127
+ }
128
+ function explicitRelationshipId(reference) {
129
+ return reference.kind === "relationship" ? reference.id : undefined;
130
+ }
131
+ function relationshipByIdentity(relationships, identity) {
132
+ return relationships.find((relationship) => relationship.identity === identity);
133
+ }
134
+ function addSelectedElement(selected, elementId, elementsById) {
135
+ if (elementsById.has(elementId))
136
+ selected.add(elementId);
137
+ }
138
+ function finiteCoordinate(value) {
139
+ return value !== undefined && Number.isFinite(value) ? (Object.is(value, -0) ? 0 : value) : 0;
140
+ }
141
+ function asPoint(point) {
142
+ return Object.freeze({ x: finiteCoordinate(point.x), y: finiteCoordinate(point.y) });
143
+ }
144
+ function edgeSections(edge) {
145
+ return Object.freeze((edge.sections ?? []).map((section) => Object.freeze({
146
+ startPoint: asPoint(section.startPoint),
147
+ endPoint: asPoint(section.endPoint),
148
+ bendPoints: Object.freeze((section.bendPoints ?? []).map(asPoint)),
149
+ })));
150
+ }
151
+ function childElements(elements, parentId) {
152
+ return elements.filter((element) => element.parentId === parentId);
153
+ }
154
+ function buildElkNodeTree(elements, selected, parentId, layout) {
155
+ return childElements(elements, parentId)
156
+ .filter((element) => selected.has(element.id))
157
+ .map((element) => {
158
+ const children = buildElkNodeTree(elements, selected, element.id, layout);
159
+ return {
160
+ id: element.id,
161
+ width: layout.nodeWidth,
162
+ height: layout.nodeHeight,
163
+ ...(children.length === 0 ? {} : { children }),
164
+ };
165
+ });
166
+ }
167
+ function collectLaidOutNodes(node, result) {
168
+ for (const child of node.children ?? []) {
169
+ result.set(child.id, child);
170
+ collectLaidOutNodes(child, result);
171
+ }
172
+ }
173
+ function findElementIndex(document, id) {
174
+ return document.elements.findIndex((element) => element.id === id);
175
+ }
176
+ function projectViewGraph(document, view, viewIndex, relationships, layout) {
177
+ const losses = new LossCollector();
178
+ const elementsById = new Map(document.elements.map((element) => [element.id, element]));
179
+ const selected = new Set();
180
+ const includedRelationships = new Set();
181
+ const excludedElementIds = new Set();
182
+ const excludedRelationshipIds = new Set();
183
+ if (view.kind !== "structural") {
184
+ losses.add("unsupported-view-kind", `views[${viewIndex}]`, [view.key], `React Flow + ELK currently projects structural views only; ${view.kind} view ${view.key} is unsupported`);
185
+ return { selected, entries: Object.freeze([]), losses, direction: "RIGHT" };
186
+ }
187
+ addPresentationLosses(view, viewIndex, losses);
188
+ const direction = directionFor(view, losses, viewIndex);
189
+ if (view.root !== undefined) {
190
+ if (view.root.kind !== "element") {
191
+ losses.add("unsupported-view-root", `views[${viewIndex}].root`, [view.key, view.root.id], `React Flow + ELK structural views require an element root, not ${view.root.kind} ${view.root.id}`);
192
+ }
193
+ else {
194
+ addSelectedElement(selected, view.root.id, elementsById);
195
+ }
196
+ }
197
+ for (let referenceIndex = 0; referenceIndex < view.scope.include.length; referenceIndex += 1) {
198
+ const reference = view.scope.include[referenceIndex];
199
+ if (reference.kind === "element") {
200
+ addSelectedElement(selected, reference.id, elementsById);
201
+ }
202
+ else if (reference.kind === "relationship") {
203
+ const relationship = relationshipByIdentity(relationships, reference.id);
204
+ if (relationship !== undefined) {
205
+ includedRelationships.add(relationship);
206
+ addSelectedElement(selected, relationship.record.source, elementsById);
207
+ addSelectedElement(selected, relationship.record.target, elementsById);
208
+ }
209
+ }
210
+ else {
211
+ addUnsupportedReference(view, viewIndex, "include", referenceIndex, reference, losses);
212
+ }
213
+ }
214
+ for (let referenceIndex = 0; referenceIndex < view.scope.exclude.length; referenceIndex += 1) {
215
+ const reference = view.scope.exclude[referenceIndex];
216
+ if (reference.kind === "element") {
217
+ excludedElementIds.add(reference.id);
218
+ }
219
+ else if (reference.kind === "relationship") {
220
+ excludedRelationshipIds.add(reference.id);
221
+ }
222
+ else {
223
+ addUnsupportedReference(view, viewIndex, "exclude", referenceIndex, reference, losses);
224
+ }
225
+ }
226
+ for (const elementId of excludedElementIds)
227
+ selected.delete(elementId);
228
+ const projectedRelationships = relationships.filter((relationship) => {
229
+ const sourceSelected = selected.has(relationship.record.source);
230
+ const targetSelected = selected.has(relationship.record.target);
231
+ const explicitlyIncluded = includedRelationships.has(relationship);
232
+ const explicitlyExcluded = relationship.identity !== undefined && excludedRelationshipIds.has(relationship.identity);
233
+ if (explicitlyIncluded && !explicitlyExcluded && (!sourceSelected || !targetSelected)) {
234
+ losses.add("unsupported-relationship", `relationships[${relationship.index}]`, [relationship.record.source, relationship.record.target], `React Flow + ELK cannot preserve relationship endpoints omitted by view scope: ${relationship.record.source} -> ${relationship.record.target}`);
235
+ }
236
+ return sourceSelected && targetSelected && !explicitlyExcluded;
237
+ });
238
+ for (const element of document.elements) {
239
+ if (!selected.has(element.id) || element.parentId === undefined)
240
+ continue;
241
+ if (!selected.has(element.parentId)) {
242
+ losses.add("unsupported-containment", `elements[${findElementIndex(document, element.id)}].parentId`, [element.id, element.parentId], `React Flow + ELK cannot preserve containment parent omitted by view scope: ${element.id} -> ${element.parentId}`);
243
+ }
244
+ }
245
+ return {
246
+ selected,
247
+ entries: Object.freeze(projectedRelationships),
248
+ losses,
249
+ direction,
250
+ };
251
+ }
252
+ async function layoutGraph(document, view, selected, relationships, direction, layout) {
253
+ const elements = document.elements.filter((element) => selected.has(element.id));
254
+ const elkEdges = relationships.map((relationship) => ({
255
+ id: relationshipEdgeId(view.key, relationship),
256
+ sources: [relationship.record.source],
257
+ targets: [relationship.record.target],
258
+ }));
259
+ const graph = {
260
+ id: `react_flow_${identifierPart(view.key)}_root`,
261
+ layoutOptions: {
262
+ "elk.algorithm": "layered",
263
+ "elk.direction": direction,
264
+ "elk.edgeRouting": "ORTHOGONAL",
265
+ "elk.hierarchyHandling": "INCLUDE_CHILDREN",
266
+ "elk.layered.spacing.nodeNodeBetweenLayers": String(layout.layerSpacing),
267
+ "elk.spacing.nodeNode": String(layout.nodeSpacing),
268
+ "elk.padding": "[top=40,left=40,bottom=40,right=40]",
269
+ },
270
+ children: buildElkNodeTree(document.elements, selected, undefined, layout),
271
+ ...(elkEdges.length === 0 ? {} : { edges: elkEdges }),
272
+ };
273
+ const laidOut = await new ElkLayout().layout(graph);
274
+ const laidOutNodes = new Map();
275
+ collectLaidOutNodes(laidOut, laidOutNodes);
276
+ const nodeIds = new Map(elements.map((element) => [element.id, nodeId(view.key, element.id)]));
277
+ const nodes = elements.map((element) => {
278
+ const laidOutNode = laidOutNodes.get(element.id);
279
+ const parentNodeId = element.parentId === undefined ? undefined : nodeIds.get(element.parentId);
280
+ return Object.freeze({
281
+ id: nodeIds.get(element.id),
282
+ type: "architecture",
283
+ data: Object.freeze({
284
+ canonId: element.id,
285
+ viewKey: view.key,
286
+ kind: element.kind,
287
+ label: element.displayName ?? element.id,
288
+ }),
289
+ position: Object.freeze({
290
+ x: finiteCoordinate(laidOutNode?.x),
291
+ y: finiteCoordinate(laidOutNode?.y),
292
+ }),
293
+ width: layout.nodeWidth,
294
+ height: layout.nodeHeight,
295
+ ...(parentNodeId === undefined ? {} : { parentId: parentNodeId, extent: "parent" }),
296
+ });
297
+ });
298
+ const laidOutEdges = new Map((laidOut.edges ?? []).map((edge) => [edge.id, edge]));
299
+ const edges = relationships.map((relationship) => {
300
+ const edgeId = relationshipEdgeId(view.key, relationship);
301
+ const edge = laidOutEdges.get(edgeId);
302
+ return Object.freeze({
303
+ id: edgeId,
304
+ type: "default",
305
+ source: nodeIds.get(relationship.record.source),
306
+ target: nodeIds.get(relationship.record.target),
307
+ label: relationshipLabel(relationship.record),
308
+ data: Object.freeze({
309
+ viewKey: view.key,
310
+ canonSourceId: relationship.record.source,
311
+ canonTargetId: relationship.record.target,
312
+ ...(relationship.identity === undefined ? {} : { canonRelationshipId: relationship.identity }),
313
+ kind: relationship.record.kind,
314
+ ...(relationship.record.interfaceId === undefined ? {} : { interfaceId: relationship.record.interfaceId }),
315
+ sections: edgeSections(edge ?? {}),
316
+ }),
317
+ });
318
+ });
319
+ return { nodes: Object.freeze(nodes), edges: Object.freeze(edges) };
320
+ }
321
+ async function projectView(document, view, viewIndex, relationships, layout) {
322
+ const graph = projectViewGraph(document, view, viewIndex, relationships, layout);
323
+ const layoutSummary = Object.freeze({
324
+ algorithm: "layered",
325
+ direction: graph.direction,
326
+ nodeWidth: layout.nodeWidth,
327
+ nodeHeight: layout.nodeHeight,
328
+ });
329
+ const result = view.kind === "structural"
330
+ ? await layoutGraph(document, view, graph.selected, graph.entries, graph.direction, layout)
331
+ : { nodes: Object.freeze([]), edges: Object.freeze([]) };
332
+ return Object.freeze({
333
+ key: view.key,
334
+ kind: view.kind,
335
+ ...(view.title === undefined ? {} : { title: view.title }),
336
+ ...(view.description === undefined ? {} : { description: view.description }),
337
+ layout: layoutSummary,
338
+ nodes: result.nodes,
339
+ edges: result.edges,
340
+ losses: graph.losses.finish(),
341
+ });
342
+ }
343
+ function assertValidDocument(document) {
344
+ const validation = validateArchitectureDocument(document);
345
+ if (!validation.valid) {
346
+ const diagnostics = validation.diagnostics.map(({ code, path }) => `${code} at ${path}`).join(", ");
347
+ throw new Error(`cannot project invalid Architecture Canon: ${diagnostics}`);
348
+ }
349
+ }
350
+ /** Project validated Architecture Canon views into deterministic React Flow + ELK data. */
351
+ export async function projectArchitectureDocumentToReactFlow(document, options = {}) {
352
+ assertValidDocument(document);
353
+ const layout = readLayoutOptions(options);
354
+ const requestedView = options.viewKey;
355
+ const selectedViews = requestedView === undefined ? document.views : document.views.filter((view) => view.key === requestedView);
356
+ if (requestedView !== undefined && selectedViews.length === 0) {
357
+ throw new Error(`unknown Architecture view: ${requestedView}`);
358
+ }
359
+ const relationships = relationshipEntries(document);
360
+ const views = [];
361
+ for (let viewIndex = 0; viewIndex < document.views.length; viewIndex += 1) {
362
+ const view = document.views[viewIndex];
363
+ if (selectedViews.includes(view)) {
364
+ views.push(await projectView(document, view, viewIndex, relationships, layout));
365
+ }
366
+ }
367
+ const frozenViews = Object.freeze(views);
368
+ const nodes = Object.freeze(frozenViews.flatMap((view) => view.nodes));
369
+ const edges = Object.freeze(frozenViews.flatMap((view) => view.edges));
370
+ const losses = Object.freeze(frozenViews
371
+ .flatMap((view) => view.losses)
372
+ .sort((left, right) => compareStrings(left.path, right.path) || compareStrings(left.code, right.code)));
373
+ return Object.freeze({
374
+ canonVersion: document.canonVersion,
375
+ documentId: document.documentId,
376
+ nodes,
377
+ edges,
378
+ views: frozenViews,
379
+ losses,
380
+ });
381
+ }
382
+ /** Project one declared Architecture Canon view for renderers that select views individually. */
383
+ export async function projectArchitectureViewToReactFlow(document, viewKey, options = {}) {
384
+ const projection = await projectArchitectureDocumentToReactFlow(document, { ...options, viewKey });
385
+ return projection.views[0];
386
+ }
387
+ export const projectArchitectureToReactFlow = projectArchitectureDocumentToReactFlow;
388
+ //# sourceMappingURL=react-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-flow.js","sourceRoot":"","sources":["../../../src/architecture/projection/react-flow.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -177,6 +177,6 @@ function runSkillCommand(args) {
177
177
  return 0;
178
178
  }
179
179
  function getVersion() {
180
- return "0.2.1";
180
+ return "0.3.0";
181
181
  }
182
182
  //# sourceMappingURL=cli.js.map
@@ -8,11 +8,12 @@
8
8
  export declare const COMMAND_CONTRACT_VERSION: "1.0.0";
9
9
  export declare const COMMAND_CONTRACT_ID: "urn:wabachi:command-contract:1.0.0";
10
10
  export declare const CLI_NAME: "wabachi";
11
+ export declare const DEFAULT_ARCHITECTURE_CANON_PATH: ".wabachi/architecture.json";
11
12
  export type CommandDomain = "root" | "run" | "matrix" | "architecture" | "skill";
12
13
  export type OptionValueType = "boolean" | "string";
13
14
  export type OptionArity = "none" | "required" | "optional";
14
- export type CommandId = "root.help" | "root.version" | "run.execute" | "matrix.execute" | "architecture.help" | "architecture.validate" | "architecture.render" | "skill.index" | "skill.scenario";
15
- export type OptionId = "help" | "version" | "json" | "revision" | "out" | "config" | "structurizrCommand";
15
+ export type CommandId = "root.help" | "root.version" | "run.execute" | "matrix.execute" | "architecture.help" | "architecture.example" | "architecture.validate" | "architecture.render" | "skill.index" | "skill.scenario";
16
+ export type OptionId = "help" | "version" | "json" | "revision" | "out" | "config";
16
17
  export interface CommandOptionDefinition {
17
18
  readonly id: OptionId;
18
19
  readonly key: string;
@@ -8,6 +8,7 @@
8
8
  export const COMMAND_CONTRACT_VERSION = "1.0.0";
9
9
  export const COMMAND_CONTRACT_ID = `urn:wabachi:command-contract:${COMMAND_CONTRACT_VERSION}`;
10
10
  export const CLI_NAME = "wabachi";
11
+ export const DEFAULT_ARCHITECTURE_CANON_PATH = ".wabachi/architecture.json";
11
12
  const option = (id, aliases, valueType, arity, description, placeholder) => ({
12
13
  id,
13
14
  key: aliases[0]?.replace(/^--/u, "") ?? id,
@@ -24,7 +25,6 @@ export const COMMAND_OPTIONS = {
24
25
  revision: option("revision", ["--revision"], "string", "required", "Repository revision or commit SHA to analyze.", "ref"),
25
26
  out: option("out", ["--out"], "string", "required", "Directory in which retained artifacts are written.", "dir"),
26
27
  config: option("config", ["--config"], "string", "required", "JSON workflow configuration for the provider matrix.", "path"),
27
- structurizrCommand: option("structurizrCommand", ["--structurizr-command"], "string", "required", "Structurizr CLI executable used for static export.", "executable-path"),
28
28
  };
29
29
  const command = (id, domain, operation, path, summary, optionIds, examples, positionalSyntax, requiredOptionIds) => ({
30
30
  id,
@@ -41,10 +41,11 @@ export const COMMANDS = [
41
41
  command("root.help", "root", "help", [], "Discover supported commands and resolve exact syntax progressively.", ["help"], ["wabachi --help", "wabachi --help=full"], "[command]"),
42
42
  command("root.version", "root", "version", [], "Print the installed version.", ["version"], ["wabachi --version"], undefined, ["version"]),
43
43
  command("run.execute", "run", "execute", ["run"], "Resolve a repository and execute the registered analysis providers.", ["help", "revision", "out"], ["wabachi run <repository> --revision <ref> --out <dir>", "wabachi run <repository>"], "<repository>"),
44
- command("matrix.execute", "matrix", "execute", ["matrix"], "Run providers and retain auditable facts, correlations, matrices, and reports.", ["help", "revision", "out", "config"], ["wabachi matrix <repository> --revision <sha> --out <dir>", "wabachi matrix --config <path>"], "<repository>"),
45
- command("architecture.help", "architecture", "help", ["architecture"], "Discover Architecture Canon validation and rendering commands.", ["help"], ["wabachi architecture --help"]),
46
- command("architecture.validate", "architecture", "validate", ["architecture", "validate"], "Validate one explicit Architecture Canon document.", ["help", "json"], ["wabachi architecture validate <file> --json"], "<file>"),
47
- command("architecture.render", "architecture", "render", ["architecture", "render"], "Render one explicit Architecture Canon document as a site.", ["help", "out", "structurizrCommand", "json"], ["wabachi architecture render <file> --out <dir>", "wabachi architecture render <file> --out <dir> --json"], "<file>"),
44
+ command("matrix.execute", "matrix", "execute", ["matrix"], "Run providers and retain auditable facts, correlations, matrices, and reports.", ["help", "revision", "out", "config"], ["wabachi matrix <repository> --revision <sha> --out <dir>", "wabachi matrix --config <path> --out <dir>"], "<repository>", ["revision", "out"]),
45
+ command("architecture.help", "architecture", "help", ["architecture"], "Discover the Architecture Canon shape, validation, and npm-native React Flow + ELK rendering commands.", ["help"], ["wabachi architecture --help"]),
46
+ command("architecture.example", "architecture", "example", ["architecture", "example"], "Print a minimal valid Architecture Canon example for explicit authoring.", ["help"], ["wabachi architecture example"]),
47
+ command("architecture.validate", "architecture", "validate", ["architecture", "validate"], "Validate the Architecture Canon at .wabachi/architecture.json or one explicit file.", ["help", "json"], ["wabachi architecture validate", "wabachi architecture validate <file> --json"], "[file]"),
48
+ command("architecture.render", "architecture", "render", ["architecture", "render"], "Render the Architecture Canon at .wabachi/architecture.json or one explicit file as a React Flow + ELK static site.", ["help", "out", "json"], ["wabachi architecture render --out <dir>", "wabachi architecture render <file> --out <dir> --json"], "[file]"),
48
49
  command("skill.index", "skill", "index", ["skill"], "List bounded intent-oriented Wabachi playbooks.", ["help", "json"], ["wabachi skill", "wabachi skill --json"]),
49
50
  command("skill.scenario", "skill", "scenario", ["skill"], "Print one bounded playbook for a named intent.", ["help", "json"], ["wabachi skill <scenario>", "wabachi skill <scenario> --json"], "<scenario>"),
50
51
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"command-contract.js","sourceRoot":"","sources":["../src/command-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-contract.js","sourceRoot":"","sources":["../src/command-contract.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ export * from "./working-set/index.js";
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { runCli } from "./cli.js";
3
+ export * from "./working-set/index.js";
3
4
  runCli(process.argv.slice(2)).then((exitCode) => {
4
5
  process.exitCode = exitCode;
5
6
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;IAC9C,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC9B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,cAAc,wBAAwB,CAAC;AAEvC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;IAC9C,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC9B,CAAC,CAAC,CAAC"}
@@ -1,4 +1,7 @@
1
1
  import type { ResolvedRepository } from "./provider.js";
2
+ export declare function isExternalProcessError(error: unknown): boolean;
3
+ /** Formats process failures for both runtime exceptions and provider records. */
4
+ export declare function formatExternalProcessError(error: unknown, stage: string, fallbackCommand?: string): string;
2
5
  export interface RepositoryResolution {
3
6
  readonly resolved: ResolvedRepository;
4
7
  /** Local directory `git archive` can read the resolved commit from. */