@uwmd/core 1.1.0 → 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,104 @@
1
+ // The Anthropic provider — the reference implementation of `AgentProvider`.
2
+ //
3
+ // **This is the only file in the library that touches `@anthropic-ai/sdk`, and
4
+ // it touches it only at runtime.** The SDK is an optional peer dependency: a
5
+ // host that brings its own provider, or uses none, must not be made to install
6
+ // a vendor SDK to get a parser. So the import here is dynamic and deferred to
7
+ // the first request — `index.ts` re-exports this module's factory statically,
8
+ // and a static SDK import would make merely importing `@uwmd/core` load the
9
+ // vendor SDK, defeating the dynamic import in `bancroft.ts`.
10
+ //
11
+ // The type import below is erased at compile time and costs a consumer nothing
12
+ // at runtime.
13
+ //
14
+ // The layering rule from CLAUDE.md still applies: nothing re-exported by
15
+ // `browser.ts` may reach this file.
16
+ import { AgentProviderError, } from '../provider.js';
17
+ /**
18
+ * Load the vendor SDK, once, on demand. An absent SDK is a packaging problem
19
+ * with a one-line fix, so it gets its own code and says so — rather than
20
+ * surfacing as a module-resolution stack trace from inside a provider call.
21
+ */
22
+ let sdk;
23
+ async function loadSdk() {
24
+ sdk ??= import('@anthropic-ai/sdk')
25
+ .then((mod) => mod.default)
26
+ .catch((err) => {
27
+ // Do not cache the failure: an install can fix it without a restart.
28
+ sdk = undefined;
29
+ throw new AgentProviderError('AGENT_PROVIDER_SDK_MISSING', 'The Anthropic provider requires the optional peer dependency ' +
30
+ '@anthropic-ai/sdk. Install it, or pass your own `provider` ' +
31
+ 'implementing AgentProvider.', err);
32
+ });
33
+ return sdk;
34
+ }
35
+ /**
36
+ * Translate a neutral `AgentRequest` into an SDK call and the SDK's reply back
37
+ * into an `AgentCompletion`.
38
+ *
39
+ * The translation is deliberately total: everything the runner reads — tool
40
+ * calls and token usage — is mapped explicitly, so a change in the SDK's
41
+ * message shape surfaces here and nowhere else.
42
+ */
43
+ export function createAnthropicProvider(opts) {
44
+ // Constructing the client is what needs the SDK, so it happens on the first
45
+ // request rather than here. `createAnthropicProvider()` stays synchronous and
46
+ // stays callable in a process that never sends one.
47
+ let pending;
48
+ const getClient = async () => {
49
+ if (opts.client)
50
+ return opts.client;
51
+ pending ??= loadSdk().then((Ctor) => new Ctor({ apiKey: opts.apiKey }));
52
+ return pending;
53
+ };
54
+ const toSdkRequest = (request) => ({
55
+ model: request.model,
56
+ max_tokens: request.max_tokens,
57
+ temperature: request.temperature,
58
+ system: request.system,
59
+ messages: request.messages.map((m) => ({ role: m.role, content: m.content })),
60
+ // Our AgentToolSchema is the JSON-Schema subset the SDK's Tool expects.
61
+ tools: request.tools,
62
+ tool_choice: { type: request.tool_choice },
63
+ });
64
+ const fromSdkMessage = (message) => ({
65
+ tool_calls: message.content
66
+ .filter((block) => block.type === 'tool_use')
67
+ .map((block) => ({ name: block.name, input: block.input })),
68
+ usage: {
69
+ input_tokens: message.usage.input_tokens,
70
+ output_tokens: message.usage.output_tokens,
71
+ },
72
+ });
73
+ return {
74
+ id: 'anthropic',
75
+ async complete(request) {
76
+ try {
77
+ const client = await getClient();
78
+ return fromSdkMessage(await client.messages.create(toSdkRequest(request)));
79
+ }
80
+ catch (err) {
81
+ // A missing SDK is not a transport failure and must not be relabelled
82
+ // as one — the fix is an install, not a retry.
83
+ if (err instanceof AgentProviderError)
84
+ throw err;
85
+ throw new AgentProviderError('AGENT_PROVIDER_TRANSPORT', err instanceof Error ? err.message : String(err), err);
86
+ }
87
+ },
88
+ async stream(request) {
89
+ try {
90
+ const client = await getClient();
91
+ const stream = client.messages.stream(toSdkRequest(request));
92
+ return fromSdkMessage(await stream.finalMessage());
93
+ }
94
+ catch (err) {
95
+ // A missing SDK is not a transport failure and must not be relabelled
96
+ // as one — the fix is an install, not a retry.
97
+ if (err instanceof AgentProviderError)
98
+ throw err;
99
+ throw new AgentProviderError('AGENT_PROVIDER_TRANSPORT', err instanceof Error ? err.message : String(err), err);
100
+ }
101
+ },
102
+ };
103
+ }
104
+ //# sourceMappingURL=anthropic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/agents/providers/anthropic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { type AgentCompletion, type AgentProvider, type AgentRequest } from '../provider.js';
2
+ export declare const CASSETTE_VERSION: "1.0";
3
+ export interface RecordedExchange {
4
+ /** The request this exchange answers. Compared canonically on replay. */
5
+ request: AgentRequest;
6
+ completion: AgentCompletion;
7
+ }
8
+ export interface AgentCassette {
9
+ cassette_version: typeof CASSETTE_VERSION;
10
+ /** Which provider produced the recording, e.g. `anthropic`. */
11
+ recorded_from: string;
12
+ /** ISO-8601. Informational — replay never reads it. */
13
+ recorded_at: string;
14
+ exchanges: RecordedExchange[];
15
+ }
16
+ /** Stable fingerprint of a request, used for comparison and error messages. */
17
+ export declare function agentRequestFingerprint(request: AgentRequest): string;
18
+ /**
19
+ * Replay a cassette. Exchanges are consumed in order: the Nth call must match
20
+ * the Nth recording.
21
+ *
22
+ * Sequential rather than keyed matching is deliberate. A keyed cassette would
23
+ * happily answer a *reordered* run, hiding a change in how many calls a layer
24
+ * makes or in what order — which is exactly the kind of regression a Tier-4
25
+ * conformance suite exists to catch.
26
+ */
27
+ export declare function createReplayProvider(cassette: AgentCassette): AgentProvider;
28
+ export interface RecordingProvider extends AgentProvider {
29
+ /** The cassette captured so far. Safe to call mid-run. */
30
+ cassette(): AgentCassette;
31
+ }
32
+ /**
33
+ * Wrap a live provider and capture every exchange.
34
+ *
35
+ * Intended for an operator running once against a real backend to refresh a
36
+ * fixture — never for CI, which has no key and must not make network calls.
37
+ *
38
+ * `recordedAt` is injectable so a re-recording produces a stable file rather
39
+ * than a spurious one-line diff on every run.
40
+ */
41
+ export declare function createRecordingProvider(inner: AgentProvider, opts?: {
42
+ recordedAt?: string;
43
+ }): RecordingProvider;
44
+ /** Parse and validate a cassette read from disk. */
45
+ export declare function parseAgentCassette(raw: string): AgentCassette;
46
+ //# sourceMappingURL=replay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/agents/providers/replay.ts"],"names":[],"mappings":"AAwBA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,gBAAgB,EAAG,KAAc,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,yEAAyE;IACzE,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAqBD,+EAA+E;AAC/E,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAErE;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CA4C3E;AA2BD,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,0DAA0D;IAC1D,QAAQ,IAAI,aAAa,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,EACpB,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACjC,iBAAiB,CAwBnB;AAED,oDAAoD;AACpD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CA8B7D"}
@@ -0,0 +1,162 @@
1
+ // Recorded-replay provider — deterministic Tier-4 runs with no network and no
2
+ // API key.
3
+ //
4
+ // Tier-4 conformance was shape-and-lint only: fixtures were parsed and their
5
+ // expected-shape JSON was validated, but no agent ever ran, so nothing checked
6
+ // that a host actually writes what the protocol says it writes. Live-LLM
7
+ // conformance is not an option — it is non-deterministic, costs money, and
8
+ // cannot run in CI.
9
+ //
10
+ // A cassette closes that gap. Record real exchanges once with
11
+ // `createRecordingProvider`, then replay them forever with
12
+ // `createReplayProvider`. The replayed run exercises the *whole* Tier-4 write
13
+ // path — context assembly, tool-call extraction, supersede semantics, `_meta`
14
+ // ownership, pipeline-log append — against a frozen expected document.
15
+ //
16
+ // The interesting property is that replay is **strict**: each exchange records
17
+ // the request it answered, and a replay whose request differs is a typed error
18
+ // rather than a silently wrong answer. So a cassette does double duty as a
19
+ // prompt-drift detector — change `buildAgentPrompt` and the cassettes tell you,
20
+ // instead of a stale recording quietly answering a question nobody asked.
21
+ //
22
+ // No vendor SDK, no node built-ins: this file is safe wherever core runs.
23
+ import { canonicalizeExact } from '../../integrity-canonical.js';
24
+ import { AgentProviderError, } from '../provider.js';
25
+ export const CASSETTE_VERSION = '1.0';
26
+ /**
27
+ * Which parts of a request must match for a cassette to be considered current.
28
+ *
29
+ * `max_tokens` and `temperature` are deliberately excluded: they change the
30
+ * sampling budget, not the question, and pinning them would force a re-record
31
+ * for a knob that does not alter what the model was asked. Everything that
32
+ * changes the *question* — model, system prompt, messages, tool schemas,
33
+ * tool_choice — is compared.
34
+ */
35
+ function comparableRequest(request) {
36
+ return {
37
+ model: request.model,
38
+ system: request.system,
39
+ messages: request.messages,
40
+ tools: request.tools,
41
+ tool_choice: request.tool_choice,
42
+ };
43
+ }
44
+ /** Stable fingerprint of a request, used for comparison and error messages. */
45
+ export function agentRequestFingerprint(request) {
46
+ return canonicalizeExact(comparableRequest(request));
47
+ }
48
+ /**
49
+ * Replay a cassette. Exchanges are consumed in order: the Nth call must match
50
+ * the Nth recording.
51
+ *
52
+ * Sequential rather than keyed matching is deliberate. A keyed cassette would
53
+ * happily answer a *reordered* run, hiding a change in how many calls a layer
54
+ * makes or in what order — which is exactly the kind of regression a Tier-4
55
+ * conformance suite exists to catch.
56
+ */
57
+ export function createReplayProvider(cassette) {
58
+ if (cassette.cassette_version !== CASSETTE_VERSION) {
59
+ throw new AgentProviderError('AGENT_PROVIDER_REPLAY', `Unsupported cassette_version "${cassette.cassette_version}" (expected ${CASSETTE_VERSION}).`);
60
+ }
61
+ let cursor = 0;
62
+ const next = (request) => {
63
+ const exchange = cassette.exchanges[cursor];
64
+ if (!exchange) {
65
+ throw new AgentProviderError('AGENT_PROVIDER_REPLAY', `Cassette exhausted: the run asked for exchange ${cursor + 1} but only ${cassette.exchanges.length} were recorded. The run makes more provider calls than when it was recorded — re-record the cassette.`);
66
+ }
67
+ const expected = agentRequestFingerprint(exchange.request);
68
+ const actual = agentRequestFingerprint(request);
69
+ if (expected !== actual) {
70
+ throw new AgentProviderError('AGENT_PROVIDER_REPLAY', `Cassette is stale at exchange ${cursor + 1}: the request no longer matches what was recorded ` +
71
+ `(${describeDrift(exchange.request, request)}). Re-record the cassette.`);
72
+ }
73
+ cursor++;
74
+ return exchange.completion;
75
+ };
76
+ return {
77
+ id: 'replay',
78
+ async complete(request) {
79
+ return next(request);
80
+ },
81
+ async stream(request) {
82
+ // A cassette has no notion of streaming; the final message is all that
83
+ // was ever recorded, and it is what the runner consumes.
84
+ return next(request);
85
+ },
86
+ };
87
+ }
88
+ /** Name the fields that differ, so a stale cassette says *what* changed. */
89
+ function describeDrift(recorded, actual) {
90
+ const fields = [
91
+ 'model',
92
+ 'system',
93
+ 'messages',
94
+ 'tools',
95
+ 'tool_choice',
96
+ ];
97
+ const a = asRecord(recorded);
98
+ const b = asRecord(actual);
99
+ const changed = fields.filter((f) => canonicalizeExact(a[f]) !== canonicalizeExact(b[f]));
100
+ return changed.length ? `changed: ${changed.join(', ')}` : 'no field-level difference found';
101
+ }
102
+ function asRecord(request) {
103
+ return {
104
+ model: request.model,
105
+ system: request.system,
106
+ messages: request.messages,
107
+ tools: request.tools,
108
+ tool_choice: request.tool_choice,
109
+ };
110
+ }
111
+ /**
112
+ * Wrap a live provider and capture every exchange.
113
+ *
114
+ * Intended for an operator running once against a real backend to refresh a
115
+ * fixture — never for CI, which has no key and must not make network calls.
116
+ *
117
+ * `recordedAt` is injectable so a re-recording produces a stable file rather
118
+ * than a spurious one-line diff on every run.
119
+ */
120
+ export function createRecordingProvider(inner, opts = {}) {
121
+ const exchanges = [];
122
+ const capture = async (request, call) => {
123
+ const completion = await call(request);
124
+ exchanges.push({ request, completion });
125
+ return completion;
126
+ };
127
+ return {
128
+ id: `recording:${inner.id}`,
129
+ complete: (request) => capture(request, (r) => inner.complete(r)),
130
+ stream: (request) => capture(request, (r) => (inner.stream ? inner.stream(r) : inner.complete(r))),
131
+ cassette: () => ({
132
+ cassette_version: CASSETTE_VERSION,
133
+ recorded_from: inner.id,
134
+ recorded_at: opts.recordedAt ?? new Date().toISOString(),
135
+ exchanges,
136
+ }),
137
+ };
138
+ }
139
+ /** Parse and validate a cassette read from disk. */
140
+ export function parseAgentCassette(raw) {
141
+ let value;
142
+ try {
143
+ value = JSON.parse(raw);
144
+ }
145
+ catch (err) {
146
+ throw new AgentProviderError('AGENT_PROVIDER_REPLAY', 'Cassette is not valid JSON.', err);
147
+ }
148
+ const c = value;
149
+ if (c?.cassette_version !== CASSETTE_VERSION) {
150
+ throw new AgentProviderError('AGENT_PROVIDER_REPLAY', `Cassette is missing or has an unsupported cassette_version (expected ${CASSETTE_VERSION}).`);
151
+ }
152
+ if (!Array.isArray(c.exchanges) || c.exchanges.length === 0) {
153
+ throw new AgentProviderError('AGENT_PROVIDER_REPLAY', 'Cassette must contain a non-empty exchanges array.');
154
+ }
155
+ for (const [i, exchange] of c.exchanges.entries()) {
156
+ if (!exchange?.request || !exchange?.completion) {
157
+ throw new AgentProviderError('AGENT_PROVIDER_REPLAY', `Cassette exchange ${i + 1} is missing its request or completion.`);
158
+ }
159
+ }
160
+ return c;
161
+ }
162
+ //# sourceMappingURL=replay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replay.js","sourceRoot":"","sources":["../../../src/agents/providers/replay.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type Anthropic from '@anthropic-ai/sdk';
2
- export declare const WRITE_UW_SECTION_TOOL: Anthropic.Tool;
3
- export declare const WRITE_MULTIPLE_SECTIONS_TOOL: Anthropic.Tool;
1
+ import type { AgentToolSchema } from './provider.js';
2
+ export declare const WRITE_UW_SECTION_TOOL: AgentToolSchema;
3
+ export declare const WRITE_MULTIPLE_SECTIONS_TOOL: AgentToolSchema;
4
4
  export declare const MULTI_SECTION_LAYERS: Set<string>;
