@uwmd/core 1.1.2 → 1.5.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 (164) hide show
  1. package/README.md +3 -3
  2. package/dist/agents/bancroft.d.ts +22 -1
  3. package/dist/agents/bancroft.d.ts.map +1 -1
  4. package/dist/agents/bancroft.js +86 -60
  5. package/dist/agents/bancroft.js.map +1 -1
  6. package/dist/agents/provider.d.ts +62 -0
  7. package/dist/agents/provider.d.ts.map +1 -0
  8. package/dist/agents/provider.js +28 -0
  9. package/dist/agents/provider.js.map +1 -0
  10. package/dist/agents/providers/anthropic.d.ts +20 -0
  11. package/dist/agents/providers/anthropic.d.ts.map +1 -0
  12. package/dist/agents/providers/anthropic.js +104 -0
  13. package/dist/agents/providers/anthropic.js.map +1 -0
  14. package/dist/agents/providers/replay.d.ts +46 -0
  15. package/dist/agents/providers/replay.d.ts.map +1 -0
  16. package/dist/agents/providers/replay.js +162 -0
  17. package/dist/agents/providers/replay.js.map +1 -0
  18. package/dist/agents/schemas.d.ts +3 -3
  19. package/dist/agents/schemas.d.ts.map +1 -1
  20. package/dist/agents/schemas.js.map +1 -1
  21. package/dist/browser.d.ts +33 -4
  22. package/dist/browser.d.ts.map +1 -1
  23. package/dist/browser.js +26 -3
  24. package/dist/browser.js.map +1 -1
  25. package/dist/calc/builtins.d.ts +10 -0
  26. package/dist/calc/builtins.d.ts.map +1 -1
  27. package/dist/calc/builtins.js +64 -42
  28. package/dist/calc/builtins.js.map +1 -1
  29. package/dist/calc/errors.js +1 -1
  30. package/dist/calc/evaluator.js +6 -2
  31. package/dist/calc/evaluator.js.map +1 -1
  32. package/dist/calc/index.d.ts +7 -0
  33. package/dist/calc/index.d.ts.map +1 -1
  34. package/dist/calc/index.js +13 -1
  35. package/dist/calc/index.js.map +1 -1
  36. package/dist/calc/quantize.d.ts +56 -0
  37. package/dist/calc/quantize.d.ts.map +1 -0
  38. package/dist/calc/quantize.js +116 -0
  39. package/dist/calc/quantize.js.map +1 -0
  40. package/dist/cascade.d.ts +60 -6
  41. package/dist/cascade.d.ts.map +1 -1
  42. package/dist/cascade.js +93 -14
  43. package/dist/cascade.js.map +1 -1
  44. package/dist/cli-packages.d.ts +11 -0
  45. package/dist/cli-packages.d.ts.map +1 -0
  46. package/dist/cli-packages.js +177 -0
  47. package/dist/cli-packages.js.map +1 -0
  48. package/dist/cli.js +691 -37
  49. package/dist/cli.js.map +1 -1
  50. package/dist/composition.d.ts +182 -0
  51. package/dist/composition.d.ts.map +1 -0
  52. package/dist/composition.js +536 -0
  53. package/dist/composition.js.map +1 -0
  54. package/dist/deal-package-context.d.ts +52 -0
  55. package/dist/deal-package-context.d.ts.map +1 -0
  56. package/dist/deal-package-context.js +132 -0
  57. package/dist/deal-package-context.js.map +1 -0
  58. package/dist/deal-package-zip.d.ts +36 -0
  59. package/dist/deal-package-zip.d.ts.map +1 -0
  60. package/dist/deal-package-zip.js +132 -0
  61. package/dist/deal-package-zip.js.map +1 -0
  62. package/dist/deal-package.d.ts +82 -0
  63. package/dist/deal-package.d.ts.map +1 -0
  64. package/dist/deal-package.js +189 -0
  65. package/dist/deal-package.js.map +1 -0
  66. package/dist/defaults.d.ts +48 -0
  67. package/dist/defaults.d.ts.map +1 -1
  68. package/dist/defaults.js +512 -0
  69. package/dist/defaults.js.map +1 -1
  70. package/dist/index.d.ts +39 -4
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +30 -3
  73. package/dist/index.js.map +1 -1
  74. package/dist/init.js +1 -1
  75. package/dist/init.js.map +1 -1
  76. package/dist/integrity.d.ts +9 -0
  77. package/dist/integrity.d.ts.map +1 -1
  78. package/dist/integrity.js +12 -2
  79. package/dist/integrity.js.map +1 -1
  80. package/dist/lease-abstract.d.ts +82 -0
  81. package/dist/lease-abstract.d.ts.map +1 -0
  82. package/dist/lease-abstract.js +183 -0
  83. package/dist/lease-abstract.js.map +1 -0
  84. package/dist/lite-bridge.d.ts +67 -0
  85. package/dist/lite-bridge.d.ts.map +1 -0
  86. package/dist/lite-bridge.js +564 -0
  87. package/dist/lite-bridge.js.map +1 -0
  88. package/dist/lite.d.ts +63 -0
  89. package/dist/lite.d.ts.map +1 -0
  90. package/dist/lite.js +398 -0
  91. package/dist/lite.js.map +1 -0
  92. package/dist/market-data.d.ts +134 -0
  93. package/dist/market-data.d.ts.map +1 -0
  94. package/dist/market-data.js +292 -0
  95. package/dist/market-data.js.map +1 -0
  96. package/dist/modules.d.ts.map +1 -1
  97. package/dist/modules.js +278 -13
  98. package/dist/modules.js.map +1 -1
  99. package/dist/packs/excel-emit.d.ts +18 -1
  100. package/dist/packs/excel-emit.d.ts.map +1 -1
  101. package/dist/packs/excel-emit.js +18 -1
  102. package/dist/packs/excel-emit.js.map +1 -1
  103. package/dist/packs/hospitality.d.ts +3 -0
  104. package/dist/packs/hospitality.d.ts.map +1 -0
  105. package/dist/packs/hospitality.js +122 -0
  106. package/dist/packs/hospitality.js.map +1 -0
  107. package/dist/packs/index.d.ts +5 -1
  108. package/dist/packs/index.d.ts.map +1 -1
  109. package/dist/packs/index.js +13 -1
  110. package/dist/packs/index.js.map +1 -1
  111. package/dist/packs/land.d.ts +3 -0
  112. package/dist/packs/land.d.ts.map +1 -0
  113. package/dist/packs/land.js +124 -0
  114. package/dist/packs/land.js.map +1 -0
  115. package/dist/packs/senior-housing.d.ts +3 -0
  116. package/dist/packs/senior-housing.d.ts.map +1 -0
  117. package/dist/packs/senior-housing.js +123 -0
  118. package/dist/packs/senior-housing.js.map +1 -0
  119. package/dist/packs/student-housing.d.ts +3 -0
  120. package/dist/packs/student-housing.d.ts.map +1 -0
  121. package/dist/packs/student-housing.js +124 -0
  122. package/dist/packs/student-housing.js.map +1 -0
  123. package/dist/parser.d.ts +9 -0
  124. package/dist/parser.d.ts.map +1 -1
  125. package/dist/parser.js +40 -6
  126. package/dist/parser.js.map +1 -1
  127. package/dist/protocol.d.ts +125 -9
  128. package/dist/protocol.d.ts.map +1 -1
  129. package/dist/protocol.js +182 -4
  130. package/dist/protocol.js.map +1 -1
  131. package/dist/receipts.d.ts +396 -0
  132. package/dist/receipts.d.ts.map +1 -0
  133. package/dist/receipts.js +913 -0
  134. package/dist/receipts.js.map +1 -0
  135. package/dist/runner.d.ts +13 -0
  136. package/dist/runner.d.ts.map +1 -1
  137. package/dist/runner.js +5 -5
  138. package/dist/runner.js.map +1 -1
  139. package/dist/source-representation.d.ts +40 -0
  140. package/dist/source-representation.d.ts.map +1 -0
  141. package/dist/source-representation.js +114 -0
  142. package/dist/source-representation.js.map +1 -0
  143. package/dist/types.d.ts +63 -1
  144. package/dist/types.d.ts.map +1 -1
  145. package/dist/types.js +34 -0
  146. package/dist/types.js.map +1 -1
  147. package/dist/uwcsv.d.ts.map +1 -1
  148. package/dist/uwcsv.js +10 -78
  149. package/dist/uwcsv.js.map +1 -1
  150. package/dist/uwxml.d.ts.map +1 -1
  151. package/dist/uwxml.js +10 -2
  152. package/dist/uwxml.js.map +1 -1
  153. package/dist/validator.d.ts.map +1 -1
  154. package/dist/validator.js +27 -10
  155. package/dist/validator.js.map +1 -1
  156. package/dist/version.d.ts +3 -0
  157. package/dist/version.d.ts.map +1 -0
  158. package/dist/version.js +8 -0
  159. package/dist/version.js.map +1 -0
  160. package/dist/zip-safety.d.ts +15 -0
  161. package/dist/zip-safety.d.ts.map +1 -0
  162. package/dist/zip-safety.js +109 -0
  163. package/dist/zip-safety.js.map +1 -0
  164. package/package.json +12 -3
