@uwmd/core 1.1.2 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) 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 +26 -3
  22. package/dist/browser.d.ts.map +1 -1
  23. package/dist/browser.js +23 -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/cli-packages.d.ts +11 -0
  41. package/dist/cli-packages.d.ts.map +1 -0
  42. package/dist/cli-packages.js +177 -0
  43. package/dist/cli-packages.js.map +1 -0
  44. package/dist/cli.js +424 -28
  45. package/dist/cli.js.map +1 -1
  46. package/dist/context.js +23 -23
  47. package/dist/deal-package-context.d.ts +52 -0
  48. package/dist/deal-package-context.d.ts.map +1 -0
  49. package/dist/deal-package-context.js +132 -0
  50. package/dist/deal-package-context.js.map +1 -0
  51. package/dist/deal-package-zip.d.ts +36 -0
  52. package/dist/deal-package-zip.d.ts.map +1 -0
  53. package/dist/deal-package-zip.js +132 -0
  54. package/dist/deal-package-zip.js.map +1 -0
  55. package/dist/deal-package.d.ts +82 -0
  56. package/dist/deal-package.d.ts.map +1 -0
  57. package/dist/deal-package.js +189 -0
  58. package/dist/deal-package.js.map +1 -0
  59. package/dist/defaults.d.ts +48 -0
  60. package/dist/defaults.d.ts.map +1 -1
  61. package/dist/defaults.js +512 -0
  62. package/dist/defaults.js.map +1 -1
  63. package/dist/index.d.ts +32 -3
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +27 -3
  66. package/dist/index.js.map +1 -1
  67. package/dist/init.js +1 -1
  68. package/dist/init.js.map +1 -1
  69. package/dist/integrity.d.ts +9 -0
  70. package/dist/integrity.d.ts.map +1 -1
  71. package/dist/integrity.js +12 -2
  72. package/dist/integrity.js.map +1 -1
  73. package/dist/lease-abstract.d.ts +82 -0
  74. package/dist/lease-abstract.d.ts.map +1 -0
  75. package/dist/lease-abstract.js +183 -0
  76. package/dist/lease-abstract.js.map +1 -0
  77. package/dist/lite-bridge.d.ts +58 -0
  78. package/dist/lite-bridge.d.ts.map +1 -0
  79. package/dist/lite-bridge.js +525 -0
  80. package/dist/lite-bridge.js.map +1 -0
  81. package/dist/lite.d.ts +63 -0
  82. package/dist/lite.d.ts.map +1 -0
  83. package/dist/lite.js +362 -0
  84. package/dist/lite.js.map +1 -0
  85. package/dist/modules.d.ts.map +1 -1
  86. package/dist/modules.js +278 -13
  87. package/dist/modules.js.map +1 -1
  88. package/dist/packs/excel-emit.d.ts +18 -1
  89. package/dist/packs/excel-emit.d.ts.map +1 -1
  90. package/dist/packs/excel-emit.js +18 -1
  91. package/dist/packs/excel-emit.js.map +1 -1
  92. package/dist/packs/hospitality.d.ts +3 -0
  93. package/dist/packs/hospitality.d.ts.map +1 -0
  94. package/dist/packs/hospitality.js +122 -0
  95. package/dist/packs/hospitality.js.map +1 -0
  96. package/dist/packs/index.d.ts +5 -1
  97. package/dist/packs/index.d.ts.map +1 -1
  98. package/dist/packs/index.js +13 -1
  99. package/dist/packs/index.js.map +1 -1
  100. package/dist/packs/land.d.ts +3 -0
  101. package/dist/packs/land.d.ts.map +1 -0
  102. package/dist/packs/land.js +124 -0
  103. package/dist/packs/land.js.map +1 -0
  104. package/dist/packs/senior-housing.d.ts +3 -0
  105. package/dist/packs/senior-housing.d.ts.map +1 -0
  106. package/dist/packs/senior-housing.js +123 -0
  107. package/dist/packs/senior-housing.js.map +1 -0
  108. package/dist/packs/student-housing.d.ts +3 -0
  109. package/dist/packs/student-housing.d.ts.map +1 -0
  110. package/dist/packs/student-housing.js +124 -0
  111. package/dist/packs/student-housing.js.map +1 -0
  112. package/dist/parser.d.ts +9 -0
  113. package/dist/parser.d.ts.map +1 -1
  114. package/dist/parser.js +40 -6
  115. package/dist/parser.js.map +1 -1
  116. package/dist/protocol.d.ts +69 -2
  117. package/dist/protocol.d.ts.map +1 -1
  118. package/dist/protocol.js +109 -1
  119. package/dist/protocol.js.map +1 -1
  120. package/dist/receipts.d.ts +216 -0
  121. package/dist/receipts.d.ts.map +1 -0
  122. package/dist/receipts.js +554 -0
  123. package/dist/receipts.js.map +1 -0
  124. package/dist/report.js +165 -165
  125. package/dist/runner.d.ts +13 -0
  126. package/dist/runner.d.ts.map +1 -1
  127. package/dist/runner.js +5 -5
  128. package/dist/runner.js.map +1 -1
  129. package/dist/source-representation.d.ts +40 -0
  130. package/dist/source-representation.d.ts.map +1 -0
  131. package/dist/source-representation.js +114 -0
  132. package/dist/source-representation.js.map +1 -0
  133. package/dist/types.d.ts +9 -0
  134. package/dist/types.d.ts.map +1 -1
  135. package/dist/types.js +34 -0
  136. package/dist/types.js.map +1 -1
  137. package/dist/uwcsv.d.ts.map +1 -1
  138. package/dist/uwcsv.js +10 -78
  139. package/dist/uwcsv.js.map +1 -1
  140. package/dist/uwxml.d.ts.map +1 -1
  141. package/dist/uwxml.js +10 -2
  142. package/dist/uwxml.js.map +1 -1
  143. package/dist/validator.js +10 -10
  144. package/dist/validator.js.map +1 -1
  145. package/dist/version.d.ts +3 -0
  146. package/dist/version.d.ts.map +1 -0
  147. package/dist/version.js +8 -0
  148. package/dist/version.js.map +1 -0
  149. package/dist/zip-safety.d.ts +15 -0
  150. package/dist/zip-safety.d.ts.map +1 -0
  151. package/dist/zip-safety.js +109 -0
  152. package/dist/zip-safety.js.map +1 -0
  153. package/package.json +12 -3
