@hyperscale0/udl 2.2.0 → 2.4.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 (88) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +5 -1
  3. package/conformance/invalid/invalid-journeys.expected.json +3 -19
  4. package/conformance/invalid/invalid-journeys.udl +47 -49
  5. package/conformance/valid/attested.expected.json +6 -0
  6. package/conformance/valid/attested.udl +251 -0
  7. package/conformance/valid/hand-edited.expected.json +1 -1
  8. package/conformance/valid/hand-edited.udl +1 -1
  9. package/conformance/valid/minimal.expected.json +1 -1
  10. package/conformance/valid/minimal.udl +0 -15
  11. package/conformance/valid/vocabulary.expected.json +6 -0
  12. package/conformance/valid/vocabulary.udl +1999 -0
  13. package/dist/allocation.d.ts +60 -0
  14. package/dist/allocation.d.ts.map +1 -0
  15. package/dist/allocation.js +177 -0
  16. package/dist/allocation.js.map +1 -0
  17. package/dist/diagnostics.d.ts +1 -31
  18. package/dist/diagnostics.d.ts.map +1 -1
  19. package/dist/diagnostics.js +0 -30
  20. package/dist/diagnostics.js.map +1 -1
  21. package/dist/distribution.d.ts +15 -0
  22. package/dist/distribution.d.ts.map +1 -0
  23. package/dist/distribution.js +49 -0
  24. package/dist/distribution.js.map +1 -0
  25. package/dist/effects.d.ts +0 -6
  26. package/dist/effects.d.ts.map +1 -1
  27. package/dist/effects.js +84 -22
  28. package/dist/effects.js.map +1 -1
  29. package/dist/evolution.d.ts +12 -0
  30. package/dist/evolution.d.ts.map +1 -1
  31. package/dist/evolution.js +42 -1
  32. package/dist/evolution.js.map +1 -1
  33. package/dist/finance.d.ts +18 -1
  34. package/dist/finance.d.ts.map +1 -1
  35. package/dist/finance.js +158 -27
  36. package/dist/finance.js.map +1 -1
  37. package/dist/index.d.ts +9 -3
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +6 -2
  40. package/dist/index.js.map +1 -1
  41. package/dist/instrument-references.d.ts +5 -0
  42. package/dist/instrument-references.d.ts.map +1 -0
  43. package/dist/instrument-references.js +69 -0
  44. package/dist/instrument-references.js.map +1 -0
  45. package/dist/limits.d.ts +3 -3
  46. package/dist/limits.d.ts.map +1 -1
  47. package/dist/limits.js +3 -7
  48. package/dist/limits.js.map +1 -1
  49. package/dist/reference.d.ts +3 -0
  50. package/dist/reference.d.ts.map +1 -0
  51. package/dist/reference.js +28 -0
  52. package/dist/reference.js.map +1 -0
  53. package/dist/schema.d.ts +1232 -83
  54. package/dist/schema.d.ts.map +1 -1
  55. package/dist/schema.js +398 -60
  56. package/dist/schema.js.map +1 -1
  57. package/dist/validation.d.ts +27 -1
  58. package/dist/validation.d.ts.map +1 -1
  59. package/dist/validation.js +327 -187
  60. package/dist/validation.js.map +1 -1
  61. package/dist/vocabulary.d.ts +23 -0
  62. package/dist/vocabulary.d.ts.map +1 -0
  63. package/dist/vocabulary.js +965 -0
  64. package/dist/vocabulary.js.map +1 -0
  65. package/docs/README.md +5 -1
  66. package/docs/funding-custody.md +165 -0
  67. package/docs/guide/09-schedules-and-allocation.md +130 -0
  68. package/docs/llms-full.txt +623 -101
  69. package/docs/llms.txt +1 -1
  70. package/docs/piece-plans.md +148 -0
  71. package/docs/reference/clauses.md +451 -63
  72. package/docs/reference/cli.md +3 -1
  73. package/docs/reference/diagnostics.md +33 -38
  74. package/package.json +5 -6
  75. package/spec/udl.schema.json +1095 -118
  76. package/src/allocation.ts +259 -0
  77. package/src/diagnostics.ts +0 -32
  78. package/src/distribution.ts +61 -0
  79. package/src/effects.ts +116 -22
  80. package/src/evolution.ts +63 -3
  81. package/src/finance.ts +218 -24
  82. package/src/index.ts +31 -3
  83. package/src/instrument-references.ts +98 -0
  84. package/src/limits.ts +3 -7
  85. package/src/reference.ts +31 -0
  86. package/src/schema.ts +417 -66
  87. package/src/validation.ts +452 -243
  88. package/src/vocabulary.ts +1508 -0
@@ -0,0 +1,23 @@
1
+ import type { UdlInstrument, UdlAggregateCondition } from "./schema.js";
2
+ type Add = (path: PropertyKey[], message: string) => void;
3
+ export declare function validateVocabulary(instruments: readonly UdlInstrument[], add: Add): void;
4
+ export declare function deriveUdlAmount(amount: NonNullable<UdlInstrument["derivedAmounts"]>[number], fields: Readonly<Record<string, unknown>>): string;
5
+ export declare function matchesDateOrder(order: NonNullable<UdlInstrument["dateOrder"]>[number], fields: Readonly<Record<string, unknown>>): boolean;
6
+ /** Engine supplies the complete locked child set, before status filtering. */
7
+ export declare function matchesSchedule(check: Extract<UdlAggregateCondition["check"], {
8
+ kind: "schedule";
9
+ }>, parent: Readonly<Record<string, unknown>>, rows: readonly Readonly<Record<string, unknown>>[]): boolean;
10
+ export declare function isDueBefore(filter: NonNullable<UdlAggregateCondition["dueBefore"]>, fields: Readonly<Record<string, unknown>>, asOf: string): boolean;
11
+ /** All entries fund together or return to their immutable origins together. */
12
+ export declare function planContributions(contract: NonNullable<UdlInstrument["contributions"]>, fields: Readonly<Record<string, unknown>>, holdAccountId: string, stage: "fund" | "refund"): {
13
+ index: number;
14
+ amount: bigint;
15
+ sourceAccountId: string;
16
+ destinationAccountId: string;
17
+ }[];
18
+ export declare function matchesOrdered(check: Extract<UdlAggregateCondition["check"], {
19
+ kind: "ordered";
20
+ }>, rows: readonly Readonly<Record<string, unknown>>[]): boolean;
21
+ export declare function deriveRemainder(clause: NonNullable<UdlInstrument["actions"][string]["remainder"]>, fields: Readonly<Record<string, unknown>>, collected?: readonly string[]): string | null;
22
+ export {};
23
+ //# sourceMappingURL=vocabulary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocabulary.d.ts","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAIxE,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAqD1D,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,SAAS,aAAa,EAAE,EACrC,GAAG,EAAE,GAAG,GACP,IAAI,CA8uCN;AAyBD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,EAC5D,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,MAAM,CAkBR;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EACtD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,OAAO,CAIT;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,EACpE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,IAAI,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,GACjD,OAAO,CAyBT;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,WAAW,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,EACvD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,IAAI,EAAE,MAAM,GACX,OAAO,CAaT;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,EACrD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,GAAG,QAAQ;;;;;IAmCzB;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,EACnE,IAAI,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,GACjD,OAAO,CAaT;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,EAClE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,SAAS,GAAE,SAAS,MAAM,EAAO,GAChC,MAAM,GAAG,IAAI,CAYf"}