package/dist/parser.js CHANGED
@@ -106,6 +106,10 @@ function parseYamlFrontmatter(text) {
106
106
  i++;
107
107
  continue;
108
108
  }
109
+ // A blocked key is still parsed like any other — including the indented
110
+ // lines beneath it — and only dropped at assignment. Skipping it outright
111
+ // would leave its nested lines to be read as top-level keys.
112
+ const keep = !isBlockedSegment(key);
109
113
  // Array: next lines are " - value" items (check BEFORE nested object)
110
114
  if (rawVal === '' && i + 1 < lines.length && lines[i + 1].trim().startsWith('- ')) {
111
115
  const arr = [];
@@ -114,7 +118,8 @@ function parseYamlFrontmatter(text) {
114
118
  arr.push(parseScalar(lines[i].trim().slice(2)));
115
119
  i++;
116
120
  }
117
- result[key] = arr;
121
+ if (keep)
122
+ result[key] = arr;
118
123
  }
119
124
  else if (rawVal === '' && i + 1 < lines.length && lines[i + 1].startsWith(' ') && !lines[i + 1].trim().startsWith('- ')) {
120
125
  // Nested object: next lines are indented key: value pairs (not array items)
@@ -137,13 +142,16 @@ function parseYamlFrontmatter(text) {
137
142
  }
138
143
  const nKey = nLine.slice(0, nColon).trim();
139
144
  const nRaw = nLine.slice(nColon + 1).trim();
140
- nested[nKey] = parseScalar(nRaw);
145
+ if (!isBlockedSegment(nKey))
146
+ nested[nKey] = parseScalar(nRaw);
141
147
  i++;
142
148
  }