5
5
  export interface ToolOutput {
6
6
  section_id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/agents/schemas.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAO/C,eAAO,MAAM,qBAAqB,EAAE,SAAS,CAAC,IAmC7C,CAAC;AAKF,eAAO,MAAM,4BAA4B,EAAE,SAAS,CAAC,IAyBpD,CAAC;AAGF,eAAO,MAAM,oBAAoB,aAAwB,CAAC;AAE1D,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/agents/schemas.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAOrD,eAAO,MAAM,qBAAqB,EAAE,eAmCnC,CAAC;AAKF,eAAO,MAAM,4BAA4B,EAAE,eAyB1C,CAAC;AAGF,eAAO,MAAM,oBAAoB,aAAwB,CAAC;AAE1D,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/agents/schemas.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,kFAAkF;AAClF,sEAAsE;AAItE,iFAAiF;AACjF,sEAAsE;AACtE,6EAA6E;AAC7E,qFAAqF;AAErF,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,gJAAgJ;IAC7J,YAAY,EAAE;QACZ,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kJAAkJ;aAChK;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;gBAC/B,WAAW,EAAE,yHAAyH;aACvI;YACD,qBAAqB,EAAE;gBACrB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,8GAA8G;aAC5H;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,yLAAyL;aACvM;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oHAAoH;aAClI;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gHAAgH;aAC9H;SACF;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,uBAAuB,EAAE,OAAO,EAAE,cAAc,CAAC;KACzF;CACF,CAAC;AAEF,iFAAiF;AACjF,6EAA6E;AAE7E,MAAM,CAAC,MAAM,4BAA4B,GAAmB;IAC1D,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,iIAAiI;IAC9I,YAAY,EAAE;QACZ,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC9B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE;wBAC/D,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wBAC1C,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;wBACnD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAChC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;oBACD,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,uBAAuB,EAAE,OAAO,EAAE,cAAc,CAAC;iBACzF;gBACD,WAAW,EAAE,wCAAwC;aACtD;SACF;QACD,QAAQ,EAAE,CAAC,UAAU,CAAC;KACvB;CACF,CAAC;AAEF,qEAAqE;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/agents/schemas.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,kFAAkF;AAClF,sEAAsE;AAItE,iFAAiF;AACjF,sEAAsE;AACtE,6EAA6E;AAC7E,qFAAqF;AAErF,MAAM,CAAC,MAAM,qBAAqB,GAAoB;IACpD,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,gJAAgJ;IAC7J,YAAY,EAAE;QACZ,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kJAAkJ;aAChK;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;gBAC/B,WAAW,EAAE,yHAAyH;aACvI;YACD,qBAAqB,EAAE;gBACrB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,8GAA8G;aAC5H;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,yLAAyL;aACvM;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oHAAoH;aAClI;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gHAAgH;aAC9H;SACF;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,uBAAuB,EAAE,OAAO,EAAE,cAAc,CAAC;KACzF;CACF,CAAC;AAEF,iFAAiF;AACjF,6EAA6E;AAE7E,MAAM,CAAC,MAAM,4BAA4B,GAAoB;IAC3D,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,iIAAiI;IAC9I,YAAY,EAAE;QACZ,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC9B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE;wBAC/D,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wBAC1C,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;wBACnD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAChC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;oBACD,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,uBAAuB,EAAE,OAAO,EAAE,cAAc,CAAC;iBACzF;gBACD,WAAW,EAAE,wCAAwC;aACtD;SACF;QACD,QAAQ,EAAE,CAAC,UAAU,CAAC;KACvB;CACF,CAAC;AAEF,qEAAqE;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC"}
package/dist/browser.d.ts CHANGED
@@ -4,7 +4,13 @@ export { compact, diff } from './compactor.js';
4
4
  export { render, UnsupportedRenderFormatError } from './renderer.js';
5
5
  export type { RenderFormat, RenderTier, RenderOptions, RenderResult } from './renderer.js';
6
6
  export { renderReportHtml, REPORT_CSS } from './report.js';
7
+ export { UW_LITE_REPRESENTATION_ID, UWX_REPRESENTATION_ID, UW_LITE_REPRESENTATION_VERSION, UWX_REPRESENTATION_VERSION, UW_LITE_MEDIA_TYPE, UWX_MEDIA_TYPE, UW_LITE_EXTENSION, UW_LITE_SOURCE_DESCRIPTOR, UWX_SOURCE_DESCRIPTOR, UWX_EXTENSION, UWSourceRepresentationError, detectUWSourceRepresentation, migrateLegacyUWMarkdown, } from './source-representation.js';
8
+ export type { UWSourceRepresentation, UWSourceDetection, UWSourceMigration, } from './source-representation.js';
9
+ export { UWLiteError, parseUWLite, canonicalizeUWLiteFinancial, renderCanonicalUWLite, } from './lite.js';
10
+ export type { UWLiteScalar, UWLiteSourceRange, UWLiteIssue, UWLiteNode, UWLiteFieldNode, ParsedUWLite, } from './lite.js';
7
11
  export type { ReportOptions, ReportResult } from './report.js';
12
+ export { UW_LITE_BRIDGE_PROFILE, UW_LITE_SOURCE_EXTENSION, UW_LITE_FIELD_MAPPINGS, UWLiteBridgeError, compileUWLite, projectUWEnvelopeToLite, stringifyUWX, } from './lite-bridge.js';
13
+ export type { UWLiteFieldMapping, UWLiteCompilationIssue, UWLiteCompilationReport, UWLiteCompilationResult, UWLiteProjectionReport, UWLiteProjectionResult, } from './lite-bridge.js';
8
14
  export { UW_JSON_REPRESENTATION_VERSION, UW_JSON_MEDIA_TYPE, UWJsonError, toUWJson, stringifyUWEnvelope, stringifyUWJson, stringifyUWJsonWithDigest, parseUWJson, parseUWJsonVerified, fromUWJson, UW_JSON_CODEC, } from './uwjson.js';
9
15
  export type { ToUWJsonOptions } from './uwjson.js';
10
16
  export { UW_XML_REPRESENTATION_VERSION, UW_XML_MEDIA_TYPE, UW_XML_NAMESPACE, UWXmlError, stringifyUWXml, parseUWXml, parseUWXmlVerified, UW_XML_CODEC, } from './uwxml.js';
@@ -38,10 +44,24 @@ export { deriveDCF } from './dcf.js';
38
44
  export type { DCFDerivation } from './dcf.js';
39
45
  export { evaluateCalc, parseExpression, evaluate, BUILTINS, CalcError, calcError } from './calc/index.js';
40
46
  export type { CalcValue, Builtin, CalcErrorCode } from './calc/index.js';
41
- export { MULTIFAMILY_PACK, OFFICE_PACK, RETAIL_PACK, INDUSTRIAL_PACK, SELF_STORAGE_PACK, getPackForAssetClass, emitFromAst, emitExcelFormula, ExcelEmitError, } from './packs/index.js';
47
+ export { quantizeDecimal, resolveRoundTo, DEFAULT_ROUND_TO, DEFAULT_ROUND_TO_BY_UNIT, MAX_ROUND_TO, } from './calc/index.js';
48
+ export { MULTIFAMILY_PACK, OFFICE_PACK, RETAIL_PACK, INDUSTRIAL_PACK, SELF_STORAGE_PACK, HOSPITALITY_PACK, SENIOR_HOUSING_PACK, STUDENT_HOUSING_PACK, LAND_PACK, getPackForAssetClass, emitFromAst, emitExcelFormula, emitCalcExcelFormula, ExcelEmitError, } from './packs/index.js';
42
49
  export type { ExcelEmitOptions } from './packs/index.js';
43
50
  export { loadModuleManifest, createModuleRegistry, getModuleCalculationsForAssetClass, ModuleRegistryError, } from './modules.js';
44
51
  export type { ModuleRegistry, LoadModuleOptions, CreateModuleRegistryOptions } from './modules.js';
52
+ export { BUILTIN_DOCUMENT_PROFILES, DEAL_UNDERWRITING_PROFILE, LEASE_ABSTRACT_PROFILE, SOURCE_NOTE_PROFILE, DOCUMENT_PROFILE_PATTERN, lookupDocumentProfile, BUILTIN_EDGE_TYPES, lookupEdgeType, isEdgeTypeValidOnLayer, } from './protocol.js';
53
+ export type { DocumentProfile, UWEdgeLayer, UWEdgeEndpointKind, UWEdgeTypeDef } from './protocol.js';
54
+ export { UW_PACKAGE_VERSION, UW_PACKAGE_ZIP_CODEC, UW_PACKAGE_ZIP_MEDIA_TYPE, UW_PACKAGE_CONTEXT_CODEC, UW_PACKAGE_CONTEXT_MEDIA_TYPE, CONTEXT_INLINABLE_ROLES, UWPackageError, isSafeMemberPath, validateUWDealPackageManifest, assertUWDealPackageManifest, projectPackageLinksToEntityEdges, edgeTypesForLayer, } from './deal-package.js';
55
+ export type { UWDealPackageManifest, UWPackageMember, UWPackageLink, UWMemberRole, UWSourceReference, UWEntityEdge, } from './deal-package.js';
56
+ export { projectUWDealPackageContext, validateUWDealPackageContext, verifyContextContentDigests, } from './deal-package-context.js';
57
+ export type { UWDealPackageContext, UWContextContent, UWSourceEvidenceDescriptor, ProjectContextOptions, } from './deal-package-context.js';
58
+ export { LEASE_ABSTRACT_PROFILE_ID, LEASE_ABSTRACT_GROUPS, LEASE_TERM_STATUSES, LEASE_ARTIFACT_KINDS, LeaseAbstractError, validateLeaseAbstract, assertLeaseAbstract, projectLeaseAbstractToRentRoll, } from './lease-abstract.js';
59
+ export type { LeaseAbstract, LeaseAbstractGroup, LeaseTermValue, LeaseTermStatus, LeaseArtifactKind, SourceRef, RentRollProjectionRow, RentRollProjectionReport, RentRollProjectionResult, } from './lease-abstract.js';
60
+ export { PACKAGE_MANIFEST_PATH, encodeUWDealPackageZip, decodeUWDealPackageZip, verifyUWDealPackage, } from './deal-package-zip.js';
61
+ export type { UWDealPackageInput, UWDealPackageDecoded, UWPackageDecodeOptions, PackageVerification, PackageVerificationStatus, } from './deal-package-zip.js';
62
+ export { inspectZipSafety, isSafeZipPath } from './zip-safety.js';
63
+ export type { ZipSafetyLimits, ZipSafetyViolation } from './zip-safety.js';
64
+ export { sha256BytesHex } from './integrity.js';
45
65
  export { buildAgentContext, buildAgentPrompt, isContextReady, getLayerDependencies, BANCROFT_LAYERS, } from './context.js';
46
66
  export type { AgentContext, BancroftPrompt, LayerDefinition } from './context.js';
47
67
  export { generateBlankUWFile } from './init.js';
@@ -51,16 +71,19 @@ export { rankGaps } from './refinement.js';
51
71
  export type { RankGapsOptions, RankGapsResult, RankedGap, OutputSensitivity, NonMonotonicWarning, } from './refinement.js';
52
72
  export { inferGaps, summarizeGaps, readGapsContent } from './gaps.js';
53
73
  export type { GapItem, GapSummary, GapsContent, GapReason, InferGapsOptions } from './gaps.js';
54
- export { getAssetClassDefaults, getDefaultRange, listDefaultedFields, MULTIFAMILY_DEFAULTS, OFFICE_DEFAULTS, RETAIL_DEFAULTS, INDUSTRIAL_DEFAULTS, SELF_STORAGE_DEFAULTS, } from './defaults.js';
74
+ export { getAssetClassDefaults, getDefaultRange, listDefaultedFields, MULTIFAMILY_DEFAULTS, OFFICE_DEFAULTS, RETAIL_DEFAULTS, INDUSTRIAL_DEFAULTS, SELF_STORAGE_DEFAULTS, HOSPITALITY_DEFAULTS, SENIOR_HOUSING_DEFAULTS, STUDENT_HOUSING_DEFAULTS, LAND_DEFAULTS, } from './defaults.js';
55
75
  export type { AssetClassDefaults, DefaultRange, DefaultUnit } from './defaults.js';
56
76
  export { getExprDependencies, extractDependencyGraph } from './calc/dependencies.js';
57
77
  export type { DependencyGraph, ExtractDependencyGraphOptions } from './calc/dependencies.js';
58
78
  export type { UWBlock, UWFenceAnnotation, UWMeta, UWFieldOverride, UWFrontmatter, UWPipelineState, UWQuickMetrics, ParsedUWFile, ParsedSections, ParseOptions, InstitutionConfig, ValidationMessage, ValidationResult, StageReadiness, FinancialThresholds, ConfidenceLevel, PipelineStatus, ValidationSeverity, DealStage, AssetClass, } from './types.js';
59
- export { DEFAULT_THRESHOLDS } from './types.js';
79
+ export { DEFAULT_THRESHOLDS, ASSET_CLASSES } from './types.js';
60
80
  export { formatCurrency, formatPercent, formatRatio, formatCount, formatDate, formatNull, formatValue, formatPercentCsv, formatNumberCsv, } from './format.js';
61
81
  export type { CurrencyOptions, PercentOptions, RatioOptions, CountOptions, DateOptions, NullOptions, } from './format.js';
62
82
  export { PROTOCOL_VERSION, FORMAT_VERSION, DEFAULT_NUMBER_FORMAT, DEFAULT_DATE_FORMAT, BUILTIN_VIEW_MODELS, BUILTIN_EDIT_POLICIES, BUILTIN_REMEDIATIONS, } from './protocol.js';
63
83
  export type { ViewerTier, ViewerRole, ViewerCapability, ImplementationManifest, SupportedLocale, NumberFormatRules, DateFormatRules, ConfidenceBadgeStyle, SourceBadge, FlagSeverity, FieldViewHint, SectionViewModel, ViewModelRegistry, EditAuthority, EditPolicy, EditOperation, IssueRemediation, CalcEvaluationContext, CalcResult, AgentHostCapability, ModuleManifest, ModuleSectionDecl, ModuleCalcDecl, ModuleValidationDecl, ModuleAgentLayerDecl, ModuleLoadResult, ProtocolError, ProtocolErrorCategory, } from './protocol.js';
64
84
  export type { SectionDiff } from './compactor.js';
65
85
  export type { InitOptions } from './init.js';
86
+ export { CORE_PACKAGE_NAME, CORE_VERSION } from './version.js';
87
+ export { UW_RECEIPT_VERSION, UW_LITE_CANONICALIZATION, UWX_CANONICALIZATION, RECEIPT_RESULT_TOLERANCE, BUILTIN_POLICY_SET, BUILTIN_POLICY_SET_VERSION, ReceiptError, resolveReceiptSubject, computeReceiptResults, computeResultsDigest, issueReceipt, receiptSigningPayload, verifyReceipt, assertUWReceipt, } from './receipts.js';
88
+ export type { UWReceipt, UWReceiptSubject, UWReceiptResult, UWReceiptComputation, UWReceiptPolicy, UWReceiptSignature, UWReceiptCanonicalization, UWReceiptVerdict, UWReceiptIssue, UWReceiptIssueCode, UWReceiptVerification, ReceiptErrorCode, ReceiptSignatureVerifier, ReceiptSubjectOptions, ReceiptSubjectResolution, ReceiptIssuanceOptions, ReceiptVerificationOptions, } from './receipts.js';
66
89
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
package/dist/browser.js CHANGED
@@ -16,6 +16,9 @@ export { validateUWFile, lookupRemediation } from './validator.js';
16
16
  export { compact, diff } from './compactor.js';
17
17
  export { render, UnsupportedRenderFormatError } from './renderer.js';
18
18
  export { renderReportHtml, REPORT_CSS } from './report.js';
19
+ export { UW_LITE_REPRESENTATION_ID, UWX_REPRESENTATION_ID, UW_LITE_REPRESENTATION_VERSION, UWX_REPRESENTATION_VERSION, UW_LITE_MEDIA_TYPE, UWX_MEDIA_TYPE, UW_LITE_EXTENSION, UW_LITE_SOURCE_DESCRIPTOR, UWX_SOURCE_DESCRIPTOR, UWX_EXTENSION, UWSourceRepresentationError, detectUWSourceRepresentation, migrateLegacyUWMarkdown, } from './source-representation.js';
20
+ export { UWLiteError, parseUWLite, canonicalizeUWLiteFinancial, renderCanonicalUWLite, } from './lite.js';
21
+ export { UW_LITE_BRIDGE_PROFILE, UW_LITE_SOURCE_EXTENSION, UW_LITE_FIELD_MAPPINGS, UWLiteBridgeError, compileUWLite, projectUWEnvelopeToLite, stringifyUWX, } from './lite-bridge.js';
19
22
  export { UW_JSON_REPRESENTATION_VERSION, UW_JSON_MEDIA_TYPE, UWJsonError, toUWJson, stringifyUWEnvelope, stringifyUWJson, stringifyUWJsonWithDigest, parseUWJson, parseUWJsonVerified, fromUWJson, UW_JSON_CODEC, } from './uwjson.js';
20
23
  export { UW_XML_REPRESENTATION_VERSION, UW_XML_MEDIA_TYPE, UW_XML_NAMESPACE, UWXmlError, stringifyUWXml, parseUWXml, parseUWXmlVerified, UW_XML_CODEC, } from './uwxml.js';
21
24
  export { UW_CSV_BUNDLE_VERSION, UW_CSV_BUNDLE_MEDIA_TYPE, UWCSVError, encodeUWCSVBundle, decodeUWCSVBundle, encodeUWCSVZip, decodeUWCSVZip, UW_CSV_BUNDLE_CODEC, } from './uwcsv.js';
@@ -33,8 +36,20 @@ export { deriveSourcesUses } from './sourcesuses.js';
33
36
  export { deriveValuation } from './valuation.js';
34
37
  export { deriveDCF } from './dcf.js';
35
38
  export { evaluateCalc, parseExpression, evaluate, BUILTINS, CalcError, calcError } from './calc/index.js';
36
- export { MULTIFAMILY_PACK, OFFICE_PACK, RETAIL_PACK, INDUSTRIAL_PACK, SELF_STORAGE_PACK, getPackForAssetClass, emitFromAst, emitExcelFormula, ExcelEmitError, } from './packs/index.js';
39
+ // The §VIII.5 quantization boundary browser-safe, and the web editor needs it
40
+ // to quantize hand-overridden fields the same way pack results are quantized.
41
+ export { quantizeDecimal, resolveRoundTo, DEFAULT_ROUND_TO, DEFAULT_ROUND_TO_BY_UNIT, MAX_ROUND_TO, } from './calc/index.js';
42
+ export { MULTIFAMILY_PACK, OFFICE_PACK, RETAIL_PACK, INDUSTRIAL_PACK, SELF_STORAGE_PACK, HOSPITALITY_PACK, SENIOR_HOUSING_PACK, STUDENT_HOUSING_PACK, LAND_PACK, getPackForAssetClass, emitFromAst, emitExcelFormula, emitCalcExcelFormula, ExcelEmitError, } from './packs/index.js';
37
43
  export { loadModuleManifest, createModuleRegistry, getModuleCalculationsForAssetClass, ModuleRegistryError, } from './modules.js';
44
+ // ─── RFC 0018: document profiles, lease abstracts, deal packages ─────────────
45
+ // All browser-safe: no I/O, no network, no hashing implementation imported.
46
+ export { BUILTIN_DOCUMENT_PROFILES, DEAL_UNDERWRITING_PROFILE, LEASE_ABSTRACT_PROFILE, SOURCE_NOTE_PROFILE, DOCUMENT_PROFILE_PATTERN, lookupDocumentProfile, BUILTIN_EDGE_TYPES, lookupEdgeType, isEdgeTypeValidOnLayer, } from './protocol.js';
47
+ export { UW_PACKAGE_VERSION, UW_PACKAGE_ZIP_CODEC, UW_PACKAGE_ZIP_MEDIA_TYPE, UW_PACKAGE_CONTEXT_CODEC, UW_PACKAGE_CONTEXT_MEDIA_TYPE, CONTEXT_INLINABLE_ROLES, UWPackageError, isSafeMemberPath, validateUWDealPackageManifest, assertUWDealPackageManifest, projectPackageLinksToEntityEdges, edgeTypesForLayer, } from './deal-package.js';
48
+ export { projectUWDealPackageContext, validateUWDealPackageContext, verifyContextContentDigests, } from './deal-package-context.js';
49
+ export { LEASE_ABSTRACT_PROFILE_ID, LEASE_ABSTRACT_GROUPS, LEASE_TERM_STATUSES, LEASE_ARTIFACT_KINDS, LeaseAbstractError, validateLeaseAbstract, assertLeaseAbstract, projectLeaseAbstractToRentRoll, } from './lease-abstract.js';
50
+ export { PACKAGE_MANIFEST_PATH, encodeUWDealPackageZip, decodeUWDealPackageZip, verifyUWDealPackage, } from './deal-package-zip.js';
51
+ export { inspectZipSafety, isSafeZipPath } from './zip-safety.js';
52
+ export { sha256BytesHex } from './integrity.js';
38
53
  export { buildAgentContext, buildAgentPrompt, isContextReady, getLayerDependencies, BANCROFT_LAYERS, } from './context.js';
39
54
  export { generateBlankUWFile } from './init.js';
40
55
  // ─── Intelligence surfaces (browser-safe: no node, no SDK) ───────────────────
@@ -45,9 +60,14 @@ export { generateBlankUWFile } from './init.js';
45
60
  export { resolveValue, readInFile } from './cascade.js';
46
61
  export { rankGaps } from './refinement.js';
47
62
  export { inferGaps, summarizeGaps, readGapsContent } from './gaps.js';
48
- export { getAssetClassDefaults, getDefaultRange, listDefaultedFields, MULTIFAMILY_DEFAULTS, OFFICE_DEFAULTS, RETAIL_DEFAULTS, INDUSTRIAL_DEFAULTS, SELF_STORAGE_DEFAULTS, } from './defaults.js';
63
+ export { getAssetClassDefaults, getDefaultRange, listDefaultedFields, MULTIFAMILY_DEFAULTS, OFFICE_DEFAULTS, RETAIL_DEFAULTS, INDUSTRIAL_DEFAULTS, SELF_STORAGE_DEFAULTS, HOSPITALITY_DEFAULTS, SENIOR_HOUSING_DEFAULTS, STUDENT_HOUSING_DEFAULTS, LAND_DEFAULTS, } from './defaults.js';
49
64
  export { getExprDependencies, extractDependencyGraph } from './calc/dependencies.js';
50
- export { DEFAULT_THRESHOLDS } from './types.js';
65
+ export { DEFAULT_THRESHOLDS, ASSET_CLASSES } from './types.js';
51
66
  export { formatCurrency, formatPercent, formatRatio, formatCount, formatDate, formatNull, formatValue, formatPercentCsv, formatNumberCsv, } from './format.js';
52
67
  export { PROTOCOL_VERSION, FORMAT_VERSION, DEFAULT_NUMBER_FORMAT, DEFAULT_DATE_FORMAT, BUILTIN_VIEW_MODELS, BUILTIN_EDIT_POLICIES, BUILTIN_REMEDIATIONS, } from './protocol.js';
68
+ // Receipts (RFC 0016) — issuance and verification are browser-safe: SHA-256
69
+ // comes from Web Crypto via `integrity.sha256TextHex`, and no signing backend
70
+ // is bundled here.
71
+ export { CORE_PACKAGE_NAME, CORE_VERSION } from './version.js';
72
+ export { UW_RECEIPT_VERSION, UW_LITE_CANONICALIZATION, UWX_CANONICALIZATION, RECEIPT_RESULT_TOLERANCE, BUILTIN_POLICY_SET, BUILTIN_POLICY_SET_VERSION, ReceiptError, resolveReceiptSubject, computeReceiptResults, computeResultsDigest, issueReceipt, receiptSigningPayload, verifyReceipt, assertUWReceipt, } from './receipts.js';
53
73
  //# sourceMappingURL=browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,14 @@
1
1
  export type CalcValue = number | string | boolean | null;
2
2
  export type Builtin = (args: CalcValue[]) => CalcValue;
3
+ /** Low end of the IRR search interval: -99.9%. */
4
+ export declare const IRR_BRACKET_LO = -0.999;
5
+ /** High end of the IRR search interval: 1000%. */
6
+ export declare const IRR_BRACKET_HI = 10;
7
+ /** Stop when the NPV at the midpoint is this close to zero. */
8
+ export declare const IRR_VALUE_TOL = 1e-9;
9
+ /** Stop when the remaining half-interval is this narrow. */
10
+ export declare const IRR_INTERVAL_TOL = 1e-12;
11
+ /** Hard iteration cap; exhausting it raises `CALC-IRR-DIVERGE`. */
12
+ export declare const IRR_MAX_ITER = 200;
3
13
  export declare const BUILTINS: Readonly<Record<string, Builtin>>;
4
14
  //# sourceMappingURL=builtins.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/calc/builtins.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAEzD,MAAM,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,SAAS,CAAC;AAavD,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmTrD,CAAC"}
1
+ {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/calc/builtins.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAEzD,MAAM,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,SAAS,CAAC;AAgBvD,kDAAkD;AAClD,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,kDAAkD;AAClD,eAAO,MAAM,cAAc,KAAO,CAAC;AACnC,+DAA+D;AAC/D,eAAO,MAAM,aAAa,OAAO,CAAC;AAClC,4DAA4D;AAC5D,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,mEAAmE;AACnE,eAAO,MAAM,YAAY,MAAM,CAAC;AAEhC,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6UrD,CAAC"}