@sentropic/focus 0.5.0-rc.4 → 0.5.0-rc.8

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 (86) hide show
  1. package/dist/editing/anchors.d.ts +14 -0
  2. package/dist/editing/anchors.d.ts.map +1 -0
  3. package/dist/editing/anchors.js +113 -0
  4. package/dist/editing/anchors.js.map +1 -0
  5. package/dist/editing/codec.d.ts +24 -0
  6. package/dist/editing/codec.d.ts.map +1 -0
  7. package/dist/editing/codec.js +143 -0
  8. package/dist/editing/codec.js.map +1 -0
  9. package/dist/editing/contract.d.ts +129 -0
  10. package/dist/editing/contract.d.ts.map +1 -0
  11. package/dist/editing/contract.js +76 -0
  12. package/dist/editing/contract.js.map +1 -0
  13. package/dist/editing/diff.d.ts +12 -0
  14. package/dist/editing/diff.d.ts.map +1 -0
  15. package/dist/editing/diff.js +125 -0
  16. package/dist/editing/diff.js.map +1 -0
  17. package/dist/editing/digest.d.ts +6 -0
  18. package/dist/editing/digest.d.ts.map +1 -0
  19. package/dist/editing/digest.js +56 -0
  20. package/dist/editing/digest.js.map +1 -0
  21. package/dist/editing/index.d.ts +7 -0
  22. package/dist/editing/index.d.ts.map +1 -0
  23. package/dist/editing/index.js +7 -0
  24. package/dist/editing/index.js.map +1 -0
  25. package/dist/editing/reconcile.d.ts +66 -0
  26. package/dist/editing/reconcile.d.ts.map +1 -0
  27. package/dist/editing/reconcile.js +167 -0
  28. package/dist/editing/reconcile.js.map +1 -0
  29. package/dist/editing/structure.d.ts +24 -0
  30. package/dist/editing/structure.d.ts.map +1 -0
  31. package/dist/editing/structure.js +71 -0
  32. package/dist/editing/structure.js.map +1 -0
  33. package/dist/index.d.ts +4 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +2 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/model.d.ts +71 -1
  38. package/dist/model.d.ts.map +1 -1
  39. package/dist/model.js +1 -1
  40. package/dist/model.js.map +1 -1
  41. package/dist/registry/definitions.d.ts +1 -1
  42. package/dist/registry/definitions.d.ts.map +1 -1
  43. package/dist/registry/definitions.js +40 -32
  44. package/dist/registry/definitions.js.map +1 -1
  45. package/dist/render/evidence.d.ts +10 -0
  46. package/dist/render/evidence.d.ts.map +1 -0
  47. package/dist/render/evidence.js +37 -0
  48. package/dist/render/evidence.js.map +1 -0
  49. package/dist/render/html.d.ts.map +1 -1
  50. package/dist/render/html.js +2 -0
  51. package/dist/render/html.js.map +1 -1
  52. package/dist/render/md.d.ts.map +1 -1
  53. package/dist/render/md.js +3 -0
  54. package/dist/render/md.js.map +1 -1
  55. package/dist/render/terminal.d.ts.map +1 -1
  56. package/dist/render/terminal.js +3 -0
  57. package/dist/render/terminal.js.map +1 -1
  58. package/dist/validation/evidence-bytes.d.ts +5 -0
  59. package/dist/validation/evidence-bytes.d.ts.map +1 -0
  60. package/dist/validation/evidence-bytes.js +57 -0
  61. package/dist/validation/evidence-bytes.js.map +1 -0
  62. package/dist/validation/evidence-shape.d.ts +12 -0
  63. package/dist/validation/evidence-shape.d.ts.map +1 -0
  64. package/dist/validation/evidence-shape.js +54 -0
  65. package/dist/validation/evidence-shape.js.map +1 -0
  66. package/dist/validation/evidence-sources.d.ts +7 -0
  67. package/dist/validation/evidence-sources.d.ts.map +1 -0
  68. package/dist/validation/evidence-sources.js +56 -0
  69. package/dist/validation/evidence-sources.js.map +1 -0
  70. package/dist/validation/evidence.d.ts +5 -0
  71. package/dist/validation/evidence.d.ts.map +1 -0
  72. package/dist/validation/evidence.js +131 -0
  73. package/dist/validation/evidence.js.map +1 -0
  74. package/dist/validation/index.d.ts +1 -1
  75. package/dist/validation/index.d.ts.map +1 -1
  76. package/dist/validation/index.js +11 -1
  77. package/dist/validation/index.js.map +1 -1
  78. package/dist/validation/readability.d.ts.map +1 -1
  79. package/dist/validation/readability.js +21 -0
  80. package/dist/validation/readability.js.map +1 -1
  81. package/package.json +14 -3
  82. package/registry/entries.v1.json +17 -4
  83. package/schemas/decision-dossier-document.v2.schema.json +925 -0
  84. package/schemas/focus-edit-return.v1.schema.json +950 -0
  85. package/schemas/focus-editing-manifest.v1.schema.json +167 -0
  86. package/skills/focus/SKILL.md +50 -1