143
- result[key] = nested;
149
+ if (keep)
150
+ result[key] = nested;
144
151
  }
145
152
  else {
146
- result[key] = parseScalar(rawVal);
153
+ if (keep)
154
+ result[key] = parseScalar(rawVal);
147
155
  i++;
148
156
  }
149
157
  }
@@ -187,7 +195,8 @@ function parseFenceAnnotation(sectionId, rest) {
187
195
  annotation.confidence = value;
188
196
  break;
189
197
  default:
190
- annotation[key] = value;
198
+ if (!isBlockedSegment(key))
199
+ annotation[key] = value;
191
200
  }
192
201
  match = KV_RE.exec(rest);
193
202
  }
@@ -414,6 +423,31 @@ export function getSectionVariant(parsed, sectionId, variant) {
414
423
  return null;
415
424
  return entry[variant] ?? null;
416
425
  }
426
+ // ─── Path segment safety ─────────────────────────────────────────────────────
427
+ // Paths and keys in a `.uw.md` file are document-authored: a path can name any
428
+ // segment the author types. These three are the doors from a plain property
429
+ // lookup back onto JS internals, so navigation never follows them and key
430
+ // writes never create them.
431
+ const BLOCKED_SEGMENTS = new Set(['__proto__', 'constructor', 'prototype']);
432
+ /** True if `segment` must not be read from or written to a document object. */
433
+ export function isBlockedSegment(segment) {
434
+ return BLOCKED_SEGMENTS.has(segment);
435
+ }
436
+ /**
437
+ * One step of path navigation, own-properties only. A blocked segment or an
438
+ * inherited member resolves to `undefined` — the same answer a missing path
439
+ * gives, which callers already handle (protocol §VIII.2: a missing path
440
+ * resolves to null, not an error).
441
+ */
442
+ export function getPathSegment(current, segment) {
443
+ if (current === null || current === undefined)
444
+ return undefined;
445
+ if (isBlockedSegment(segment))
446
+ return undefined;
447
+ if (!Object.prototype.hasOwnProperty.call(current, segment))
448
+ return undefined;
449
+ return current[segment];
450
+ }
417
451
  // ─── Deep get utility (for cross-section checks) ─────────────────────────────
418
452
  // Resolves dot-path notation: "noi_model.net_operating_income"
419
453
  // Array indices: "dcf.annual_cash_flows[0].net_cash_flow_levered"
@@ -423,7 +457,7 @@ export function deepGet(obj, path) {
423
457
  for (const part of parts) {
424
458
  if (current === null || current === undefined)
425
459
  return undefined;
426
- current = current[part];
460
+ current = getPathSegment(current, part);
427
461
  }
428
462
  return current;
429
463
  }
@@ -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, 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.2.0";
3
+ export declare const PROTOCOL_VERSION: "1.5.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. */
@@ -141,17 +141,40 @@ export type ViewModelRegistry = Readonly<Record<string, SectionViewModel>>;
141
141
  * Step 0 (`user_override`) and step 1 (`user_input`) are detected by
142
142
  * walking the parsed file for an existing block at the field path
143
143
  * whose `_meta.source` matches; the remaining steps are looked up in
144
- * external tables (investor profile, market data) or built-in tables
145
- * (asset class, global, system).
144
+ * external tables (inherited assumptions, investor profile, market data)
145
+ * or built-in tables (asset class, global, system).
146
+ *
147
+ * **`inherited_assumption` was added by RFC 0021 §5 (protocol 1.5.0),**
148
+ * taking the cascade from seven steps to eight. It sits directly below
149
+ * `user_input`, so a value someone entered on the deal always beats one
150
+ * inherited from an ancestor — inheritance supplies defaults, it never
151
+ * overrides.
152
+ *
153
+ * It sits *above* `investor_profile`, which the RFC's own diagram is silent
154
+ * on because that diagram omits `investor_profile` entirely. Resolved on the
155
+ * merits: an inherited assumption comes from a named ancestor in this deal's
156
+ * composition DAG, so it is more specific to this deal than an
157
+ * institution-wide preference set, and the more specific source should win.
158
+ *
159
+ * Inheritance resolves along the composition DAG **only**. A document not
160
+ * reachable as an ancestor contributes nothing, and there is no ambient or
161
+ * global assumption scope — so a standalone record, which is every record
162
+ * that existed before RFC 0021, can never resolve at this step and no
163
+ * existing digest moves.
146
164
  */
