@uwmd/core 1.9.0 → 1.10.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 (48) hide show
  1. package/dist/browser.d.ts +6 -2
  2. package/dist/browser.d.ts.map +1 -1
  3. package/dist/browser.js +3 -1
  4. package/dist/browser.js.map +1 -1
  5. package/dist/cli.js +85 -5
  6. package/dist/cli.js.map +1 -1
  7. package/dist/editor.d.ts.map +1 -1
  8. package/dist/editor.js +12 -0
  9. package/dist/editor.js.map +1 -1
  10. package/dist/index.d.ts +7 -3
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +4 -2
  13. package/dist/index.js.map +1 -1
  14. package/dist/integrity-canonical.d.ts +20 -0
  15. package/dist/integrity-canonical.d.ts.map +1 -1
  16. package/dist/integrity-canonical.js +66 -0
  17. package/dist/integrity-canonical.js.map +1 -1
  18. package/dist/integrity.d.ts +10 -1
  19. package/dist/integrity.d.ts.map +1 -1
  20. package/dist/integrity.js +22 -6
  21. package/dist/integrity.js.map +1 -1
  22. package/dist/meta-shape.d.ts +96 -0
  23. package/dist/meta-shape.d.ts.map +1 -0
  24. package/dist/meta-shape.js +211 -0
  25. package/dist/meta-shape.js.map +1 -0
  26. package/dist/migrate-to-v2.d.ts +42 -0
  27. package/dist/migrate-to-v2.d.ts.map +1 -0
  28. package/dist/migrate-to-v2.js +0 -0
  29. package/dist/migrate-to-v2.js.map +1 -0
  30. package/dist/parser.d.ts.map +1 -1
  31. package/dist/parser.js +13 -1
  32. package/dist/parser.js.map +1 -1
  33. package/dist/protocol.d.ts +94 -1
  34. package/dist/protocol.d.ts.map +1 -1
  35. package/dist/protocol.js +232 -1
  36. package/dist/protocol.js.map +1 -1
  37. package/dist/types.d.ts +7 -0
  38. package/dist/types.d.ts.map +1 -1
  39. package/dist/types.js.map +1 -1
  40. package/dist/validator.d.ts +3 -48
  41. package/dist/validator.d.ts.map +1 -1
  42. package/dist/validator.js +59 -64
  43. package/dist/validator.js.map +1 -1
  44. package/dist/version.d.ts +1 -1
  45. package/dist/version.d.ts.map +1 -1
  46. package/dist/version.js +1 -1
  47. package/dist/version.js.map +1 -1
  48. package/package.json +2 -2
