@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.
Files changed (213) hide show
  1. package/CHANGELOG.md +2 -330
  2. package/LICENSING.md +1 -2
  3. package/README.md +3 -114
  4. package/TRADEMARKS.md +2 -2
  5. package/dist/diagnostics.d.ts +21 -201
  6. package/dist/diagnostics.d.ts.map +1 -1
  7. package/dist/diagnostics.js +29 -193
  8. package/dist/diagnostics.js.map +1 -1
  9. package/dist/evolution.d.ts +3 -132
  10. package/dist/evolution.d.ts.map +1 -1
  11. package/dist/evolution.js +29 -633
  12. package/dist/evolution.js.map +1 -1
  13. package/dist/finance.d.ts +5 -72
  14. package/dist/finance.d.ts.map +1 -1
  15. package/dist/finance.js +233 -737
  16. package/dist/finance.js.map +1 -1
  17. package/dist/index.d.ts +7 -18
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +7 -12
  20. package/dist/index.js.map +1 -1
  21. package/dist/instrument-references.d.ts.map +1 -1
  22. package/dist/instrument-references.js +3 -2
  23. package/dist/instrument-references.js.map +1 -1
  24. package/dist/schema.d.ts +2079 -4564
  25. package/dist/schema.d.ts.map +1 -1
  26. package/dist/schema.js +270 -1609
  27. package/dist/schema.js.map +1 -1
  28. package/dist/validation.d.ts +8 -104
  29. package/dist/validation.d.ts.map +1 -1
  30. package/dist/validation.js +653 -3271
  31. package/dist/validation.js.map +1 -1
  32. package/docs/README.md +147 -14
  33. package/package.json +7 -11
  34. package/spec/README.md +151 -164
  35. package/spec/darb.udl.json +249 -0
  36. package/spec/udl.schema.json +4104 -3202
  37. package/src/diagnostics.ts +51 -246
  38. package/src/evolution.ts +39 -1045
  39. package/src/finance.ts +287 -1127
  40. package/src/index.ts +18 -142
  41. package/src/instrument-references.ts +3 -2
  42. package/src/schema.ts +285 -1843
  43. package/src/validation.ts +870 -5611
  44. package/conformance/README.md +0 -82
  45. package/conformance/evolution/action-contract.expected.json +0 -10
  46. package/conformance/evolution/action-contract.live.udl +0 -44
  47. package/conformance/evolution/action-contract.next.udl +0 -45
  48. package/conformance/evolution/product-identity.expected.json +0 -10
  49. package/conformance/evolution/product-identity.live.udl +0 -55
  50. package/conformance/evolution/product-identity.next.udl +0 -55
  51. package/conformance/evolution/version-required.expected.json +0 -10
  52. package/conformance/evolution/version-required.live.udl +0 -55
  53. package/conformance/evolution/version-required.next.udl +0 -58
  54. package/conformance/invalid/action-without-transition.expected.json +0 -10
  55. package/conformance/invalid/action-without-transition.udl +0 -60
  56. package/conformance/invalid/agent-description-too-long.expected.json +0 -10
  57. package/conformance/invalid/agent-description-too-long.udl +0 -57
  58. package/conformance/invalid/blank-title.expected.json +0 -10
  59. package/conformance/invalid/blank-title.udl +0 -54
  60. package/conformance/invalid/call-binds-results.expected.json +0 -10
  61. package/conformance/invalid/call-binds-results.udl +0 -314
  62. package/conformance/invalid/call-unknown-action.expected.json +0 -10
  63. package/conformance/invalid/call-unknown-action.udl +0 -314
  64. package/conformance/invalid/composition-dial-duplicate-key.expected.json +0 -10
  65. package/conformance/invalid/composition-dial-duplicate-key.udl +0 -73
  66. package/conformance/invalid/depth-budget.expected.json +0 -10
  67. package/conformance/invalid/depth-budget.udl +0 -49
  68. package/conformance/invalid/duplicate-subject.expected.json +0 -10
  69. package/conformance/invalid/duplicate-subject.udl +0 -230
  70. package/conformance/invalid/forged-effects.expected.json +0 -10
  71. package/conformance/invalid/forged-effects.udl +0 -76
  72. package/conformance/invalid/format-version.expected.json +0 -10
  73. package/conformance/invalid/format-version.udl +0 -54
  74. package/conformance/invalid/instrument-id-not-snake-case.expected.json +0 -10
  75. package/conformance/invalid/instrument-id-not-snake-case.udl +0 -54
  76. package/conformance/invalid/invalid-aggregate-gate-shape.expected.json +0 -10
  77. package/conformance/invalid/invalid-aggregate-gate-shape.udl +0 -1819
  78. package/conformance/invalid/invalid-check-duration.expected.json +0 -10
  79. package/conformance/invalid/invalid-check-duration.udl +0 -219
  80. package/conformance/invalid/invalid-dial-anchor.expected.json +0 -10
  81. package/conformance/invalid/invalid-dial-anchor.udl +0 -219
  82. package/conformance/invalid/invalid-exception-parent-ref.expected.json +0 -10
  83. package/conformance/invalid/invalid-exception-parent-ref.udl +0 -2487
  84. package/conformance/invalid/invalid-exposure-shape.expected.json +0 -10
  85. package/conformance/invalid/invalid-exposure-shape.udl +0 -1819
  86. package/conformance/invalid/invalid-journeys.expected.json +0 -10
  87. package/conformance/invalid/invalid-journeys.udl +0 -77
  88. package/conformance/invalid/invalid-remainder.expected.json +0 -10
  89. package/conformance/invalid/invalid-remainder.udl +0 -220
  90. package/conformance/invalid/invalid-schema-keyword.expected.json +0 -10
  91. package/conformance/invalid/invalid-schema-keyword.udl +0 -220
  92. package/conformance/invalid/invalid-utf8.expected.json +0 -10
  93. package/conformance/invalid/invalid-utf8.udl +0 -1
  94. package/conformance/invalid/leaf-effect-mismatch.expected.json +0 -10
  95. package/conformance/invalid/leaf-effect-mismatch.udl +0 -314
  96. package/conformance/invalid/malformed-json.expected.json +0 -10
  97. package/conformance/invalid/malformed-json.udl +0 -1
  98. package/conformance/invalid/missing-create-action.expected.json +0 -10
  99. package/conformance/invalid/missing-create-action.udl +0 -48
  100. package/conformance/invalid/missing-exception-amount-field.expected.json +0 -10
  101. package/conformance/invalid/missing-exception-amount-field.udl +0 -2487
  102. package/conformance/invalid/missing-exception-contract.expected.json +0 -14
  103. package/conformance/invalid/missing-exception-contract.udl +0 -2523
  104. package/conformance/invalid/missing-exception-reason-field.expected.json +0 -10
  105. package/conformance/invalid/missing-exception-reason-field.udl +0 -2487
  106. package/conformance/invalid/not-an-object.expected.json +0 -10
  107. package/conformance/invalid/not-an-object.udl +0 -1
  108. package/conformance/invalid/payout-reconcile-not-a-bank-debit.expected.json +0 -10
  109. package/conformance/invalid/payout-reconcile-not-a-bank-debit.udl +0 -259
  110. package/conformance/invalid/piece-plan-without-partition.expected.json +0 -10
  111. package/conformance/invalid/piece-plan-without-partition.udl +0 -305
  112. package/conformance/invalid/private-action-independent-approval.expected.json +0 -10
  113. package/conformance/invalid/private-action-independent-approval.udl +0 -314
  114. package/conformance/invalid/quote-freeze-set-incomplete.expected.json +0 -10
  115. package/conformance/invalid/quote-freeze-set-incomplete.udl +0 -261
  116. package/conformance/invalid/quote-named-reference-gate.expected.json +0 -10
  117. package/conformance/invalid/quote-named-reference-gate.udl +0 -50
  118. package/conformance/invalid/reconcile-named-reference-gate.expected.json +0 -10
  119. package/conformance/invalid/reconcile-named-reference-gate.udl +0 -50
  120. package/conformance/invalid/unfund-order-not-reversed.expected.json +0 -10
  121. package/conformance/invalid/unfund-order-not-reversed.udl +0 -314
  122. package/conformance/invalid/unknown-key.expected.json +0 -10
  123. package/conformance/invalid/unknown-key.udl +0 -55
  124. package/conformance/invalid/unknown-reference-gate-field.expected.json +0 -10
  125. package/conformance/invalid/unknown-reference-gate-field.udl +0 -1819
  126. package/conformance/invalid/unknown-required-field.expected.json +0 -10
  127. package/conformance/invalid/unknown-required-field.udl +0 -220
  128. package/conformance/invalid/unreachable-state.expected.json +0 -10
  129. package/conformance/invalid/unreachable-state.udl +0 -55
  130. package/conformance/invalid/wrong-exception-amount-field.expected.json +0 -10
  131. package/conformance/invalid/wrong-exception-amount-field.udl +0 -2487
  132. package/conformance/invalid/wrong-exception-reason-field.expected.json +0 -10
  133. package/conformance/invalid/wrong-exception-reason-field.udl +0 -2487
  134. package/conformance/valid/agent-description.expected.json +0 -6
  135. package/conformance/valid/agent-description.udl +0 -66
  136. package/conformance/valid/attested.expected.json +0 -6
  137. package/conformance/valid/attested.udl +0 -251
  138. package/conformance/valid/cards.expected.json +0 -6
  139. package/conformance/valid/cards.udl +0 -1579
  140. package/conformance/valid/commerce-escrow.expected.json +0 -6
  141. package/conformance/valid/commerce-escrow.udl +0 -1512
  142. package/conformance/valid/compiled-crowdfunding.expected.json +0 -6
  143. package/conformance/valid/compiled-crowdfunding.udl +0 -1843
  144. package/conformance/valid/compiled-watch-club.expected.json +0 -6
  145. package/conformance/valid/compiled-watch-club.udl +0 -2486
  146. package/conformance/valid/complete-contract.expected.json +0 -6
  147. package/conformance/valid/complete-contract.udl +0 -218
  148. package/conformance/valid/effect-signatures.expected.json +0 -6
  149. package/conformance/valid/effect-signatures.udl +0 -75
  150. package/conformance/valid/hand-edited.expected.json +0 -6
  151. package/conformance/valid/hand-edited.udl +0 -1
  152. package/conformance/valid/insured-car-marketplace.expected.json +0 -6
  153. package/conformance/valid/insured-car-marketplace.udl +0 -1050
  154. package/conformance/valid/insured-travel.expected.json +0 -6
  155. package/conformance/valid/insured-travel.udl +0 -3469
  156. package/conformance/valid/minimal.expected.json +0 -6
  157. package/conformance/valid/minimal.udl +0 -62
  158. package/conformance/valid/piece-plan-calls.expected.json +0 -6
  159. package/conformance/valid/piece-plan-calls.udl +0 -314
  160. package/conformance/valid/protection.expected.json +0 -6
  161. package/conformance/valid/protection.udl +0 -1551
  162. package/conformance/valid/string-escaping.expected.json +0 -6
  163. package/conformance/valid/string-escaping.udl +0 -54
  164. package/conformance/valid/vocabulary.expected.json +0 -6
  165. package/conformance/valid/vocabulary.udl +0 -2012
  166. package/dist/allocation.d.ts +0 -60
  167. package/dist/allocation.d.ts.map +0 -1
  168. package/dist/allocation.js +0 -177
  169. package/dist/allocation.js.map +0 -1
  170. package/dist/check-profiles.d.ts +0 -57
  171. package/dist/check-profiles.d.ts.map +0 -1
  172. package/dist/check-profiles.js +0 -62
  173. package/dist/check-profiles.js.map +0 -1
  174. package/dist/distribution.d.ts +0 -15
  175. package/dist/distribution.d.ts.map +0 -1
  176. package/dist/distribution.js +0 -49
  177. package/dist/distribution.js.map +0 -1
  178. package/dist/effects.d.ts +0 -58
  179. package/dist/effects.d.ts.map +0 -1
  180. package/dist/effects.js +0 -1126
  181. package/dist/effects.js.map +0 -1
  182. package/dist/reference.d.ts +0 -3
  183. package/dist/reference.d.ts.map +0 -1
  184. package/dist/reference.js +0 -28
  185. package/dist/reference.js.map +0 -1
  186. package/dist/vocabulary.d.ts +0 -23
  187. package/dist/vocabulary.d.ts.map +0 -1
  188. package/dist/vocabulary.js +0 -1052
  189. package/dist/vocabulary.js.map +0 -1
  190. package/docs/funding-custody.md +0 -165
  191. package/docs/guide/01-a-document.md +0 -37
  192. package/docs/guide/02-money-steps.md +0 -23
  193. package/docs/guide/03-laws.md +0 -18
  194. package/docs/guide/04-fees-and-remainder.md +0 -36
  195. package/docs/guide/05-checks-updates-dials.md +0 -7
  196. package/docs/guide/06-effects.md +0 -11
  197. package/docs/guide/07-evolution.md +0 -11
  198. package/docs/guide/08-implementing.md +0 -13
  199. package/docs/guide/09-schedules-and-allocation.md +0 -132
  200. package/docs/llms-full.txt +0 -2008
  201. package/docs/llms.txt +0 -14
  202. package/docs/piece-plans.md +0 -148
  203. package/docs/reference/canonical.md +0 -16
  204. package/docs/reference/clauses.md +0 -1585
  205. package/docs/reference/cli.md +0 -24
  206. package/docs/reference/diagnostics.md +0 -38
  207. package/skills/udl/SKILL.md +0 -28
  208. package/src/allocation.ts +0 -259
  209. package/src/check-profiles.ts +0 -80
  210. package/src/distribution.ts +0 -61
  211. package/src/effects.ts +0 -1920
  212. package/src/reference.ts +0 -31
  213. package/src/vocabulary.ts +0 -1635