147
- export type CascadeStep = 'user_override' | 'user_input' | 'investor_profile' | 'market_data' | 'asset_class_default' | 'global_default' | 'system_default';
165
+ export type CascadeStep = 'user_override' | 'user_input' | 'inherited_assumption' | 'investor_profile' | 'market_data' | 'asset_class_default' | 'global_default' | 'system_default';
148
166
  /** Ordered cascade as a runtime value (frozen). Index === precedence. */
149
167
  export declare const CASCADE_ORDER: readonly CascadeStep[];
150
168
  /**
151
169
  * The full set of canonical short-form source tags producers stamp into
152
- * `_meta.source`. The first seven values match `CascadeStep` 1:1; the
153
- * remaining four are non-cascade tags retained from v1.0 for back-compat
154
- * (`manual`, `ai_extracted`, `agent_computed`, `scenario_default`).
170
+ * `_meta.source`. Eight of these match `CascadeStep` 1:1; the rest are
171
+ * non-cascade tags — `manual`, `ai_extracted`, `agent_computed`,
172
+ * `scenario_default`, and `market_data_accepted`.
173
+ *
174
+ * `market_data_accepted` (RFC 0022 §4) is deliberately *not* a cascade step:
175
+ * it is an in-file value of record that resolves at the `user_input` step
176
+ * while keeping its own tag, because a value accepted for lack of better
177
+ * evidence must stay distinguishable from one someone typed in.
155
178
  *
156
179
  * `scenario_default` is retained but its meaning is sharpened to mean
157
180
  * "value derived from a named scenario in the file or institution
@@ -162,7 +185,7 @@ export declare const CASCADE_ORDER: readonly CascadeStep[];
162
185
  * `import:filename.pdf`) remain valid; this constant enumerates the
163
186
  * canonical short forms only.
164
187
  */
165
- export declare const SOURCE_TAGS: readonly ["user_input", "user_override", "manual", "investor_profile", "market_data", "ai_extracted", "agent_computed", "asset_class_default", "scenario_default", "global_default", "system_default"];
188
+ export declare const SOURCE_TAGS: readonly ["user_input", "user_override", "manual", "inherited_assumption", "investor_profile", "market_data", "market_data_accepted", "ai_extracted", "agent_computed", "asset_class_default", "scenario_default", "global_default", "system_default"];
166
189
  export type CanonicalSourceTag = (typeof SOURCE_TAGS)[number];
167
190
  /**
168
191
  * What a producer should do when an incomplete-data condition (missing or
@@ -279,9 +302,19 @@ export interface CalcEvaluationContext {
279
302
  export interface CalcResult {
280
303
  calc_id: string;
281
304
  ok: boolean;
305
+ /**
306
+ * The result. A numeric value is **quantized** per §VIII.5 — the reported
307
+ * value is the one a digest covers, so it carries no unquantized tail.
308
+ */
282
309
  value: number | string | boolean | null;
283
310
  /** Unit string from the calc declaration (e.g. "%", "$", "x"). */
284
311
  unit?: string;
312
+ /**
313
+ * Decimal places `value` was quantized to. Echoed rather than left implicit so
314
+ * a consumer can see the precision contract it actually got, including when
315
+ * the declaration relied on the unit default.
316
+ */
317
+ round_to?: number;
285
318
  /** Formatted display string per DEFAULT_NUMBER_FORMAT. */
286
319
  display?: string;
287
320
  error?: ProtocolError;
@@ -334,6 +367,13 @@ export interface ModuleCalcDecl {
334
367
  label: string;
335
368
  formula: string;
336
369
  unit?: string;
370
+ /**
371
+ * Decimal places the reported value is quantized to, half away from zero
372
+ * (§VIII.5). Integer in [0, 12]. Omitted means "use the normative default for
373
+ * `unit`" — see `resolveRoundTo` in `calc/quantize.ts`. This is a precision
374
+ * *contract*, not a display hint; `display` remains separate.
375
+ */
376
+ round_to?: number;
337
377
  /** True if the formula has no side effects and same inputs → same output. */
338
378
  deterministic: boolean;
339
379
  }
@@ -354,7 +394,83 @@ export interface ModuleLoadResult {
354
394
  manifest?: ModuleManifest;
355
395
  errors: ProtocolError[];
356
396
  }