@@ -0,0 +1,96 @@
1
+ import type { ConfidenceLevel, InheritedFrom, MarketDataRef, SourceTag, UWBlockSignature, UWFieldOverride, UWFrontmatter, UWMeta } from './types.js';
2
+ export interface UWMetaV2Provenance {
3
+ /** The actor (RFC 0031 grammar): `manual | agent/<id> | document/<id> |
4
+ * system/<id> | institution/<id>`. Absent only for legacy-tag blocks the
5
+ * shim refused to invent an actor for. */
6
+ source?: SourceTag;
7
+ /** How the value was resolved — one canonical SOURCE_TAGS member. */
8
+ resolution?: SourceTag;
9
+ actor?: string;
10
+ agent_id?: string | null;
11
+ agent_version?: string | null;
12
+ timestamp?: string;
13
+ notes?: string | null;
14
+ market_data_ref?: MarketDataRef;
15
+ inherited_from?: InheritedFrom;
16
+ }
17
+ export interface UWMetaV2Quality {
18
+ confidence?: ConfidenceLevel;
19
+ human_review_required?: boolean;
20
+ flags?: string[];
21
+ partial?: boolean;
22
+ provisional?: boolean;
23
+ }
24
+ export interface UWMetaV2Lifecycle {
25
+ /** 1-based supersede-chain position. Renamed from v1 `version` to avoid
26
+ * colliding with frontmatter `uw_version` (RFC 0009 resolved question 1). */
27
+ revision: number;
28
+ superseded: boolean;
29
+ }
30
+ export interface UWMetaV2Integrity {
31
+ /** Defaults to 'sha256' when absent; 'sha256' is the only admitted value at
32
+ * 2.0 (RFC 0009 resolved question 2). A defaulted value is excluded from
33
+ * the digest; a non-default one is hashed. */
34
+ algorithm?: 'sha256';
35
+ input_hash?: string | null;
36
+ content_hash?: string;
37
+ parent_hash?: string | null;
38
+ signature?: UWBlockSignature;
39
+ }
40
+ export interface UWMetaV2 {
41
+ section?: string;
42
+ provenance: UWMetaV2Provenance;
43
+ quality: UWMetaV2Quality;
44
+ lifecycle: UWMetaV2Lifecycle;
45
+ integrity?: UWMetaV2Integrity;
46
+ [key: string]: unknown;
47
+ }
48
+ export type MetaShape = 'v1' | 'v2';
49
+ /**
50
+ * A raw `_meta` object is v2-shaped iff it carries object-valued `provenance`
51
+ * AND `lifecycle` (the v2 triple minus the section key, which both shapes
52
+ * carry under one spelling or another). Anything else — including the empty
53
+ * object a block without `_meta` degrades to — reads as v1: the flat shape is
54
+ * the permissive default for the whole of 1.x.
55
+ */
56
+ export declare function detectMetaShape(raw: Record<string, unknown> | undefined): MetaShape;
57
+ /** Major component of a `uw_version` frontmatter string; unparseable or
58
+ * absent means 1 (mirrors `envelope.ts`'s `?? '1.1'` default). */
59
+ export declare function uwVersionMajor(uwVersion: string | undefined): number;
60
+ /** True when the file's frontmatter declares format 2.0 or later. */
61
+ export declare function isV2File(frontmatter: Pick<UWFrontmatter, 'uw_version'> | undefined): boolean;
62
+ /**
63
+ * Structural reshape of a flat v1 `_meta` into the canonical v2 nested form
64
+ * (RFC 0009 §"Migration story"). Deterministic; applies RFC 0031's read-time
65
+ * interpretation first — a canonical tag in flat `source` becomes
66
+ * `provenance.resolution`, and `provenance.source` is left **absent, not
67
+ * invented**. `field_overrides` is NOT carried (it lifts to the block-level
68
+ * `_overrides` annotation — see `canonicalV2BlockContent`).
69
+ *
70
+ * Output is fully defaulted (explicit nulls / empty arrays per the RFC
71
+ * pseudocode) because this is also the digest normalization target.
72
+ */
73
+ export declare function reshapeMetaV1toV2(flat: UWMeta): UWMetaV2;
74
+ /**
75
+ * Flatten a nested v2 `_meta` (plus the block's `_overrides`, if any) into
76
+ * the in-memory `UWMeta` every existing consumer reads. Lossless view over
77
+ * the nested data: `lifecycle.revision` surfaces as `version`,
78
+ * `integrity.*` flattens, `_overrides` surfaces as `field_overrides`.
79
+ */
80
+ export declare function reshapeMetaV2toV1(nested: UWMetaV2, overrides?: UWFieldOverride[]): UWMeta;
81
+ /**
82
+ * Produce the canonical v2 form of a block's content object — the input to
83
+ * v2 canonicalization. Accepts either shape and returns a NEW object:
84
+ *
85
+ * - flat `_meta` → reshaped nested, `field_overrides` lifted to `_overrides`
86
+ * - nested `_meta` → re-normalized through the same flat round-trip, so both
87
+ * shapes land on the identical defaulted form (a nested block omitting
88
+ * `quality.partial` digests the same as a flat block omitting `partial`)
89
+ *
90
+ * Exclusion of `integrity.content_hash` / `integrity.signature` / defaulted
91
+ * `integrity.algorithm` is canonicalization step 2 and lives in
92
+ * `integrity-canonical.ts` — this function deliberately keeps them so the
93
+ * stripping stays in one place.
94
+ */
95
+ export declare function canonicalV2BlockContent(content: Record<string, unknown>): Record<string, unknown>;
96
+ //# sourceMappingURL=meta-shape.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-shape.d.ts","sourceRoot":"","sources":["../src/meta-shape.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,MAAM,EACP,MAAM,YAAY,CAAC;AAKpB,MAAM,WAAW,kBAAkB;IACjC;;+CAE2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,qEAAqE;IACrE,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC;kFAC8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC;;mDAE+C;IAC/C,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,OAAO,EAAE,eAAe,CAAC;IACzB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;AAIpC;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,CAGnF;AAMD;mEACmE;AACnE,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAIpE;AAED,qEAAqE;AACrE,wBAAgB,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,GAAG,SAAS,GAAG,OAAO,CAE5F;AAUD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAmDxD;AAID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,eAAe,EAAE,GAAG,MAAM,CAiCzF;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkCjG"}
@@ -0,0 +1,211 @@
1
+ // RFC 0009 — the v2 nested `_meta` shape and the structural reshape ("shim").
2
+ //
3
+ // Format 2.0 reorganizes the flat ~18-field `_meta` into four named
4
+ // sub-objects (`provenance`, `quality`, `lifecycle`, `integrity`) and lifts
5
+ // `field_overrides` out of `_meta` into a top-level `_overrides` block
6
+ // annotation. v1.x keeps the flat shape; a file's `uw_version` frontmatter is
7
+ // global and decides the shape for every block in it (no mixing — the
8
+ // validator enforces `META-V2-IN-V1` / `META-V1-IN-V2`).
9
+ //
10
+ // Everything here is purely structural: no vocabulary value is ever
11
+ // rewritten. Vocabulary repair (legacy tags, `resolution: "manual"`) is
12
+ // `uwmd migrate`'s job, at the operator's explicit request.
13
+ //
14
+ // Two distinct products come out of this module, and conflating them is the
15
+ // classic mistake:
16
+ //
17
+ // 1. The **flat parse view** (`reshapeMetaV2toV1`) — lets every existing
18
+ // consumer (`routeBlock`, cascade, editor guards, integrity walk) keep
19
+ // reading `block.meta.version` / `.superseded` / `.source` unchanged
20
+ // while the on-disk shape is nested. Lossless, no defaulting.
21
+ // 2. The **canonical v2 form** (`canonicalV2BlockContent`) — the
22
+ // normalize-then-hash input for v2 digests (RFC 0009
23
+ // § Canonicalization). It applies the same defaulting to BOTH shapes
24
+ // (`flags ?? []`, `partial ?? false`, `agent_id ?? null`, …) so that a
25
+ // flat block and its nested reshape digest identically. A digest path
26
+ // that skipped defaulting for already-nested input would fork block
27
+ // identity on exactly the fields producers most often omit.
28
+ import { SOURCE_TAGS } from './types.js';
29
+ // ─── Shape detection ─────────────────────────────────────────────────────────
30
+ /**
31
+ * A raw `_meta` object is v2-shaped iff it carries object-valued `provenance`
32
+ * AND `lifecycle` (the v2 triple minus the section key, which both shapes
33
+ * carry under one spelling or another). Anything else — including the empty
34
+ * object a block without `_meta` degrades to — reads as v1: the flat shape is
35
+ * the permissive default for the whole of 1.x.
36
+ */
37
+ export function detectMetaShape(raw) {
38
+ if (!raw)
39
+ return 'v1';
40
+ return isObject(raw['provenance']) && isObject(raw['lifecycle']) ? 'v2' : 'v1';
41
+ }
42
+ function isObject(v) {
43
+ return typeof v === 'object' && v !== null && !Array.isArray(v);
44
+ }
45
+ /** Major component of a `uw_version` frontmatter string; unparseable or
46
+ * absent means 1 (mirrors `envelope.ts`'s `?? '1.1'` default). */
47
+ export function uwVersionMajor(uwVersion) {
48
+ if (typeof uwVersion !== 'string')
49
+ return 1;
50
+ const m = /^(\d+)/.exec(uwVersion.trim());
51
+ return m ? Number.parseInt(m[1], 10) : 1;
52
+ }
53
+ /** True when the file's frontmatter declares format 2.0 or later. */
54
+ export function isV2File(frontmatter) {
55
+ return uwVersionMajor(frontmatter?.uw_version) >= 2;
56
+ }
57
+ // ─── v1 → v2 (the shim, forward direction) ───────────────────────────────────
58
+ /** Every canonical tag except `manual`, which is a legal actor in its own
59
+ * right and never reinterpreted (RFC 0031, mirrored from parser.ts). */
60
+ const LEGACY_RESOLUTION_TAGS = new Set(SOURCE_TAGS.filter((t) => t !== 'manual'));
61
+ /**
62
+ * Structural reshape of a flat v1 `_meta` into the canonical v2 nested form
63
+ * (RFC 0009 §"Migration story"). Deterministic; applies RFC 0031's read-time
64
+ * interpretation first — a canonical tag in flat `source` becomes
65
+ * `provenance.resolution`, and `provenance.source` is left **absent, not
66
+ * invented**. `field_overrides` is NOT carried (it lifts to the block-level
67
+ * `_overrides` annotation — see `canonicalV2BlockContent`).
68
+ *
69
+ * Output is fully defaulted (explicit nulls / empty arrays per the RFC
70
+ * pseudocode) because this is also the digest normalization target.
71
+ */
72
+ export function reshapeMetaV1toV2(flat) {
73
+ const rawSource = flat.source;
74
+ const legacyTag = typeof rawSource === 'string' && LEGACY_RESOLUTION_TAGS.has(rawSource);
75
+ const flatRec = flat;
76
+ const section = flatRec['section'] ?? flatRec['section_id'];
77
+ const v2 = {
78
+ ...(typeof section === 'string' ? { section } : {}),
79
+ provenance: {
80
+ ...(legacyTag || rawSource === undefined ? {} : { source: rawSource }),
81
+ ...(flat.resolution !== undefined
82
+ ? { resolution: flat.resolution }
83
+ : legacyTag
84
+ ? { resolution: rawSource }
85
+ : {}),
86
+ actor: flat.actor,
87
+ agent_id: flat.agent_id ?? null,
88
+ agent_version: flat.agent_version ?? null,
89
+ timestamp: flat.timestamp,
90
+ notes: flat.notes ?? null,
91
+ ...(flat.market_data_ref !== undefined ? { market_data_ref: flat.market_data_ref } : {}),
92
+ ...(flat.inherited_from !== undefined ? { inherited_from: flat.inherited_from } : {}),
93
+ },
94
+ quality: {
95
+ confidence: flat.confidence,
96
+ human_review_required: flat.human_review_required,
97
+ flags: flat.flags ?? [],
98
+ partial: flat.partial ?? false,
99
+ provisional: flat.provisional ?? false,
100
+ },
101
+ lifecycle: {
102
+ revision: flat.version,
103
+ superseded: flat.superseded,
104
+ },
105
+ };
106
+ if (flat.input_hash != null ||
107
+ flat.content_hash !== undefined ||
108
+ flat.parent_hash !== undefined ||
109
+ flat.signature !== undefined) {
110
+ v2.integrity = {
111
+ input_hash: flat.input_hash ?? null,
112
+ ...(flat.content_hash !== undefined ? { content_hash: flat.content_hash } : {}),
113
+ parent_hash: flat.parent_hash ?? null,
114
+ ...(flat.signature !== undefined ? { signature: flat.signature } : {}),
115
+ };
116
+ }
117
+ return v2;
118
+ }
119
+ // ─── v2 → v1 (the flat parse view) ───────────────────────────────────────────
120
+ /**
121
+ * Flatten a nested v2 `_meta` (plus the block's `_overrides`, if any) into
122
+ * the in-memory `UWMeta` every existing consumer reads. Lossless view over
123
+ * the nested data: `lifecycle.revision` surfaces as `version`,
124
+ * `integrity.*` flattens, `_overrides` surfaces as `field_overrides`.
125
+ */
126
+ export function reshapeMetaV2toV1(nested, overrides) {
127
+ const p = nested.provenance ?? {};
128
+ const q = nested.quality ?? {};
129
+ const l = nested.lifecycle ?? {};
130
+ const integ = nested.integrity;
131
+ const flat = {
132
+ section: (nested.section ?? ''),
133
+ version: l.revision,
134
+ superseded: (l.superseded ?? false),
135
+ source: p.source,
136
+ ...(p.resolution !== undefined ? { resolution: p.resolution } : {}),
137
+ agent_id: p.agent_id ?? null,
138
+ agent_version: p.agent_version ?? null,
139
+ actor: p.actor,
140
+ timestamp: p.timestamp,
141
+ confidence: q.confidence,
142
+ human_review_required: (q.human_review_required ?? false),
143
+ flags: q.flags ?? [],
144
+ input_hash: integ?.input_hash ?? null,
145
+ notes: p.notes ?? null,
146
+ };
147
+ if (q.partial !== undefined)
148
+ flat.partial = q.partial;
149
+ if (q.provisional !== undefined)
150
+ flat.provisional = q.provisional;
151
+ if (overrides !== undefined)
152
+ flat.field_overrides = overrides;
153
+ if (integ?.content_hash !== undefined)
154
+ flat.content_hash = integ.content_hash;
155
+ if (integ?.parent_hash !== undefined)
156
+ flat.parent_hash = integ.parent_hash;
157
+ if (integ?.signature !== undefined)
158
+ flat.signature = integ.signature;
159
+ if (p.market_data_ref !== undefined)
160
+ flat.market_data_ref = p.market_data_ref;
161
+ if (p.inherited_from !== undefined)
162
+ flat.inherited_from = p.inherited_from;
163
+ return flat;
164
+ }
165
+ // ─── Digest normalization (RFC 0009 § Canonicalization, step 1) ──────────────
166
+ /**
167
+ * Produce the canonical v2 form of a block's content object — the input to
168
+ * v2 canonicalization. Accepts either shape and returns a NEW object:
169
+ *
170
+ * - flat `_meta` → reshaped nested, `field_overrides` lifted to `_overrides`
171
+ * - nested `_meta` → re-normalized through the same flat round-trip, so both
172
+ * shapes land on the identical defaulted form (a nested block omitting
173
+ * `quality.partial` digests the same as a flat block omitting `partial`)
174
+ *
175
+ * Exclusion of `integrity.content_hash` / `integrity.signature` / defaulted
176
+ * `integrity.algorithm` is canonicalization step 2 and lives in
177
+ * `integrity-canonical.ts` — this function deliberately keeps them so the
178
+ * stripping stays in one place.
179
+ */
180
+ export function canonicalV2BlockContent(content) {
181
+ const rawMeta = content['_meta'];
182
+ const shape = detectMetaShape(rawMeta);
183
+ let flat;
184
+ let overrides;
185
+ if (shape === 'v2') {
186
+ const nested = rawMeta;
187
+ // Lift a stray v1-style quality.field_overrides too — normalization owns
188
+ // structure, and _overrides is the only v2 home for per-field exceptions.
189
+ const strayOverrides = nested.quality?.['field_overrides'];
190
+ overrides = content['_overrides'] ?? strayOverrides;
191
+ flat = reshapeMetaV2toV1(nested);
192
+ }
193
+ else {
194
+ const flatMeta = (rawMeta ?? {});
195
+ overrides = flatMeta.field_overrides ?? content['_overrides'];
196
+ flat = flatMeta;
197
+ }
198
+ const nestedMeta = reshapeMetaV1toV2(flat);
199
+ // Preserve a non-default algorithm through normalization (step 2 decides
200
+ // whether it is excluded from the digest).
201
+ const rawAlg = shape === 'v2' ? rawMeta?.integrity?.algorithm : undefined;
202
+ if (rawAlg !== undefined) {
203
+ nestedMeta.integrity = { ...(nestedMeta.integrity ?? {}), algorithm: rawAlg };
204
+ }
205
+ const out = { ...content, _meta: nestedMeta };
206
+ delete out['_overrides'];
207
+ if (overrides !== undefined && overrides.length > 0)
208
+ out['_overrides'] = overrides;
209
+ return out;
210
+ }
211
+ //# sourceMappingURL=meta-shape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-shape.js","sourceRoot":"","sources":["../src/meta-shape.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { UWBlockSignature } from './types.js';
2
+ /** What the CLI hands the re-signing callback for one migrated block. */
3
+ export interface ResignRequest {
4
+ section: string;
5
+ /** The block's freshly recomputed v2 content_hash. */
6
+ content_hash: string;
7
+ actor: string;
8
+ timestamp: string;
9
+ /** The signature being replaced (kid/alg travel for key selection). */
10
+ prior: UWBlockSignature;
11
+ }
12
+ export interface MigrateToV2Options {
13
+ /** Remove signatures, recording each removal in `provenance.notes`. */
14
+ stripSignatures?: boolean;
15
+ /**
16
+ * Re-sign each previously signed block over its new v2 digest. Injected by
17
+ * the CLI (crypto lives in `@uwmd/signing`); the engine stays crypto-free.
18
+ * Mutually exclusive with `stripSignatures`.
19
+ */
20
+ resign?: (request: ResignRequest) => Promise<UWBlockSignature>;
21
+ }
22
+ export interface MigrateToV2Result {
23
+ ok: boolean;
24
+ /** The migrated document; null when the migration refused. */
25
+ content: string | null;
26
+ /** Blocks reshaped to the nested form. */
27
+ changed: number;
28
+ /** Blocks whose content_hash was recomputed under the v2 rule. */
29
+ restamped: number;
30
+ /** Why the migration refused (empty when ok). */
31
+ refusals: string[];
32
+ /** What the migration did beyond reshaping (vocabulary rewrites, stripped
33
+ * or re-issued signatures). */
34
+ notes: string[];
35
+ }
36
+ /**
37
+ * Convert one v1.x document to the v2 shape. Bytes outside frontmatter's
38
+ * `uw_version` line and the section blocks are preserved exactly; every block
39
+ * is re-serialized with 2-space indentation (the corpus convention).
40
+ */
41
+ export declare function migrateToV2(content: string, options?: MigrateToV2Options): Promise<MigrateToV2Result>;
42
+ //# sourceMappingURL=migrate-to-v2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-to-v2.d.ts","sourceRoot":"","sources":["../src/migrate-to-v2.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,gBAAgB,EAA2B,MAAM,YAAY,CAAC;AAa5E,yEAAyE;AACzE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,uEAAuE;IACvE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,8DAA8D;IAC9D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;oCACgC;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAmBD;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAwO5B"}
Binary file
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-to-v2.js","sourceRoot":"","sources":["../src/migrate-to-v2.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EAIP,YAAY,EAEZ,YAAY,EAEb,MAAM,YAAY,CAAC;AAuDpB,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;gBACd,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO;CAO1F;AAyJD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,YAAY,CAqHrF;AAoID,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAKlF;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,GAAG,IAAI,CAIhB;AAUD,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAKzE;AAMD,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAQ3D"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EAIP,YAAY,EAEZ,YAAY,EAGb,MAAM,YAAY,CAAC;AAyDpB,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;gBACd,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO;CAO1F;AAyJD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,YAAY,CAsIrF;AAoID,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAKlF;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,GAAG,IAAI,CAIhB;AAUD,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAKzE;AAMD,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAQ3D"}
package/dist/parser.js CHANGED
@@ -1,6 +1,7 @@
1
1
  // .uw.md parser — extracts frontmatter, section blocks, prose, and pipeline log
