@jterrats/open-orchestra 1.0.15 → 1.0.16

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 (94) hide show
  1. package/AGENTS.md +3 -3
  2. package/CLAUDE.md +2 -2
  3. package/dist/command-manifest.js +6 -1
  4. package/dist/command-manifest.js.map +1 -1
  5. package/dist/command-routes.js +8 -1
  6. package/dist/command-routes.js.map +1 -1
  7. package/dist/commands.d.ts +2 -1
  8. package/dist/commands.js +2 -1
  9. package/dist/commands.js.map +1 -1
  10. package/dist/context-vault-commands.d.ts +5 -0
  11. package/dist/context-vault-commands.js +79 -0
  12. package/dist/context-vault-commands.js.map +1 -0
  13. package/dist/context-vault-file-metadata.d.ts +3 -0
  14. package/dist/context-vault-file-metadata.js +25 -0
  15. package/dist/context-vault-file-metadata.js.map +1 -0
  16. package/dist/context-vault-model.d.ts +79 -0
  17. package/dist/context-vault-model.js +2 -0
  18. package/dist/context-vault-model.js.map +1 -0
  19. package/dist/context-vault-redaction.d.ts +5 -0
  20. package/dist/context-vault-redaction.js +22 -0
  21. package/dist/context-vault-redaction.js.map +1 -0
  22. package/dist/context-vault-renderer.d.ts +3 -0
  23. package/dist/context-vault-renderer.js +30 -0
  24. package/dist/context-vault-renderer.js.map +1 -0
  25. package/dist/context-vault-service.d.ts +17 -0
  26. package/dist/context-vault-service.js +183 -0
  27. package/dist/context-vault-service.js.map +1 -0
  28. package/dist/delivery-commands.d.ts +1 -0
  29. package/dist/delivery-commands.js +19 -1
  30. package/dist/delivery-commands.js.map +1 -1
  31. package/dist/diagram-schema.d.ts +2 -0
  32. package/dist/diagram-schema.js +148 -0
  33. package/dist/diagram-schema.js.map +1 -0
  34. package/dist/diagrams/index.d.ts +2 -0
  35. package/dist/diagrams/index.js +2 -0
  36. package/dist/diagrams/index.js.map +1 -1
  37. package/dist/diagrams/pipeline.js +7 -5
  38. package/dist/diagrams/pipeline.js.map +1 -1
  39. package/dist/evidence-compaction-model.d.ts +62 -0
  40. package/dist/evidence-compaction-model.js +2 -0
  41. package/dist/evidence-compaction-model.js.map +1 -0
  42. package/dist/evidence-compaction-renderer.d.ts +2 -0
  43. package/dist/evidence-compaction-renderer.js +35 -0
  44. package/dist/evidence-compaction-renderer.js.map +1 -0
  45. package/dist/evidence-compaction-service.d.ts +11 -0
  46. package/dist/evidence-compaction-service.js +94 -0
  47. package/dist/evidence-compaction-service.js.map +1 -0
  48. package/dist/evidence-compaction-summary.d.ts +4 -0
  49. package/dist/evidence-compaction-summary.js +160 -0
  50. package/dist/evidence-compaction-summary.js.map +1 -0
  51. package/dist/knowledge-base.js +7 -1
  52. package/dist/knowledge-base.js.map +1 -1
  53. package/dist/planning-commands.js +23 -1
  54. package/dist/planning-commands.js.map +1 -1
  55. package/dist/quality-contracts.js +12 -6
  56. package/dist/quality-contracts.js.map +1 -1
  57. package/dist/report-index.d.ts +3 -0
  58. package/dist/report-index.js +3 -0
  59. package/dist/report-index.js.map +1 -0
  60. package/dist/report-model.d.ts +22 -0
  61. package/dist/report-model.js +2 -0
  62. package/dist/report-model.js.map +1 -0
  63. package/dist/report-render-markdown.d.ts +1 -0
  64. package/dist/report-render-markdown.js +40 -0
  65. package/dist/report-render-markdown.js.map +1 -0
  66. package/dist/report-schema.d.ts +2 -0
  67. package/dist/report-schema.js +109 -0
  68. package/dist/report-schema.js.map +1 -0
  69. package/dist/rule-catalog.d.ts +33 -0
  70. package/dist/rule-catalog.js +215 -0
  71. package/dist/rule-catalog.js.map +1 -0
  72. package/dist/runtime-context-manifest.js +3 -24
  73. package/dist/runtime-context-manifest.js.map +1 -1
  74. package/dist/structured-output-validation.d.ts +9 -0
  75. package/dist/structured-output-validation.js +20 -0
  76. package/dist/structured-output-validation.js.map +1 -0
  77. package/dist/web-api-read-routes.js +2 -0
  78. package/dist/web-api-read-routes.js.map +1 -1
  79. package/dist/web-console/assets/index-BJuVTqfQ.js +11 -0
  80. package/dist/web-console/index.html +1 -1
  81. package/dist/workflow-evidence-service.js +16 -0
  82. package/dist/workflow-evidence-service.js.map +1 -1
  83. package/dist/workflow-services.d.ts +1 -0
  84. package/dist/workflow-services.js +8 -1
  85. package/dist/workflow-services.js.map +1 -1
  86. package/docs/autonomous-workflow.md +3 -3
  87. package/docs/context-vault.md +34 -11
  88. package/docs/diagrams/deterministic-pipeline/README.md +35 -1
  89. package/docs/evidence-compaction.md +25 -0
  90. package/docs/rule-loading-strategy.md +37 -0
  91. package/docs/sonar-quality-gates.md +1 -1
  92. package/package.json +1 -1
  93. package/rules/development/semantic-code.md +28 -0
  94. package/dist/web-console/assets/index-Bis4CecA.js +0 -11
