@hyperscale0/udl 2.6.1 → 3.0.1

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 +4 -328
  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 +148 -14
  33. package/package.json +7 -11
  34. package/spec/README.md +152 -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 +1 @@
1
- {"version":3,"file":"evolution.js","sourceRoot":"","sources":["../src/evolution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evolution.js","sourceRoot":"","sources":["../src/evolution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAiB,MAAM,kBAAkB,CAAC;AAExD,SAAS,MAAM,CAAC,KAAc;IAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACzE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QACpC,OAAO,CACL,GAAG;YACH,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;iBAClB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAChD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;iBAChE,IAAI,CAAC,GAAG,CAAC;YACZ,GAAG,CACJ,CAAC;IACJ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC;AAC9C,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,yBAAyB,CACvC,IAAiB,EACjB,IAAiB;IAEjB,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,EAAE,CAC/C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/C,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;QAClE,MAAM,CAAC,GAAG,EAAE,6CAA6C,CAAC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QACtD,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,CAAC,aAAa,IAAI,EAAE,EAAE,yCAAyC,CAAC,CAAC;IAC3E,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC;YACpD,MAAM,CACJ,iBAAiB,UAAU,CAAC,EAAE,EAAE,EAChC,4EAA4E,CAC7E,CAAC;IACN,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;QAC/D,MAAM,CAAC,IAAI,CACT,KAAK,CACH,SAAS,EACT,WAAW,EACX,2CAA2C,CAC5C,CACF,CAAC;IACJ,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/dist/finance.d.ts CHANGED
@@ -1,75 +1,8 @@
1
- import type { UdlBinding } from "./schema.js";
2
- import type { UdlIssueCode } from "./diagnostics.js";
1
+ import type { UdlDocument, UdlInstrument } from "./schema.js";
3
2
  export interface FinanceIssue {
4
- readonly code: UdlIssueCode;
5
- readonly message: string;
6
- readonly path: readonly PropertyKey[];
3
+ path: string;
4
+ message: string;
7
5
  }
8
- export interface FinanceOptions {
9
- readonly penaltyMayBeNonzero?: boolean;
10
- }
11
- interface FinancialStep {
12
- readonly operation: string;
13
- readonly bind: Readonly<Record<string, UdlBinding>>;
14
- readonly capture?: Readonly<Record<string, string>> | undefined;
15
- }
16
- interface FinancialMove extends FinancialStep {
17
- readonly key: string;
18
- }
19
- export interface FinancialPartition {
20
- readonly totalField: string;
21
- readonly pieceFields: readonly string[];
22
- }
23
- export interface FinancialContribution {
24
- readonly field: string;
25
- readonly amountKey: string;
26
- readonly accountKey: string;
27
- readonly totalField: string;
28
- }
29
- export interface FinancialContributionStage {
30
- readonly stage: "fund" | "refund";
31
- readonly accountPath: string;
32
- }
33
- export interface FinancialInstrument {
34
- readonly lifecycle: {
35
- readonly initial: string;
36
- readonly states: readonly string[];
37
- readonly transitions: Readonly<Record<string, {
38
- readonly from: readonly string[];
39
- readonly to: string;
40
- }>>;
41
- };
42
- readonly parties?: {
43
- readonly beneficiary?: string | undefined;
44
- readonly payer?: string | undefined;
45
- readonly subjectHolder?: string | undefined;
46
- } | undefined;
47
- readonly partitions?: readonly FinancialPartition[] | undefined;
48
- readonly contributions?: FinancialContribution | undefined;
49
- readonly actions: Readonly<Record<string, {
50
- readonly commit?: string | undefined;
51
- readonly moves?: readonly FinancialMove[];
52
- readonly quote?: {
53
- readonly baseField: string;
54
- readonly chargeRef: string;
55
- readonly chargeRetainedBy?: "payer" | "beneficiary" | "subjectHolder" | undefined;
56
- readonly charges: readonly {
57
- readonly bps: number;
58
- }[];
59
- readonly netRef: string;
60
- } | undefined;
61
- readonly steps: readonly FinancialStep[];
62
- readonly contributionStage?: FinancialContributionStage | undefined;
63
- }>>;
64
- }
65
- /**
66
- * One financial typestate owner for canonical UDL and static instrument contracts.
67
- * It proves a tracked escrow account holds an exact set of funded amounts,
68
- * models held transfers through reserve/post/void, consumes every direct
69
- * debit piece by piece, and makes the quoted refund's sole remainder an
70
- * exactly-once penalty payout.
71
- */
72
- export declare function analyzeInstrumentFinance(instrument: FinancialInstrument, options?: FinanceOptions): readonly FinanceIssue[];
73
- export declare function financeAdmissionProblem(instrument: FinancialInstrument): string | undefined;
74
- export {};
6
+ /** Join loop balances conservatively; a balance equality proves an unknown balance empty. */
7
+ export declare function analyzeInstrumentFinance(instrument: UdlInstrument, document?: UdlDocument): FinanceIssue[];
75
8
  //# sourceMappingURL=finance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"finance.d.ts","sourceRoot":"","sources":["../src/finance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finance.d.ts","sourceRoot":"","sources":["../src/finance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EACX,aAAa,EAEd,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAiCD,6FAA6F;AAC7F,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,aAAa,EACzB,QAAQ,CAAC,EAAE,WAAW,GACrB,YAAY,EAAE,CAoRhB"}