2
2
  // Spec: UW_FORMAT_SPEC_v1.md §2.4 (annotation syntax), §2.7 (update semantics), §2.8 (multi-variant)
3
3
  import { SOURCE_TAGS } from './types.js';
4
+ import { detectMetaShape, reshapeMetaV2toV1 } from './meta-shape.js';
4
5
  // ─── Regex patterns ───────────────────────────────────────────────────────────
5
6
  // Opening fence: ```json uw:section=<id> [key=value ...]
6
7
  const FENCE_OPEN_RE = /^```json\s+uw:section=(\S+)(.*)?$/;
@@ -304,7 +305,17 @@ export function parseUWFile(content, options = {}) {
304
305
  }
305
306
  parsed = { _parse_error: String(err), _raw: rawJson };
306
307
  }
307
- const meta = interpretMetaSource(parsed['_meta'] ?? {});
308
+ // RFC 0009: a nested v2 `_meta` is flattened to the v1 in-memory view at
309
+ // parse time (the back-compat shim's read direction), so every consumer
310
+ // keeps reading `meta.version` / `.superseded` / `.source` unchanged. The
311
+ // on-disk shape is recorded on the block for the validator's
312
+ // META-V2-IN-V1 / META-V1-IN-V2 enforcement; `content` stays bytes-derived
313
+ // and untouched either way.
314
+ const rawMeta = parsed['_meta'];
315
+ const metaShape = detectMetaShape(rawMeta);
316
+ const meta = metaShape === 'v2'
317
+ ? interpretMetaSource(reshapeMetaV2toV1(rawMeta, parsed['_overrides']))
318
+ : interpretMetaSource(rawMeta ?? {});
308
319
  const block = {
309
320
  annotation,
310
321
  meta,
@@ -313,6 +324,7 @@ export function parseUWFile(content, options = {}) {
313
324
  rawJson,
314
325
  lineStart,
315
326
  lineEnd,
327
+ ...(rawMeta !== undefined ? { meta_shape: metaShape } : {}),
316
328
  };
317
329
  routeBlock(result, block, sectionId, annotation, capturedProse);
318
330
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { AssetClass, ConfidenceLevel, DealStage, FinancialThresholds, ParsedUWFile, PipelineStatus, UWBlock, UWMeta, UWSignatureAlgorithm, ValidationMessage, ValidationSeverity } from './types.js';
2
2
  /** Semver of this protocol. Bumped independently of @uwmd/core's npm version. */
3
- export declare const PROTOCOL_VERSION: "1.13.0";
3
+ export declare const PROTOCOL_VERSION: "1.14.0";
4
4
  /** Format spec version this protocol pairs with. */
5
5
  export declare const FORMAT_VERSION: "1.1";
6
6
  /** The four conformance tiers defined in UW_PROTOCOL_v1.md Part II. */
@@ -306,6 +306,99 @@ export declare const BUILTIN_INCOMPLETE_DATA_POLICIES: readonly IncompleteDataPo
306
306
  * Returns null when no policy matches.
307
307
  */
308
308
  export declare function lookupIncompleteDataPolicy(section: string, field_path: string | undefined, stage: import('./types.js').DealStage, policies?: readonly IncompleteDataPolicy[]): IncompleteDataPolicy | null;
309
+ /**
310
+ * What a pipeline stage requires of the document. `required_sections` is the
311
+ * presence list; `required_field_paths` enforces field-level presence (used by
312
+ * the `scope` stage); `required_one_of` enforces "at least one of these paths
313
+ * must resolve" (also `scope`-only today).
314
+ *
315
+ * Paths are dot-notated relative to a section's content root, prefixed with
316
+ * the section ID (e.g. `property.asking_price`, `property.units`).
317
+ */
318
+ export interface StageRequirement {
319
+ required_sections: string[];
320
+ required_field_paths?: string[];
321
+ required_one_of?: string[][];
322
+ }
323
+ export declare const STAGE_REQUIREMENTS: Record<DealStage, StageRequirement>;
324
+ /**
325
+ * Legacy helper that returns just the section-list portion of a stage's
326
+ * requirements. Preserved for callers that pre-date the widened
327
+ * `StageRequirement` shape; new code SHOULD consult `STAGE_CONTRACT` (or
328
+ * `requiredSectionsFor` when the asset class is known).
329
+ */
330
+ export declare function getRequiredSections(stage: DealStage): readonly string[];
331
+ /**
332
+ * Per-class adjustments to the base stage lists (format spec §5.1 class
333
+ * overlays, RFC 0029). Exhaustive by design: only `land` and `mixed_use`
334
+ * diverge structurally — every other class reuses the base sections with
335
+ * class-appropriate payloads (hospitality's `rent_roll` carries
336
+ * keys/ADR/segmentation), so reuse needs no entry here.
337
+ *
338
+ * `exempt` removes a requirement outright; `substitute` replaces it with
339
+ * another section that is then *required* in its place.
340
+ */
341
+ export declare const STAGE_SECTION_OVERLAYS: Partial<Record<AssetClass, {
342
+ exempt?: readonly string[];
343
+ substitute?: Readonly<Record<string, string>>;
344
+ }>>;
345
+ /**
346
+ * One row of the merged stage contract: for a `(stage, section)` pair —
347
+ * optionally narrowed to a `field_path` or an `asset_class` — what presence
348
+ * is required and what to do when the data is provisional.
349
+ *
350
+ * This registry merges the three surfaces that previously answered "what
351
+ * does this stage demand": `STAGE_REQUIREMENTS` (presence),
352
+ * `STAGE_SECTION_OVERLAYS` (RFC 0029 class adjustments — now the
353
+ * `asset_class` qualifier on a row, per the RFC's own warning that a second
354
+ * table beside the merge recreates the two-surface problem), and
355
+ * `BUILTIN_INCOMPLETE_DATA_POLICIES` (`on_provisional`). It is derived
356
+ * mechanically from those compact authoring tables at module init, so the
357
+ * two views cannot disagree; validators consult THIS registry (via
358
+ * `requiredSectionsFor` / `lookupStageContract`).
359
+ *
360
+ * Two refinements against the RFC sketch, recorded here: `required` and
361
+ * `on_provisional` are optional — a row may state a policy for a section a
362
+ * stage doesn't require (rent_roll at scope), or a requirement with no
363
+ * policy — and `one_of` carries the scope stage's either-or field groups,
364
+ * which the sketch's single `field_path` could not express.
365
+ */
366
+ export interface StageContractEntry {
367
+ stage: DealStage;
368
+ section: string;
369
+ field_path?: string;
370
+ /** Group of paths where at least one must resolve (scope-only today). */
371
+ one_of?: readonly string[];
372
+ /** Class-qualified row (RFC 0029 overlay absorbed): applies only to files
373
+ * of this asset class, overriding the unqualified row. */
374
+ asset_class?: AssetClass;
375
+ required?: boolean;
376
+ on_provisional?: GapAction;
377
+ /** Reserved: distinct handling for `partial` blocks (full-block
378
+ * `provisional` governs today; nothing populates this yet). */
379
+ on_partial?: GapAction;
380
+ rationale?: string;
381
+ }
382
+ /** The merged stage registry. Derived once at module init — see
383
+ * {@link StageContractEntry}. */
384
+ export declare const STAGE_CONTRACT: readonly StageContractEntry[];
385
+ /**
386
+ * The sections a declared stage requires of a document of the given asset
387
+ * class, answered from `STAGE_CONTRACT`: unqualified `required: true` rows,
388
+ * overridden by any class-qualified row for the same `(stage, section)`.
389
+ * An unrecognized class — or none — takes the unqualified rows verbatim.
390
+ * Both consumers of stage completeness (`stage_readiness` and `DQ-06`)
391
+ * resolve through this one function, so the booleans and the issues stream
392
+ * can never disagree about what a stage requires.
393
+ */
394
+ export declare function requiredSectionsFor(stage: DealStage, assetClass?: string): readonly string[];
395
+ /**
396
+ * The most-specific `STAGE_CONTRACT` row for `(stage, section, field_path,
397
+ * asset_class)`. Specificity mirrors `lookupIncompleteDataPolicy`:
398
+ * class-qualified beats unqualified, field-scoped beats section-scoped.
399
+ * Returns null when the contract says nothing about the pair.
400
+ */
401
+ export declare function lookupStageContract(stage: DealStage, section: string, field_path?: string, assetClass?: string): StageContractEntry | null;
309
402
  /** Who is permitted to overwrite a block, derived from `_meta.source`. */
310
403
  export type EditAuthority = 'agent_only' | 'human_only' | 'either' | 'system_only';
311
404
  export interface EditPolicy {