@@ -9,6 +9,7 @@
9
9
  * this stays a pure string builder with no ANSI/color side effects.
10
10
  */
11
11
  import { preparePresentation } from "./presentation.js";
12
+ import { evidenceIndex } from './evidence.js';
12
13
  const rule = (width) => "=".repeat(Math.max(8, width));
13
14
  const renderQuestion = (q) => {
14
15
  const lines = [`Q: ${q.question} [${q.state}]`];
@@ -86,6 +87,8 @@ export const renderTerminal = (doc, opts = {}) => {
86
87
  blocks.push(renderNode(node));
87
88
  }
88
89
  blocks.push(renderAmendmentTrace(doc.amendmentTrace));
90
+ if (evidenceIndex(doc))
91
+ blocks.push(evidenceIndex(doc));
89
92
  const affordances = renderAffordances(doc.interactions);
90
93
  if (affordances !== "")
91
94
  blocks.push(affordances);
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/render/terminal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/render/terminal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function sha256(bytes: Uint8Array): string;
2
+ export declare function decodeEvidence(data: string): Uint8Array;
3
+ export declare const evidenceText: (bytes: Uint8Array) => string;
4
+ export declare const evidenceLines: (text: string) => string[];
5
+ //# sourceMappingURL=evidence-bytes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-bytes.d.ts","sourceRoot":"","sources":["../../src/validation/evidence-bytes.ts"],"names":[],"mappings":"AAUA,wBAAgB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAuBhD;AACD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAOvD;AACD,eAAO,MAAM,YAAY,GAAI,OAAO,UAAU,KAAG,MAAkF,CAAC;AACpI,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,MAAM,EAA8B,CAAC"}
@@ -0,0 +1,57 @@
1
+ /** Synchronous, portable SHA-256 over original bytes (FIPS 180-4). No I/O. */
2
+ const K = [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
3
+ 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
4
+ 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
5
+ 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
6
+ 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
7
+ 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
8
+ 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
9
+ 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];
10
+ const rr = (v, n) => (v >>> n) | (v << (32 - n));
11
+ export function sha256(bytes) {
12
+ const padded = new Uint8Array(Math.ceil((bytes.length + 9) / 64) * 64);
13
+ padded.set(bytes);
14
+ padded[bytes.length] = 128;
15
+ const view = new DataView(padded.buffer), bits = bytes.length * 8;
16
+ view.setUint32(padded.length - 8, Math.floor(bits / 0x100000000));
17
+ view.setUint32(padded.length - 4, bits >>> 0);
18
+ const h = [0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19];
19
+ const w = new Int32Array(64);
20
+ for (let offset = 0; offset < padded.length; offset += 64) {
21
+ for (let i = 0; i < 16; i++)
22
+ w[i] = view.getInt32(offset + i * 4);
23
+ for (let i = 16; i < 64; i++) {
24
+ const x = w[i - 15], y = w[i - 2];
25
+ w[i] = w[i - 16] + (rr(x, 7) ^ rr(x, 18) ^ (x >>> 3)) + w[i - 7] + (rr(y, 17) ^ rr(y, 19) ^ (y >>> 10));
26
+ }
27
+ let [a, b, c, d, e, f, g, j] = h;
28
+ for (let i = 0; i < 64; i++) {
29
+ const t = (j + (rr(e, 6) ^ rr(e, 11) ^ rr(e, 25)) + ((e & f) ^ (~e & g)) + K[i] + w[i]) | 0;
30
+ const u = ((rr(a, 2) ^ rr(a, 13) ^ rr(a, 22)) + ((a & b) ^ (a & c) ^ (b & c))) | 0;
31
+ j = g;
32
+ g = f;
33
+ f = e;
34
+ e = (d + t) | 0;
35
+ d = c;
36
+ c = b;
37
+ b = a;
38
+ a = (t + u) | 0;
39
+ }
40
+ [a, b, c, d, e, f, g, j].forEach((v, i) => { h[i] = (h[i] + v) | 0; });
41
+ }
42
+ return h.map(v => (v >>> 0).toString(16).padStart(8, '0')).join('');
43
+ }
44
+ export function decodeEvidence(data) {
45
+ if (data.length % 4 || /[^A-Za-z0-9+/]/.test(data.replace(/={1,2}$/, '')))
46
+ throw new Error('Invalid base64');
47
+ const binary = atob(data);
48
+ if (btoa(binary) !== data)
49
+ throw new Error('Non-canonical base64');
50
+ const bytes = new Uint8Array(binary.length);
51
+ for (let i = 0; i < bytes.length; i++)
52
+ bytes[i] = binary.charCodeAt(i);
53
+ return bytes;
54
+ }
55
+ export const evidenceText = (bytes) => new TextDecoder('utf-8', { fatal: true, ignoreBOM: true }).decode(bytes);
56
+ export const evidenceLines = (text) => text.split(/\r\n|\n|\r/);
57
+ //# sourceMappingURL=evidence-bytes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-bytes.js","sourceRoot":"","sources":["../../src/validation/evidence-bytes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { ValidationIssue } from './index.js';
2
+ export declare class EvidenceError extends Error {
3
+ readonly issue: ValidationIssue;
4
+ constructor(issue: ValidationIssue);
5
+ }
6
+ export declare const fail: (path: string, code: string, message: string) => never;
7
+ export declare function record(value: unknown, path: string, required: readonly string[], optional?: readonly string[]): Record<string, unknown>;
8
+ export declare function text(value: unknown, path: string, allowEmpty?: boolean): string;
9
+ export declare function array(value: unknown, path: string): unknown[];
10
+ export declare const strings: (value: unknown, path: string) => string[];
11
+ export declare function imageDimensions(bytes: Uint8Array, media: string): [number, number] | undefined;
12
+ //# sourceMappingURL=evidence-shape.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-shape.d.ts","sourceRoot":"","sources":["../../src/validation/evidence-shape.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,qBAAa,aAAc,SAAQ,KAAK;IAC1B,QAAQ,CAAC,KAAK,EAAE,eAAe;gBAAtB,KAAK,EAAE,eAAe;CAC5C;AACD,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,EAAE,SAAS,MAAM,KAAG,KAElE,CAAC;AACF,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAM3I;AACD,wBAAgB,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,UAAQ,GAAG,MAAM,CAG7E;AACD,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAG7D;AACD,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,EAAE,MAAM,MAAM,KAAG,MAAM,EAAgE,CAAC;AAC9H,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAgB9F"}
@@ -0,0 +1,54 @@
1
+ export class EvidenceError extends Error {
2
+ issue;
3
+ constructor(issue) {
4
+ super(issue.message);
5
+ this.issue = issue;
6
+ }
7
+ }
8
+ export const fail = (path, code, message) => {
9
+ throw new EvidenceError({ path, code, message });
10
+ };
11
+ export function record(value, path, required, optional = []) {
12
+ if (!value || typeof value !== 'object' || Array.isArray(value))
13
+ fail(path, 'invalid_evidence', 'Expected a closed object');
14
+ const obj = value;
15
+ for (const key of Object.keys(obj))
16
+ if (![...required, ...optional].includes(key))
17
+ fail(`${path}.${key}`, 'invalid_evidence', 'Unknown evidence field');
18
+ for (const key of required)
19
+ if (!Object.hasOwn(obj, key))
20
+ fail(`${path}.${key}`, 'invalid_evidence', 'Missing evidence field');
21
+ return obj;
22
+ }
23
+ export function text(value, path, allowEmpty = false) {
24
+ if (typeof value !== 'string' || (!allowEmpty && !value.trim()))
25
+ fail(path, 'invalid_evidence', 'Expected a non-empty string');
26
+ return value;
27
+ }
28
+ export function array(value, path) {
29
+ if (!Array.isArray(value))
30
+ fail(path, 'invalid_evidence', 'Expected an array');
31
+ return value;
32
+ }
33
+ export const strings = (value, path) => array(value, path).map((v, i) => text(v, `${path}[${i}]`));
34
+ export function imageDimensions(bytes, media) {
35
+ const u32 = (n) => new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength).getUint32(n);
36
+ if (media === 'image/png') {
37
+ if (bytes.length >= 33 && [137, 80, 78, 71, 13, 10, 26, 10].every((v, i) => bytes[i] === v)
38
+ && u32(8) === 13 && u32(12) === 0x49484452)
39
+ return [u32(16), u32(20)];
40
+ }
41
+ else if (bytes[0] === 255 && bytes[1] === 216) {
42
+ let i = 2;
43
+ while (i + 4 < bytes.length && bytes[i] === 255) {
44
+ const marker = bytes[i + 1], size = (bytes[i + 2] << 8) | bytes[i + 3];
45
+ if (size < 2 || i + 2 + size > bytes.length)
46
+ break;
47
+ if ([0xc0, 0xc1, 0xc2, 0xc3, 0xc5, 0xc6, 0xc7, 0xc9, 0xca, 0xcb, 0xcd, 0xce, 0xcf].includes(marker) && size >= 8)
48
+ return [(bytes[i + 7] << 8) | bytes[i + 8], (bytes[i + 5] << 8) | bytes[i + 6]];
49
+ i += size + 2;
50
+ }
51
+ }
52
+ return undefined;
53
+ }
54
+ //# sourceMappingURL=evidence-shape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-shape.js","sourceRoot":"","sources":["../../src/validation/evidence-shape.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { EvidenceSource } from '../model.js';
2
+ export declare const isTextSource: (media: string) => boolean;
3
+ export declare function checkSources(value: unknown, register: (id: string, path: string) => void): {
4
+ sources: EvidenceSource[];
5
+ lineCounts: Map<string, number>;
6
+ };
7
+ //# sourceMappingURL=evidence-sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-sources.d.ts","sourceRoot":"","sources":["../../src/validation/evidence-sources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,OAC8D,CAAC;AAC5G,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG;IAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAiCzJ"}
@@ -0,0 +1,56 @@
1
+ import { decodeEvidence, evidenceLines, evidenceText, sha256 } from './evidence-bytes.js';
2
+ import { array, fail, imageDimensions, record, text } from './evidence-shape.js';
3
+ export const isTextSource = (media) => /^text\/[a-z0-9.+-]+$/.test(media)
4
+ || ['application/json', 'application/yaml', 'application/x-yaml', 'application/x-ndjson'].includes(media);
5
+ export function checkSources(value, register) {
6
+ const lineCounts = new Map();
7
+ const sources = array(value, '$.sources').map((raw, i) => {
8
+ const path = `$.sources[${i}]`;
9
+ const s = record(raw, path, ['id', 'title', 'origin', 'mediaType', 'encoding', 'data', 'sha256', 'size'], ['width', 'height', 'alt']);
10
+ for (const key of ['id', 'title', 'mediaType', 'sha256'])
11
+ text(s[key], `${path}.${key}`);
12
+ register(s.id, `${path}.id`);
13
+ const origin = s.origin;
14
+ const fields = origin && Object.hasOwn(origin, 'uri') ? ['uri'] : ['repo', 'revision', 'path'];
15
+ record(origin, `${path}.origin`, fields);
16
+ for (const key of fields)
17
+ text(origin[key], `${path}.origin.${key}`);
18
+ if (s.encoding !== 'base64')
19
+ fail(`${path}.encoding`, 'source_encoding', 'Only original base64 bytes are accepted');
20
+ const media = s.mediaType;
21
+ if (!isTextSource(media) && !['image/png', 'image/jpeg'].includes(media))
22
+ fail(`${path}.mediaType`, 'unsupported_media', `Unsupported media for source ${s.id}`);
23
+ let bytes;
24
+ try {
25
+ bytes = decodeEvidence(text(s.data, `${path}.data`, true));
26
+ }
27
+ catch {
28
+ return fail(`${path}.data`, 'source_encoding', `Invalid base64 for source ${s.id}`);
29
+ }
30
+ if (!Number.isSafeInteger(s.size) || s.size !== bytes.length)
31
+ fail(`${path}.size`, 'source_size', `Byte size mismatch for source ${s.id}`);
32
+ if (!/^[a-f0-9]{64}$/.test(s.sha256) || sha256(bytes) !== s.sha256)
33
+ fail(`${path}.sha256`, 'source_digest', `SHA-256 mismatch for source ${s.id}`);
34
+ if (isTextSource(media)) {
35
+ try {
36
+ lineCounts.set(s.id, evidenceLines(evidenceText(bytes)).length);
37
+ }
38
+ catch {
39
+ fail(`${path}.data`, 'source_encoding', `Invalid UTF-8 for source ${s.id}`);
40
+ }
41
+ for (const key of ['width', 'height', 'alt'])
42
+ if (s[key] !== undefined)
43
+ fail(`${path}.${key}`, 'invalid_evidence', 'Image metadata on text');
44
+ }
45
+ else {
46
+ text(s.alt, `${path}.alt`);
47
+ const dimensions = imageDimensions(bytes, media);
48
+ if (!dimensions || !Number.isSafeInteger(s.width) || !Number.isSafeInteger(s.height)
49
+ || dimensions[0] <= 0 || dimensions[1] <= 0 || dimensions[0] !== s.width || dimensions[1] !== s.height)
50
+ fail(path, 'image_metadata', `Image dimensions/signature mismatch for source ${s.id}`);
51
+ }
52
+ return s;
53
+ });
54
+ return { sources, lineCounts };
55
+ }
56
+ //# sourceMappingURL=evidence-sources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-sources.js","sourceRoot":"","sources":["../../src/validation/evidence-sources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { DecisionDossierDocumentV1, DecisionDossierDocumentV2 } from '../model.js';
2
+ import type { ValidationResult } from './index.js';
3
+ /** Dispatch before the legacy closed validator, keeping its shape and identity intact. */
4
+ export declare function checkEvidence(value: Record<string, unknown>, legacy: (v: unknown) => ValidationResult<DecisionDossierDocumentV1>): ValidationResult<DecisionDossierDocumentV2>;
5
+ //# sourceMappingURL=evidence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/validation/evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,yBAAyB,EAAkD,MAAM,aAAa,CAAC;AACxI,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAInD,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,gBAAgB,CAAC,yBAAyB,CAAC,GAAG,gBAAgB,CAAC,yBAAyB,CAAC,CA+F9K"}
@@ -0,0 +1,131 @@
1
+ import { array, EvidenceError, fail, record, strings, text } from './evidence-shape.js';
2
+ import { checkSources } from './evidence-sources.js';
3
+ /** Dispatch before the legacy closed validator, keeping its shape and identity intact. */
4
+ export function checkEvidence(value, legacy) {
5
+ try {
6
+ const { schemaVersion: _version, sources: rawSources, citations: rawCitations, evidenceGroups: rawGroups, annexes: rawAnnexes, ...base } = value;
7
+ const citationLinks = new Map();
8
+ const strip = (raw, path) => {
9
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw))
10
+ return raw;
11
+ const { citationRefs, ...node } = raw;
12
+ if (citationRefs !== undefined)
13
+ citationLinks.set(path, strings(citationRefs, `${path}.citationRefs`));
14
+ return node;
15
+ };
16
+ if (Array.isArray(base.sections))
17
+ base.sections = base.sections.map((raw, i) => {
18
+ const section = strip(raw, `$.sections[${i}]`);
19
+ if (section?.kind === 'optionSet' && Array.isArray(section.options))
20
+ return { ...section,
21
+ options: section.options.map((o, j) => strip(o, `$.sections[${i}].options[${j}]`)) };
22
+ return section;
23
+ });
24
+ const checked = legacy(base);
25
+ if (!checked.ok)
26
+ return checked;
27
+ const doc = checked.value, seen = new Set(), targets = new Set([doc.ref]);
28
+ const register = (id, path) => {
29
+ if (seen.has(id))
30
+ fail(path, 'duplicate_id', `Duplicate id ${id}`);
31
+ seen.add(id);
32
+ };
33
+ doc.sections.forEach(s => {
34
+ register(s.id, '$.sections');
35
+ targets.add(s.id);
36
+ targets.add(s.targetRef);
37
+ if (s.kind === 'optionSet')
38
+ s.options.forEach(o => { register(o.id, '$.sections.options'); targets.add(o.id); targets.add(o.targetRef); });
39
+ });
40
+ const { sources, lineCounts } = checkSources(rawSources, register);
41
+ const sourceMap = new Map(sources.map(s => [s.id, s]));
42
+ const citations = array(rawCitations, '$.citations').map((raw, i) => {
43
+ const p = `$.citations[${i}]`, c = record(raw, p, ['id', 'sourceId', 'label', 'locator']);
44
+ for (const key of ['id', 'sourceId', 'label'])
45
+ text(c[key], `${p}.${key}`);
46
+ register(c.id, `${p}.id`);
47
+ const source = sourceMap.get(c.sourceId) ?? fail(`${p}.sourceId`, 'unresolved_source', `Unknown source ${c.sourceId}`);
48
+ const loc = c.locator;
49
+ if (loc?.kind === 'lines') {
50
+ record(loc, `${p}.locator`, ['kind', 'start', 'end']);
51
+ if (!lineCounts.has(source.id))
52
+ fail(`${p}.locator`, 'citation_media', `Source ${source.id} is not text`);
53
+ if (!Number.isSafeInteger(loc.start) || !Number.isSafeInteger(loc.end) || loc.start < 1
54
+ || loc.end < loc.start || loc.end > lineCounts.get(source.id))
55
+ fail(`${p}.locator`, 'citation_range', `Invalid inclusive line range for ${source.id}`);
56
+ }
57
+ else if (loc?.kind === 'image') {
58
+ record(loc, `${p}.locator`, ['kind', 'caption']);
59
+ text(loc.caption, `${p}.locator.caption`);
60
+ if (!source.mediaType.startsWith('image/'))
61
+ fail(`${p}.locator`, 'citation_media', `Source ${source.id} is not an image`);
62
+ }
63
+ else
64
+ fail(`${p}.locator`, 'invalid_evidence', 'Unknown citation locator');
65
+ return c;
66
+ });
67
+ const citationIds = new Set(citations.map(c => c.id));
68
+ const references = (raw, p, ids, code) => {
69
+ const refs = strings(raw, p);
70
+ for (const id of refs)
71
+ if (!ids.has(id))
72
+ fail(p, code, `Unresolved reference ${id}`);
73
+ return refs;
74
+ };
75
+ for (const [path, refs] of citationLinks)
76
+ references(refs, `${path}.citationRefs`, citationIds, 'unresolved_citation');
77
+ const evidenceGroups = array(rawGroups, '$.evidenceGroups').map((raw, i) => {
78
+ const p = `$.evidenceGroups[${i}]`, g = record(raw, p, ['id', 'summary', 'citationRefs', 'sourceRefs']);
79
+ register(text(g.id, `${p}.id`), `${p}.id`);
80
+ text(g.summary, `${p}.summary`);
81
+ references(g.citationRefs, `${p}.citationRefs`, citationIds, 'unresolved_citation');
82
+ references(g.sourceRefs, `${p}.sourceRefs`, new Set(sourceMap.keys()), 'unresolved_source');
83
+ return g;
84
+ });
85
+ const annexes = array(rawAnnexes, '$.annexes').map((raw, i) => {
86
+ const p = `$.annexes[${i}]`, a = record(raw, p, ['id', 'title', 'summary', 'blocks', 'backRefs']);
87
+ register(text(a.id, `${p}.id`), `${p}.id`);
88
+ text(a.title, `${p}.title`);
89
+ text(a.summary, `${p}.summary`);
90
+ references(a.backRefs, `${p}.backRefs`, targets, 'unresolved_target');
91
+ array(a.blocks, `${p}.blocks`).forEach((rawBlock, j) => {
92
+ const bpath = `${p}.blocks[${j}]`, kind = rawBlock?.kind;
93
+ if (kind === 'text' || kind === 'code') {
94
+ const b = record(rawBlock, bpath, ['kind', 'text'], kind === 'code' ? ['language'] : []);
95
+ text(b.text, `${bpath}.text`, true);
96
+ if (b.language !== undefined)
97
+ text(b.language, `${bpath}.language`);
98
+ }
99
+ else if (kind === 'table') {
100
+ const b = record(rawBlock, bpath, ['kind', 'columns', 'rows']);
101
+ const columns = strings(b.columns, `${bpath}.columns`);
102
+ if (!columns.length)
103
+ fail(bpath, 'invalid_evidence', 'A table needs columns');
104
+ array(b.rows, `${bpath}.rows`).forEach((row, k) => {
105
+ const cells = array(row, `${bpath}.rows[${k}]`);
106
+ cells.forEach((cell, l) => text(cell, `${bpath}.rows[${k}][${l}]`, true));
107
+ if (cells.length !== columns.length)
108
+ fail(bpath, 'invalid_evidence', 'Table row width mismatch');
109
+ });
110
+ }
111
+ else if (kind === 'references') {
112
+ const b = record(rawBlock, bpath, ['kind', 'citationRefs']);
113
+ references(b.citationRefs, `${bpath}.citationRefs`, citationIds, 'unresolved_citation');
114
+ }
115
+ else
116
+ fail(`${bpath}.kind`, 'invalid_evidence', 'Unsupported annex block (no decisions or active content)');
117
+ });
118
+ return a;
119
+ });
120
+ const attach = (node, path) => citationLinks.has(path) ? { ...node, citationRefs: citationLinks.get(path) } : node;
121
+ const sections = doc.sections.map((s, i) => attach(s.kind === 'optionSet' ? { ...s,
122
+ options: s.options.map((o, j) => attach(o, `$.sections[${i}].options[${j}]`)) } : s, `$.sections[${i}]`));
123
+ return { ok: true, value: { ...doc, schemaVersion: 2, sections, sources, citations, evidenceGroups, annexes } };
124
+ }
125
+ catch (error) {
126
+ if (error instanceof EvidenceError)
127
+ return { ok: false, issues: [error.issue] };
128
+ throw error;
129
+ }
130
+ }
131
+ //# sourceMappingURL=evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/validation/evidence.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ export declare class DecisionDossierValidationError extends Error {
44
44
  readonly issues: readonly ValidationIssue[];