357
- export type ProtocolErrorCategory = 'parse' | 'validate' | 'render' | 'edit' | 'calc' | 'agent' | 'module' | 'version';
397
+ /**
398
+ * The section ids the format registers in `UW_FORMAT_SPEC_v1.md` Part IV: the
399
+ * 21 standard data sections (§ 4.0 – § 4.20) plus `gaps` (§ 4.22). Each entry is
400
+ * the `**ID:**` that subsection declares. § 4.21 is the `x_` extension
401
+ * meta-spec, which registers a namespace rather than a section, so it has no id
402
+ * here.
403
+ *
404
+ * This exists because "is this a section the format knows about?" had no single
405
+ * answer in the library. `BUILTIN_VIEW_MODELS` claims to be that list and is
406
+ * not — it omits eight of these (including `operating_statement`) and adds
407
+ * eight ids Part IV never registers — and `lite-bridge.ts` keeps a third,
408
+ * different list. Rather than pick one of two wrong answers, RFC 0022 reads the
409
+ * spec, which is the authority. Reconciling the other two is tracked separately;
410
+ * `protocol.test.ts` pins this list so it cannot drift from Part IV silently.
411
+ *
412
+ * Extension sections (`x_`-prefixed, § 4.21) are valid but deliberately absent:
413
+ * they are institution-defined, so membership here would be a category error.
414
+ * Use `isStandardSectionId` for registry membership and check the `x_` prefix
415
+ * separately when extensions are permitted.
416
+ */
417
+ export declare const STANDARD_SECTION_IDS: readonly string[];
418
+ /** True when `id` is a section registered by FORMAT_SPEC Part IV. */
419
+ export declare function isStandardSectionId(id: string): boolean;
420
+ /** The `x_` namespace FORMAT_SPEC § 4.21 reserves for non-standard content. */
421
+ export declare const EXTENSION_SECTION_PREFIX: "x_";
422
+ /**
423
+ * A profile is a versioned contract for the *purpose and permitted sections* of
424
+ * one document. It is not a filename extension, an asset class, a pipeline
425
+ * stage, or a calculation pack. A document without a profile remains the
426
+ * existing full underwriting record.
427
+ */
428
+ export interface DocumentProfile {
429
+ id: string;
430
+ purpose: string;
431
+ /** Frontmatter keys the profile requires beyond the format's own. */
432
+ required_identity: readonly string[];
433
+ /** Whether deterministic packs apply to this document's contents. */
434
+ financial_role: 'underwriting' | 'descriptive' | 'evidence';
435
+ }
436
+ export declare const DEAL_UNDERWRITING_PROFILE: "deal-underwriting-v1";
437
+ export declare const LEASE_ABSTRACT_PROFILE: "lease-abstract-v1";
438
+ export declare const SOURCE_NOTE_PROFILE: "source-note-v1";
439
+ export declare const MARKET_DATA_PROFILE: "market-data-v1";
440
+ export declare const BUILTIN_DOCUMENT_PROFILES: readonly DocumentProfile[];
441
+ /**
442
+ * Profile identifiers are opaque lowercase ASCII tokens. An unknown profile is
443
+ * *preserved*, never reinterpreted — returning undefined means "not one we
444
+ * implement", which is different from "invalid".
445
+ */
446
+ export declare function lookupDocumentProfile(id: string): DocumentProfile | undefined;
447
+ export declare const DOCUMENT_PROFILE_PATTERN: RegExp;
448
+ export type UWEdgeLayer = 'entity' | 'member';
449
+ /** Endpoint kinds an edge may connect. `any` accepts every kind on that layer. */
450
+ export type UWEdgeEndpointKind = 'any' | 'borrower' | 'property' | 'loan' | 'deal' | 'document' | 'uw_document' | 'source_evidence' | 'underwriting_document';
451
+ export interface UWEdgeTypeDef {
452
+ type: string;
453
+ /** Layers this type is valid on. Two types are valid on both. */
454
+ layers: readonly UWEdgeLayer[];
455
+ from: readonly UWEdgeEndpointKind[];
456
+ to: readonly UWEdgeEndpointKind[];
457
+ /**
458
+ * `required` — the edge must carry a non-empty provenance array (entity
459
+ * layer). `manifest` — the package manifest *is* the provenance, because
460
+ * every member is content-addressed by digest (member layer).
461
+ */
462
+ provenance: 'required' | 'manifest';
463
+ meaning: string;
464
+ }
465
+ export declare const BUILTIN_EDGE_TYPES: readonly UWEdgeTypeDef[];
466
+ /**
467
+ * Extension types are permitted at both layers and MUST be preserved by
468
+ * consumers that cannot interpret them, so `undefined` means "not built in",
469
+ * not "invalid".
470
+ */
471
+ export declare function lookupEdgeType(type: string): UWEdgeTypeDef | undefined;
472
+ export declare function isEdgeTypeValidOnLayer(type: string, layer: UWEdgeLayer): boolean;
473
+ export type ProtocolErrorCategory = 'parse' | 'validate' | 'render' | 'edit' | 'calc' | 'agent' | 'module' | 'version' | 'package';
358
474
  export interface ProtocolError {
359
475
  category: ProtocolErrorCategory;
360
476
  code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,OAAO,EACP,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAIpB,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,EAAG,OAAgB,CAAC;AAEjD,oDAAoD;AACpD,eAAO,MAAM,cAAc,EAAG,KAAc,CAAC;AAI7C,uEAAuE;AACvE,MAAM,MAAM,UAAU,GAClB,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,mBAAmB,CAAC;AAExB,mEAAmE;AACnE,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7F;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,UAAU,GACV,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,aAAa,GACb,YAAY,GACZ,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,kBAAkB,GAClB,eAAe,GACf,oBAAoB,GACpB,YAAY,GACZ,aAAa,CAAC;AAElB,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvD,0EAA0E;AAC1E,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,uBAAuB,EAAE,CAAC;IACtC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,qDAAqD;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,gBAAgB,EAAE,MAAM,CAAC;IACzB,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,IAAI,EAAE,UAAU,CAAC;IACjB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAClC,iEAAiE;IACjE,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC7C,2EAA2E;IAC3E,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;IAC7B,gDAAgD;IAChD,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,gEAAgE;AAChE,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC;AAEtC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,OAAO,EAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,KAAK,EAAK;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,KAAK,EAAK;QAAE,mBAAmB,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,yDAAyD;IACzD,aAAa,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CACpD;AAED,mEAAmE;AACnE,eAAO,MAAM,qBAAqB,EAAE,iBAOnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,eAGjC,CAAC;AAIF,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5D,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAI3D,qEAAqE;AACrE,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACvF,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,aAAa,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,8BAA8B;IAC9B,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;IAChC,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAI3E;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,GACnB,eAAe,GACf,YAAY,GACZ,kBAAkB,GAClB,aAAa,GACb,qBAAqB,GACrB,gBAAgB,GAChB,gBAAgB,CAAC;AAErB,yEAAyE;AACzE,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAQ9C,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,wMAYb,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAI9D;;;;;;;;;GASG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,eAAe,EAAE,WAAW,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtB,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB;gCAC4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,YAAY,EAAE,SAAS,CAAC;IACvC,MAAM,EAAE,SAAS,CAAC;IAClB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,EAAE,SAAS,oBAAoB,EA+F1E,CAAC;AAEH;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,KAAK,EAAE,OAAO,YAAY,EAAE,SAAS,EACrC,QAAQ,GAAE,SAAS,oBAAoB,EAAqC,GAC3E,oBAAoB,GAAG,IAAI,CAqB7B;AAID,0EAA0E;AAC1E,MAAM,MAAM,aAAa,GACrB,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,aAAa,CAAC;AAElB,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,aAAa,CAAC;IACzB,mFAAmF;IACnF,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB,GACD;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CACvB,GACD;IACE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CACvB,GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAIN,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,gGAAgG;IAChG,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,YAAY,CAAC;IACrB,yEAAyE;IACzE,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1E,sDAAsD;IACtD,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACxC,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAID,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,IAAI,EAAE,OAAO,CAAC;IACd,iDAAiD;IACjD,KAAK,EAAE,CAAC,kBAAkB,GAAG,yBAAyB,CAAC,EAAE,CAAC;CAC3D;AAID;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,GAAG,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,UAAU,CAAC;IAC1B,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACtC,UAAU,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAID,MAAM,MAAM,qBAAqB,GAC7B,OAAO,GACP,UAAU,GACV,QAAQ,GACR,MAAM,GACN,MAAM,GACN,OAAO,GACP,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,qBAAqB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,iBAgOhC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,UAAU,EAMrD,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,gBAAgB,EAqQ1D,CAAC;AAIH,YAAY,EACV,UAAU,EACV,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,OAAO,EACP,MAAM,EACN,iBAAiB,EACjB,kBAAkB,GACnB,CAAC"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
package/dist/protocol.js CHANGED
@@ -11,7 +11,7 @@
11
11
  // operations are a layer over JSON Schema.
12
12
  // ─── Versioning ───────────────────────────────────────────────────────────────
13
13
  /** Semver of this protocol. Bumped independently of @uwmd/core's npm version. */
14
- export const PROTOCOL_VERSION = '1.2.0';
14
+ export const PROTOCOL_VERSION = '1.5.0';
15
15
  /** Format spec version this protocol pairs with. */
16
16
  export const FORMAT_VERSION = '1.1';
17
17
  /** Default number-formatting table referenced by Part III §3.1. */
@@ -31,6 +31,7 @@ export const DEFAULT_DATE_FORMAT = {
31
31
  export const CASCADE_ORDER = Object.freeze([
32
32
  'user_override',
33
33
  'user_input',
34
+ 'inherited_assumption',
34
35
  'investor_profile',
35
36
  'market_data',
36
37
  'asset_class_default',
@@ -39,9 +40,14 @@ export const CASCADE_ORDER = Object.freeze([
39
40
  ]);
40
41
  /**
41
42
  * The full set of canonical short-form source tags producers stamp into
42
- * `_meta.source`. The first seven values match `CascadeStep` 1:1; the
43
- * remaining four are non-cascade tags retained from v1.0 for back-compat
44
- * (`manual`, `ai_extracted`, `agent_computed`, `scenario_default`).
43
+ * `_meta.source`. Eight of these match `CascadeStep` 1:1; the rest are
44
+ * non-cascade tags — `manual`, `ai_extracted`, `agent_computed`,
45
+ * `scenario_default`, and `market_data_accepted`.
46
+ *
47
+ * `market_data_accepted` (RFC 0022 §4) is deliberately *not* a cascade step:
48
+ * it is an in-file value of record that resolves at the `user_input` step
49
+ * while keeping its own tag, because a value accepted for lack of better
50
+ * evidence must stay distinguishable from one someone typed in.
45
51
  *
46
52
  * `scenario_default` is retained but its meaning is sharpened to mean
47
53
  * "value derived from a named scenario in the file or institution
@@ -56,8 +62,10 @@ export const SOURCE_TAGS = Object.freeze([
56
62
  'user_input',
57
63
  'user_override',
58
64
  'manual',
65
+ 'inherited_assumption',
59
66
  'investor_profile',
60
67
  'market_data',
68
+ 'market_data_accepted',
61
69
  'ai_extracted',
62
70
  'agent_computed',
63
71
  'asset_class_default',
@@ -203,6 +211,176 @@ export function lookupIncompleteDataPolicy(section, field_path, stage, policies
203
211
  }
204
212
  return best;
205
213
  }
214
+ // ─── Standard section registry (FORMAT_SPEC Part IV) ─────────────────────────
215
+ /**
216
+ * The section ids the format registers in `UW_FORMAT_SPEC_v1.md` Part IV: the
217
+ * 21 standard data sections (§ 4.0 – § 4.20) plus `gaps` (§ 4.22). Each entry is
218
+ * the `**ID:**` that subsection declares. § 4.21 is the `x_` extension
219
+ * meta-spec, which registers a namespace rather than a section, so it has no id
220
+ * here.
221
+ *
222
+ * This exists because "is this a section the format knows about?" had no single
223
+ * answer in the library. `BUILTIN_VIEW_MODELS` claims to be that list and is
224
+ * not — it omits eight of these (including `operating_statement`) and adds
225
+ * eight ids Part IV never registers — and `lite-bridge.ts` keeps a third,
226
+ * different list. Rather than pick one of two wrong answers, RFC 0022 reads the
227
+ * spec, which is the authority. Reconciling the other two is tracked separately;
228
+ * `protocol.test.ts` pins this list so it cannot drift from Part IV silently.
229
+ *
230
+ * Extension sections (`x_`-prefixed, § 4.21) are valid but deliberately absent:
231
+ * they are institution-defined, so membership here would be a category error.
232
+ * Use `isStandardSectionId` for registry membership and check the `x_` prefix
233
+ * separately when extensions are permitted.
234
+ */
235
+ export const STANDARD_SECTION_IDS = Object.freeze([
236
+ 'deal_context',
237
+ 'property',
238
+ 'ownership',
239
+ 'rent_roll',
240
+ 'operating_statement',
241
+ 'noi_model',
242
+ 'valuation',
243
+ 'debt_structure',
244
+ 'sources_uses',
245
+ 'dcf',
246
+ 'stress_tests',
247
+ 'market_analysis',
248
+ 'borrower_sponsor',
249
+ 'due_diligence',
250
+ 'risk_assessment',
251
+ 'compliance',
252
+ 'assumptions',
253
+ 'validation',
254
+ 'pipeline_log',
255
+ 'custom_calculations',
256
+ 'custom_scenarios',
257
+ 'gaps',
258
+ ]);
259
+ const STANDARD_SECTION_ID_SET = new Set(STANDARD_SECTION_IDS);
260
+ /** True when `id` is a section registered by FORMAT_SPEC Part IV. */
261
+ export function isStandardSectionId(id) {
262
+ return STANDARD_SECTION_ID_SET.has(id);
263
+ }
264
+ /** The `x_` namespace FORMAT_SPEC § 4.21 reserves for non-standard content. */
265
+ export const EXTENSION_SECTION_PREFIX = 'x_';
266
+ export const DEAL_UNDERWRITING_PROFILE = 'deal-underwriting-v1';
267
+ export const LEASE_ABSTRACT_PROFILE = 'lease-abstract-v1';
268
+ export const SOURCE_NOTE_PROFILE = 'source-note-v1';
269
+ export const MARKET_DATA_PROFILE = 'market-data-v1';
270
+ export const BUILTIN_DOCUMENT_PROFILES = Object.freeze([
271
+ Object.freeze({
272
+ id: DEAL_UNDERWRITING_PROFILE,
273
+ purpose: 'Complete or partial underwriting record.',
274
+ required_identity: Object.freeze(['deal_id']),
275
+ financial_role: 'underwriting',
276
+ }),
277
+ Object.freeze({
278
+ id: LEASE_ABSTRACT_PROFILE,
279
+ purpose: 'One executed lease and its amendments.',
280
+ required_identity: Object.freeze(['document_id', 'lease_id']),
281
+ financial_role: 'descriptive',
282
+ }),
283
+ Object.freeze({
284
+ id: SOURCE_NOTE_PROFILE,
285
+ purpose: 'Attributable transcription, summary, or diligence note.',
286
+ required_identity: Object.freeze(['document_id']),
287
+ financial_role: 'evidence',
288
+ }),
289
+ Object.freeze({
290
+ // RFC 0022. `evidence`, not `underwriting`: a market-data document carries
291
+ // observations, contains no calculations, and no pack applies to it. It has
292
+ // no `deal_id` and must never be read as an underwriting record.
293
+ id: MARKET_DATA_PROFILE,
294
+ purpose: 'Dated, attributable market observations for one geography and asset class.',
295
+ required_identity: Object.freeze(['document_id', 'as_of', 'provider', 'geo']),
296
+ financial_role: 'evidence',
297
+ }),
298
+ ]);
299
+ const PROFILE_BY_ID = new Map(BUILTIN_DOCUMENT_PROFILES.map((p) => [p.id, p]));
300
+ /**
301
+ * Profile identifiers are opaque lowercase ASCII tokens. An unknown profile is
302
+ * *preserved*, never reinterpreted — returning undefined means "not one we
303
+ * implement", which is different from "invalid".
304
+ */
305
+ export function lookupDocumentProfile(id) {
306
+ return PROFILE_BY_ID.get(id);
307
+ }
308
+ export const DOCUMENT_PROFILE_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
309
+ export const BUILTIN_EDGE_TYPES = Object.freeze([
310
+ Object.freeze({
311
+ type: 'owns', layers: Object.freeze(['entity']),
312
+ from: Object.freeze(['borrower']), to: Object.freeze(['property']),
313
+ provenance: 'required', meaning: 'Ownership of the asset.',
314
+ }),
315
+ Object.freeze({
316
+ type: 'borrows_against', layers: Object.freeze(['entity']),
317
+ from: Object.freeze(['borrower']), to: Object.freeze(['property']),
318
+ provenance: 'required', meaning: 'Borrowing secured by the asset.',
319
+ }),
320
+ Object.freeze({
321
+ type: 'secures', layers: Object.freeze(['entity']),
322
+ from: Object.freeze(['property']), to: Object.freeze(['loan']),
323
+ provenance: 'required', meaning: 'The asset secures the loan.',
324
+ }),
325
+ Object.freeze({
326
+ type: 'related_to', layers: Object.freeze(['entity']),
327
+ from: Object.freeze(['any']), to: Object.freeze(['any']),
328
+ provenance: 'required', meaning: 'Untyped association; the fallback.',
329
+ }),
330
+ Object.freeze({
331
+ type: 'abstracts', layers: Object.freeze(['member']),
332
+ from: Object.freeze(['uw_document']), to: Object.freeze(['source_evidence']),
333
+ provenance: 'manifest', meaning: 'This document is an extraction of that source.',
334
+ }),
335
+ Object.freeze({
336
+ type: 'amends', layers: Object.freeze(['member']),
337
+ from: Object.freeze(['document', 'uw_document']),
338
+ to: Object.freeze(['document', 'uw_document']),
339
+ provenance: 'manifest', meaning: 'Modifies the terms of the target.',
340
+ }),
341
+ Object.freeze({
342
+ // NOT the block-level `_meta.superseded`, which is append-only within a
343
+ // single document and untouched by this registry. This relates two whole
344
+ // documents in a package.
345
+ type: 'supersedes', layers: Object.freeze(['member']),
346
+ from: Object.freeze(['document', 'uw_document']),
347
+ to: Object.freeze(['document', 'uw_document']),
348
+ provenance: 'manifest', meaning: 'Replaces the target wholesale.',
349
+ }),
350
+ Object.freeze({
351
+ type: 'contributes_to', layers: Object.freeze(['member']),
352
+ from: Object.freeze(['document', 'uw_document']),
353
+ to: Object.freeze(['underwriting_document']),
354
+ provenance: 'manifest', meaning: 'Feeds the target underwriting record.',
355
+ }),
356
+ Object.freeze({
357
+ // Shared. A guaranty *document* is the member-layer evidence for the
358
+ // entity-layer fact that a borrower guarantees a loan — one relation
359
+ // observed at two layers, not a collision to be renamed apart.
360
+ type: 'guarantees', layers: Object.freeze(['entity', 'member']),
361
+ from: Object.freeze(['borrower', 'document', 'uw_document']),
362
+ to: Object.freeze(['loan', 'document', 'uw_document']),
363
+ provenance: 'required', meaning: 'Credit support for the target.',
364
+ }),
365
+ Object.freeze({
366
+ type: 'supports', layers: Object.freeze(['entity', 'member']),
367
+ from: Object.freeze(['any']), to: Object.freeze(['any']),
368
+ provenance: 'required', meaning: 'Evidentiary support, weaker than `abstracts`.',
369
+ }),
370
+ ]);
371
+ const EDGE_TYPE_BY_NAME = new Map(BUILTIN_EDGE_TYPES.map((e) => [e.type, e]));
372
+ /**
373
+ * Extension types are permitted at both layers and MUST be preserved by
374
+ * consumers that cannot interpret them, so `undefined` means "not built in",
375
+ * not "invalid".
376
+ */
377
+ export function lookupEdgeType(type) {
378
+ return EDGE_TYPE_BY_NAME.get(type);
379
+ }
380
+ export function isEdgeTypeValidOnLayer(type, layer) {
381
+ const def = EDGE_TYPE_BY_NAME.get(type);
382
+ return def ? def.layers.includes(layer) : true; // unknown → preserved, not rejected
383
+ }
206
384
  // ─── Built-in tables ──────────────────────────────────────────────────────────
207
385
  /**
208
386
  * View models for the 21 standard sections defined in UW_FORMAT_SPEC_v1.md §4.