@@ -1,6 +0,0 @@
1
- {
2
- "canonical": "agent-description.udl",
3
- "digest": "acb231f45ef6283f1dc795b4f0d30463cd8cb9ac8555bdb4ce244eb1bd5c81ba",
4
- "summary": "Agent-facing prose on an instrument and on both its actions, beside the composition confirmation-threshold dial.",
5
- "verdict": "valid"
6
- }
@@ -1,66 +0,0 @@
1
- {
2
- "dials": [
3
- {
4
- "key": "confirmation_threshold",
5
- "kind": "confirmation_threshold",
6
- "maxMinor": 500000,
7
- "summary": "Money-moving calls below this amount skip the explicit confirmation argument.",
8
- "title": "Confirmation threshold"
9
- }
10
- ],
11
- "instruments": [
12
- {
13
- "actionOrder": [
14
- "close",
15
- "create"
16
- ],
17
- "actions": {
18
- "close": {
19
- "agentDescription": "Close a note that has already been filed. Takes the note id and nothing else, and moves no money.",
20
- "moves": [],
21
- "steps": [],
22
- "summary": "Close the note."
23
- },
24
- "create": {
25
- "agentDescription": "File a new note against the tenant. Ask the operator for the reference text first; it cannot be edited afterwards.",
26
- "moves": [],
27
- "steps": [],
28
- "summary": "File the note."
29
- }
30
- },
31
- "agentDescription": "A filed note. Read it to recover the reference an operator recorded, and close it when the matter it tracks is settled.",
32
- "fields": {
33
- "reference": {
34
- "type": "string"
35
- }
36
- },
37
- "id": "note",
38
- "idPrefix": "note",
39
- "lifecycle": {
40
- "initial": "open",
41
- "states": [
42
- "open",
43
- "closed"
44
- ],
45
- "transitions": {
46
- "close": {
47
- "from": [
48
- "open"
49
- ],
50
- "to": "closed"
51
- }
52
- }
53
- },
54
- "required": [
55
- "reference"
56
- ],
57
- "summary": "A note a tenant files and later closes.",
58
- "title": "Note"
59
- }
60
- ],
61
- "product": "minimal",
62
- "subjects": [],
63
- "title": "Minimal",
64
- "udl": 1,
65
- "version": 1
66
- }
@@ -1,6 +0,0 @@
1
- {
2
- "canonical": "attested.udl",
3
- "digest": "aa584ac3a220b85cff4c2f36ae56324427b5905ac549a89f7be4a403c3ce006d",
4
- "summary": "Server-bound request authority and one approved decision with engine-owned consumption",
5
- "verdict": "valid"
6
- }
@@ -1,251 +0,0 @@
1
- {
2
- "instruments": [
3
- {
4
- "actionOrder": [
5
- "create",
6
- "approve",
7
- "consume"
8
- ],
9
- "actions": {
10
- "approve": {
11
- "agentDescription": "Record the bound deciding account.",
12
- "effects": {
13
- "decides": [
14
- {
15
- "signature": "decides.tenant_port",
16
- "source": "port"
17
- }
18
- ]
19
- },
20
- "moves": [],
21
- "port": {
22
- "allowedParties": [
23
- "decider"
24
- ],
25
- "capture": "decidedBy"
26
- },
27
- "steps": [],
28
- "summary": "Approve instrument"
29
- },
30
- "consume": {
31
- "agentDescription": "Consume this approval within the admitted operation.",
32
- "captureEngine": {
33
- "consumedByOperationId": "operationId"
34
- },
35
- "engineOwned": true,
36
- "moves": [],
37
- "steps": [],
38
- "summary": "Consume instrument"
39
- },
40
- "create": {
41
- "agentDescription": "Store the immutable request terms.",
42
- "moves": [],
43
- "requestAuthority": {
44
- "actionField": "actionName",
45
- "digestField": "digest",
46
- "expiresField": "expiry",
47
- "inputField": "requestInput",
48
- "instanceField": "requestId",
49
- "instrumentField": "requestInstrument",
50
- "party": "decider",
51
- "roleField": "role"
52
- },
53
- "steps": [],
54
- "summary": "Create instrument"
55
- }
56
- },
57
- "agentDescription": "Record approval for one exact request.",
58
- "fields": {
59
- "actionName": {
60
- "type": "string"
61
- },
62
- "decidedBy": {
63
- "pattern": "^acct_(sandbox|live)_[a-z0-9]{8,64}$",
64
- "type": "string"
65
- },
66
- "deciderAccount": {
67
- "pattern": "^acct_(sandbox|live)_[a-z0-9]{8,64}$",
68
- "type": "string"
69
- },
70
- "digest": {
71
- "pattern": "^[a-f0-9]{64}$",
72
- "type": "string"
73
- },
74
- "expiry": {
75
- "format": "hyperscale-date-time",
76
- "type": "string"
77
- },
78
- "requestId": {
79
- "type": "string"
80
- },
81
- "requestInput": {
82
- "additionalProperties": true,
83
- "type": "object"
84
- },
85
- "requestInstrument": {
86
- "type": "string"
87
- },
88
- "role": {
89
- "type": "string"
90
- }
91
- },
92
- "id": "approval",
93
- "idPrefix": "apr",
94
- "lifecycle": {
95
- "initial": "requested",
96
- "states": [
97
- "requested",
98
- "approved",
99
- "consumed"
100
- ],
101
- "transitions": {
102
- "approve": {
103
- "from": [
104
- "requested"
105
- ],
106
- "to": "approved"
107
- },
108
- "consume": {
109
- "from": [
110
- "approved"
111
- ],
112
- "to": "consumed"
113
- }
114
- }
115
- },
116
- "parties": {
117
- "decider": "deciderAccount"
118
- },
119
- "required": [
120
- "deciderAccount",
121
- "requestId",
122
- "requestInstrument",
123
- "actionName",
124
- "digest",
125
- "role",
126
- "expiry"
127
- ],
128
- "summary": "Approval instrument",
129
- "title": "Approval"
130
- },
131
- {
132
- "actionOrder": [
133
- "create",
134
- "accept"
135
- ],
136
- "actions": {
137
- "accept": {
138
- "agentDescription": "Accept the exact approved amount once.",
139
- "effects": {
140
- "decides": [
141
- {
142
- "signature": "decides.referenced_transition",
143
- "source": "transitionsRefs[0]"
144
- }
145
- ],
146
- "reads": [
147
- {
148
- "signature": "reads.requires_refs",
149
- "source": "requiresRefs"
150
- }
151
- ]
152
- },
153
- "input": {
154
- "additionalProperties": false,
155
- "properties": {
156
- "amount": {
157
- "pattern": "^[1-9][0-9]{0,17}$",
158
- "type": "string",
159
- "x-hyperscale-currency": "SAR"
160
- }
161
- },
162
- "required": [
163
- "amount"
164
- ],
165
- "type": "object"
166
- },
167
- "moves": [],
168
- "requiresInput": {
169
- "amount": "fields.amount"
170
- },
171
- "requiresRefs": [
172
- {
173
- "attests": {
174
- "action": "fields.actionName",
175
- "consume": "consume",
176
- "digest": "fields.digest",
177
- "expiresAt": "fields.expiry",
178
- "instrument": "fields.requestInstrument",
179
- "party": "decider",
180
- "role": "fields.role"
181
- },
182
- "field": "approvalId",
183
- "match": {
184
- "instrumentInstanceId": "fields.requestId"
185
- },
186
- "statuses": [
187
- "approved"
188
- ]
189
- }
190
- ],
191
- "steps": [],
192
- "summary": "Accept instrument"
193
- },
194
- "create": {
195
- "agentDescription": "Store the immutable request terms.",
196
- "moves": [],
197
- "steps": [],
198
- "summary": "Create instrument"
199
- }
200
- },
201
- "agentDescription": "Admit only the independently approved request.",
202
- "fields": {
203
- "amount": {
204
- "pattern": "^[1-9][0-9]{0,17}$",
205
- "type": "string",
206
- "x-hyperscale-currency": "SAR"
207
- },
208
- "approvalId": {
209
- "pattern": "^apr_(sandbox|live)_[a-z0-9]{8,64}$",
210
- "type": "string"
211
- },
212
- "currency": {
213
- "description": "ISO 4217 currency code",
214
- "maxLength": 3,
215
- "minLength": 3,
216
- "pattern": "^[A-Z]{3}$",
217
- "type": "string"
218
- }
219
- },
220
- "id": "request",
221
- "idPrefix": "req",
222
- "lifecycle": {
223
- "initial": "open",
224
- "states": [
225
- "open",
226
- "done"
227
- ],
228
- "transitions": {
229
- "accept": {
230
- "from": [
231
- "open"
232
- ],
233
- "to": "done"
234
- }
235
- }
236
- },
237
- "required": [
238
- "approvalId",
239
- "amount",
240
- "currency"
241
- ],
242
- "summary": "Request instrument",
243
- "title": "Request"
244
- }
245
- ],
246
- "product": "attested",
247
- "subjects": [],
248
- "title": "Attested action",
249
- "udl": 1,
250
- "version": 1
251
- }
@@ -1,6 +0,0 @@
1
- {
2
- "canonical": "cards.udl",
3
- "digest": "88e78d45c95da1c3a3e53a75ce9a817c8d52a87ac6525d56ddd6322e0da05cce",
4
- "summary": "Card issuing: authorizations, transactions, and refunds over the sealed kernel.",
5
- "verdict": "valid"
6
- }