@hyperscale0/udl 2.6.1 → 3.0.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/CHANGELOG.md +2 -330
- package/LICENSING.md +1 -2
- package/README.md +3 -114
- package/TRADEMARKS.md +2 -2
- package/dist/diagnostics.d.ts +21 -201
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +29 -193
- package/dist/diagnostics.js.map +1 -1
- package/dist/evolution.d.ts +3 -132
- package/dist/evolution.d.ts.map +1 -1
- package/dist/evolution.js +29 -633
- package/dist/evolution.js.map +1 -1
- package/dist/finance.d.ts +5 -72
- package/dist/finance.d.ts.map +1 -1
- package/dist/finance.js +233 -737
- package/dist/finance.js.map +1 -1
- package/dist/index.d.ts +7 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -12
- package/dist/index.js.map +1 -1
- package/dist/instrument-references.d.ts.map +1 -1
- package/dist/instrument-references.js +3 -2
- package/dist/instrument-references.js.map +1 -1
- package/dist/schema.d.ts +2079 -4564
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +270 -1609
- package/dist/schema.js.map +1 -1
- package/dist/validation.d.ts +8 -104
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +653 -3271
- package/dist/validation.js.map +1 -1
- package/docs/README.md +147 -14
- package/package.json +7 -11
- package/spec/README.md +151 -164
- package/spec/darb.udl.json +249 -0
- package/spec/udl.schema.json +4104 -3202
- package/src/diagnostics.ts +51 -246
- package/src/evolution.ts +39 -1045
- package/src/finance.ts +287 -1127
- package/src/index.ts +18 -142
- package/src/instrument-references.ts +3 -2
- package/src/schema.ts +285 -1843
- package/src/validation.ts +870 -5611
- package/conformance/README.md +0 -82
- package/conformance/evolution/action-contract.expected.json +0 -10
- package/conformance/evolution/action-contract.live.udl +0 -44
- package/conformance/evolution/action-contract.next.udl +0 -45
- package/conformance/evolution/product-identity.expected.json +0 -10
- package/conformance/evolution/product-identity.live.udl +0 -55
- package/conformance/evolution/product-identity.next.udl +0 -55
- package/conformance/evolution/version-required.expected.json +0 -10
- package/conformance/evolution/version-required.live.udl +0 -55
- package/conformance/evolution/version-required.next.udl +0 -58
- package/conformance/invalid/action-without-transition.expected.json +0 -10
- package/conformance/invalid/action-without-transition.udl +0 -60
- package/conformance/invalid/agent-description-too-long.expected.json +0 -10
- package/conformance/invalid/agent-description-too-long.udl +0 -57
- package/conformance/invalid/blank-title.expected.json +0 -10
- package/conformance/invalid/blank-title.udl +0 -54
- package/conformance/invalid/call-binds-results.expected.json +0 -10
- package/conformance/invalid/call-binds-results.udl +0 -314
- package/conformance/invalid/call-unknown-action.expected.json +0 -10
- package/conformance/invalid/call-unknown-action.udl +0 -314
- package/conformance/invalid/composition-dial-duplicate-key.expected.json +0 -10
- package/conformance/invalid/composition-dial-duplicate-key.udl +0 -73
- package/conformance/invalid/depth-budget.expected.json +0 -10
- package/conformance/invalid/depth-budget.udl +0 -49
- package/conformance/invalid/duplicate-subject.expected.json +0 -10
- package/conformance/invalid/duplicate-subject.udl +0 -230
- package/conformance/invalid/forged-effects.expected.json +0 -10
- package/conformance/invalid/forged-effects.udl +0 -76
- package/conformance/invalid/format-version.expected.json +0 -10
- package/conformance/invalid/format-version.udl +0 -54
- package/conformance/invalid/instrument-id-not-snake-case.expected.json +0 -10
- package/conformance/invalid/instrument-id-not-snake-case.udl +0 -54
- package/conformance/invalid/invalid-aggregate-gate-shape.expected.json +0 -10
- package/conformance/invalid/invalid-aggregate-gate-shape.udl +0 -1819
- package/conformance/invalid/invalid-check-duration.expected.json +0 -10
- package/conformance/invalid/invalid-check-duration.udl +0 -219
- package/conformance/invalid/invalid-dial-anchor.expected.json +0 -10
- package/conformance/invalid/invalid-dial-anchor.udl +0 -219
- package/conformance/invalid/invalid-exception-parent-ref.expected.json +0 -10
- package/conformance/invalid/invalid-exception-parent-ref.udl +0 -2487
- package/conformance/invalid/invalid-exposure-shape.expected.json +0 -10
- package/conformance/invalid/invalid-exposure-shape.udl +0 -1819
- package/conformance/invalid/invalid-journeys.expected.json +0 -10
- package/conformance/invalid/invalid-journeys.udl +0 -77
- package/conformance/invalid/invalid-remainder.expected.json +0 -10
- package/conformance/invalid/invalid-remainder.udl +0 -220
- package/conformance/invalid/invalid-schema-keyword.expected.json +0 -10
- package/conformance/invalid/invalid-schema-keyword.udl +0 -220
- package/conformance/invalid/invalid-utf8.expected.json +0 -10
- package/conformance/invalid/invalid-utf8.udl +0 -1
- package/conformance/invalid/leaf-effect-mismatch.expected.json +0 -10
- package/conformance/invalid/leaf-effect-mismatch.udl +0 -314
- package/conformance/invalid/malformed-json.expected.json +0 -10
- package/conformance/invalid/malformed-json.udl +0 -1
- package/conformance/invalid/missing-create-action.expected.json +0 -10
- package/conformance/invalid/missing-create-action.udl +0 -48
- package/conformance/invalid/missing-exception-amount-field.expected.json +0 -10
- package/conformance/invalid/missing-exception-amount-field.udl +0 -2487
- package/conformance/invalid/missing-exception-contract.expected.json +0 -14
- package/conformance/invalid/missing-exception-contract.udl +0 -2523
- package/conformance/invalid/missing-exception-reason-field.expected.json +0 -10
- package/conformance/invalid/missing-exception-reason-field.udl +0 -2487
- package/conformance/invalid/not-an-object.expected.json +0 -10
- package/conformance/invalid/not-an-object.udl +0 -1
- package/conformance/invalid/payout-reconcile-not-a-bank-debit.expected.json +0 -10
- package/conformance/invalid/payout-reconcile-not-a-bank-debit.udl +0 -259
- package/conformance/invalid/piece-plan-without-partition.expected.json +0 -10
- package/conformance/invalid/piece-plan-without-partition.udl +0 -305
- package/conformance/invalid/private-action-independent-approval.expected.json +0 -10
- package/conformance/invalid/private-action-independent-approval.udl +0 -314
- package/conformance/invalid/quote-freeze-set-incomplete.expected.json +0 -10
- package/conformance/invalid/quote-freeze-set-incomplete.udl +0 -261
- package/conformance/invalid/quote-named-reference-gate.expected.json +0 -10
- package/conformance/invalid/quote-named-reference-gate.udl +0 -50
- package/conformance/invalid/reconcile-named-reference-gate.expected.json +0 -10
- package/conformance/invalid/reconcile-named-reference-gate.udl +0 -50
- package/conformance/invalid/unfund-order-not-reversed.expected.json +0 -10
- package/conformance/invalid/unfund-order-not-reversed.udl +0 -314
- package/conformance/invalid/unknown-key.expected.json +0 -10
- package/conformance/invalid/unknown-key.udl +0 -55
- package/conformance/invalid/unknown-reference-gate-field.expected.json +0 -10
- package/conformance/invalid/unknown-reference-gate-field.udl +0 -1819
- package/conformance/invalid/unknown-required-field.expected.json +0 -10
- package/conformance/invalid/unknown-required-field.udl +0 -220
- package/conformance/invalid/unreachable-state.expected.json +0 -10
- package/conformance/invalid/unreachable-state.udl +0 -55
- package/conformance/invalid/wrong-exception-amount-field.expected.json +0 -10
- package/conformance/invalid/wrong-exception-amount-field.udl +0 -2487
- package/conformance/invalid/wrong-exception-reason-field.expected.json +0 -10
- package/conformance/invalid/wrong-exception-reason-field.udl +0 -2487
- package/conformance/valid/agent-description.expected.json +0 -6
- package/conformance/valid/agent-description.udl +0 -66
- package/conformance/valid/attested.expected.json +0 -6
- package/conformance/valid/attested.udl +0 -251
- package/conformance/valid/cards.expected.json +0 -6
- package/conformance/valid/cards.udl +0 -1579
- package/conformance/valid/commerce-escrow.expected.json +0 -6
- package/conformance/valid/commerce-escrow.udl +0 -1512
- package/conformance/valid/compiled-crowdfunding.expected.json +0 -6
- package/conformance/valid/compiled-crowdfunding.udl +0 -1843
- package/conformance/valid/compiled-watch-club.expected.json +0 -6
- package/conformance/valid/compiled-watch-club.udl +0 -2486
- package/conformance/valid/complete-contract.expected.json +0 -6
- package/conformance/valid/complete-contract.udl +0 -218
- package/conformance/valid/effect-signatures.expected.json +0 -6
- package/conformance/valid/effect-signatures.udl +0 -75
- package/conformance/valid/hand-edited.expected.json +0 -6
- package/conformance/valid/hand-edited.udl +0 -1
- package/conformance/valid/insured-car-marketplace.expected.json +0 -6
- package/conformance/valid/insured-car-marketplace.udl +0 -1050
- package/conformance/valid/insured-travel.expected.json +0 -6
- package/conformance/valid/insured-travel.udl +0 -3469
- package/conformance/valid/minimal.expected.json +0 -6
- package/conformance/valid/minimal.udl +0 -62
- package/conformance/valid/piece-plan-calls.expected.json +0 -6
- package/conformance/valid/piece-plan-calls.udl +0 -314
- package/conformance/valid/protection.expected.json +0 -6
- package/conformance/valid/protection.udl +0 -1551
- package/conformance/valid/string-escaping.expected.json +0 -6
- package/conformance/valid/string-escaping.udl +0 -54
- package/conformance/valid/vocabulary.expected.json +0 -6
- package/conformance/valid/vocabulary.udl +0 -2012
- package/dist/allocation.d.ts +0 -60
- package/dist/allocation.d.ts.map +0 -1
- package/dist/allocation.js +0 -177
- package/dist/allocation.js.map +0 -1
- package/dist/check-profiles.d.ts +0 -57
- package/dist/check-profiles.d.ts.map +0 -1
- package/dist/check-profiles.js +0 -62
- package/dist/check-profiles.js.map +0 -1
- package/dist/distribution.d.ts +0 -15
- package/dist/distribution.d.ts.map +0 -1
- package/dist/distribution.js +0 -49
- package/dist/distribution.js.map +0 -1
- package/dist/effects.d.ts +0 -58
- package/dist/effects.d.ts.map +0 -1
- package/dist/effects.js +0 -1126
- package/dist/effects.js.map +0 -1
- package/dist/reference.d.ts +0 -3
- package/dist/reference.d.ts.map +0 -1
- package/dist/reference.js +0 -28
- package/dist/reference.js.map +0 -1
- package/dist/vocabulary.d.ts +0 -23
- package/dist/vocabulary.d.ts.map +0 -1
- package/dist/vocabulary.js +0 -1052
- package/dist/vocabulary.js.map +0 -1
- package/docs/funding-custody.md +0 -165
- package/docs/guide/01-a-document.md +0 -37
- package/docs/guide/02-money-steps.md +0 -23
- package/docs/guide/03-laws.md +0 -18
- package/docs/guide/04-fees-and-remainder.md +0 -36
- package/docs/guide/05-checks-updates-dials.md +0 -7
- package/docs/guide/06-effects.md +0 -11
- package/docs/guide/07-evolution.md +0 -11
- package/docs/guide/08-implementing.md +0 -13
- package/docs/guide/09-schedules-and-allocation.md +0 -132
- package/docs/llms-full.txt +0 -2008
- package/docs/llms.txt +0 -14
- package/docs/piece-plans.md +0 -148
- package/docs/reference/canonical.md +0 -16
- package/docs/reference/clauses.md +0 -1585
- package/docs/reference/cli.md +0 -24
- package/docs/reference/diagnostics.md +0 -38
- package/skills/udl/SKILL.md +0 -28
- package/src/allocation.ts +0 -259
- package/src/check-profiles.ts +0 -80
- package/src/distribution.ts +0 -61
- package/src/effects.ts +0 -1920
- package/src/reference.ts +0 -31
- package/src/vocabulary.ts +0 -1635
package/dist/diagnostics.d.ts
CHANGED
|
@@ -1,204 +1,24 @@
|
|
|
1
|
-
export type
|
|
2
|
-
export type UdlDiagnosticFamily = "admission" | "document" | "evolution" | "finance" | "gates" | "lifecycle" | "schema";
|
|
3
|
-
declare const diagnosticDefinitions: {
|
|
4
|
-
readonly UDL1001: {
|
|
5
|
-
readonly category: "invalid_utf8";
|
|
6
|
-
readonly family: "admission";
|
|
7
|
-
readonly title: "Invalid UTF-8";
|
|
8
|
-
readonly fix: "Encode the document as valid UTF-8.";
|
|
9
|
-
};
|
|
10
|
-
readonly UDL1002: {
|
|
11
|
-
readonly category: "invalid_json";
|
|
12
|
-
readonly family: "admission";
|
|
13
|
-
readonly title: "Invalid JSON";
|
|
14
|
-
readonly fix: "Repair the JSON syntax before validation.";
|
|
15
|
-
};
|
|
16
|
-
readonly UDL1003: {
|
|
17
|
-
readonly category: "invalid_shape";
|
|
18
|
-
readonly family: "admission";
|
|
19
|
-
readonly title: "Invalid document shape";
|
|
20
|
-
readonly fix: "Match the published UDL JSON Schema.";
|
|
21
|
-
};
|
|
22
|
-
readonly UDL1004: {
|
|
23
|
-
readonly category: "resource_limit";
|
|
24
|
-
readonly family: "admission";
|
|
25
|
-
readonly title: "Resource limit exceeded";
|
|
26
|
-
readonly fix: "Reduce the source size, nesting, values, strings, references, or financial paths named by the message.";
|
|
27
|
-
};
|
|
28
|
-
readonly UDL2001: {
|
|
29
|
-
readonly category: "invalid_semantics";
|
|
30
|
-
readonly family: "document";
|
|
31
|
-
readonly title: "Duplicate declaration";
|
|
32
|
-
readonly fix: "Give each declaration a unique name.";
|
|
33
|
-
};
|
|
34
|
-
readonly UDL2002: {
|
|
35
|
-
readonly category: "invalid_semantics";
|
|
36
|
-
readonly family: "document";
|
|
37
|
-
readonly title: "Document law violation";
|
|
38
|
-
readonly fix: "Repair the declaration, subject contract, or derived effects named by the message.";
|
|
39
|
-
};
|
|
40
|
-
readonly UDL2005: {
|
|
41
|
-
readonly category: "invalid_semantics";
|
|
42
|
-
readonly family: "document";
|
|
43
|
-
readonly title: "Derived effects mismatch";
|
|
44
|
-
readonly fix: "Regenerate the action effects from its clauses.";
|
|
45
|
-
};
|
|
46
|
-
readonly UDL2010: {
|
|
47
|
-
readonly category: "invalid_semantics";
|
|
48
|
-
readonly family: "document";
|
|
49
|
-
readonly title: "Action graph violation";
|
|
50
|
-
readonly fix: "Order all actions and calls without cycles or collisions, within depth and count limits.";
|
|
51
|
-
};
|
|
52
|
-
readonly UDL2011: {
|
|
53
|
-
readonly category: "invalid_semantics";
|
|
54
|
-
readonly family: "document";
|
|
55
|
-
readonly title: "Action binding violation";
|
|
56
|
-
readonly fix: "Bind parameters to declared instance, piece, or caller variables without forward references or duplicate captures.";
|
|
57
|
-
};
|
|
58
|
-
readonly UDL2012: {
|
|
59
|
-
readonly category: "invalid_semantics";
|
|
60
|
-
readonly family: "document";
|
|
61
|
-
readonly title: "Action authority violation";
|
|
62
|
-
readonly fix: "Match principal, approval, and recovery policies and keep field paths within tenant boundary.";
|
|
63
|
-
};
|
|
64
|
-
readonly UDL2013: {
|
|
65
|
-
readonly category: "invalid_semantics";
|
|
66
|
-
readonly family: "document";
|
|
67
|
-
readonly title: "Action effect or evidence violation";
|
|
68
|
-
readonly fix: "Provide valid effect kind, matching effect signature, and non-empty evidence for every leaf.";
|
|
69
|
-
};
|
|
70
|
-
readonly UDL3001: {
|
|
71
|
-
readonly category: "invalid_semantics";
|
|
72
|
-
readonly family: "lifecycle";
|
|
73
|
-
readonly title: "Lifecycle is not closed";
|
|
74
|
-
readonly fix: "Declare every state and action transition, and make every state reachable.";
|
|
75
|
-
};
|
|
76
|
-
readonly UDL4001: {
|
|
77
|
-
readonly category: "invalid_semantics";
|
|
78
|
-
readonly family: "finance";
|
|
79
|
-
readonly title: "Money graph violation";
|
|
80
|
-
readonly fix: "Balance every funded amount and close every hold on each lifecycle path.";
|
|
81
|
-
};
|
|
82
|
-
readonly UDL4002: {
|
|
83
|
-
readonly category: "invalid_semantics";
|
|
84
|
-
readonly family: "finance";
|
|
85
|
-
readonly title: "Piece partition violation";
|
|
86
|
-
readonly fix: "Match piece plan total, amounts, and payees to required immutable fields and declared partition.";
|
|
87
|
-
};
|
|
88
|
-
readonly UDL5001: {
|
|
89
|
-
readonly category: "invalid_semantics";
|
|
90
|
-
readonly family: "gates";
|
|
91
|
-
readonly title: "Reference gate violation";
|
|
92
|
-
readonly fix: "Point the gate at a declared instrument, action, state, field, and reference.";
|
|
93
|
-
};
|
|
94
|
-
readonly UDL5002: {
|
|
95
|
-
readonly category: "invalid_semantics";
|
|
96
|
-
readonly family: "gates";
|
|
97
|
-
readonly title: "Check requirement violation";
|
|
98
|
-
readonly fix: "Use a declared check with compatible evidence and recurrence.";
|
|
99
|
-
};
|
|
100
|
-
readonly UDL5003: {
|
|
101
|
-
readonly category: "invalid_semantics";
|
|
102
|
-
readonly family: "gates";
|
|
103
|
-
readonly title: "Exposure gate violation";
|
|
104
|
-
readonly fix: "Use declared account and money fields for the exposure gate.";
|
|
105
|
-
};
|
|
106
|
-
readonly UDL5004: {
|
|
107
|
-
readonly category: "invalid_semantics";
|
|
108
|
-
readonly family: "gates";
|
|
109
|
-
readonly title: "Aggregate law violation";
|
|
110
|
-
readonly fix: "Point the aggregate at compatible parent and child fields.";
|
|
111
|
-
};
|
|
112
|
-
readonly UDL5005: {
|
|
113
|
-
readonly category: "invalid_semantics";
|
|
114
|
-
readonly family: "gates";
|
|
115
|
-
readonly title: "Settlement or payout violation";
|
|
116
|
-
readonly fix: "Use a declared settlement account and a compatible payout statement line.";
|
|
117
|
-
};
|
|
118
|
-
readonly UDL5006: {
|
|
119
|
-
readonly category: "invalid_semantics";
|
|
120
|
-
readonly family: "gates";
|
|
121
|
-
readonly title: "Quote and commit violation";
|
|
122
|
-
readonly fix: "Declare one complete quote freeze set and one matching commit action.";
|
|
123
|
-
};
|
|
124
|
-
readonly UDL5007: {
|
|
125
|
-
readonly category: "invalid_semantics";
|
|
126
|
-
readonly family: "gates";
|
|
127
|
-
readonly title: "Reconcile exception child violation";
|
|
128
|
-
readonly fix: "Name a declared child whose reference points back to this instrument.";
|
|
129
|
-
};
|
|
130
|
-
readonly UDL5008: {
|
|
131
|
-
readonly category: "invalid_semantics";
|
|
132
|
-
readonly family: "gates";
|
|
133
|
-
readonly title: "Action clause violation";
|
|
134
|
-
readonly fix: "Repair the clause fields and keep incompatible clauses separate.";
|
|
135
|
-
};
|
|
136
|
-
readonly UDL5009: {
|
|
137
|
-
readonly category: "invalid_semantics";
|
|
138
|
-
readonly family: "gates";
|
|
139
|
-
readonly title: "Reconcile exception amount field is missing or optional";
|
|
140
|
-
readonly fix: "Name the exception child's required money field in amountField.";
|
|
141
|
-
};
|
|
142
|
-
readonly UDL5010: {
|
|
143
|
-
readonly category: "invalid_semantics";
|
|
144
|
-
readonly family: "gates";
|
|
145
|
-
readonly title: "Reconcile exception amount field has the wrong type";
|
|
146
|
-
readonly fix: "Point amountField at a money field declared by the exception child.";
|
|
147
|
-
};
|
|
148
|
-
readonly UDL5011: {
|
|
149
|
-
readonly category: "invalid_semantics";
|
|
150
|
-
readonly family: "gates";
|
|
151
|
-
readonly title: "Reconcile exception reason field is missing or optional";
|
|
152
|
-
readonly fix: "Name the exception child's required text field in reasonField.";
|
|
153
|
-
};
|
|
154
|
-
readonly UDL5012: {
|
|
155
|
-
readonly category: "invalid_semantics";
|
|
156
|
-
readonly family: "gates";
|
|
157
|
-
readonly title: "Reconcile exception reason field has the wrong type";
|
|
158
|
-
readonly fix: "Point reasonField at a required plain text field declared by the exception child.";
|
|
159
|
-
};
|
|
160
|
-
readonly UDL5013: {
|
|
161
|
-
readonly category: "invalid_semantics";
|
|
162
|
-
readonly family: "gates";
|
|
163
|
-
readonly title: "Piece stage violation";
|
|
164
|
-
readonly fix: "Reference a declared piece plan and stage in the containing instrument.";
|
|
165
|
-
};
|
|
166
|
-
readonly UDL6001: {
|
|
167
|
-
readonly category: "invalid_semantics";
|
|
168
|
-
readonly family: "schema";
|
|
169
|
-
readonly title: "Unsupported JSON Schema";
|
|
170
|
-
readonly fix: "Use only the sealed UDL JSON Schema subset.";
|
|
171
|
-
};
|
|
172
|
-
readonly UDL7001: {
|
|
173
|
-
readonly category: "invalid_evolution";
|
|
174
|
-
readonly family: "evolution";
|
|
175
|
-
readonly title: "Stored contract changed";
|
|
176
|
-
readonly fix: "Keep stored identities and contracts unchanged, and add only allowed optional declarations.";
|
|
177
|
-
};
|
|
178
|
-
readonly UDL7002: {
|
|
179
|
-
readonly category: "invalid_evolution";
|
|
180
|
-
readonly family: "evolution";
|
|
181
|
-
readonly title: "Version was not increased";
|
|
182
|
-
readonly fix: "Increase the product version for every semantic change.";
|
|
183
|
-
};
|
|
184
|
-
};
|
|
185
|
-
export type UdlIssueCode = keyof typeof diagnosticDefinitions;
|
|
186
|
-
export interface UdlDiagnostic {
|
|
187
|
-
readonly category: UdlIssueCategory;
|
|
188
|
-
readonly code: UdlIssueCode;
|
|
189
|
-
readonly family: UdlDiagnosticFamily;
|
|
190
|
-
readonly fix: string;
|
|
191
|
-
readonly title: string;
|
|
192
|
-
}
|
|
193
|
-
export declare const udlDiagnostics: readonly UdlDiagnostic[];
|
|
194
|
-
export declare function udlDiagnostic(code: string): UdlDiagnostic | undefined;
|
|
1
|
+
export type UdlIssueCode = "UDL1001" | "UDL1002" | "UDL1003" | "UDL1004" | "UDL2001" | "UDL2002" | "UDL2010" | "UDL3001" | "UDL4001" | "UDL5001" | "UDL7001" | "UDL7002";
|
|
195
2
|
export interface UdlIssue {
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
3
|
+
code: UdlIssueCode;
|
|
4
|
+
path: string;
|
|
5
|
+
message: string;
|
|
6
|
+
fix: string;
|
|
7
|
+
category: string;
|
|
201
8
|
}
|
|
202
|
-
export declare function issue(code: UdlIssueCode, path: string,
|
|
203
|
-
export {
|
|
9
|
+
export declare function issue(code: UdlIssueCode, path: string, message: string): UdlIssue;
|
|
10
|
+
export declare const udlDiagnostics: {
|
|
11
|
+
code: string;
|
|
12
|
+
fix: string;
|
|
13
|
+
title: string;
|
|
14
|
+
category: string;
|
|
15
|
+
family: string;
|
|
16
|
+
}[];
|
|
17
|
+
export declare const udlDiagnostic: (code: string) => {
|
|
18
|
+
code: string;
|
|
19
|
+
fix: string;
|
|
20
|
+
title: string;
|
|
21
|
+
category: string;
|
|
22
|
+
family: string;
|
|
23
|
+
} | undefined;
|
|
204
24
|
//# sourceMappingURL=diagnostics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AACd,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAgBD,wBAAgB,KAAK,CACnB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,QAAQ,CAaV;AACD,eAAO,MAAM,cAAc;;;;;;GAMxB,CAAC;AACJ,eAAO,MAAM,aAAa,SAAU,MAAM;;;;;;aACG,CAAC"}
|
package/dist/diagnostics.js
CHANGED
|
@@ -1,200 +1,36 @@
|
|
|
1
|
-
const
|
|
2
|
-
UDL1001:
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
UDL1003: {
|
|
15
|
-
category: "invalid_shape",
|
|
16
|
-
family: "admission",
|
|
17
|
-
title: "Invalid document shape",
|
|
18
|
-
fix: "Match the published UDL JSON Schema.",
|
|
19
|
-
},
|
|
20
|
-
UDL1004: {
|
|
21
|
-
category: "resource_limit",
|
|
22
|
-
family: "admission",
|
|
23
|
-
title: "Resource limit exceeded",
|
|
24
|
-
fix: "Reduce the source size, nesting, values, strings, references, or financial paths named by the message.",
|
|
25
|
-
},
|
|
26
|
-
UDL2001: {
|
|
27
|
-
category: "invalid_semantics",
|
|
28
|
-
family: "document",
|
|
29
|
-
title: "Duplicate declaration",
|
|
30
|
-
fix: "Give each declaration a unique name.",
|
|
31
|
-
},
|
|
32
|
-
UDL2002: {
|
|
33
|
-
category: "invalid_semantics",
|
|
34
|
-
family: "document",
|
|
35
|
-
title: "Document law violation",
|
|
36
|
-
fix: "Repair the declaration, subject contract, or derived effects named by the message.",
|
|
37
|
-
},
|
|
38
|
-
UDL2005: {
|
|
39
|
-
category: "invalid_semantics",
|
|
40
|
-
family: "document",
|
|
41
|
-
title: "Derived effects mismatch",
|
|
42
|
-
fix: "Regenerate the action effects from its clauses.",
|
|
43
|
-
},
|
|
44
|
-
UDL2010: {
|
|
45
|
-
category: "invalid_semantics",
|
|
46
|
-
family: "document",
|
|
47
|
-
title: "Action graph violation",
|
|
48
|
-
fix: "Order all actions and calls without cycles or collisions, within depth and count limits.",
|
|
49
|
-
},
|
|
50
|
-
UDL2011: {
|
|
51
|
-
category: "invalid_semantics",
|
|
52
|
-
family: "document",
|
|
53
|
-
title: "Action binding violation",
|
|
54
|
-
fix: "Bind parameters to declared instance, piece, or caller variables without forward references or duplicate captures.",
|
|
55
|
-
},
|
|
56
|
-
UDL2012: {
|
|
57
|
-
category: "invalid_semantics",
|
|
58
|
-
family: "document",
|
|
59
|
-
title: "Action authority violation",
|
|
60
|
-
fix: "Match principal, approval, and recovery policies and keep field paths within tenant boundary.",
|
|
61
|
-
},
|
|
62
|
-
UDL2013: {
|
|
63
|
-
category: "invalid_semantics",
|
|
64
|
-
family: "document",
|
|
65
|
-
title: "Action effect or evidence violation",
|
|
66
|
-
fix: "Provide valid effect kind, matching effect signature, and non-empty evidence for every leaf.",
|
|
67
|
-
},
|
|
68
|
-
UDL3001: {
|
|
69
|
-
category: "invalid_semantics",
|
|
70
|
-
family: "lifecycle",
|
|
71
|
-
title: "Lifecycle is not closed",
|
|
72
|
-
fix: "Declare every state and action transition, and make every state reachable.",
|
|
73
|
-
},
|
|
74
|
-
UDL4001: {
|
|
75
|
-
category: "invalid_semantics",
|
|
76
|
-
family: "finance",
|
|
77
|
-
title: "Money graph violation",
|
|
78
|
-
fix: "Balance every funded amount and close every hold on each lifecycle path.",
|
|
79
|
-
},
|
|
80
|
-
UDL4002: {
|
|
81
|
-
category: "invalid_semantics",
|
|
82
|
-
family: "finance",
|
|
83
|
-
title: "Piece partition violation",
|
|
84
|
-
fix: "Match piece plan total, amounts, and payees to required immutable fields and declared partition.",
|
|
85
|
-
},
|
|
86
|
-
UDL5001: {
|
|
87
|
-
category: "invalid_semantics",
|
|
88
|
-
family: "gates",
|
|
89
|
-
title: "Reference gate violation",
|
|
90
|
-
fix: "Point the gate at a declared instrument, action, state, field, and reference.",
|
|
91
|
-
},
|
|
92
|
-
UDL5002: {
|
|
93
|
-
category: "invalid_semantics",
|
|
94
|
-
family: "gates",
|
|
95
|
-
title: "Check requirement violation",
|
|
96
|
-
fix: "Use a declared check with compatible evidence and recurrence.",
|
|
97
|
-
},
|
|
98
|
-
UDL5003: {
|
|
99
|
-
category: "invalid_semantics",
|
|
100
|
-
family: "gates",
|
|
101
|
-
title: "Exposure gate violation",
|
|
102
|
-
fix: "Use declared account and money fields for the exposure gate.",
|
|
103
|
-
},
|
|
104
|
-
UDL5004: {
|
|
105
|
-
category: "invalid_semantics",
|
|
106
|
-
family: "gates",
|
|
107
|
-
title: "Aggregate law violation",
|
|
108
|
-
fix: "Point the aggregate at compatible parent and child fields.",
|
|
109
|
-
},
|
|
110
|
-
UDL5005: {
|
|
111
|
-
category: "invalid_semantics",
|
|
112
|
-
family: "gates",
|
|
113
|
-
title: "Settlement or payout violation",
|
|
114
|
-
fix: "Use a declared settlement account and a compatible payout statement line.",
|
|
115
|
-
},
|
|
116
|
-
UDL5006: {
|
|
117
|
-
category: "invalid_semantics",
|
|
118
|
-
family: "gates",
|
|
119
|
-
title: "Quote and commit violation",
|
|
120
|
-
fix: "Declare one complete quote freeze set and one matching commit action.",
|
|
121
|
-
},
|
|
122
|
-
UDL5007: {
|
|
123
|
-
category: "invalid_semantics",
|
|
124
|
-
family: "gates",
|
|
125
|
-
title: "Reconcile exception child violation",
|
|
126
|
-
fix: "Name a declared child whose reference points back to this instrument.",
|
|
127
|
-
},
|
|
128
|
-
UDL5008: {
|
|
129
|
-
category: "invalid_semantics",
|
|
130
|
-
family: "gates",
|
|
131
|
-
title: "Action clause violation",
|
|
132
|
-
fix: "Repair the clause fields and keep incompatible clauses separate.",
|
|
133
|
-
},
|
|
134
|
-
UDL5009: {
|
|
135
|
-
category: "invalid_semantics",
|
|
136
|
-
family: "gates",
|
|
137
|
-
title: "Reconcile exception amount field is missing or optional",
|
|
138
|
-
fix: "Name the exception child's required money field in amountField.",
|
|
139
|
-
},
|
|
140
|
-
UDL5010: {
|
|
141
|
-
category: "invalid_semantics",
|
|
142
|
-
family: "gates",
|
|
143
|
-
title: "Reconcile exception amount field has the wrong type",
|
|
144
|
-
fix: "Point amountField at a money field declared by the exception child.",
|
|
145
|
-
},
|
|
146
|
-
UDL5011: {
|
|
147
|
-
category: "invalid_semantics",
|
|
148
|
-
family: "gates",
|
|
149
|
-
title: "Reconcile exception reason field is missing or optional",
|
|
150
|
-
fix: "Name the exception child's required text field in reasonField.",
|
|
151
|
-
},
|
|
152
|
-
UDL5012: {
|
|
153
|
-
category: "invalid_semantics",
|
|
154
|
-
family: "gates",
|
|
155
|
-
title: "Reconcile exception reason field has the wrong type",
|
|
156
|
-
fix: "Point reasonField at a required plain text field declared by the exception child.",
|
|
157
|
-
},
|
|
158
|
-
UDL5013: {
|
|
159
|
-
category: "invalid_semantics",
|
|
160
|
-
family: "gates",
|
|
161
|
-
title: "Piece stage violation",
|
|
162
|
-
fix: "Reference a declared piece plan and stage in the containing instrument.",
|
|
163
|
-
},
|
|
164
|
-
UDL6001: {
|
|
165
|
-
category: "invalid_semantics",
|
|
166
|
-
family: "schema",
|
|
167
|
-
title: "Unsupported JSON Schema",
|
|
168
|
-
fix: "Use only the sealed UDL JSON Schema subset.",
|
|
169
|
-
},
|
|
170
|
-
UDL7001: {
|
|
171
|
-
category: "invalid_evolution",
|
|
172
|
-
family: "evolution",
|
|
173
|
-
title: "Stored contract changed",
|
|
174
|
-
fix: "Keep stored identities and contracts unchanged, and add only allowed optional declarations.",
|
|
175
|
-
},
|
|
176
|
-
UDL7002: {
|
|
177
|
-
category: "invalid_evolution",
|
|
178
|
-
family: "evolution",
|
|
179
|
-
title: "Version was not increased",
|
|
180
|
-
fix: "Increase the product version for every semantic change.",
|
|
181
|
-
},
|
|
1
|
+
const fixes = {
|
|
2
|
+
UDL1001: "Encode the source as UTF-8.",
|
|
3
|
+
UDL1002: "Repair JSON syntax.",
|
|
4
|
+
UDL1003: "Use the UDL 3 typed grammar.",
|
|
5
|
+
UDL1004: "Reduce the declared structure or expansion.",
|
|
6
|
+
UDL2001: "Give each declaration a distinct name.",
|
|
7
|
+
UDL2002: "Repair the named type or declaration.",
|
|
8
|
+
UDL2010: "Remove the invocation cycle or reduce its expansion.",
|
|
9
|
+
UDL3001: "Declare reachable states and one transition per action.",
|
|
10
|
+
UDL4001: "Fund owned accounts before spending and close them with zero balances.",
|
|
11
|
+
UDL5001: "Use a declared reference of the required type.",
|
|
12
|
+
UDL7001: "Preserve existing instance meaning or recreate the estate.",
|
|
13
|
+
UDL7002: "Increase the contract version.",
|
|
182
14
|
};
|
|
183
|
-
export
|
|
184
|
-
code: code,
|
|
185
|
-
...diagnostic,
|
|
186
|
-
}));
|
|
187
|
-
export function udlDiagnostic(code) {
|
|
188
|
-
return udlDiagnostics.find((diagnostic) => diagnostic.code === code);
|
|
189
|
-
}
|
|
190
|
-
export function issue(code, path, messageDetail) {
|
|
191
|
-
const diagnostic = diagnosticDefinitions[code];
|
|
15
|
+
export function issue(code, path, message) {
|
|
192
16
|
return {
|
|
193
|
-
category: diagnostic.category,
|
|
194
17
|
code,
|
|
195
|
-
fix: diagnostic.fix,
|
|
196
|
-
message: messageDetail ?? diagnostic.title,
|
|
197
18
|
path,
|
|
19
|
+
message,
|
|
20
|
+
fix: fixes[code],
|
|
21
|
+
category: code === "UDL1003"
|
|
22
|
+
? "invalid_shape"
|
|
23
|
+
: code === "UDL1004"
|
|
24
|
+
? "resource_limit"
|
|
25
|
+
: "invalid_semantics",
|
|
198
26
|
};
|
|
199
27
|
}
|
|
28
|
+
export const udlDiagnostics = Object.entries(fixes).map(([code, fix]) => ({
|
|
29
|
+
code,
|
|
30
|
+
fix,
|
|
31
|
+
title: fix,
|
|
32
|
+
category: "invalid_semantics",
|
|
33
|
+
family: "document",
|
|
34
|
+
}));
|
|
35
|
+
export const udlDiagnostic = (code) => udlDiagnostics.find((d) => d.code === code);
|
|
200
36
|
//# sourceMappingURL=diagnostics.js.map
|
package/dist/diagnostics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAoBA,MAAM,KAAK,GAAiC;IAC1C,OAAO,EAAE,6BAA6B;IACtC,OAAO,EAAE,qBAAqB;IAC9B,OAAO,EAAE,8BAA8B;IACvC,OAAO,EAAE,6CAA6C;IACtD,OAAO,EAAE,wCAAwC;IACjD,OAAO,EAAE,uCAAuC;IAChD,OAAO,EAAE,sDAAsD;IAC/D,OAAO,EAAE,yDAAyD;IAClE,OAAO,EACL,wEAAwE;IAC1E,OAAO,EAAE,gDAAgD;IACzD,OAAO,EAAE,4DAA4D;IACrE,OAAO,EAAE,gCAAgC;CAC1C,CAAC;AACF,MAAM,UAAU,KAAK,CACnB,IAAkB,EAClB,IAAY,EACZ,OAAe;IAEf,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,OAAO;QACP,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC;QAChB,QAAQ,EACN,IAAI,KAAK,SAAS;YAChB,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,IAAI,KAAK,SAAS;gBAClB,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,mBAAmB;KAC5B,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACxE,IAAI;IACJ,GAAG;IACH,KAAK,EAAE,GAAG;IACV,QAAQ,EAAE,mBAAmB;IAC7B,MAAM,EAAE,UAAU;CACnB,CAAC,CAAC,CAAC;AACJ,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CAC5C,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC"}
|
package/dist/evolution.d.ts
CHANGED
|
@@ -1,134 +1,5 @@
|
|
|
1
|
-
import type { UdlDocument
|
|
1
|
+
import type { UdlDocument } from "./schema.js";
|
|
2
2
|
import { type UdlIssue } from "./diagnostics.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
readonly schema: unknown;
|
|
6
|
-
}
|
|
7
|
-
export interface EvolutionStepSnapshot {
|
|
8
|
-
readonly bind: unknown;
|
|
9
|
-
readonly capture: unknown;
|
|
10
|
-
readonly operation: string;
|
|
11
|
-
}
|
|
12
|
-
export interface EvolutionMoveSnapshot extends EvolutionStepSnapshot {
|
|
13
|
-
readonly key: string;
|
|
14
|
-
}
|
|
15
|
-
export interface EvolutionActionSnapshot {
|
|
16
|
-
readonly requiresInput?: unknown;
|
|
17
|
-
readonly engineOwned?: unknown;
|
|
18
|
-
readonly captureEngine?: unknown;
|
|
19
|
-
readonly requiresAllocation?: unknown;
|
|
20
|
-
readonly allocate?: unknown;
|
|
21
|
-
readonly contributionStage?: unknown;
|
|
22
|
-
readonly transitionsRefs?: unknown;
|
|
23
|
-
/** Missing on snapshots written before receipt-input capture existed. */
|
|
24
|
-
readonly captureInput?: unknown;
|
|
25
|
-
readonly deadline: unknown;
|
|
26
|
-
readonly decision: unknown;
|
|
27
|
-
/** Missing on snapshots written before UDL completeness. */
|
|
28
|
-
readonly principal?: string | null;
|
|
29
|
-
/** Missing on snapshots written before quote-commit existed. */
|
|
30
|
-
readonly commit?: string | null;
|
|
31
|
-
/** Missing on snapshots written before UDL completeness. */
|
|
32
|
-
readonly remainder?: unknown;
|
|
33
|
-
/** Missing on snapshots written before UDL completeness. */
|
|
34
|
-
readonly requiresChecks?: unknown;
|
|
35
|
-
/** Missing on snapshots written before UDL completeness. */
|
|
36
|
-
readonly sandboxFailurePoint?: string | null;
|
|
37
|
-
/** Missing on snapshots written before UDL completeness. */
|
|
38
|
-
readonly updates?: readonly string[];
|
|
39
|
-
/** Missing on snapshots written before weighted distribution existed. */
|
|
40
|
-
readonly distribute?: unknown;
|
|
41
|
-
readonly due: unknown;
|
|
42
|
-
readonly earnable: boolean;
|
|
43
|
-
/** Missing on snapshots written before derived effect rows entered UDL. */
|
|
44
|
-
readonly effects?: unknown;
|
|
45
|
-
readonly eventName: string | null;
|
|
46
|
-
readonly input: Readonly<Record<string, EvolutionFieldSnapshot>> | null;
|
|
47
|
-
/**
|
|
48
|
-
* Every top-level input schema keyword EXCEPT properties/required (those are
|
|
49
|
-
* diffed field by field). additionalProperties, string and array bounds,
|
|
50
|
-
* numeric bounds, enum, const, pattern, and format change what callers may
|
|
51
|
-
* send, so they are frozen once live.
|
|
52
|
-
*/
|
|
53
|
-
readonly inputConstraints: unknown;
|
|
54
|
-
/** Missing on snapshots written before payout intents existed. */
|
|
55
|
-
readonly payout?: unknown;
|
|
56
|
-
readonly port: unknown;
|
|
57
|
-
/** Missing on snapshots written before public action metadata existed. */
|
|
58
|
-
readonly publicAction?: string | null;
|
|
59
|
-
readonly requiresAggregate: unknown;
|
|
60
|
-
readonly requiresDrainedAccount: unknown;
|
|
61
|
-
/** Missing on snapshots written before exposure gates entered open UDL. */
|
|
62
|
-
readonly requiresExposure?: unknown;
|
|
63
|
-
readonly unique?: unknown;
|
|
64
|
-
readonly requiresRefs: unknown;
|
|
65
|
-
/** Missing on snapshots written before reconcile expectations existed. */
|
|
66
|
-
readonly reconcile?: unknown;
|
|
67
|
-
readonly setsAt: unknown;
|
|
68
|
-
/** Missing on snapshots written before signed child sums existed. */
|
|
69
|
-
readonly signedSum?: unknown;
|
|
70
|
-
/** Missing on snapshots written before cascade transitions existed. */
|
|
71
|
-
readonly cascade?: unknown;
|
|
72
|
-
readonly moves: readonly EvolutionMoveSnapshot[];
|
|
73
|
-
readonly steps: readonly EvolutionStepSnapshot[];
|
|
74
|
-
}
|
|
75
|
-
export interface EvolutionTransitionSnapshot {
|
|
76
|
-
readonly from: readonly string[];
|
|
77
|
-
readonly to: string;
|
|
78
|
-
}
|
|
79
|
-
/** The complete serializable algebra protected by append-only evolution. */
|
|
80
|
-
export interface InstrumentEvolutionSnapshot {
|
|
81
|
-
readonly templateBinding?: unknown;
|
|
82
|
-
readonly allocation?: unknown;
|
|
83
|
-
readonly contributions?: unknown;
|
|
84
|
-
readonly dateOrder?: unknown;
|
|
85
|
-
/** Missing on snapshots written before UDL carried authored action order. */
|
|
86
|
-
readonly actionOrder?: readonly string[];
|
|
87
|
-
readonly aggregateInvariants: readonly string[];
|
|
88
|
-
/** Missing on snapshots written before UDL completeness. */
|
|
89
|
-
readonly callerParkedStates?: Readonly<Record<string, string>>;
|
|
90
|
-
readonly derivedAmounts: readonly string[];
|
|
91
|
-
/** Missing on snapshots written before UDL completeness. */
|
|
92
|
-
readonly dials?: unknown;
|
|
93
|
-
readonly distinctParties?: true;
|
|
94
|
-
/** Missing on snapshots written before unified fee rules entered UDL. */
|
|
95
|
-
readonly feeRules?: unknown;
|
|
96
|
-
readonly fields: Readonly<Record<string, EvolutionFieldSnapshot>>;
|
|
97
|
-
readonly id: string;
|
|
98
|
-
readonly idPrefix: string;
|
|
99
|
-
readonly initial: string;
|
|
100
|
-
/** Missing on snapshots written before UDL completeness. */
|
|
101
|
-
readonly nav?: readonly string[];
|
|
102
|
-
readonly parties: Readonly<Record<string, string>>;
|
|
103
|
-
readonly partitions: readonly string[];
|
|
104
|
-
readonly states: readonly string[];
|
|
105
|
-
readonly subjects: readonly string[];
|
|
106
|
-
/** Missing on snapshots written before UDL completeness. */
|
|
107
|
-
readonly subjectExtensible?: boolean;
|
|
108
|
-
/** Missing on snapshots written before UDL completeness. */
|
|
109
|
-
readonly surfaceVisibility?: string | null;
|
|
110
|
-
/** Missing on snapshots written before UDL completeness. */
|
|
111
|
-
readonly templateId?: string | null;
|
|
112
|
-
readonly transitions: Readonly<Record<string, EvolutionTransitionSnapshot>>;
|
|
113
|
-
/** Every quote-commit pair, keyed by quoting action. */
|
|
114
|
-
readonly quotes: unknown;
|
|
115
|
-
readonly updateFields: readonly string[];
|
|
116
|
-
/** Missing on snapshots written before UDL completeness. */
|
|
117
|
-
readonly updateExamples?: unknown;
|
|
118
|
-
readonly updateStates: readonly string[];
|
|
119
|
-
readonly actions: Readonly<Record<string, EvolutionActionSnapshot>>;
|
|
120
|
-
}
|
|
121
|
-
/** Project an open .udl instrument into the evolution engine's exact semantic shape. */
|
|
122
|
-
export declare function snapshotUdlInstrument(instrument: UdlInstrument): InstrumentEvolutionSnapshot;
|
|
123
|
-
/**
|
|
124
|
-
* Compare two product definitions under the append-only evolution law.
|
|
125
|
-
*
|
|
126
|
-
* Both documents must already have passed `validateUdl`. The diff walks
|
|
127
|
-
* straight into `stableStringify`, so an unvalidated document with a cycle in
|
|
128
|
-
* it throws a RangeError out of here where the validator would have returned a
|
|
129
|
-
* clean `resource_limit` issue: parse first, then diff.
|
|
130
|
-
*/
|
|
131
|
-
export declare function diffValidatedUdlEvolution(previous: UdlDocument, next: UdlDocument): readonly UdlIssue[];
|
|
132
|
-
/** Diff one instrument snapshot. An empty result means the change is additive. */
|
|
133
|
-
export declare function diffInstrumentEvolution(previous: InstrumentEvolutionSnapshot, next: InstrumentEvolutionSnapshot): readonly UdlIssue[];
|
|
3
|
+
/** Existing instruments are frozen; a live document may add independent instruments. */
|
|
4
|
+
export declare function diffValidatedUdlEvolution(live: UdlDocument, next: UdlDocument): UdlIssue[];
|
|
134
5
|
//# sourceMappingURL=evolution.d.ts.map
|
package/dist/evolution.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evolution.d.ts","sourceRoot":"","sources":["../src/evolution.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"evolution.d.ts","sourceRoot":"","sources":["../src/evolution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAS,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAgBxD,wFAAwF;AACxF,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,WAAW,GAChB,QAAQ,EAAE,CA0BZ"}
|