@@ -0,0 +1,216 @@
1
+ import { type UWDocumentEnvelope } from './envelope.js';
2
+ import type { ModuleManifest } from './protocol.js';
3
+ import { type UWSourceRepresentation } from './source-representation.js';
4
+ import type { ParsedUWFile } from './types.js';
5
+ export declare const UW_RECEIPT_VERSION: "1.0";
6
+ /** Canonicalization used for the Lite representation (UW_LITE_SPEC §6). */
7
+ export declare const UW_LITE_CANONICALIZATION: "uw-lite-financial";
8
+ /** Canonicalization used for structured records (Document Envelope 1.0). */
9
+ export declare const UWX_CANONICALIZATION: "uw-envelope-semantic";
10
+ /**
11
+ * Tolerance for comparing a stated numeric result against recomputation.
12
+ * Relative for large magnitudes, absolute near zero.
13
+ *
14
+ * Since §VIII.5, a *conforming* issuer can never need this: both sides quantize
15
+ * before comparison, so they agree exactly or disagree materially. It is kept as
16
+ * defence-in-depth against a third-party issuer running an alternate precision
17
+ * routine — that lands as a clean `RCP-03` naming the calc rather than an
18
+ * `RCP-04` digest mismatch that reads as corruption.
19
+ */
20
+ export declare const RECEIPT_RESULT_TOLERANCE = 0.000001;
21
+ /** The policy set a receipt names when the host applies core's built-in rules. */
22
+ export declare const BUILTIN_POLICY_SET: "builtin";
23
+ export declare const BUILTIN_POLICY_SET_VERSION: "1.0";
24
+ export type UWReceiptCanonicalization = typeof UW_LITE_CANONICALIZATION | typeof UWX_CANONICALIZATION;
25
+ export interface UWReceiptSubject {
26
+ representation: UWSourceRepresentation;
27
+ representation_version: string;
28
+ canonicalization: UWReceiptCanonicalization;
29
+ canonicalization_version: string;
30
+ /** `sha256:<64 lowercase hex>` over the exact UTF-8 bytes of the canonical form. */
31
+ digest: string;
32
+ }
33
+ export interface UWReceiptResult {
34
+ calc_id: string;
35
+ /** Null whenever `computed` is false. Never a hand-entered number. */
36
+ value: number | string | boolean | null;
37
+ unit?: string;
38
+ /**
39
+ * False when the pack declares this output but the record lacks the inputs to
40
+ * produce it. The calc engine reports that as a successful evaluation to
41
+ * `null`; a receipt must not let that read as "the pack computed null".
42
+ */
43
+ computed: boolean;
44
+ }
45
+ export interface UWReceiptComputation {
46
+ /** The pack's manifest id, e.g. `org.uwmd.pack.multifamily`. */
47
+ pack: string;
48
+ pack_version: string;
49
+ engine: string;
50
+ engine_version: string;
51
+ /**
52
+ * The UW Protocol version the issuer computed under. Optional, because a
53
+ * receipt issued before this field existed cannot retroactively claim one —
54
+ * absence means "unstated", not "non-conforming".
55
+ *
56
+ * It exists so the question "are these numbers quantized per §VIII.5?" is
57
+ * answerable from the receipt alone. `engine_version` cannot answer it: it
58
+ * only means something to a reader who knows this engine's release history,
59
+ * which is precisely the reader a third-party issuer does not have. A
60
+ * protocol version is the one identifier every conforming issuer shares.
61
+ */
62
+ protocol_version?: string;
63
+ results: UWReceiptResult[];
64
+ /** Cheap corruption check. A verifier MUST recompute rather than trust this. */
65
+ results_digest: string;
66
+ }
67
+ export interface UWReceiptPolicy {
68
+ policy_set: string;
69
+ policy_set_version: string;
70
+ validation: {
71
+ errors: number;
72
+ warnings: number;
73
+ };
74
+ }
75
+ /** Wire shape shared with RFC 0010 block signatures. */
76
+ export interface UWReceiptSignature {
77
+ algorithm: string;
78
+ key_id: string;
79
+ value: string;
80
+ }
81
+ export interface UWReceipt {
82
+ receipt_version: typeof UW_RECEIPT_VERSION;
83
+ subject: UWReceiptSubject;
84
+ computation: UWReceiptComputation;
85
+ policy: UWReceiptPolicy;
86
+ issued_at: string;
87
+ issuer: string;
88
+ signature: UWReceiptSignature | null;
89
+ }
90
+ export type ReceiptErrorCode = 'RCP_PARSE_ERRORS' | 'RCP_COMPILE_FAILED' | 'RCP_PACK_UNRESOLVED' | 'RCP_PACK_UNVERSIONED' | 'RCP_NO_CALCULATIONS' | 'RCP_COMPUTATION_FAILED' | 'RCP_MALFORMED';
91
+ /** Typed error, consistent with `ProtocolError` / `CalcError` / `ExcelEmitError`. */
92
+ export declare class ReceiptError extends Error {
93
+ readonly code: ReceiptErrorCode;
94
+ constructor(code: ReceiptErrorCode, message: string);
95
+ }
96
+ export type UWReceiptVerdict = 'verified' | 'failed' | 'unverifiable';
97
+ export type UWReceiptIssueCode =
98
+ /** Subject digest disagrees with the document's canonical form. */
99
+ 'RCP-01'
100
+ /** Stated results do not cover exactly the pack's declared outputs. */
101
+ | 'RCP-02'
102
+ /** A stated result disagrees with recomputation beyond tolerance. */
103
+ | 'RCP-03'
104
+ /** `results_digest` does not recompute — accidental corruption. */
105
+ | 'RCP-04'
106
+ /** The named pack is unknown to this verifier. */
107
+ | 'RCP-05'
108
+ /** The named pack version differs from the one this verifier holds. */
109
+ | 'RCP-06'
110
+ /** Results disagree and the engine version also differs. */
111
+ | 'RCP-07'
112
+ /** A signature is present and this verifier has no signature backend. */
113
+ | 'RCP-08'
114
+ /** The document could not be canonicalized (parse or compile failure). */
115
+ | 'RCP-09';
116
+ export interface UWReceiptIssue {
117
+ code: UWReceiptIssueCode;
118
+ severity: 'failure' | 'indeterminate';
119
+ message: string;
120
+ calc_id?: string;
121
+ expected?: string;
122
+ actual?: string;
123
+ }
124
+ export interface UWReceiptVerification {
125
+ verdict: UWReceiptVerdict;
126
+ issues: UWReceiptIssue[];
127
+ /** What the verifier itself computed, when it got far enough to compute. */
128
+ recomputed?: UWReceiptResult[];
129
+ }
130
+ /** Plugged in by a signing package; absent here so core stays crypto-light. */
131
+ export interface ReceiptSignatureVerifier {
132
+ verify(receipt: UWReceipt, signedPayload: string): Promise<boolean>;
133
+ }
134
+ export interface ReceiptSubjectOptions {
135
+ /** Filename hint for representation detection. */
136
+ filename?: string;
137
+ /** Force a representation instead of detecting it. */
138
+ representation?: UWSourceRepresentation;
139
+ }
140
+ export interface ReceiptSubjectResolution {
141
+ subject: UWReceiptSubject;
142
+ /** Exact canonical bytes the digest covers. */
143
+ canonical: string;
144
+ /** Structured view used for calc evaluation and validation. */
145
+ parsed: ParsedUWFile;
146
+ envelope: UWDocumentEnvelope;
147
+ }
148
+ /**
149
+ * Parse, canonicalize, and digest a record. Throws a typed `ReceiptError` when
150
+ * the document has parse-level errors — an issuer MUST NOT emit a receipt for
151
+ * such a document (RFC 0016, extending UW_LITE_SPEC §5 to every representation).
152
+ */
153
+ export declare function resolveReceiptSubject(content: string, options?: ReceiptSubjectOptions): Promise<ReceiptSubjectResolution>;
154
+ /**
155
+ * Run every calc a pack declares. Throws when any one fails — a receipt states
156
+ * the pack's complete output set or it states nothing (RFC 0016).
157
+ */
158
+ export declare function computeReceiptResults(pack: ModuleManifest, parsed: ParsedUWFile): UWReceiptResult[];
159
+ /** SHA-256 over the RFC 8785 canonicalization of the result set. */
160
+ export declare function computeResultsDigest(results: readonly UWReceiptResult[]): Promise<string>;
161
+ export interface ReceiptIssuanceOptions extends ReceiptSubjectOptions {
162
+ /** Pack override. Defaults to the built-in pack for `frontmatter.asset_class`. */
163
+ pack?: ModuleManifest;
164
+ /** Identity of the issuing tool, e.g. `uwmd-cli@1.1.3`. */
165
+ issuer?: string;
166
+ /** ISO 8601 instant. Supply explicitly for reproducible fixtures. */
167
+ issued_at?: string;
168
+ policy_set?: string;
169
+ policy_set_version?: string;
170
+ engine?: string;
171
+ engine_version?: string;
172
+ /** Protocol version to state. Defaults to the `PROTOCOL_VERSION` this build targets. */
173
+ protocol_version?: string;
174
+ }
175
+ /**
176
+ * Issue an unsigned receipt for a record. Either returns a receipt or throws a
177
+ * typed `ReceiptError` — never a caveated or partial receipt.
178
+ */
179
+ export declare function issueReceipt(content: string, options?: ReceiptIssuanceOptions): Promise<UWReceipt>;
180
+ /**
181
+ * The RFC 8785 canonicalization a signature covers: the receipt with
182
+ * `signature` set to null.
183
+ */
184
+ export declare function receiptSigningPayload(receipt: UWReceipt): string;
185
+ export interface ReceiptVerificationOptions extends ReceiptSubjectOptions {
186
+ /** Packs available to this verifier, keyed by manifest id. Defaults to built-ins. */
187
+ packs?: readonly ModuleManifest[];
188
+ /** Supplied by a signing package. Absent → a signed receipt is `unverifiable`. */
189
+ signatureVerifier?: ReceiptSignatureVerifier;
190
+ /** Engine identity of this verifier. Defaults to this package. */
191
+ engine?: string;
192
+ engine_version?: string;
193
+ }
194
+ /**
195
+ * Verify a receipt against a record.
196
+ *
197
+ * Reports exactly one of three verdicts and never collapses `unverifiable` into
198
+ * either of the others. Precedence:
199
+ *
200
+ * 1. A digest mismatch is decisive — the record changed. `failed`.
201
+ * 2. Otherwise, anything this verifier cannot decide (unknown pack, pack
202
+ * version it does not hold, a signature with no backend) → `unverifiable`.
203
+ * 3. Otherwise, recomputation disagreement → `failed`, unless the issuing
204
+ * engine identity (name *and* version) differs from this verifier's, in
205
+ * which case the disagreement is attributable to the engine and the
206
+ * verdict is `unverifiable` (RFC 0016 open question, resolved in
207
+ * `spec/UW_RECEIPT_v1.md` §5).
208
+ * 4. Otherwise `verified`.
209
+ *
210
+ * The verifier always recomputes; `results_digest` is checked only as a cheap
211
+ * corruption signal and never authorizes skipping the recomputation.
212
+ */
213
+ export declare function verifyReceipt(receipt: UWReceipt, content: string, options?: ReceiptVerificationOptions): Promise<UWReceiptVerification>;
214
+ /** Structural check mirroring `spec/schemas/uw-receipt.schema.json`. */
215
+ export declare function assertUWReceipt(value: unknown): asserts value is UWReceipt;
216
+ //# sourceMappingURL=receipts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"receipts.d.ts","sourceRoot":"","sources":["../src/receipts.ts"],"names":[],"mappings":"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"}