@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.
- package/README.md +3 -3
- package/dist/agents/bancroft.d.ts +22 -1
- package/dist/agents/bancroft.d.ts.map +1 -1
- package/dist/agents/bancroft.js +86 -60
- package/dist/agents/bancroft.js.map +1 -1
- package/dist/agents/provider.d.ts +62 -0
- package/dist/agents/provider.d.ts.map +1 -0
- package/dist/agents/provider.js +28 -0
- package/dist/agents/provider.js.map +1 -0
- package/dist/agents/providers/anthropic.d.ts +20 -0
- package/dist/agents/providers/anthropic.d.ts.map +1 -0
- package/dist/agents/providers/anthropic.js +104 -0
- package/dist/agents/providers/anthropic.js.map +1 -0
- package/dist/agents/providers/replay.d.ts +46 -0
- package/dist/agents/providers/replay.d.ts.map +1 -0
- package/dist/agents/providers/replay.js +162 -0
- package/dist/agents/providers/replay.js.map +1 -0
- package/dist/agents/schemas.d.ts +3 -3
- package/dist/agents/schemas.d.ts.map +1 -1
- package/dist/agents/schemas.js.map +1 -1
- package/dist/browser.d.ts +33 -4
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +26 -3
- package/dist/browser.js.map +1 -1
- package/dist/calc/builtins.d.ts +10 -0
- package/dist/calc/builtins.d.ts.map +1 -1
- package/dist/calc/builtins.js +64 -42
- package/dist/calc/builtins.js.map +1 -1
- package/dist/calc/errors.js +1 -1
- package/dist/calc/evaluator.js +6 -2
- package/dist/calc/evaluator.js.map +1 -1
- package/dist/calc/index.d.ts +7 -0
- package/dist/calc/index.d.ts.map +1 -1
- package/dist/calc/index.js +13 -1
- package/dist/calc/index.js.map +1 -1
- package/dist/calc/quantize.d.ts +56 -0
- package/dist/calc/quantize.d.ts.map +1 -0
- package/dist/calc/quantize.js +116 -0
- package/dist/calc/quantize.js.map +1 -0
- package/dist/cascade.d.ts +60 -6
- package/dist/cascade.d.ts.map +1 -1
- package/dist/cascade.js +93 -14
- package/dist/cascade.js.map +1 -1
- package/dist/cli-packages.d.ts +11 -0
- package/dist/cli-packages.d.ts.map +1 -0
- package/dist/cli-packages.js +177 -0
- package/dist/cli-packages.js.map +1 -0
- package/dist/cli.js +691 -37
- package/dist/cli.js.map +1 -1
- package/dist/composition.d.ts +182 -0
- package/dist/composition.d.ts.map +1 -0
- package/dist/composition.js +536 -0
- package/dist/composition.js.map +1 -0
- package/dist/deal-package-context.d.ts +52 -0
- package/dist/deal-package-context.d.ts.map +1 -0
- package/dist/deal-package-context.js +132 -0
- package/dist/deal-package-context.js.map +1 -0
- package/dist/deal-package-zip.d.ts +36 -0
- package/dist/deal-package-zip.d.ts.map +1 -0
- package/dist/deal-package-zip.js +132 -0
- package/dist/deal-package-zip.js.map +1 -0
- package/dist/deal-package.d.ts +82 -0
- package/dist/deal-package.d.ts.map +1 -0
- package/dist/deal-package.js +189 -0
- package/dist/deal-package.js.map +1 -0
- package/dist/defaults.d.ts +48 -0
- package/dist/defaults.d.ts.map +1 -1
- package/dist/defaults.js +512 -0
- package/dist/defaults.js.map +1 -1
- package/dist/index.d.ts +39 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -3
- package/dist/index.js.map +1 -1
- package/dist/init.js +1 -1
- package/dist/init.js.map +1 -1
- package/dist/integrity.d.ts +9 -0
- package/dist/integrity.d.ts.map +1 -1
- package/dist/integrity.js +12 -2
- package/dist/integrity.js.map +1 -1
- package/dist/lease-abstract.d.ts +82 -0
- package/dist/lease-abstract.d.ts.map +1 -0
- package/dist/lease-abstract.js +183 -0
- package/dist/lease-abstract.js.map +1 -0
- package/dist/lite-bridge.d.ts +67 -0
- package/dist/lite-bridge.d.ts.map +1 -0
- package/dist/lite-bridge.js +564 -0
- package/dist/lite-bridge.js.map +1 -0
- package/dist/lite.d.ts +63 -0
- package/dist/lite.d.ts.map +1 -0
- package/dist/lite.js +398 -0
- package/dist/lite.js.map +1 -0
- package/dist/market-data.d.ts +134 -0
- package/dist/market-data.d.ts.map +1 -0
- package/dist/market-data.js +292 -0
- package/dist/market-data.js.map +1 -0
- package/dist/modules.d.ts.map +1 -1
- package/dist/modules.js +278 -13
- package/dist/modules.js.map +1 -1
- package/dist/packs/excel-emit.d.ts +18 -1
- package/dist/packs/excel-emit.d.ts.map +1 -1
- package/dist/packs/excel-emit.js +18 -1
- package/dist/packs/excel-emit.js.map +1 -1
- package/dist/packs/hospitality.d.ts +3 -0
- package/dist/packs/hospitality.d.ts.map +1 -0
- package/dist/packs/hospitality.js +122 -0
- package/dist/packs/hospitality.js.map +1 -0
- package/dist/packs/index.d.ts +5 -1
- package/dist/packs/index.d.ts.map +1 -1
- package/dist/packs/index.js +13 -1
- package/dist/packs/index.js.map +1 -1
- package/dist/packs/land.d.ts +3 -0
- package/dist/packs/land.d.ts.map +1 -0
- package/dist/packs/land.js +124 -0
- package/dist/packs/land.js.map +1 -0
- package/dist/packs/senior-housing.d.ts +3 -0
- package/dist/packs/senior-housing.d.ts.map +1 -0
- package/dist/packs/senior-housing.js +123 -0
- package/dist/packs/senior-housing.js.map +1 -0
- package/dist/packs/student-housing.d.ts +3 -0
- package/dist/packs/student-housing.d.ts.map +1 -0
- package/dist/packs/student-housing.js +124 -0
- package/dist/packs/student-housing.js.map +1 -0
- package/dist/parser.d.ts +9 -0
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +40 -6
- package/dist/parser.js.map +1 -1
- package/dist/protocol.d.ts +125 -9
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +182 -4
- package/dist/protocol.js.map +1 -1
- package/dist/receipts.d.ts +396 -0
- package/dist/receipts.d.ts.map +1 -0
- package/dist/receipts.js +913 -0
- package/dist/receipts.js.map +1 -0
- package/dist/runner.d.ts +13 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +5 -5
- package/dist/runner.js.map +1 -1
- package/dist/source-representation.d.ts +40 -0
- package/dist/source-representation.d.ts.map +1 -0
- package/dist/source-representation.js +114 -0
- package/dist/source-representation.js.map +1 -0
- package/dist/types.d.ts +63 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +34 -0
- package/dist/types.js.map +1 -1
- package/dist/uwcsv.d.ts.map +1 -1
- package/dist/uwcsv.js +10 -78
- package/dist/uwcsv.js.map +1 -1
- package/dist/uwxml.d.ts.map +1 -1
- package/dist/uwxml.js +10 -2
- package/dist/uwxml.js.map +1 -1
- package/dist/validator.d.ts.map +1 -1
- package/dist/validator.js +27 -10
- package/dist/validator.js.map +1 -1
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +8 -0
- package/dist/version.js.map +1 -0
- package/dist/zip-safety.d.ts +15 -0
- package/dist/zip-safety.d.ts.map +1 -0
- package/dist/zip-safety.js +109 -0
- package/dist/zip-safety.js.map +1 -0
- package/package.json +12 -3
package/dist/modules.js
CHANGED
|
@@ -6,25 +6,15 @@
|
|
|
6
6
|
// registry. It deliberately does not perform dynamic imports or introduce new
|
|
7
7
|
// asset-class identifiers; those remain v2/RFC concerns.
|
|
8
8
|
import { parseExpression } from './calc/parser.js';
|
|
9
|
+
import { MAX_ROUND_TO } from './calc/quantize.js';
|
|
9
10
|
import { FORMAT_VERSION, PROTOCOL_VERSION, } from './protocol.js';
|
|
11
|
+
import { ASSET_CLASSES } from './types.js';
|
|
10
12
|
const TIERS = [
|
|
11
13
|
'tier-1-reader',
|
|
12
14
|
'tier-2-editor',
|
|
13
15
|
'tier-3-calc-host',
|
|
14
16
|
'tier-4-agent-host',
|
|
15
17
|
];
|
|
16
|
-
const ASSET_CLASSES = [
|
|
17
|
-
'multifamily',
|
|
18
|
-
'office',
|
|
19
|
-
'retail',
|
|
20
|
-
'industrial',
|
|
21
|
-
'self_storage',
|
|
22
|
-
'hospitality',
|
|
23
|
-
'mixed_use',
|
|
24
|
-
'senior_housing',
|
|
25
|
-
'student_housing',
|
|
26
|
-
'land',
|
|
27
|
-
];
|
|
28
18
|
const DEAL_STAGES = [
|
|
29
19
|
'scope',
|
|
30
20
|
'screening',
|
|
@@ -35,6 +25,44 @@ const DEAL_STAGES = [
|
|
|
35
25
|
'monitoring',
|
|
36
26
|
];
|
|
37
27
|
const SEVERITIES = ['error', 'warning', 'info'];
|
|
28
|
+
const FIELD_VIEW_KINDS = [
|
|
29
|
+
'currency',
|
|
30
|
+
'percent',
|
|
31
|
+
'ratio',
|
|
32
|
+
'count',
|
|
33
|
+
'date',
|
|
34
|
+
'string',
|
|
35
|
+
'enum',
|
|
36
|
+
'list',
|
|
37
|
+
];
|
|
38
|
+
// Key sets mirror `additionalProperties: false` in
|
|
39
|
+
// spec/schemas/module-manifest.schema.json. An unknown key is a typo far more
|
|
40
|
+
// often than it is a forward-compatible extension, and a typo'd `calculationz`
|
|
41
|
+
// silently contributes nothing — `manifest_version` is the forward-compat lever.
|
|
42
|
+
const MANIFEST_KEYS = [
|
|
43
|
+
'manifest_version', 'id', 'name', 'version', 'description', 'authors', 'license',
|
|
44
|
+
'requires_protocol', 'requires_format', 'requires_tier', 'asset_classes',
|
|
45
|
+
'deal_stages', 'sections', 'calculations', 'validations', 'thresholds',
|
|
46
|
+
'view_models', 'ui', 'agent_layers', 'depends_on',
|
|
47
|
+
];
|
|
48
|
+
const SECTION_KEYS = ['id', 'display_name', 'schema', 'required'];
|
|
49
|
+
const CALC_KEYS = ['id', 'label', 'formula', 'unit', 'round_to', 'deterministic'];
|
|
50
|
+
const VALIDATION_KEYS = ['code', 'severity', 'message', 'rule'];
|
|
51
|
+
const VIEW_MODEL_KEYS = [
|
|
52
|
+
'section_id', 'display_name', 'display_order', 'description',
|
|
53
|
+
'primary_fields', 'detail_fields', 'multi_variant',
|
|
54
|
+
];
|
|
55
|
+
const FIELD_HINT_KEYS = [
|
|
56
|
+
'path', 'label', 'kind', 'primary', 'unit', 'decimals', 'enum',
|
|
57
|
+
];
|
|
58
|
+
const AGENT_LAYER_KEYS = ['id', 'reads', 'writes', 'prompt_template'];
|
|
59
|
+
const DEPENDS_ON_KEYS = ['id', 'version'];
|
|
60
|
+
// Length caps mirror the schema's minLength/maxLength constraints.
|
|
61
|
+
const ID_MIN_LENGTH = 3;
|
|
62
|
+
const ID_MAX_LENGTH = 128;
|
|
63
|
+
const NAME_MAX_LENGTH = 200;
|
|
64
|
+
const DESCRIPTION_MAX_LENGTH = 2000;
|
|
65
|
+
const AGENT_LAYER_ID_PATTERN = /^L\d+(?:_[a-z_]+)?$/;
|
|
38
66
|
export class ModuleRegistryError extends Error {
|
|
39
67
|
errors;
|
|
40
68
|
constructor(errors) {
|
|
@@ -53,9 +81,18 @@ export function loadModuleManifest(candidate, opts = {}) {
|
|
|
53
81
|
export function createModuleRegistry(opts) {
|
|
54
82
|
const loaded = [];
|
|
55
83
|
const errors = [];
|
|
84
|
+
const seenIds = new Set();
|
|
56
85
|
for (const candidate of opts.modules) {
|
|
57
86
|
const result = loadModuleManifest(candidate, { ...opts, alreadyLoaded: loaded });
|
|
58
87
|
if (result.ok && result.manifest) {
|
|
88
|
+
// Two manifests sharing an id used to both load, with `byId` silently
|
|
89
|
+
// resolving to whichever came last — a registry lookup returning the
|
|
90
|
+
// wrong module. Refuse rather than pick.
|
|
91
|
+
if (seenIds.has(result.manifest.id)) {
|
|
92
|
+
errors.push(moduleError('PROTO-MOD-066', `Duplicate module id in registry: ${result.manifest.id}`, 'id'));
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
seenIds.add(result.manifest.id);
|
|
59
96
|
loaded.push(result.manifest);
|
|
60
97
|
}
|
|
61
98
|
else {
|
|
@@ -118,6 +155,10 @@ function validateModuleManifest(manifest, opts) {
|
|
|
118
155
|
if (!TIERS.includes(manifest.requires_tier)) {
|
|
119
156
|
errors.push(moduleError('PROTO-MOD-006', 'Module requires_tier is not a valid viewer tier.', 'requires_tier'));
|
|
120
157
|
}
|
|
158
|
+
rejectUnknownKeys(errors, manifest, MANIFEST_KEYS, '');
|
|
159
|
+
boundLength(errors, manifest.id, 'id', ID_MIN_LENGTH, ID_MAX_LENGTH);
|
|
160
|
+
boundLength(errors, manifest.name, 'name', 1, NAME_MAX_LENGTH);
|
|
161
|
+
boundLength(errors, manifest.description, 'description', 1, DESCRIPTION_MAX_LENGTH);
|
|
121
162
|
if (manifest.asset_classes !== undefined) {
|
|
122
163
|
if (!Array.isArray(manifest.asset_classes)) {
|
|
123
164
|
errors.push(moduleError('PROTO-MOD-007', 'asset_classes must be an array.', 'asset_classes'));
|
|
@@ -145,12 +186,195 @@ function validateModuleManifest(manifest, opts) {
|
|
|
145
186
|
}
|
|
146
187
|
}
|
|
147
188
|
}
|
|
189
|
+
validateSections(errors, manifest);
|
|
148
190
|
validateCalculations(errors, manifest);
|
|
149
191
|
validateValidations(errors, manifest);
|
|
192
|
+
validateThresholds(errors, manifest);
|
|
193
|
+
validateViewModels(errors, manifest);
|
|
194
|
+
validateAgentLayers(errors, manifest);
|
|
195
|
+
validateDependsOnShape(errors, manifest);
|
|
150
196
|
validateDependencies(errors, manifest, opts.alreadyLoaded ?? []);
|
|
151
197
|
validateCompatibility(errors, manifest, opts);
|
|
152
198
|
return errors;
|
|
153
199
|
}
|
|
200
|
+
function validateSections(errors, manifest) {
|
|
201
|
+
if (manifest.sections === undefined)
|
|
202
|
+
return;
|
|
203
|
+
if (!Array.isArray(manifest.sections)) {
|
|
204
|
+
errors.push(moduleError('PROTO-MOD-033', 'sections must be an array.', 'sections'));
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
const ids = new Set();
|
|
208
|
+
for (const [idx, section] of manifest.sections.entries()) {
|
|
209
|
+
const pointer = `sections[${idx}]`;
|
|
210
|
+
if (!isRecord(section)) {
|
|
211
|
+
errors.push(moduleError('PROTO-MOD-034', 'Section declaration must be an object.', pointer));
|
|
212
|
+
continue;
|
|
213
|
+
}
|
|
214
|
+
rejectUnknownKeys(errors, section, SECTION_KEYS, pointer);
|
|
215
|
+
if (typeof section.id !== 'string' || section.id.length === 0) {
|
|
216
|
+
errors.push(moduleError('PROTO-MOD-035', 'Section id is required.', `${pointer}.id`));
|
|
217
|
+
}
|
|
218
|
+
else if (ids.has(section.id)) {
|
|
219
|
+
errors.push(moduleError('PROTO-MOD-036', `Duplicate section id: ${section.id}`, `${pointer}.id`));
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
ids.add(section.id);
|
|
223
|
+
}
|
|
224
|
+
if (typeof section.display_name !== 'string' || section.display_name.length === 0) {
|
|
225
|
+
errors.push(moduleError('PROTO-MOD-037', 'Section display_name is required.', `${pointer}.display_name`));
|
|
226
|
+
}
|
|
227
|
+
// The schema fragment is not itself compiled here — core carries no JSON
|
|
228
|
+
// Schema validator by design (the layering invariant permits only the
|
|
229
|
+
// Anthropic SDK as a runtime dependency). Shape is checked; semantics are
|
|
230
|
+
// the host's to enforce with whatever validator it already has.
|
|
231
|
+
if (!isRecord(section.schema)) {
|
|
232
|
+
errors.push(moduleError('PROTO-MOD-038', 'Section schema must be a JSON Schema object.', `${pointer}.schema`));
|
|
233
|
+
}
|
|
234
|
+
if (section.required !== undefined && typeof section.required !== 'boolean') {
|
|
235
|
+
errors.push(moduleError('PROTO-MOD-039', 'Section required must be a boolean.', `${pointer}.required`));
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
function validateThresholds(errors, manifest) {
|
|
240
|
+
if (manifest.thresholds === undefined)
|
|
241
|
+
return;
|
|
242
|
+
if (!isRecord(manifest.thresholds)) {
|
|
243
|
+
errors.push(moduleError('PROTO-MOD-040', 'thresholds must be an object.', 'thresholds'));
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
for (const [key, value] of Object.entries(manifest.thresholds)) {
|
|
247
|
+
if (typeof value !== 'number' || !Number.isFinite(value)) {
|
|
248
|
+
errors.push(moduleError('PROTO-MOD-041', `Threshold override ${key} must be a finite number.`, `thresholds.${key}`));
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
function validateViewModels(errors, manifest) {
|
|
253
|
+
if (manifest.view_models === undefined)
|
|
254
|
+
return;
|
|
255
|
+
if (!Array.isArray(manifest.view_models)) {
|
|
256
|
+
errors.push(moduleError('PROTO-MOD-042', 'view_models must be an array.', 'view_models'));
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
for (const [idx, vm] of manifest.view_models.entries()) {
|
|
260
|
+
const pointer = `view_models[${idx}]`;
|
|
261
|
+
if (!isRecord(vm)) {
|
|
262
|
+
errors.push(moduleError('PROTO-MOD-043', 'View model declaration must be an object.', pointer));
|
|
263
|
+
continue;
|
|
264
|
+
}
|
|
265
|
+
rejectUnknownKeys(errors, vm, VIEW_MODEL_KEYS, pointer);
|
|
266
|
+
for (const key of ['section_id', 'display_name', 'description']) {
|
|
267
|
+
if (typeof vm[key] !== 'string' || vm[key].length === 0) {
|
|
268
|
+
errors.push(moduleError('PROTO-MOD-044', `View model ${key} is required.`, `${pointer}.${key}`));
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
if (typeof vm.display_order !== 'number' || !Number.isInteger(vm.display_order) || vm.display_order < 0) {
|
|
272
|
+
errors.push(moduleError('PROTO-MOD-045', 'View model display_order must be a non-negative integer.', `${pointer}.display_order`));
|
|
273
|
+
}
|
|
274
|
+
validateFieldHints(errors, vm.primary_fields, `${pointer}.primary_fields`, true);
|
|
275
|
+
validateFieldHints(errors, vm.detail_fields, `${pointer}.detail_fields`, false);
|
|
276
|
+
if (vm.multi_variant !== undefined && typeof vm.multi_variant !== 'boolean') {
|
|
277
|
+
errors.push(moduleError('PROTO-MOD-046', 'View model multi_variant must be a boolean.', `${pointer}.multi_variant`));
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
function validateFieldHints(errors, hints, pointer, required) {
|
|
282
|
+
if (hints === undefined) {
|
|
283
|
+
if (required)
|
|
284
|
+
errors.push(moduleError('PROTO-MOD-047', 'primary_fields is required.', pointer));
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
if (!Array.isArray(hints)) {
|
|
288
|
+
errors.push(moduleError('PROTO-MOD-048', 'Field hint list must be an array.', pointer));
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
for (const [idx, hint] of hints.entries()) {
|
|
292
|
+
const hintPointer = `${pointer}[${idx}]`;
|
|
293
|
+
if (!isRecord(hint)) {
|
|
294
|
+
errors.push(moduleError('PROTO-MOD-049', 'Field view hint must be an object.', hintPointer));
|
|
295
|
+
continue;
|
|
296
|
+
}
|
|
297
|
+
rejectUnknownKeys(errors, hint, FIELD_HINT_KEYS, hintPointer);
|
|
298
|
+
for (const key of ['path', 'label']) {
|
|
299
|
+
if (typeof hint[key] !== 'string' || hint[key].length === 0) {
|
|
300
|
+
errors.push(moduleError('PROTO-MOD-050', `Field view hint ${key} is required.`, `${hintPointer}.${key}`));
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
if (typeof hint.kind !== 'string' || !FIELD_VIEW_KINDS.includes(hint.kind)) {
|
|
304
|
+
errors.push(moduleError('PROTO-MOD-051', `Field view hint kind must be one of: ${FIELD_VIEW_KINDS.join(', ')}.`, `${hintPointer}.kind`));
|
|
305
|
+
}
|
|
306
|
+
if (hint.decimals !== undefined) {
|
|
307
|
+
if (typeof hint.decimals !== 'number' || !Number.isInteger(hint.decimals) || hint.decimals < 0 || hint.decimals > 10) {
|
|
308
|
+
errors.push(moduleError('PROTO-MOD-052', 'Field view hint decimals must be an integer between 0 and 10.', `${hintPointer}.decimals`));
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
if (hint.primary !== undefined && typeof hint.primary !== 'boolean') {
|
|
312
|
+
errors.push(moduleError('PROTO-MOD-053', 'Field view hint primary must be a boolean.', `${hintPointer}.primary`));
|
|
313
|
+
}
|
|
314
|
+
if (hint.enum !== undefined && (!Array.isArray(hint.enum) || !hint.enum.every((v) => typeof v === 'string'))) {
|
|
315
|
+
errors.push(moduleError('PROTO-MOD-054', 'Field view hint enum must be a string array.', `${hintPointer}.enum`));
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
// Agent layers carry `prompt_template`, so a malformed one is a Tier-4 prompt
|
|
320
|
+
// surface defect, not just a shape error. This is the construct with the widest
|
|
321
|
+
// blast radius and it previously had no validation at all.
|
|
322
|
+
function validateAgentLayers(errors, manifest) {
|
|
323
|
+
if (manifest.agent_layers === undefined)
|
|
324
|
+
return;
|
|
325
|
+
if (!Array.isArray(manifest.agent_layers)) {
|
|
326
|
+
errors.push(moduleError('PROTO-MOD-055', 'agent_layers must be an array.', 'agent_layers'));
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
329
|
+
const ids = new Set();
|
|
330
|
+
for (const [idx, layer] of manifest.agent_layers.entries()) {
|
|
331
|
+
const pointer = `agent_layers[${idx}]`;
|
|
332
|
+
if (!isRecord(layer)) {
|
|
333
|
+
errors.push(moduleError('PROTO-MOD-056', 'Agent layer declaration must be an object.', pointer));
|
|
334
|
+
continue;
|
|
335
|
+
}
|
|
336
|
+
rejectUnknownKeys(errors, layer, AGENT_LAYER_KEYS, pointer);
|
|
337
|
+
if (typeof layer.id !== 'string' || !AGENT_LAYER_ID_PATTERN.test(layer.id)) {
|
|
338
|
+
errors.push(moduleError('PROTO-MOD-057', 'Agent layer id must match ^L\\d+(?:_[a-z_]+)?$.', `${pointer}.id`));
|
|
339
|
+
}
|
|
340
|
+
else if (ids.has(layer.id)) {
|
|
341
|
+
errors.push(moduleError('PROTO-MOD-058', `Duplicate agent layer id: ${layer.id}`, `${pointer}.id`));
|
|
342
|
+
}
|
|
343
|
+
else {
|
|
344
|
+
ids.add(layer.id);
|
|
345
|
+
}
|
|
346
|
+
for (const key of ['reads', 'writes']) {
|
|
347
|
+
const value = layer[key];
|
|
348
|
+
if (!Array.isArray(value) || !value.every((v) => typeof v === 'string' && v.length > 0)) {
|
|
349
|
+
errors.push(moduleError('PROTO-MOD-059', `Agent layer ${key} must be an array of non-empty strings.`, `${pointer}.${key}`));
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
if (typeof layer.prompt_template !== 'string' || layer.prompt_template.length === 0) {
|
|
353
|
+
errors.push(moduleError('PROTO-MOD-060', 'Agent layer prompt_template must be a non-empty string.', `${pointer}.prompt_template`));
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
function validateDependsOnShape(errors, manifest) {
|
|
358
|
+
if (manifest.depends_on === undefined)
|
|
359
|
+
return;
|
|
360
|
+
if (!Array.isArray(manifest.depends_on)) {
|
|
361
|
+
errors.push(moduleError('PROTO-MOD-061', 'depends_on must be an array.', 'depends_on'));
|
|
362
|
+
return;
|
|
363
|
+
}
|
|
364
|
+
for (const [idx, dep] of manifest.depends_on.entries()) {
|
|
365
|
+
const pointer = `depends_on[${idx}]`;
|
|
366
|
+
if (!isRecord(dep)) {
|
|
367
|
+
errors.push(moduleError('PROTO-MOD-062', 'Dependency declaration must be an object.', pointer));
|
|
368
|
+
continue;
|
|
369
|
+
}
|
|
370
|
+
rejectUnknownKeys(errors, dep, DEPENDS_ON_KEYS, pointer);
|
|
371
|
+
for (const key of ['id', 'version']) {
|
|
372
|
+
if (typeof dep[key] !== 'string' || dep[key].length === 0) {
|
|
373
|
+
errors.push(moduleError('PROTO-MOD-063', `Dependency ${key} is required.`, `${pointer}.${key}`));
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
}
|
|
154
378
|
function validateCalculations(errors, manifest) {
|
|
155
379
|
if (manifest.calculations === undefined)
|
|
156
380
|
return;
|
|
@@ -165,6 +389,7 @@ function validateCalculations(errors, manifest) {
|
|
|
165
389
|
errors.push(moduleError('PROTO-MOD-013', 'Calculation declaration must be an object.', pointer));
|
|
166
390
|
continue;
|
|
167
391
|
}
|
|
392
|
+
rejectUnknownKeys(errors, calc, CALC_KEYS, pointer);
|
|
168
393
|
if (typeof calc.id !== 'string' || !/^[a-z][a-z0-9_]*$/.test(calc.id)) {
|
|
169
394
|
errors.push(moduleError('PROTO-MOD-014', 'Calculation id must match ^[a-z][a-z0-9_]*$.', `${pointer}.id`));
|
|
170
395
|
}
|
|
@@ -189,6 +414,16 @@ function validateCalculations(errors, manifest) {
|
|
|
189
414
|
if (calc.deterministic !== true) {
|
|
190
415
|
errors.push(moduleError('PROTO-MOD-019', 'v1 calculations must declare deterministic: true.', `${pointer}.deterministic`));
|
|
191
416
|
}
|
|
417
|
+
// §VIII.5: round_to is the precision contract a receipt digest depends on, so
|
|
418
|
+
// a malformed one is refused rather than silently replaced by the unit default.
|
|
419
|
+
if (calc.round_to !== undefined) {
|
|
420
|
+
if (typeof calc.round_to !== 'number'
|
|
421
|
+
|| !Number.isInteger(calc.round_to)
|
|
422
|
+
|| calc.round_to < 0
|
|
423
|
+
|| calc.round_to > MAX_ROUND_TO) {
|
|
424
|
+
errors.push(moduleError('PROTO-MOD-067', `Calculation round_to must be an integer in [0, ${MAX_ROUND_TO}].`, `${pointer}.round_to`));
|
|
425
|
+
}
|
|
426
|
+
}
|
|
192
427
|
}
|
|
193
428
|
}
|
|
194
429
|
function validateValidations(errors, manifest) {
|
|
@@ -204,6 +439,7 @@ function validateValidations(errors, manifest) {
|
|
|
204
439
|
errors.push(moduleError('PROTO-MOD-021', 'Validation declaration must be an object.', pointer));
|
|
205
440
|
continue;
|
|
206
441
|
}
|
|
442
|
+
rejectUnknownKeys(errors, rule, VALIDATION_KEYS, pointer);
|
|
207
443
|
if (typeof rule.code !== 'string' || !/^[A-Z]{2,8}-[A-Z0-9-]+$/.test(rule.code)) {
|
|
208
444
|
errors.push(moduleError('PROTO-MOD-022', 'Validation code must match the module-code pattern.', `${pointer}.code`));
|
|
209
445
|
}
|
|
@@ -227,8 +463,14 @@ function validateValidations(errors, manifest) {
|
|
|
227
463
|
}
|
|
228
464
|
}
|
|
229
465
|
function validateDependencies(errors, manifest, alreadyLoaded) {
|
|
466
|
+
// Shape is validated separately; skip resolution entirely if it is malformed
|
|
467
|
+
// so a `depends_on: "other"` string is not iterated character by character.
|
|
468
|
+
if (manifest.depends_on !== undefined && !Array.isArray(manifest.depends_on))
|
|
469
|
+
return;
|
|
230
470
|
const loaded = new Map(alreadyLoaded.map((m) => [m.id, m]));
|
|
231
471
|
for (const dep of manifest.depends_on ?? []) {
|
|
472
|
+
if (!isRecord(dep) || typeof dep.id !== 'string' || typeof dep.version !== 'string')
|
|
473
|
+
continue;
|
|
232
474
|
const dependency = loaded.get(dep.id);
|
|
233
475
|
if (!dependency) {
|
|
234
476
|
errors.push(moduleError('PROTO-MOD-027', `Missing module dependency: ${dep.id}`, 'depends_on'));
|
|
@@ -284,8 +526,17 @@ function versionSatisfies(version, range) {
|
|
|
284
526
|
}
|
|
285
527
|
});
|
|
286
528
|
}
|
|
529
|
+
// Partial versions are padded to full semver before comparison. The schema
|
|
530
|
+
// documents `^1` as a valid requires_protocol spelling, but only `X.Y` was
|
|
531
|
+
// padded, so a bare major failed to parse and every range containing one was
|
|
532
|
+
// silently unsatisfiable.
|
|
287
533
|
function normalizeFormatVersion(version) {
|
|
288
|
-
|
|
534
|
+
const trimmed = version.trim();
|
|
535
|
+
if (/^\d+$/.test(trimmed))
|
|
536
|
+
return `${trimmed}.0.0`;
|
|
537
|
+
if (/^\d+\.\d+$/.test(trimmed))
|
|
538
|
+
return `${trimmed}.0`;
|
|
539
|
+
return trimmed;
|
|
289
540
|
}
|
|
290
541
|
function parseSemver(version) {
|
|
291
542
|
const m = /^(\d+)\.(\d+)\.(\d+)/.exec(version);
|
|
@@ -299,6 +550,20 @@ function requireString(errors, manifest, key) {
|
|
|
299
550
|
errors.push(moduleError('PROTO-MOD-032', `Required string field missing: ${key}`, key));
|
|
300
551
|
}
|
|
301
552
|
}
|
|
553
|
+
function rejectUnknownKeys(errors, value, allowed, pointer) {
|
|
554
|
+
for (const key of Object.keys(value)) {
|
|
555
|
+
if (allowed.includes(key))
|
|
556
|
+
continue;
|
|
557
|
+
errors.push(moduleError('PROTO-MOD-064', `Unknown key: ${key}`, pointer ? `${pointer}.${key}` : key));
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
function boundLength(errors, value, key, min, max) {
|
|
561
|
+
if (typeof value !== 'string')
|
|
562
|
+
return; // requireString already reported it
|
|
563
|
+
if (value.length < min || value.length > max) {
|
|
564
|
+
errors.push(moduleError('PROTO-MOD-065', `${key} must be between ${min} and ${max} characters (got ${value.length}).`, key));
|
|
565
|
+
}
|
|
566
|
+
}
|
|
302
567
|
function freezeManifest(manifest) {
|
|
303
568
|
return Object.freeze({
|
|
304
569
|
...manifest,
|
package/dist/modules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,23 @@ export declare class ExcelEmitError extends Error {
|
|
|
16
16
|
* or uses a builtin without a clean Excel equivalent.
|
|
17
17
|
*/
|
|
18
18
|
export declare function emitFromAst(expr: Expr, opts: ExcelEmitOptions): string;
|
|
19
|
-
/** Convenience: parse + emit in one call. */
|
|
19
|
+
/** Convenience: parse + emit in one call. Emits the expression only. */
|
|
20
20
|
export declare function emitExcelFormula(formula: string, opts: ExcelEmitOptions): string;
|
|
21
|
+
/**
|
|
22
|
+
* Emit the formula for a calculation *declaration*, wrapped in `ROUND` at the
|
|
23
|
+
* declaration's effective `round_to` (§VIII.5).
|
|
24
|
+
*
|
|
25
|
+
* This is what converters should call. `emitExcelFormula` emits the bare
|
|
26
|
+
* expression, which leaves the cell holding Excel's own unquantized double
|
|
27
|
+
* while `evaluateCalc` reports a quantized one — the two then agree only to
|
|
28
|
+
* within a tolerance. Applying the same quantization on both sides makes the
|
|
29
|
+
* Excel↔evaluator invariant an *exact* equality instead of an approximate one,
|
|
30
|
+
* because Excel's `ROUND` is half-away-from-zero, the same rule
|
|
31
|
+
* `quantizeDecimal` implements.
|
|
32
|
+
*/
|
|
33
|
+
export declare function emitCalcExcelFormula(decl: {
|
|
34
|
+
formula: string;
|
|
35
|
+
unit?: string;
|
|
36
|
+
round_to?: number;
|
|
37
|
+
}, opts: ExcelEmitOptions): string;
|
|
21
38
|
//# sourceMappingURL=excel-emit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"excel-emit.d.ts","sourceRoot":"","sources":["../../src/packs/excel-emit.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAmB,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"excel-emit.d.ts","sourceRoot":"","sources":["../../src/packs/excel-emit.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAmB,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAG/D,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED,qBAAa,cAAe,SAAQ,KAAK;IAE9B,IAAI,EAAE,iBAAiB,GAAG,eAAe,GAAG,eAAe;gBAA3D,IAAI,EAAE,iBAAiB,GAAG,eAAe,GAAG,eAAe,EAClE,OAAO,EAAE,MAAM;CAKlB;AAuBD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,GAAG,MAAM,CA0EtE;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAEhF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAC3D,IAAI,EAAE,gBAAgB,GACrB,MAAM,CAGR"}
|
package/dist/packs/excel-emit.js
CHANGED
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
// ROUND, PMT, NPV, IRR). Functions without a clean Excel equivalent
|
|
26
26
|
// (`coalesce`, `avg` with null handling) raise EXCEL-EMIT-FN.
|
|
27
27
|
import { parseExpression } from '../calc/parser.js';
|
|
28
|
+
import { resolveRoundTo } from '../calc/quantize.js';
|
|
28
29
|
export class ExcelEmitError extends Error {
|
|
29
30
|
code;
|
|
30
31
|
constructor(code, message) {
|
|
@@ -128,8 +129,24 @@ export function emitFromAst(expr, opts) {
|
|
|
128
129
|
}
|
|
129
130
|
}
|
|
130
131
|
}
|
|
131
|
-
/** Convenience: parse + emit in one call. */
|
|
132
|
+
/** Convenience: parse + emit in one call. Emits the expression only. */
|
|
132
133
|
export function emitExcelFormula(formula, opts) {
|
|
133
134
|
return emitFromAst(parseExpression(formula), opts);
|
|
134
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Emit the formula for a calculation *declaration*, wrapped in `ROUND` at the
|
|
138
|
+
* declaration's effective `round_to` (§VIII.5).
|
|
139
|
+
*
|
|
140
|
+
* This is what converters should call. `emitExcelFormula` emits the bare
|
|
141
|
+
* expression, which leaves the cell holding Excel's own unquantized double
|
|
142
|
+
* while `evaluateCalc` reports a quantized one — the two then agree only to
|
|
143
|
+
* within a tolerance. Applying the same quantization on both sides makes the
|
|
144
|
+
* Excel↔evaluator invariant an *exact* equality instead of an approximate one,
|
|
145
|
+
* because Excel's `ROUND` is half-away-from-zero, the same rule
|
|
146
|
+
* `quantizeDecimal` implements.
|
|
147
|
+
*/
|
|
148
|
+
export function emitCalcExcelFormula(decl, opts) {
|
|
149
|
+
const inner = emitFromAst(parseExpression(decl.formula), opts);
|
|
150
|
+
return `ROUND(${inner},${resolveRoundTo(decl)})`;
|
|
151
|
+
}
|
|
135
152
|
//# sourceMappingURL=excel-emit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"excel-emit.js","sourceRoot":"","sources":["../../src/packs/excel-emit.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,+EAA+E;AAC/E,oCAAoC;AACpC,EAAE;AACF,2EAA2E;AAC3E,uEAAuE;AACvE,4EAA4E;AAC5E,+EAA+E;AAC/E,EAAE;AACF,4BAA4B;AAC5B,yEAAyE;AACzE,kEAAkE;AAClE,6DAA6D;AAC7D,uEAAuE;AACvE,uEAAuE;AACvE,EAAE;AACF,gCAAgC;AAChC,yEAAyE;AACzE,qCAAqC;AACrC,qDAAqD;AACrD,2EAA2E;AAC3E,wEAAwE;AACxE,kEAAkE;AAElE,OAAO,EAAE,eAAe,EAAa,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"excel-emit.js","sourceRoot":"","sources":["../../src/packs/excel-emit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hospitality.d.ts","sourceRoot":"","sources":["../../src/packs/hospitality.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,eAAO,MAAM,gBAAgB,EAAE,cAoH9B,CAAC"}
|