@uwmd/core 2.0.0 → 2.1.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/dist/browser.d.ts +8 -0
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +4 -0
- package/dist/browser.js.map +1 -1
- package/dist/calc/dated-flows.d.ts +26 -0
- package/dist/calc/dated-flows.d.ts.map +1 -0
- package/dist/calc/dated-flows.js +163 -0
- package/dist/calc/dated-flows.js.map +1 -0
- package/dist/calc/day-count.d.ts +27 -0
- package/dist/calc/day-count.d.ts.map +1 -0
- package/dist/calc/day-count.js +95 -0
- package/dist/calc/day-count.js.map +1 -0
- package/dist/calc/errors.d.ts +1 -1
- package/dist/calc/errors.d.ts.map +1 -1
- package/dist/calc/errors.js.map +1 -1
- package/dist/cash-flow-series.d.ts +106 -0
- package/dist/cash-flow-series.d.ts.map +1 -0
- package/dist/cash-flow-series.js +298 -0
- package/dist/cash-flow-series.js.map +1 -0
- package/dist/cli-portfolio.d.ts +7 -0
- package/dist/cli-portfolio.d.ts.map +1 -0
- package/dist/cli-portfolio.js +68 -0
- package/dist/cli-portfolio.js.map +1 -0
- package/dist/cli.js +25 -0
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +1 -0
- package/dist/parser.js.map +1 -1
- package/dist/portfolio.d.ts +71 -0
- package/dist/portfolio.d.ts.map +1 -0
- package/dist/portfolio.js +174 -0
- package/dist/portfolio.js.map +1 -0
- package/dist/protocol.d.ts +8 -4
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +45 -2
- package/dist/protocol.js.map +1 -1
- package/dist/renderer.js +33 -1
- package/dist/renderer.js.map +1 -1
- package/dist/validator.d.ts.map +1 -1
- package/dist/validator.js +98 -0
- package/dist/validator.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { ProtocolError } from './protocol.js';
|
|
2
|
+
import type { UWEntityEdge } from './deal-package.js';
|
|
3
|
+
/** The sidecar's own semver line, independent of format and protocol. */
|
|
4
|
+
export declare const PORTFOLIO_PROFILE_VERSION: "1.0";
|
|
5
|
+
/** Initial entity types. Extension types are preserved, never refused. */
|
|
6
|
+
export declare const PORTFOLIO_ENTITY_TYPES: readonly ["property", "deal", "borrower", "loan", "document"];
|
|
7
|
+
export type PortfolioEntityType = (typeof PORTFOLIO_ENTITY_TYPES)[number];
|
|
8
|
+
/**
|
|
9
|
+
* One provenance entry: which artifact says so, and where. `source` is a
|
|
10
|
+
* stable document/source identifier — deliberately NOT the RFC 0031
|
|
11
|
+
* `_meta.source` actor grammar; the two vocabularies stay apart.
|
|
12
|
+
*/
|
|
13
|
+
export interface PortfolioProvenance {
|
|
14
|
+
source: string;
|
|
15
|
+
locator?: string;
|
|
16
|
+
note?: string;
|
|
17
|
+
retrieved_at?: string;
|
|
18
|
+
[key: string]: unknown;
|
|
19
|
+
}
|
|
20
|
+
export interface PortfolioEntity {
|
|
21
|
+
/** Opaque, case-sensitive, unique within the profile. */
|
|
22
|
+
id: string;
|
|
23
|
+
/** A registered type, or an extension type (preserved, reportable). */
|
|
24
|
+
type: string;
|
|
25
|
+
display_name?: string;
|
|
26
|
+
/** MUST equal the referenced deal's frontmatter `deal_id` when available. */
|
|
27
|
+
deal_id?: string;
|
|
28
|
+
[key: string]: unknown;
|
|
29
|
+
}
|
|
30
|
+
/** Exactly the RFC 0018 `UWEntityEdge` shape plus a profile-unique `id`. */
|
|
31
|
+
export interface PortfolioEdge extends UWEntityEdge {
|
|
32
|
+
id: string;
|
|
33
|
+
provenance: PortfolioProvenance[];
|
|
34
|
+
[key: string]: unknown;
|
|
35
|
+
}
|
|
36
|
+
export interface PortfolioProfile {
|
|
37
|
+
portfolio_version: string;
|
|
38
|
+
portfolio_id?: string;
|
|
39
|
+
entities: PortfolioEntity[];
|
|
40
|
+
edges: PortfolioEdge[];
|
|
41
|
+
[key: string]: unknown;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Validate a candidate profile. Returns structural refusals only — unknown
|
|
45
|
+
* entity fields, unknown entity types, and unknown edge types are NOT errors
|
|
46
|
+
* (they are preserved, and reportable via `uninterpretedPortfolioTypes`).
|
|
47
|
+
* A *known* edge type not valid on the entity layer IS an error: that is the
|
|
48
|
+
* registry's one-table-two-layers rule, enforced from the sidecar side.
|
|
49
|
+
*/
|
|
50
|
+
export declare function validatePortfolioProfile(candidate: unknown): ProtocolError[];
|
|
51
|
+
/**
|
|
52
|
+
* The types this implementation cannot interpret — extension entity and edge
|
|
53
|
+
* types that validation preserved. Reportable, never refusable (RFC 0015).
|
|
54
|
+
*/
|
|
55
|
+
export declare function uninterpretedPortfolioTypes(profile: PortfolioProfile): {
|
|
56
|
+
entity_types: string[];
|
|
57
|
+
edge_types: string[];
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* The edges touching `entityId` (either endpoint), or every edge when no id
|
|
61
|
+
* is given. A convenience over the array, not a query language — traversal
|
|
62
|
+
* semantics stay out of scope by design.
|
|
63
|
+
*/
|
|
64
|
+
export declare function getPortfolioRelationships(profile: PortfolioProfile, entityId?: string): PortfolioEdge[];
|
|
65
|
+
/**
|
|
66
|
+
* Bridge from the RFC 0018 producer: wrap `projectPackageLinksToEntityEdges`
|
|
67
|
+
* output (or any `UWEntityEdge[]`) as profile edges with generated ids.
|
|
68
|
+
* Deterministic: `<prefix>:<1-based index>` in input order.
|
|
69
|
+
*/
|
|
70
|
+
export declare function entityEdgesToPortfolioEdges(edges: readonly UWEntityEdge[], idPrefix?: string): PortfolioEdge[];
|
|
71
|
+
//# sourceMappingURL=portfolio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../src/portfolio.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,yEAAyE;AACzE,eAAO,MAAM,yBAAyB,EAAG,KAAc,CAAC;AAExD,0EAA0E;AAC1E,eAAO,MAAM,sBAAsB,+DAMxB,CAAC;AAEZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,4EAA4E;AAC5E,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAYD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,OAAO,GAAG,aAAa,EAAE,CAiG5E;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,GAAG;IACtE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAYA;AAID;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,aAAa,EAAE,CAIjB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,QAAQ,SAAS,GAChB,aAAa,EAAE,CAEjB"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
// Portfolio & relationship profiles — RFC 0015 (protocol §XV).
|
|
2
|
+
//
|
|
3
|
+
// The portable carrier for the ENTITY layer of the RFC 0018 edge registry: a
|
|
4
|
+
// `.uwportfolio.json` sidecar holding typed entities and provenance-backed
|
|
5
|
+
// edges that span deals. Core can already *produce* entity-layer edges
|
|
6
|
+
// (`projectPackageLinksToEntityEdges`) — this module gives them a home, a
|
|
7
|
+
// validator, and a projection bridge.
|
|
8
|
+
//
|
|
9
|
+
// Deliberately read-only and descriptive: no storage contract, no query
|
|
10
|
+
// semantics, no aggregate math (stated fund-level numbers belong to RFC 0021
|
|
11
|
+
// composites + rollup receipts). Edge types resolve through the canonical
|
|
12
|
+
// `BUILTIN_EDGE_TYPES` registry — this module adds no rows, and a *known*
|
|
13
|
+
// type used on the wrong layer refuses while an *unknown* type is preserved
|
|
14
|
+
// and merely reportable (`uninterpretedPortfolioTypes`). Provenance `source`
|
|
15
|
+
// here is a document/source identifier (the lease-abstract SourceRef
|
|
16
|
+
// posture), NOT the `_meta.source` actor grammar RFC 0031 defined.
|
|
17
|
+
// Browser-safe; performs no I/O.
|
|
18
|
+
import { lookupEdgeType } from './protocol.js';
|
|
19
|
+
// ─── Types (RFC 0015) ────────────────────────────────────────────────────────
|
|
20
|
+
/** The sidecar's own semver line, independent of format and protocol. */
|
|
21
|
+
export const PORTFOLIO_PROFILE_VERSION = '1.0';
|
|
22
|
+
/** Initial entity types. Extension types are preserved, never refused. */
|
|
23
|
+
export const PORTFOLIO_ENTITY_TYPES = Object.freeze([
|
|
24
|
+
'property',
|
|
25
|
+
'deal',
|
|
26
|
+
'borrower',
|
|
27
|
+
'loan',
|
|
28
|
+
'document',
|
|
29
|
+
]);
|
|
30
|
+
// ─── Validation ──────────────────────────────────────────────────────────────
|
|
31
|
+
function portfolioError(code, message, pointer) {
|
|
32
|
+
return { category: 'portfolio', code, message, ...(pointer ? { pointer } : {}) };
|
|
33
|
+
}
|
|
34
|
+
function isRecord(v) {
|
|
35
|
+
return typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Validate a candidate profile. Returns structural refusals only — unknown
|
|
39
|
+
* entity fields, unknown entity types, and unknown edge types are NOT errors
|
|
40
|
+
* (they are preserved, and reportable via `uninterpretedPortfolioTypes`).
|
|
41
|
+
* A *known* edge type not valid on the entity layer IS an error: that is the
|
|
42
|
+
* registry's one-table-two-layers rule, enforced from the sidecar side.
|
|
43
|
+
*/
|
|
44
|
+
export function validatePortfolioProfile(candidate) {
|
|
45
|
+
const errors = [];
|
|
46
|
+
if (!isRecord(candidate)) {
|
|
47
|
+
return [portfolioError('PORT-001', 'Portfolio profile must be an object.')];
|
|
48
|
+
}
|
|
49
|
+
const profile = candidate;
|
|
50
|
+
if (profile.portfolio_version !== PORTFOLIO_PROFILE_VERSION) {
|
|
51
|
+
errors.push(portfolioError('PORT-002', `Unsupported portfolio_version ${JSON.stringify(profile.portfolio_version)}; expected ${PORTFOLIO_PROFILE_VERSION}.`, 'portfolio_version'));
|
|
52
|
+
}
|
|
53
|
+
const entities = Array.isArray(profile.entities) ? profile.entities : null;
|
|
54
|
+
if (!entities) {
|
|
55
|
+
errors.push(portfolioError('PORT-003', 'entities must be an array.', 'entities'));
|
|
56
|
+
}
|
|
57
|
+
const edges = Array.isArray(profile.edges) ? profile.edges : null;
|
|
58
|
+
if (!edges) {
|
|
59
|
+
errors.push(portfolioError('PORT-004', 'edges must be an array.', 'edges'));
|
|
60
|
+
}
|
|
61
|
+
if (!entities || !edges)
|
|
62
|
+
return errors;
|
|
63
|
+
const entityTypeById = new Map();
|
|
64
|
+
const seenIds = new Set();
|
|
65
|
+
entities.forEach((entity, i) => {
|
|
66
|
+
if (!isRecord(entity) || typeof entity.id !== 'string' || entity.id.length === 0
|
|
67
|
+
|| typeof entity.type !== 'string' || entity.type.length === 0) {
|
|
68
|
+
errors.push(portfolioError('PORT-005', `Entity ${i} must state a non-empty id and type.`, `entities[${i}]`));
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (seenIds.has(entity.id)) {
|
|
72
|
+
errors.push(portfolioError('PORT-006', `Duplicate id ${JSON.stringify(entity.id)}; ids are unique within a profile.`, `entities[${i}].id`));
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
seenIds.add(entity.id);
|
|
76
|
+
entityTypeById.set(entity.id, entity.type);
|
|
77
|
+
});
|
|
78
|
+
edges.forEach((edge, i) => {
|
|
79
|
+
if (!isRecord(edge) || typeof edge.id !== 'string' || edge.id.length === 0
|
|
80
|
+
|| typeof edge.type !== 'string' || edge.type.length === 0
|
|
81
|
+
|| typeof edge.from !== 'string' || typeof edge.to !== 'string') {
|
|
82
|
+
errors.push(portfolioError('PORT-007', `Edge ${i} must state a non-empty id, type, from, and to.`, `edges[${i}]`));
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (seenIds.has(edge.id)) {
|
|
86
|
+
errors.push(portfolioError('PORT-006', `Duplicate id ${JSON.stringify(edge.id)}; ids are unique within a profile.`, `edges[${i}].id`));
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
seenIds.add(edge.id);
|
|
90
|
+
}
|
|
91
|
+
for (const [end, label] of [[edge.from, 'from'], [edge.to, 'to']]) {
|
|
92
|
+
if (!entityTypeById.has(end)) {
|
|
93
|
+
errors.push(portfolioError('PORT-008', `Edge ${JSON.stringify(edge.id)} ${label} ${JSON.stringify(end)} does not resolve to an entity in this profile.`, `edges[${i}].${label}`));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
const provenance = edge.provenance;
|
|
97
|
+
if (!Array.isArray(provenance) || provenance.length === 0) {
|
|
98
|
+
errors.push(portfolioError('PORT-009', `Edge ${JSON.stringify(edge.id)} must carry a non-empty provenance array.`, `edges[${i}].provenance`));
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
provenance.forEach((entry, j) => {
|
|
102
|
+
if (!isRecord(entry) || typeof entry.source !== 'string' || entry.source.length === 0) {
|
|
103
|
+
errors.push(portfolioError('PORT-009', `Edge ${JSON.stringify(edge.id)} provenance entry ${j} must state a source identifier.`, `edges[${i}].provenance[${j}]`));
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
// Registry resolution: unknown → preserved; known-but-member-layer → refused.
|
|
108
|
+
const def = lookupEdgeType(edge.type);
|
|
109
|
+
if (def) {
|
|
110
|
+
if (!def.layers.includes('entity')) {
|
|
111
|
+
errors.push(portfolioError('PORT-010', `Edge type ${JSON.stringify(edge.type)} is registered on the member layer only and cannot relate entities (RFC 0018 §5).`, `edges[${i}].type`));
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
// Builtin from/to entity-kind constraints, checked only when the
|
|
115
|
+
// endpoint's type is itself a registered entity type — an extension
|
|
116
|
+
// entity type is outside the constraint's vocabulary, not in
|
|
117
|
+
// violation of it.
|
|
118
|
+
const checks = [[edge.from, def.from, 'from'], [edge.to, def.to, 'to']];
|
|
119
|
+
for (const [end, allowed, label] of checks) {
|
|
120
|
+
const endType = entityTypeById.get(end);
|
|
121
|
+
if (!endType)
|
|
122
|
+
continue;
|
|
123
|
+
if (!PORTFOLIO_ENTITY_TYPES.includes(endType))
|
|
124
|
+
continue;
|
|
125
|
+
if (allowed.includes('any'))
|
|
126
|
+
continue;
|
|
127
|
+
if (!allowed.includes(endType)) {
|
|
128
|
+
errors.push(portfolioError('PORT-011', `Edge ${JSON.stringify(edge.id)} (${edge.type}) ${label} must be one of [${allowed.join(', ')}], not ${endType}.`, `edges[${i}].${label}`));
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
return errors;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* The types this implementation cannot interpret — extension entity and edge
|
|
138
|
+
* types that validation preserved. Reportable, never refusable (RFC 0015).
|
|
139
|
+
*/
|
|
140
|
+
export function uninterpretedPortfolioTypes(profile) {
|
|
141
|
+
const entity_types = new Set();
|
|
142
|
+
for (const e of profile.entities ?? []) {
|
|
143
|
+
if (typeof e?.type === 'string' && !PORTFOLIO_ENTITY_TYPES.includes(e.type)) {
|
|
144
|
+
entity_types.add(e.type);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
const edge_types = new Set();
|
|
148
|
+
for (const e of profile.edges ?? []) {
|
|
149
|
+
if (typeof e?.type === 'string' && !lookupEdgeType(e.type))
|
|
150
|
+
edge_types.add(e.type);
|
|
151
|
+
}
|
|
152
|
+
return { entity_types: [...entity_types].sort(), edge_types: [...edge_types].sort() };
|
|
153
|
+
}
|
|
154
|
+
// ─── Queries and projection ──────────────────────────────────────────────────
|
|
155
|
+
/**
|
|
156
|
+
* The edges touching `entityId` (either endpoint), or every edge when no id
|
|
157
|
+
* is given. A convenience over the array, not a query language — traversal
|
|
158
|
+
* semantics stay out of scope by design.
|
|
159
|
+
*/
|
|
160
|
+
export function getPortfolioRelationships(profile, entityId) {
|
|
161
|
+
const edges = profile.edges ?? [];
|
|
162
|
+
if (entityId === undefined)
|
|
163
|
+
return [...edges];
|
|
164
|
+
return edges.filter((e) => e.from === entityId || e.to === entityId);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Bridge from the RFC 0018 producer: wrap `projectPackageLinksToEntityEdges`
|
|
168
|
+
* output (or any `UWEntityEdge[]`) as profile edges with generated ids.
|
|
169
|
+
* Deterministic: `<prefix>:<1-based index>` in input order.
|
|
170
|
+
*/
|
|
171
|
+
export function entityEdgesToPortfolioEdges(edges, idPrefix = 'edge') {
|
|
172
|
+
return edges.map((e, i) => ({ ...e, id: `${idPrefix}:${i + 1}` }));
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=portfolio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../src/portfolio.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AssetClass, ConfidenceLevel, DealStage, FinancialThresholds, ParsedUWFile, PipelineStatus, UWBlock, UWMeta, UWSignatureAlgorithm, ValidationMessage, ValidationSeverity } from './types.js';
|
|
2
2
|
/** Semver of this protocol. Bumped independently of @uwmd/core's npm version. */
|
|
3
|
-
export declare const PROTOCOL_VERSION: "2.
|
|
3
|
+
export declare const PROTOCOL_VERSION: "2.2.0";
|
|
4
4
|
/**
|
|
5
5
|
* The format version this implementation *authors* — what a fresh scaffold
|
|
6
6
|
* declares. Reading is wider: see {@link SUPPORTED_FORMAT_VERSIONS}.
|
|
@@ -22,7 +22,7 @@ export declare const SUPPORTED_FORMAT_VERSIONS: readonly ["1.0", "1.1", "2.0"];
|
|
|
22
22
|
* v2 §1.3), so a module written against the 1.x protocol line still loads:
|
|
23
23
|
* its `requires_protocol` range is satisfied against any member of this set.
|
|
24
24
|
*/
|
|
25
|
-
export declare const SUPPORTED_PROTOCOL_VERSIONS: readonly ["1.14.0", "2.0.0"];
|
|
25
|
+
export declare const SUPPORTED_PROTOCOL_VERSIONS: readonly ["1.14.0", "2.0.0", "2.1.0", "2.2.0"];
|
|
26
26
|
/** The four conformance tiers defined in UW_PROTOCOL_v1.md Part II. */
|
|
27
27
|
export type ViewerTier = 'tier-1-reader' | 'tier-2-editor' | 'tier-3-calc-host' | 'tier-4-agent-host';
|
|
28
28
|
/** What kind of actor the implementation serves. Informational. */
|
|
@@ -36,7 +36,11 @@ export type ViewerCapability = 'parse' | 'validate' | 'render-json' | 'render-cs
|
|
|
36
36
|
/** Evaluates stochastic declarations (§VIII.8, RFC 0005). */
|
|
37
37
|
| 'calc-stochastic'
|
|
38
38
|
/** Evaluates sensitivity declarations (§VIII.7, RFC 0007). */
|
|
39
|
-
| 'calc-sensitivity'
|
|
39
|
+
| 'calc-sensitivity'
|
|
40
|
+
/** Evaluates cash-flow metric declarations over dated series (§VIII.9, RFC 0034). */
|
|
41
|
+
| 'calc-cash-flow'
|
|
42
|
+
/** Reads and validates `.uwportfolio.json` sidecars (§XV, RFC 0015). */
|
|
43
|
+
| 'portfolio-relationships' | 'agent-host' | 'module-load'
|
|
40
44
|
/** Verifies `_meta.signature` on blocks (§V.11.5, RFC 0010). */
|
|
41
45
|
| 'signing'
|
|
42
46
|
/** Enforces capability tokens on writes (§XIV, RFC 0011). */
|
|
@@ -785,7 +789,7 @@ export declare const BUILTIN_EDGE_TYPES: readonly UWEdgeTypeDef[];
|
|
|
785
789
|
*/
|
|
786
790
|
export declare function lookupEdgeType(type: string): UWEdgeTypeDef | undefined;
|
|
787
791
|
export declare function isEdgeTypeValidOnLayer(type: string, layer: UWEdgeLayer): boolean;
|
|
788
|
-
export type ProtocolErrorCategory = 'parse' | 'validate' | 'render' | 'edit' | 'calc' | 'agent' | 'module' | 'version' | 'package';
|
|
792
|
+
export type ProtocolErrorCategory = 'parse' | 'validate' | 'render' | 'edit' | 'calc' | 'agent' | 'module' | 'version' | 'package' | 'portfolio';
|
|
789
793
|
export interface ProtocolError {
|
|
790
794
|
category: ProtocolErrorCategory;
|
|
791
795
|
code: string;
|
package/dist/protocol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,OAAO,EACP,MAAM,EACN,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAOpB,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,EAAG,OAAgB,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAG,KAAc,CAAC;AAE7C;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,gCAAgD,CAAC;AAEvF;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,gDAAyE,CAAC;AAIlH,uEAAuE;AACvE,MAAM,MAAM,UAAU,GAClB,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,mBAAmB,CAAC;AAExB,mEAAmE;AACnE,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7F;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,UAAU,GACV,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,aAAa,GACb,YAAY,GACZ,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,kBAAkB,GAClB,eAAe,GACf,oBAAoB;AACtB,6DAA6D;GAC3D,iBAAiB;AACnB,8DAA8D;GAC5D,kBAAkB;AACpB,qFAAqF;GACnF,gBAAgB;AAClB,wEAAwE;GACtE,yBAAyB,GACzB,YAAY,GACZ,aAAa;AACf,gEAAgE;GAC9D,SAAS;AACX,6DAA6D;GAC3D,mBAAmB;AACrB,uFAAuF;GACrF,+BAA+B;AACjC;;;;GAIG;GACD,WAAW;AACb;;;;;GAKG;GACD,YAAY,CAAC;AAEjB,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvD,0EAA0E;AAC1E,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,uBAAuB,EAAE,CAAC;IACtC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,qDAAqD;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,gBAAgB,EAAE,MAAM,CAAC;IACzB,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,IAAI,EAAE,UAAU,CAAC;IACjB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAClC,iEAAiE;IACjE,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC7C,2EAA2E;IAC3E,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;IAC7B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;IACtC,gDAAgD;IAChD,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,iEAOnB,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,oEAAoE;AACpE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,eAAe,CAEtE;AAED,eAAO,MAAM,iCAAiC,EAAE,sBA0C9C,CAAC;AAMH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,OAAO,EAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,KAAK,EAAK;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,KAAK,EAAK;QAAE,mBAAmB,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,yDAAyD;IACzD,aAAa,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CACpD;AAED,mEAAmE;AACnE,eAAO,MAAM,qBAAqB,EAAE,iBAOnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,eAGjC,CAAC;AAIF,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5D,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAI3D,qEAAqE;AACrE,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACvF,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,aAAa,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,8BAA8B;IAC9B,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;IAChC,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAI3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,MAAM,WAAW,GACnB,eAAe,GACf,YAAY,GACZ,sBAAsB,GACtB,kBAAkB,GAClB,aAAa,GACb,qBAAqB,GACrB,gBAAgB,GAChB,gBAAgB,CAAC;AAErB,yEAAyE;AACzE,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAS9C,CAAC;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAIrD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,yDAKlB,CAAC;AAEZ,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D;2DAC2D;AAC3D,eAAO,MAAM,eAAe,QAA+E,CAAC;AAE5G;2EAC2E;AAC3E,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,cAAc,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAKlE;AAID;;;;;;;;;GASG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,eAAe,EAAE,WAAW,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtB,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB;gCAC4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,YAAY,EAAE,SAAS,CAAC;IACvC,MAAM,EAAE,SAAS,CAAC;IAClB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,EAAE,SAAS,oBAAoB,EA+F1E,CAAC;AAEH;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,KAAK,EAAE,OAAO,YAAY,EAAE,SAAS,EACrC,QAAQ,GAAE,SAAS,oBAAoB,EAAqC,GAC3E,oBAAoB,GAAG,IAAI,CAqB7B;AASD;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAgBlE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,MAAM,EAAE,CAEvE;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE;IAC9D,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC/C,CAAC,CAGD,CAAC;AAIF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B;+DAC2D;IAC3D,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B;oEACgE;IAChE,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkFD;kCACkC;AAClC,eAAO,MAAM,cAAc,EAAE,SAAS,kBAAkB,EAAyB,CAAC;AAElF;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAgC5F;AAiBD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,kBAAkB,GAAG,IAAI,CAiB3B;AAID,0EAA0E;AAC1E,MAAM,MAAM,aAAa,GACrB,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,aAAa,CAAC;AAElB,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,aAAa,CAAC;IACzB,mFAAmF;IACnF,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB,GACD;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CACvB,GACD;IACE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CACvB,GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAIN,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,gGAAgG;IAChG,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,YAAY,CAAC;IACrB,yEAAyE;IACzE,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1E;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IACvE,sDAAsD;IACtD,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,OAAO,CAAC;IACZ;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACxC,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAID,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,IAAI,EAAE,OAAO,CAAC;IACd,iDAAiD;IACjD,KAAK,EAAE,CAAC,kBAAkB,GAAG,yBAAyB,CAAC,EAAE,CAAC;CAC3D;AAID;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,GAAG,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,UAAU,CAAC;IAC1B,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACtC,UAAU,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/C;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAChD;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;OAUG;IACH,MAAM,EAAE,eAAe,CAAC;IACxB,uEAAuE;IACvE,GAAG,EAAE,oBAAoB,CAAC;IAC1B,oEAAoE;IACpE,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAID;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EA2BhD,CAAC;AAIH,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,+EAA+E;AAC/E,eAAO,MAAM,wBAAwB,EAAG,IAAa,CAAC;AAItD;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAUlE,CAAC;AAEH;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAEzE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,GACnB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAmBzE;AAID;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,qEAAqE;IACrE,cAAc,EAAE,cAAc,GAAG,aAAa,GAAG,UAAU,CAAC;CAC7D;AAED,eAAO,MAAM,yBAAyB,EAAG,sBAA+B,CAAC;AACzE,eAAO,MAAM,sBAAsB,EAAG,mBAA4B,CAAC;AACnE,eAAO,MAAM,mBAAmB,EAAG,gBAAyB,CAAC;AAC7D,eAAO,MAAM,mBAAmB,EAAG,gBAAyB,CAAC;AAE7D,eAAO,MAAM,yBAAyB,EAAE,SAAS,eAAe,EA4BhC,CAAC;AAIjC;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAE7E;AAED,eAAO,MAAM,wBAAwB,QAA+B,CAAC;AAYrE,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9C,kFAAkF;AAClF,MAAM,MAAM,kBAAkB,GAC1B,KAAK,GACL,UAAU,GACV,UAAU,GACV,MAAM,GACN,MAAM,GACN,UAAU,GACV,aAAa,GACb,iBAAiB,GACjB,uBAAuB,CAAC;AAE5B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/B,IAAI,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACpC,EAAE,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAClC;;;;OAIG;IACH,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,kBAAkB,EAAE,SAAS,aAAa,EA6DzB,CAAC;AAI/B;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEtE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAGhF;AAID,MAAM,MAAM,qBAAqB,GAC7B,OAAO,GACP,UAAU,GACV,QAAQ,GACR,MAAM,GACN,MAAM,GACN,OAAO,GACP,QAAQ,GACR,SAAS,GACT,SAAS,GACT,WAAW,CAAC;AAEhB,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,qBAAqB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,iBAsQhC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,UAAU,EAsBrD,CAAC;AAYH,6DAA6D;AAC7D,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,eAAe,GACf,gBAAgB,GAChB,YAAY,GACZ,eAAe,GACf,aAAa,GACb,UAAU;AACZ,uEAAuE;GACrE,cAAc,GACd,eAAe,GACf,aAAa,GACb,WAAW,CAAC;AAEhB,0EAA0E;AAC1E,MAAM,WAAW,uBAAuB;IACtC,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACjF;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC3C;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,mBAAmB,EAkCvD,CAAC;AAEZ,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAO5E;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,gBAAgB,EA4jB1D,CAAC;AAIH,YAAY,EACV,UAAU,EACV,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,OAAO,EACP,MAAM,EACN,iBAAiB,EACjB,kBAAkB,GACnB,CAAC"}
|
package/dist/protocol.js
CHANGED
|
@@ -13,7 +13,7 @@ import { deepGet, getSection, getSectionVariant } from './parser.js';
|
|
|
13
13
|
import { CORE_VERSION } from './version.js';
|
|
14
14
|
// ─── Versioning ───────────────────────────────────────────────────────────────
|
|
15
15
|
/** Semver of this protocol. Bumped independently of @uwmd/core's npm version. */
|
|
16
|
-
export const PROTOCOL_VERSION = '2.
|
|
16
|
+
export const PROTOCOL_VERSION = '2.2.0';
|
|
17
17
|
/**
|
|
18
18
|
* The format version this implementation *authors* — what a fresh scaffold
|
|
19
19
|
* declares. Reading is wider: see {@link SUPPORTED_FORMAT_VERSIONS}.
|
|
@@ -35,7 +35,7 @@ export const SUPPORTED_FORMAT_VERSIONS = Object.freeze(['1.0', '1.1', '2.0']);
|
|
|
35
35
|
* v2 §1.3), so a module written against the 1.x protocol line still loads:
|
|
36
36
|
* its `requires_protocol` range is satisfied against any member of this set.
|
|
37
37
|
*/
|
|
38
|
-
export const SUPPORTED_PROTOCOL_VERSIONS = Object.freeze(['1.14.0', PROTOCOL_VERSION]);
|
|
38
|
+
export const SUPPORTED_PROTOCOL_VERSIONS = Object.freeze(['1.14.0', '2.0.0', '2.1.0', PROTOCOL_VERSION]);
|
|
39
39
|
/**
|
|
40
40
|
* What `@uwmd/core` itself self-certifies to — the answer `uwmd manifest`
|
|
41
41
|
* returns, and the reference entry in any cross-implementation report.
|
|
@@ -85,6 +85,8 @@ export const REFERENCE_IMPLEMENTATION_MANIFEST = Object.freeze({
|
|
|
85
85
|
'calc-deterministic',
|
|
86
86
|
'calc-stochastic',
|
|
87
87
|
'calc-sensitivity',
|
|
88
|
+
'calc-cash-flow',
|
|
89
|
+
'portfolio-relationships',
|
|
88
90
|
'agent-host',
|
|
89
91
|
'module-load',
|
|
90
92
|
// Both are gated on the optional @uwmd/signing package being installed.
|
|
@@ -573,6 +575,7 @@ export const STANDARD_SECTION_IDS = Object.freeze([
|
|
|
573
575
|
'components',
|
|
574
576
|
'capital_stack',
|
|
575
577
|
'lease_up_schedule',
|
|
578
|
+
'cash_flow_series',
|
|
576
579
|
]);
|
|
577
580
|
const STANDARD_SECTION_ID_SET = new Set(STANDARD_SECTION_IDS);
|
|
578
581
|
/** True when `id` is a section registered by FORMAT_SPEC Part IV. */
|
|
@@ -995,6 +998,24 @@ export const BUILTIN_VIEW_MODELS = Object.freeze({
|
|
|
995
998
|
{ path: 'stabilized_summary.annualized_egi', label: 'Stab. EGI', kind: 'currency' },
|
|
996
999
|
],
|
|
997
1000
|
},
|
|
1001
|
+
cash_flow_series: {
|
|
1002
|
+
section_id: 'cash_flow_series',
|
|
1003
|
+
display_name: 'Cash Flow Series',
|
|
1004
|
+
display_order: 23,
|
|
1005
|
+
description: 'Dated, irregular cash flows on a real calendar (RFC 0034). State-and-verify: stated metrics are recomputed by verifyCashFlowSeries over the §VIII.9 procedures, never trusted.',
|
|
1006
|
+
multi_variant: true,
|
|
1007
|
+
primary_fields: [
|
|
1008
|
+
{ path: 'label', label: 'Series', kind: 'string', primary: true },
|
|
1009
|
+
{ path: 'stated_metrics.xirr', label: 'XIRR', kind: 'percent', primary: true },
|
|
1010
|
+
{ path: 'stated_metrics.total_net', label: 'Net Total', kind: 'currency' },
|
|
1011
|
+
{ path: 'stated_metrics.moic', label: 'MOIC', kind: 'ratio' },
|
|
1012
|
+
],
|
|
1013
|
+
detail_fields: [
|
|
1014
|
+
{ path: 'day_count', label: 'Day Count', kind: 'string' },
|
|
1015
|
+
{ path: 'stated_metrics.xnpv.rate', label: 'XNPV Rate', kind: 'percent' },
|
|
1016
|
+
{ path: 'stated_metrics.xnpv.value', label: 'XNPV', kind: 'currency' },
|
|
1017
|
+
],
|
|
1018
|
+
},
|
|
998
1019
|
gaps: {
|
|
999
1020
|
section_id: 'gaps', display_name: 'Gaps', display_order: 21,
|
|
1000
1021
|
description: 'Open data gaps blocking stage advancement or carrying provisional defaults. Maintained by the editor when --maintain-gaps is on; otherwise hand-curated.',
|
|
@@ -1053,6 +1074,7 @@ export const VALIDATOR_CODE_FAMILIES = Object.freeze([
|
|
|
1053
1074
|
{ prefix: 'MU', description: 'Mixed-use composition', capabilities: ['validate'] },
|
|
1054
1075
|
{ prefix: 'CS', description: 'Capital stack', capabilities: ['validate'] },
|
|
1055
1076
|
{ prefix: 'LU', description: 'Lease-up schedule (RFC 0008)', capabilities: ['validate'] },
|
|
1077
|
+
{ prefix: 'CF', description: 'Cash-flow series (RFC 0034)', capabilities: ['validate'] },
|
|
1056
1078
|
{ prefix: 'LOC', description: 'Display locale (RFC 0001)', capabilities: ['validate'] },
|
|
1057
1079
|
{ prefix: 'META', description: '_meta shape by uw_version (RFC 0009)', capabilities: ['validate'] },
|
|
1058
1080
|
{
|
|
@@ -1231,6 +1253,27 @@ export const BUILTIN_REMEDIATIONS = Object.freeze([
|
|
|
1231
1253
|
remediation: 'Add the current rent_roll the turnover model departs from, or switch model_type to absorption_curve if there is genuinely no in-place tenancy.',
|
|
1232
1254
|
spec_ref: '§4.25 LU-04',
|
|
1233
1255
|
},
|
|
1256
|
+
{
|
|
1257
|
+
code: 'CF-01', severity: 'error',
|
|
1258
|
+
title: 'Cash-flow row outside the grammar',
|
|
1259
|
+
description: 'A cash_flow_series row has an invalid ISO-8601 calendar date or non-finite amount, or the section declares an unknown day_count or kind (closed enums, RFC 0034).',
|
|
1260
|
+
remediation: 'State every date as a real YYYY-MM-DD calendar day and every amount as a finite signed number; use a registered day_count (actual/365f, actual/360, 30/360us) and kind.',
|
|
1261
|
+
spec_ref: '§4.26 CF-01',
|
|
1262
|
+
},
|
|
1263
|
+
{
|
|
1264
|
+
code: 'CF-02', severity: 'error',
|
|
1265
|
+
title: 'Cash-flow series empty or out of order',
|
|
1266
|
+
description: 'The series array is empty, or its dates are not non-decreasing. The first row\'s date anchors every year fraction, so order is part of the contract.',
|
|
1267
|
+
remediation: 'State at least one flow and sort rows by date. Same-day flows are legal and keep their own rows — do not merge them.',
|
|
1268
|
+
spec_ref: '§4.26 CF-02',
|
|
1269
|
+
},
|
|
1270
|
+
{
|
|
1271
|
+
code: 'CF-03', severity: 'error',
|
|
1272
|
+
title: 'Stated XIRR with no sign change',
|
|
1273
|
+
description: 'stated_metrics.xirr is stated but the series has no sign change (at least one negative and one positive amount), so the stated number cannot be the root of anything.',
|
|
1274
|
+
remediation: 'Remove the stated xirr, or state the complete series — an XIRR needs both the investment outflow and the return inflows.',
|
|
1275
|
+
spec_ref: '§4.26 CF-03',
|
|
1276
|
+
},
|
|
1234
1277
|
{
|
|
1235
1278
|
code: 'MU-01', severity: 'error',
|
|
1236
1279
|
title: 'Too few components',
|