45
45
  constructor(issues: readonly ValidationIssue[]);
46
46
  }
47
- /** Structural layer: closed shape check against the published schema. */
47
+ /** Absence means historical v1; unknown explicit versions always refuse. */
48
48
  export declare const validateDecisionDossierStructure: (value: unknown) => ValidationResult<DecisionDossierDocument>;
49
49
  /** Semantic layer on a structurally valid dossier. Empty means valid. */
50
50
  export declare const validateDecisionDossierSemantics: (doc: DecisionDossierDocument) => ValidationIssue[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kCAAkC,EAAE,MAAM,kBAAkB,CAAC;AAE/G,OAAO,KAAK,EAIV,uBAAuB,EAUxB,MAAM,aAAa,CAAC;AAErB,uEAAuE;AACvE,eAAO,MAAM,iBAAiB,sDACuB,CAAC;AAEtD,yEAAyE;AACzE,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAE9C,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACxC;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAA;CAAE,CAAC;AAExE,6EAA6E;AAC7E,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;gBAChC,MAAM,EAAE,SAAS,eAAe,EAAE;CAS/C;AAuXD,yEAAyE;AACzE,eAAO,MAAM,gCAAgC,GAC3C,OAAO,OAAO,KACb,gBAAgB,CAAC,uBAAuB,CAkG1C,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,gCAAgC,GAC3C,KAAK,uBAAuB,KAC3B,eAAe,EA8DjB,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,+BAA+B,GAC1C,OAAO,OAAO,KACb,gBAAgB,CAAC,uBAAuB,CAM1C,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,6BAA6B,GACxC,OAAO,OAAO,KACb,uBAIF,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,sCAAsC,GAAI,OAAO,OAAO,KAAG,gBAAgB,CAAC,uBAAuB,CAK/G,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,oCAAoC,GAAI,OAAO,OAAO,KAAG,uBAIrE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kCAAkC,EAAE,MAAM,kBAAkB,CAAC;AAE/G,OAAO,KAAK,EAIV,uBAAuB,EAWxB,MAAM,aAAa,CAAC;AAErB,uEAAuE;AACvE,eAAO,MAAM,iBAAiB,sDACuB,CAAC;AAEtD,yEAAyE;AACzE,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAE9C,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACxC;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAA;CAAE,CAAC;AAExE,6EAA6E;AAC7E,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;gBAChC,MAAM,EAAE,SAAS,eAAe,EAAE;CAS/C;AA8dD,4EAA4E;AAC5E,eAAO,MAAM,gCAAgC,GAAI,OAAO,OAAO,KAAG,gBAAgB,CAAC,uBAAuB,CAMzG,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,gCAAgC,GAC3C,KAAK,uBAAuB,KAC3B,eAAe,EA8DjB,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,+BAA+B,GAC1C,OAAO,OAAO,KACb,gBAAgB,CAAC,uBAAuB,CAM1C,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,6BAA6B,GACxC,OAAO,OAAO,KACb,uBAIF,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,sCAAsC,GAAI,OAAO,OAAO,KAAG,gBAAgB,CAAC,uBAAuB,CAK/G,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,oCAAoC,GAAI,OAAO,OAAO,KAAG,uBAIrE,CAAC"}
@@ -18,6 +18,7 @@
18
18
  * Every recorded issue is a refusal — the schema is closed.
19
19
  */
20
20
  import { validateDecisionDossierReadability } from "./readability.js";
21
+ import { checkEvidence } from './evidence.js';
21
22
  export { READABILITY_LIMITS, READABILITY_BUDGETS, validateDecisionDossierReadability } from "./readability.js";
22
23
  /** Stable schema ID of the published DecisionDossierDocument asset. */
23
24
  export const DOSSIER_SCHEMA_ID = "urn:sentropic:focus:DecisionDossierDocument:1.0.0";
@@ -314,7 +315,7 @@ const checkReadability = (value, path, issues) => {
314
315
  };
315
316
  };