@@ -0,0 +1,79 @@
1
+ export type VaultArtifactType = "document" | "pdf" | "image" | "diagram" | "audio" | "video" | "transcript" | "reference";
2
+ export type VaultSensitivity = "public" | "internal" | "confidential" | "restricted";
3
+ export type VaultIngestionStatus = "registered" | "indexed" | "transcribed" | "redacted" | "failed";
4
+ export interface VaultArtifact {
5
+ id: string;
6
+ source: string;
7
+ path: string;
8
+ fileName: string;
9
+ type: VaultArtifactType;
10
+ mediaType: string;
11
+ sizeBytes: number;
12
+ checksum: string;
13
+ owner: string;
14
+ tenant: string;
15
+ workspace: string;
16
+ sensitivity: VaultSensitivity;
17
+ retention: string;
18
+ ingestionStatus: VaultIngestionStatus;
19
+ transcriptPath?: string;
20
+ registeredAt: string;
21
+ }
22
+ export interface VaultCatalog {
23
+ schemaVersion: 1;
24
+ updatedAt: string;
25
+ artifacts: VaultArtifact[];
26
+ }
27
+ export interface VaultListOptions {
28
+ root?: string;
29
+ tenant?: string;
30
+ workspace?: string;
31
+ type?: string;
32
+ sensitivity?: string;
33
+ status?: string;
34
+ limit?: number;
35
+ cursor?: number;
36
+ }
37
+ export interface VaultListResult {
38
+ items: VaultArtifact[];
39
+ total: number;
40
+ limit: number;
41
+ cursor: number;
42
+ nextCursor?: number;
43
+ }
44
+ export interface VaultPackOptions {
45
+ root?: string;
46
+ query: string;
47
+ taskId?: string;
48
+ phase?: string;
49
+ role?: string;
50
+ targetChars?: number;
51
+ maxArtifacts?: number;
52
+ tenant?: string;
53
+ workspace?: string;
54
+ }
55
+ export interface VaultPackResult {
56
+ generatedAt: string;
57
+ query: string;
58
+ taskId?: string;
59
+ phase?: string;
60
+ role?: string;
61
+ markdownArtifact: string;
62
+ jsonArtifact: string;
63
+ budget: {
64
+ targetChars: number;
65
+ usedChars: number;
66
+ truncated: boolean;
67
+ };
68
+ redactions: number;
69
+ items: VaultPackItem[];
70
+ }
71
+ export interface VaultPackItem {
72
+ artifactId: string;
73
+ source: string;
74
+ path: string;
75
+ sensitivity: VaultSensitivity;
76
+ inclusionReason: string;
77
+ excerpt: string;
78
+ transcriptPath?: string;
79
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=context-vault-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-vault-model.js","sourceRoot":"","sources":["../src/context-vault-model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface RedactionResult {
2
+ text: string;
3
+ count: number;
4
+ }
5
+ export declare function redactVaultText(content: string): RedactionResult;
@@ -0,0 +1,22 @@
1
+ const SECRET_PATTERN = /\b(?:api[_-]?key|token|secret|password|authorization)\b\s*[:=]\s*["']?[^"'\s]+/gi;
2
+ const EMAIL_PATTERN = /\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b/gi;
3
+ const PHONE_PATTERN = /\b(?:\+?\d[\d .-]{7,}\d)\b/g;
4
+ export function redactVaultText(content) {
5
+ let count = 0;
6
+ const text = content
7
+ .replace(SECRET_PATTERN, (match) => {
8
+ count += 1;
9
+ const key = match.split(/[:=]/)[0]?.trim() ?? "secret";
10
+ return `${key}=<redacted>`;
11
+ })
12
+ .replace(EMAIL_PATTERN, () => {
13
+ count += 1;
14
+ return "<redacted-email>";
15
+ })
16
+ .replace(PHONE_PATTERN, () => {
17
+ count += 1;
18
+ return "<redacted-phone>";
19
+ });
20
+ return { text, count };
21
+ }
22
+ //# sourceMappingURL=context-vault-redaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-vault-redaction.js","sourceRoot":"","sources":["../src/context-vault-redaction.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAClB,kFAAkF,CAAC;AACrF,MAAM,aAAa,GAAG,6CAA6C,CAAC;AACpE,MAAM,aAAa,GAAG,6BAA6B,CAAC;AAOpD,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE;QACjC,KAAK,IAAI,CAAC,CAAC;QACX,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC;QACvD,OAAO,GAAG,GAAG,aAAa,CAAC;IAC7B,CAAC,CAAC;SACD,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,KAAK,IAAI,CAAC,CAAC;QACX,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAC;SACD,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,KAAK,IAAI,CAAC,CAAC;QACX,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAC,CAAC;IACL,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { VaultPackResult } from "./context-vault-model.js";
2
+ export declare function renderVaultPackMarkdown(pack: VaultPackResult): string;
3
+ export declare function vaultPackSlug(value: string): string;
@@ -0,0 +1,30 @@
1
+ export function renderVaultPackMarkdown(pack) {
2
+ return [
3
+ `# Vault Context Pack: ${pack.query}`,
4
+ "",
5
+ `- Task: ${pack.taskId ?? "none"}`,
6
+ `- Budget: ${pack.budget.usedChars}/${pack.budget.targetChars} chars`,
7
+ `- Redactions: ${pack.redactions}`,
8
+ "",
9
+ ...pack.items.flatMap((item) => [
10
+ `## ${item.source}`,
11
+ "",
12
+ `Artifact: ${item.artifactId}`,
13
+ `Path: ${item.path}`,
14
+ `Sensitivity: ${item.sensitivity}`,
15
+ `Inclusion: ${item.inclusionReason}`,
16
+ "",
17
+ "```",
18
+ item.excerpt,
19
+ "```",
20
+ "",
21
+ ]),
22
+ ].join("\n");
23
+ }
24
+ export function vaultPackSlug(value) {
25
+ return value
26
+ .toLowerCase()
27
+ .replace(/[^a-z0-9]+/g, "-")
28
+ .slice(0, 80);
29
+ }
30
+ //# sourceMappingURL=context-vault-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-vault-renderer.js","sourceRoot":"","sources":["../src/context-vault-renderer.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CAAC,IAAqB;IAC3D,OAAO;QACL,yBAAyB,IAAI,CAAC,KAAK,EAAE;QACrC,EAAE;QACF,WAAW,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;QAClC,aAAa,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,QAAQ;QACrE,iBAAiB,IAAI,CAAC,UAAU,EAAE;QAClC,EAAE;QACF,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,MAAM,EAAE;YACnB,EAAE;YACF,aAAa,IAAI,CAAC,UAAU,EAAE;YAC9B,SAAS,IAAI,CAAC,IAAI,EAAE;YACpB,gBAAgB,IAAI,CAAC,WAAW,EAAE;YAClC,cAAc,IAAI,CAAC,eAAe,EAAE;YACpC,EAAE;YACF,KAAK;YACL,IAAI,CAAC,OAAO;YACZ,KAAK;YACL,EAAE;SACH,CAAC;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { VaultArtifact, VaultArtifactType, VaultIngestionStatus, VaultListOptions, VaultListResult, VaultPackOptions, VaultPackResult, VaultSensitivity } from "./context-vault-model.js";
2
+ export declare function registerVaultArtifact(input: {
3
+ root?: string;
4
+ path: string;
5
+ source: string;
6
+ type: VaultArtifactType;
7
+ owner: string;
8
+ tenant?: string;
9
+ workspace?: string;
10
+ sensitivity?: VaultSensitivity;
11
+ retention?: string;
12
+ ingestionStatus?: VaultIngestionStatus;
13
+ transcriptPath?: string;
14
+ }): Promise<VaultArtifact>;
15
+ export declare function listContextVaultArtifacts(options?: VaultListOptions): Promise<VaultListResult>;
16
+ export declare function getContextVaultArtifact(id: string, root?: string): Promise<VaultArtifact>;
17
+ export declare function buildVaultContextPack(options: VaultPackOptions): Promise<VaultPackResult>;
@@ -0,0 +1,183 @@
1
+ import { readFile, stat } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { removeUndefined } from "./command-utils.js";
4
+ import { ensureDir, readJson, resolveWorkflowPath, resolveWorkspaceWritePath, updateJsonFile, } from "./fs-utils.js";
5
+ import { appendEvent, writeArtifact } from "./workspace.js";
6
+ import { redactVaultText } from "./context-vault-redaction.js";
7
+ import { renderVaultPackMarkdown, vaultPackSlug, } from "./context-vault-renderer.js";
8
+ import { mediaTypeForPath, sha256File } from "./context-vault-file-metadata.js";
9
+ const VAULT_FILE = "context-vault/artifacts.json";
10
+ const DEFAULT_LIMIT = 25;
11
+ const DEFAULT_TARGET_CHARS = 12000;
12
+ const DEFAULT_MAX_ARTIFACTS = 10;
13
+ export async function registerVaultArtifact(input) {
14
+ const root = input.root ?? process.cwd();
15
+ const absolutePath = resolveWorkspaceWritePath(root, input.path);
16
+ const file = await stat(absolutePath);
17
+ const checksum = await sha256File(absolutePath);
18
+ const artifact = removeUndefined({
19
+ id: `vault-${checksum.slice(0, 16)}`,
20
+ source: input.source,
21
+ path: input.path,
22
+ fileName: path.basename(input.path),
23
+ type: input.type,
24
+ mediaType: mediaTypeForPath(input.path, input.type),
25
+ sizeBytes: file.size,
26
+ checksum,
27
+ owner: input.owner,
28
+ tenant: input.tenant ?? "default",
29
+ workspace: input.workspace ?? "default",
30
+ sensitivity: input.sensitivity ?? "internal",
31
+ retention: input.retention ?? "project",
32
+ ingestionStatus: input.ingestionStatus ?? "registered",
33
+ transcriptPath: input.transcriptPath,
34
+ registeredAt: new Date().toISOString(),
35
+ });
36
+ await updateCatalog(root, (catalog) => ({
37
+ ...catalog,
38
+ updatedAt: new Date().toISOString(),
39
+ artifacts: upsertArtifact(catalog.artifacts, artifact),
40
+ }));
41
+ await appendEvent(root, {
42
+ type: "CONTEXT_VAULT_ARTIFACT_REGISTERED",
43
+ actor: input.owner,
44
+ summary: `Registered vault artifact ${artifact.id}`,
45
+ artifacts: [input.path],
46
+ metadata: removeUndefined({
47
+ artifactId: artifact.id,
48
+ tenant: artifact.tenant,
49
+ workspace: artifact.workspace,
50
+ sensitivity: artifact.sensitivity,
51
+ checksum: artifact.checksum,
52
+ transcriptPath: artifact.transcriptPath,
53
+ }),
54
+ });
55
+ return artifact;
56
+ }
57
+ export async function listContextVaultArtifacts(options = {}) {
58
+ const catalog = await readCatalog(options.root ?? process.cwd());
59
+ const filtered = catalog.artifacts.filter((artifact) => matchesVaultFilters(artifact, options));
60
+ const cursor = Math.max(0, options.cursor ?? 0);
61
+ const limit = Math.max(1, options.limit ?? DEFAULT_LIMIT);
62
+ const items = filtered.slice(cursor, cursor + limit);
63
+ return removeUndefined({
64
+ items,
65
+ total: filtered.length,
66
+ limit,
67
+ cursor,
68
+ nextCursor: cursor + limit < filtered.length ? cursor + limit : undefined,
69
+ });
70
+ }
71
+ export async function getContextVaultArtifact(id, root = process.cwd()) {
72
+ const artifact = (await readCatalog(root)).artifacts.find((candidate) => candidate.id === id);
73
+ if (!artifact)
74
+ throw new Error(`unknown vault artifact: ${id}`);
75
+ return artifact;
76
+ }
77
+ export async function buildVaultContextPack(options) {
78
+ const root = options.root ?? process.cwd();
79
+ const list = await listContextVaultArtifacts(removeUndefined({
80
+ root,
81
+ tenant: options.tenant,
82
+ workspace: options.workspace,
83
+ limit: options.maxArtifacts ?? DEFAULT_MAX_ARTIFACTS,
84
+ }));
85
+ const budget = options.targetChars ?? DEFAULT_TARGET_CHARS;
86
+ const state = { usedChars: 0, redactions: 0, truncated: false };
87
+ const items = [];
88
+ for (const artifact of list.items) {
89
+ if (state.usedChars >= budget) {
90
+ state.truncated = true;
91
+ break;
92
+ }
93
+ const item = await vaultPackItem(root, artifact, options.query, budget - state.usedChars);
94
+ state.usedChars += item.redacted.excerpt.length;
95
+ state.redactions += item.redacted.redactions;
96
+ items.push(item.redacted);
97
+ }
98
+ const result = removeUndefined({
99
+ generatedAt: new Date().toISOString(),
100
+ query: options.query,
101
+ taskId: options.taskId,
102
+ phase: options.phase,
103
+ role: options.role,
104
+ markdownArtifact: "",
105
+ jsonArtifact: "",
106
+ budget: {
107
+ targetChars: budget,
108
+ usedChars: state.usedChars,
109
+ truncated: state.truncated,
110
+ },
111
+ redactions: state.redactions,
112
+ items,
113
+ });
114
+ await ensureDir(resolveWorkflowPath(root, "context-packs"));
115
+ const jsonArtifact = await writeArtifact(root, "context-packs", `vault-${vaultPackSlug(options.query)}-${Date.now()}.json`, `${JSON.stringify({ ...result, jsonArtifact: undefined, markdownArtifact: undefined }, null, 2)}\n`);
116
+ const markdownArtifact = await writeArtifact(root, "context-packs", `vault-${vaultPackSlug(options.query)}-${Date.now()}.md`, renderVaultPackMarkdown({ ...result, jsonArtifact }));
117
+ return { ...result, jsonArtifact, markdownArtifact };
118
+ }
119
+ async function readCatalog(root) {
120
+ return readJson(catalogPath(root), emptyCatalog());
121
+ }
122
+ async function updateCatalog(root, update) {
123
+ return updateJsonFile(catalogPath(root), emptyCatalog(), update);
124
+ }
125
+ function catalogPath(root) {
126
+ return resolveWorkflowPath(root, VAULT_FILE);
127
+ }
128
+ function emptyCatalog() {
129
+ return {
130
+ schemaVersion: 1,
131
+ updatedAt: new Date(0).toISOString(),
132
+ artifacts: [],
133
+ };
134
+ }
135
+ function upsertArtifact(artifacts, artifact) {
136
+ return [artifact, ...artifacts.filter((item) => item.id !== artifact.id)];
137
+ }
138
+ function matchesVaultFilters(artifact, options) {
139
+ return (matches(artifact.tenant, options.tenant) &&
140
+ matches(artifact.workspace, options.workspace) &&
141
+ matches(artifact.type, options.type) &&
142
+ matches(artifact.sensitivity, options.sensitivity) &&
143
+ matches(artifact.ingestionStatus, options.status));
144
+ }
145
+ function matches(value, filter) {
146
+ return !filter || value === filter;
147
+ }
148
+ async function vaultPackItem(root, artifact, query, remainingChars) {
149
+ const readablePath = artifact.transcriptPath ?? artifact.path;
150
+ const excerpt = await excerptArtifact(root, readablePath, query, remainingChars);
151
+ const redacted = redactVaultText(excerpt);
152
+ return {
153
+ redacted: removeUndefined({
154
+ artifactId: artifact.id,
155
+ source: artifact.source,
156
+ path: artifact.path,
157
+ sensitivity: artifact.sensitivity,
158
+ inclusionReason: artifact.transcriptPath
159
+ ? "vault transcript excerpt"
160
+ : "vault metadata and excerpt",
161
+ excerpt: redacted.text,
162
+ transcriptPath: artifact.transcriptPath,
163
+ redactions: redacted.count,
164
+ }),
165
+ };
166
+ }
167
+ async function excerptArtifact(root, artifactPath, query, limit) {
168
+ try {
169
+ const content = await readFile(resolveWorkspaceWritePath(root, artifactPath), "utf8");
170
+ const lines = content.split(/\r?\n/);
171
+ const tokens = query.toLowerCase().split(/\W+/).filter(Boolean);
172
+ const index = lines.findIndex((line) => tokens.some((token) => line.toLowerCase().includes(token)));
173
+ const start = Math.max(0, (index >= 0 ? index : 0) - 4);
174
+ return lines
175
+ .slice(start, start + 9)
176
+ .join("\n")
177
+ .slice(0, Math.max(0, limit));
178
+ }
179
+ catch {
180
+ return `Raw artifact is registered but not text-readable. Use derived transcript or conversion before runtime prompt consumption.`;
181
+ }
182
+ }
183
+ //# sourceMappingURL=context-vault-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-vault-service.js","sourceRoot":"","sources":["../src/context-vault-service.ts"],"names":[],"mappings":"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"}
@@ -8,3 +8,4 @@ export declare function decisionListCommand(options: CliOptions, io: CliIo): Pro
8
8
  export declare function reviewListCommand(options: CliOptions, io: CliIo): Promise<void>;
9
9
  export declare function evidenceCommand(options: CliOptions, io: CliIo): Promise<void>;
10
10
  export declare function evidenceListCommand(options: CliOptions, io: CliIo): Promise<void>;
11
+ export declare function evidenceCompactCommand(options: CliOptions, io: CliIo): Promise<void>;
@@ -1,5 +1,6 @@
1
1
  import { requireArg } from "./args.js";
2
- import { removeUndefined, stringOption } from "./command-utils.js";
2
+ import { numberOption, removeUndefined, stringOption, } from "./command-utils.js";
3
+ import { compactEvidence } from "./evidence-compaction-service.js";
3
4
  import { addEvidence, checkReadiness, createHandoff, evaluateWorkflowGate, listDecisions, listEvidence, listReviews, recordDecision, recordReview, } from "./workflow-services.js";
4
5
  export async function readinessCommand(options, io) {
5
6
  const taskId = requireArg(options, "task");
@@ -124,6 +125,23 @@ export async function evidenceListCommand(options, io) {
124
125
  io.log(`${item.taskId ?? "no-task"} ${item.actor} ${type}: ${item.summary}`);
125
126
  }
126
127
  }
128
+ export async function evidenceCompactCommand(options, io) {
129
+ const result = await compactEvidence(removeUndefined({
130
+ taskId: stringOption(options.task),
131
+ threshold: numberOption(options.threshold, 20),
132
+ }));
133
+ if (options.json) {
134
+ io.log(JSON.stringify(result, null, 2));
135
+ return;
136
+ }
137
+ if (result.summaries.length === 0) {
138
+ io.log("No evidence compacted");
139
+ return;
140
+ }
141
+ for (const summary of result.summaries) {
142
+ io.log(`Compacted ${summary.taskId}: ${summary.evidenceCount} evidence item(s) -> ${summary.markdownArtifact}`);
143
+ }
144
+ }
127
145
  function renderReadinessMarkdown(task, report) {
128
146
  const status = report.isReady ? "passed" : "blocked";
129
147
  const missing = report.missing.length > 0
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-commands.js","sourceRoot":"","sources":["../src/delivery-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery-commands.js","sourceRoot":"","sources":["../src/delivery-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { DiagramModel } from "./diagrams/model.js";
2
+ export declare function validateDiagramModelPayload(payload: unknown): DiagramModel;
@@ -0,0 +1,148 @@
1
+ import { assertNoStructuredOutputIssues, } from "./structured-output-validation.js";
2
+ const NODE_KINDS = [
3
+ "actor",
4
+ "system",
5
+ "service",
6
+ "database",
7
+ "queue",
8
+ "boundary",
9
+ ];
10
+ const CONNECTOR_KINDS = [
11
+ "sync",
12
+ "async",
13
+ "data",
14
+ "control",
15
+ ];
16
+ const DIRECTIONS = ["right", "down"];
17
+ export function validateDiagramModelPayload(payload) {
18
+ const issues = [];
19
+ if (!isObjectMap(payload)) {
20
+ fail(issues, "$", "must be a diagram object");
21
+ assertNoStructuredOutputIssues("diagram", issues);
22
+ throw new Error("unreachable diagram validation state");
23
+ }
24
+ validateDiagramRoot(payload, issues);
25
+ assertNoStructuredOutputIssues("diagram", issues);
26
+ return payload;
27
+ }
28
+ function validateDiagramRoot(value, issues) {
29
+ requireString(value, "id", "$", issues);
30
+ requireString(value, "title", "$", issues);
31
+ requireEnum(value, "direction", "$", DIRECTIONS, issues);
32
+ validateNodeArray(value.nodes, issues);
33
+ validateConnectorArray(value.connectors, value.nodes, issues);
34
+ validateGroupArray(value.groups, issues);
35
+ }
36
+ function validateNodeArray(value, issues) {
37
+ if (!Array.isArray(value) || value.length === 0) {
38
+ fail(issues, "$.nodes", "must be a non-empty array");
39
+ return;
40
+ }
41
+ const ids = new Set();
42
+ value.forEach((item, index) => validateNode(item, index, ids, issues));
43
+ }
44
+ function validateNode(value, index, ids, issues) {
45
+ const path = `$.nodes[${index}]`;
46
+ if (!isObjectMap(value))
47
+ return fail(issues, path, "must be an object");
48
+ const id = requireString(value, "id", path, issues);
49
+ if (id && ids.has(id))
50
+ fail(issues, `${path}.id`, "must be unique");
51
+ if (id)
52
+ ids.add(id);
53
+ requireEnum(value, "kind", path, NODE_KINDS, issues);
54
+ validateText(value.text, `${path}.text`, issues);
55
+ optionalString(value, "groupId", path, issues);
56
+ validateIcon(value.icon, `${path}.icon`, issues);
57
+ }
58
+ function validateConnectorArray(value, nodes, issues) {
59
+ if (!Array.isArray(value))
60
+ return fail(issues, "$.connectors", "must be an array");
61
+ const nodeIds = collectIds(nodes);
62
+ const ids = new Set();
63
+ value.forEach((item, index) => validateConnector(item, index, ids, nodeIds, issues));
64
+ }
65
+ function validateConnector(value, index, ids, nodeIds, issues) {
66
+ const path = `$.connectors[${index}]`;
67
+ if (!isObjectMap(value))
68
+ return fail(issues, path, "must be an object");
69
+ const id = requireString(value, "id", path, issues);
70
+ if (id && ids.has(id))
71
+ fail(issues, `${path}.id`, "must be unique");
72
+ if (id)
73
+ ids.add(id);
74
+ const from = requireString(value, "from", path, issues);
75
+ const to = requireString(value, "to", path, issues);
76
+ if (from && !nodeIds.has(from))
77
+ fail(issues, `${path}.from`, `references unknown node "${from}"`);
78
+ if (to && !nodeIds.has(to))
79
+ fail(issues, `${path}.to`, `references unknown node "${to}"`);
80
+ requireEnum(value, "kind", path, CONNECTOR_KINDS, issues);
81
+ optionalString(value, "label", path, issues);
82
+ }
83
+ function validateGroupArray(value, issues) {
84
+ if (value === undefined)
85
+ return;
86
+ if (!Array.isArray(value))
87
+ return fail(issues, "$.groups", "must be an array when provided");
88
+ const ids = new Set();
89
+ value.forEach((item, index) => validateGroup(item, index, ids, issues));
90
+ }
91
+ function validateGroup(value, index, ids, issues) {
92
+ const path = `$.groups[${index}]`;
93
+ if (!isObjectMap(value))
94
+ return fail(issues, path, "must be an object");
95
+ const id = requireString(value, "id", path, issues);
96
+ if (id && ids.has(id))
97
+ fail(issues, `${path}.id`, "must be unique");
98
+ if (id)
99
+ ids.add(id);
100
+ requireString(value, "title", path, issues);
101
+ }
102
+ function validateText(value, path, issues) {
103
+ if (!isObjectMap(value))
104
+ return fail(issues, path, "must be an object");
105
+ requireString(value, "label", path, issues);
106
+ optionalString(value, "description", path, issues);
107
+ }
108
+ function validateIcon(value, path, issues) {
109
+ if (value === undefined)
110
+ return;
111
+ if (!isObjectMap(value))
112
+ return fail(issues, path, "must be an object when provided");
113
+ requireString(value, "semantic", path, issues);
114
+ requireString(value, "iconifyId", path, issues);
115
+ }
116
+ function isObjectMap(value) {
117
+ return typeof value === "object" && value !== null && !Array.isArray(value);
118
+ }
119
+ function requireString(value, key, path, issues) {
120
+ const field = value[key];
121
+ if (typeof field === "string" && field.trim() !== "")
122
+ return field;
123
+ fail(issues, `${path}.${key}`, "must be a non-empty string");
124
+ return undefined;
125
+ }
126
+ function optionalString(value, key, path, issues) {
127
+ if (value[key] !== undefined && typeof value[key] !== "string") {
128
+ fail(issues, `${path}.${key}`, "must be a string when provided");
129
+ }
130
+ }
131
+ function requireEnum(value, key, path, allowed, issues) {
132
+ const field = value[key];
133
+ if (typeof field === "string" && allowed.includes(field))
134
+ return;
135
+ fail(issues, `${path}.${key}`, `must be one of: ${allowed.join(", ")}`);
136
+ }
137
+ function collectIds(value) {
138
+ if (!Array.isArray(value))
139
+ return new Set();
140
+ return new Set(value
141
+ .filter(isObjectMap)
142
+ .map((item) => item.id)
143
+ .filter((id) => typeof id === "string"));
144
+ }
145
+ function fail(issues, path, message) {
146
+ issues.push({ path, message });
147
+ }
148
+ //# sourceMappingURL=diagram-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-schema.js","sourceRoot":"","sources":["../src/diagram-schema.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,6 @@ export { layoutDiagram } from "./layout.js";
3
3
  export { generateDeterministicDiagram, runDeterministicDiagramPipeline, } from "./pipeline.js";
4
4
  export { renderDiagramSvg } from "./render-svg.js";
5
5
  export { validateDiagramArtifact } from "./validate.js";
6
+ export { validateDiagramModelPayload } from "../diagram-schema.js";
7
+ export { StructuredOutputValidationError, type StructuredOutputValidationIssue, } from "../structured-output-validation.js";
6
8
  export type { DiagramArtifact, DiagramConnector, DiagramConnectorKind, DiagramConnectorLayout, DiagramDirection, DiagramGroup, DiagramGroupLayout, DiagramIconRef, DiagramLayout, DiagramModel, DiagramNode, DiagramNodeKind, DiagramNodeLayout, DiagramPoint, DiagramPipelineIteration, DiagramPipelineRun, DiagramPipelineRunOptions, DiagramRect, DiagramSeverity, DiagramText, DiagramValidationFinding, } from "./model.js";
@@ -3,4 +3,6 @@ export { layoutDiagram } from "./layout.js";
3
3
  export { generateDeterministicDiagram, runDeterministicDiagramPipeline, } from "./pipeline.js";
4
4
  export { renderDiagramSvg } from "./render-svg.js";
5
5
  export { validateDiagramArtifact } from "./validate.js";
6
+ export { validateDiagramModelPayload } from "../diagram-schema.js";
7
+ export { StructuredOutputValidationError, } from "../structured-output-validation.js";
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/diagrams/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GAIrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/diagrams/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GAIrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EACL,+BAA+B,GAEhC,MAAM,oCAAoC,CAAC"}