316
317
  /** Structural layer: closed shape check against the published schema. */
317
- export const validateDecisionDossierStructure = (value) => {
318
+ const validateLegacyStructure = (value) => {
318
319
  const issues = [];
319
320
  const doc = checkClosedObject(value, "$", [...TOP_ALLOWED], [...TOP_REQUIRED], [...TOP_STRINGS], issues);
320
321
  if (doc === undefined)
@@ -404,6 +405,15 @@ export const validateDecisionDossierStructure = (value) => {
404
405
  },
405
406
  };
406
407
  };
408
+ /** Absence means historical v1; unknown explicit versions always refuse. */
409
+ export const validateDecisionDossierStructure = (value) => {
410
+ if (isRecord(value) && Object.hasOwn(value, 'schemaVersion')) {
411
+ if (value.schemaVersion !== 2)
412
+ return { ok: false, issues: [issue('$.schemaVersion', 'unsupported_version', 'Supported explicit version: 2; omit schemaVersion for legacy v1')] };
413
+ return checkEvidence(value, validateLegacyStructure);
414
+ }
415
+ return validateLegacyStructure(value);
416
+ };
407
417
  /** Semantic layer on a structurally valid dossier. Empty means valid. */
408
418
  export const validateDecisionDossierSemantics = (doc) => {
409
419
  const issues = [];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"readability.d.ts","sourceRoot":"","sources":["../../src/validation/readability.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAiB,uBAAuB,EAAc,MAAM,aAAa,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,mBAAmB;;;;CAA2C,CAAC;AAC5E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;CAcrB,CAAC;AAeX,oFAAoF;AACpF,eAAO,MAAM,kCAAkC,GAAI,KAAK,uBAAuB,KAAG,eAAe,EAoMhG,CAAC"}
1
+ {"version":3,"file":"readability.d.ts","sourceRoot":"","sources":["../../src/validation/readability.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAiB,uBAAuB,EAAc,MAAM,aAAa,CAAC;AAEtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,mBAAmB;;;;CAA2C,CAAC;AAC5E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;CAcrB,CAAC;AAeX,oFAAoF;AACpF,eAAO,MAAM,kCAAkC,GAAI,KAAK,uBAAuB,KAAG,eAAe,EAoNhG,CAAC"}