@hyperscale0/hsx 2.0.5 → 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.
Files changed (76) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +17 -3
  3. package/dist/src/cli.d.ts +1 -1
  4. package/dist/src/compile.d.ts +2 -0
  5. package/dist/src/compile.d.ts.map +1 -1
  6. package/dist/src/compile.js +15 -2
  7. package/dist/src/compile.js.map +1 -1
  8. package/dist/src/cost.d.ts.map +1 -1
  9. package/dist/src/cost.js +22 -6
  10. package/dist/src/cost.js.map +1 -1
  11. package/dist/src/diagnostics.d.ts +2 -0
  12. package/dist/src/diagnostics.d.ts.map +1 -1
  13. package/dist/src/diagnostics.js +60 -0
  14. package/dist/src/diagnostics.js.map +1 -1
  15. package/dist/src/emit.d.ts +16 -1
  16. package/dist/src/emit.d.ts.map +1 -1
  17. package/dist/src/emit.js +49 -11
  18. package/dist/src/emit.js.map +1 -1
  19. package/dist/src/index.d.ts +2 -1
  20. package/dist/src/index.d.ts.map +1 -1
  21. package/dist/src/index.js +1 -1
  22. package/dist/src/index.js.map +1 -1
  23. package/dist/src/ir.d.ts +8 -1
  24. package/dist/src/ir.d.ts.map +1 -1
  25. package/dist/src/ir.js.map +1 -1
  26. package/dist/src/limits.d.ts +2 -0
  27. package/dist/src/limits.d.ts.map +1 -1
  28. package/dist/src/limits.js +2 -0
  29. package/dist/src/limits.js.map +1 -1
  30. package/dist/src/typecheck.d.ts.map +1 -1
  31. package/dist/src/typecheck.js +123 -15
  32. package/dist/src/typecheck.js.map +1 -1
  33. package/dist/src/version.d.ts +1 -1
  34. package/dist/src/version.js +1 -1
  35. package/docs/assets/brand/hsx-horizontal-white.svg +1 -0
  36. package/docs/assets/brand/hsx-horizontal.svg +1 -0
  37. package/docs/assets/brand/hsx-stacked-white.svg +1 -0
  38. package/docs/assets/brand/hsx-stacked.svg +1 -0
  39. package/docs/assets/brand/manifest.json +30 -0
  40. package/docs/assets/hsx.svg +8 -15
  41. package/docs/llms-full.txt +51 -3
  42. package/docs/llms.txt +2 -2
  43. package/docs/reference/cli.md +2 -2
  44. package/docs/reference/diagnostics.md +49 -1
  45. package/docs/reference/grammar.md +2 -2
  46. package/docs/reference/std/advance.md +1 -1
  47. package/docs/reference/std/cancellable_booking.md +1 -1
  48. package/docs/reference/std/captured_payment.md +1 -1
  49. package/docs/reference/std/conditional_disbursement.md +1 -1
  50. package/docs/reference/std/credit_facility.md +1 -1
  51. package/docs/reference/std/held_payment.md +1 -1
  52. package/docs/reference/std/instant_transfer.md +1 -1
  53. package/docs/reference/std/metered.md +1 -1
  54. package/docs/reference/std/pooled_split.md +1 -1
  55. package/docs/reference/std/premium_forward.md +1 -1
  56. package/docs/reference/std/reconciled_payout.md +1 -1
  57. package/docs/reference/std/recurring_collection.md +1 -1
  58. package/docs/reference/std/rotating_pool.md +1 -1
  59. package/docs/reference/std/scheduled.md +1 -1
  60. package/docs/reference/std/security_deposit.md +1 -1
  61. package/docs/reference/std/settlement_batch.md +1 -1
  62. package/docs/reference/std/swap.md +1 -1
  63. package/docs/reference/std/threshold_pool.md +1 -1
  64. package/docs/reference/std/weighted_distribution.md +1 -1
  65. package/docs/reference/types.md +1 -1
  66. package/docs/reference/udl-output.md +1 -1
  67. package/package.json +3 -3
  68. package/src/compile.ts +17 -2
  69. package/src/cost.ts +32 -5
  70. package/src/diagnostics.ts +67 -0
  71. package/src/emit.ts +82 -15
  72. package/src/index.ts +6 -1
  73. package/src/ir.ts +15 -1
  74. package/src/limits.ts +2 -0
  75. package/src/typecheck.ts +147 -16
  76. package/src/version.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -9,6 +9,22 @@ independently of the package version.
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [2.1.0] - 2026-09-14
13
+
14
+ Published in lockstep with UDL 2.1.0.
15
+
16
+ ### Added
17
+
18
+ - `piece_plan` declares a partitioned total with named pieces, immutable release and refund payees, and fund, release, refund and unfund orders. `piece_stage` on an action moves one piece and derives the `pieceId` input from the selected order.
19
+ - `calls` on an action invoke typed private actions from an `action_library`, binding parameters and capturing results. Public and authored calls lower to the same leaf origins, and the compiled document round-trips calls and piece plans losslessly.
20
+ - Diagnostics `HSX1610` (piece partition), `HSX1611` (piece stage), `HSX1612` (action graph), `HSX1613` (static call binding), `HSX1614` (action boundary) and `HSX1615` (leaf evidence and effects), each mapped from its UDL counterpart. `HSX1601` and `HSX1602` now take their fix text from the diagnostic table.
21
+ - The cost kernel prices every expanded leaf of a call and refuses a leaf without a price (`HSX1301`).
22
+
23
+ ### Changed
24
+
25
+ - The VS Code extension is titled "Hyperscale HSX". The README and playground carry the design-language brand assets.
26
+ - `HSX_LIMITS.maxExpansions` (256) bounds action-graph expansion; the typechecker's own limit is gone.
27
+
12
28
  ## [2.0.5] - 2026-09-11
13
29
 
14
30
  ### Fixed
package/README.md CHANGED
@@ -1,8 +1,18 @@
1
- ![HSX: Write a financial product. Compile its contract.](docs/assets/hsx.svg)
1
+ <p align="left">
2
+ <picture>
3
+ <source media="(max-width: 600px) and (prefers-color-scheme: dark)" srcset="docs/assets/brand/hsx-stacked-white.svg">
4
+ <source media="(max-width: 600px)" srcset="docs/assets/brand/hsx-stacked.svg">
5
+ <source media="(prefers-color-scheme: dark)" srcset="docs/assets/brand/hsx-horizontal-white.svg">
6
+ <source media="(prefers-color-scheme: light)" srcset="docs/assets/brand/hsx-horizontal.svg">
7
+ <img src="docs/assets/brand/hsx-horizontal.svg" alt="Hyperscale™ HSX" width="335">
8
+ </picture>
9
+ </p>
2
10
 
3
11
  # HSX
4
12
 
5
- HSX is the strictly typed programming language for money on the Hyperscale operating system. It defines general instruments, composes money flows from the money flows library (open/hsx/std), checks currency-indexed linear money, and calculates deterministic execution costs at compile time. HSX compiles each accepted program to canonical UDL. It does not execute settlements, open network sockets, or manage provider accounts.
13
+ Hyperscale™ HSX. Compile financial programs to canonical UDL.
14
+
15
+ HSX is the strictly typed programming language for money on the Hyperscale operating system. It defines general instruments, composes money flows from the [money flows library](std/), checks currency-indexed linear money, and calculates deterministic execution costs at compile time. HSX compiles each accepted program to canonical UDL. It does not execute settlements, open network sockets, or manage provider accounts.
6
16
 
7
17
  ## Install
8
18
 
@@ -16,7 +26,7 @@ Install the compiler globally or run it with `npx`:
16
26
  npm install -g @hyperscale0/hsx
17
27
  ```
18
28
 
19
- The VS Code extension package is available at https://hyperscale0.ai/downloads/hsx-vscode.vsix. The extension runs `hsx lsp` over stdio to provide diagnostics and document formatting.
29
+ The VS Code extension package is available at https://hyperscale0.ai/downloads/hsx-vscode.vsix. Your editor extension runs `hsx lsp` to report diagnostics and format your document. It communicates through standard input and output.
20
30
 
21
31
  ## First program
22
32
 
@@ -78,3 +88,7 @@ Programmatic compilation requires a `costTable` parameter. See the [cost documen
78
88
  HSX is licensed under AGPL-3.0-only, with a commercial license available from Hyperscale LLC. See [LICENSE](LICENSE), [LICENSING.md](LICENSING.md), and [TRADEMARKS.md](TRADEMARKS.md).
79
89
 
80
90
  Vulnerability reports go through private disclosure as described in [SECURITY.md](SECURITY.md).
91
+
92
+ ---
93
+
94
+ Hyperscale™ is a trademark of Hyperscale LLC. Code licenses do not grant rights to the name or marks.
package/dist/src/cli.d.ts CHANGED
@@ -18,6 +18,6 @@ export interface Io {
18
18
  readonly stdin?: NodeJS.ReadableStream;
19
19
  readonly stdout?: NodeJS.WritableStream;
20
20
  }
21
- export declare const USAGE_TEXT = "hsx 2.0.5, the HSX compiler\n\nUsage:\n hsx check <file.hsx> [--strict]\n hsx build <file.hsx> [--out <file.json>] [--strict]\n hsx cost <file.hsx> [--json] [--out <file.json>] [--strict]\n hsx explain <HSX####>\n hsx format <file.hsx>\n hsx lsp\n hsx --version\n hsx --help\n\nCommands:\n check Compile and report diagnostics. Prints nothing when the program is clean.\n build Compile and write canonical UDL as JSON.\n cost Compile and print the version-pinned cost manifest as a table or JSON.\n explain Print one diagnostic title, fix, and source example.\n format Print the source in the one canonical HSX style.\n lsp Run the language server over stdin and stdout.\n\nOptions:\n --json Print the cost manifest as JSON instead of a table.\n --out <file> Write build or cost JSON to this path instead of stdout.\n --strict Treat warning-severity diagnostics as failures.\n\nExit codes:\n 0 the program compiled (verdict valid, or warning without --strict)\n 1 the program was refused (verdict invalid, or warning with --strict)\n 2 the command line or the input file could not be used";
21
+ export declare const USAGE_TEXT = "hsx 2.1.0, the HSX compiler\n\nUsage:\n hsx check <file.hsx> [--strict]\n hsx build <file.hsx> [--out <file.json>] [--strict]\n hsx cost <file.hsx> [--json] [--out <file.json>] [--strict]\n hsx explain <HSX####>\n hsx format <file.hsx>\n hsx lsp\n hsx --version\n hsx --help\n\nCommands:\n check Compile and report diagnostics. Prints nothing when the program is clean.\n build Compile and write canonical UDL as JSON.\n cost Compile and print the version-pinned cost manifest as a table or JSON.\n explain Print one diagnostic title, fix, and source example.\n format Print the source in the one canonical HSX style.\n lsp Run the language server over stdin and stdout.\n\nOptions:\n --json Print the cost manifest as JSON instead of a table.\n --out <file> Write build or cost JSON to this path instead of stdout.\n --strict Treat warning-severity diagnostics as failures.\n\nExit codes:\n 0 the program compiled (verdict valid, or warning without --strict)\n 1 the program was refused (verdict invalid, or warning with --strict)\n 2 the command line or the input file could not be used";
22
22
  export declare function runCli(argv: readonly string[], io: Io): Promise<number>;
23
23
  //# sourceMappingURL=cli.d.ts.map
@@ -11,6 +11,7 @@
11
11
  * Every diagnostic points at SOURCE coordinates, never at lowered IR paths.
12
12
  */
13
13
  import type { UdlIssueCode } from "@hyperscale0/udl";
14
+ import type { ResolvedProgramActionPlan } from "./ir.ts";
14
15
  import { type UdlCostManifest, type UdlCostTables } from "./cost.ts";
15
16
  import { type HsxCompilerHost } from "./modules.ts";
16
17
  type Json = Record<string, unknown>;
@@ -44,6 +45,7 @@ export interface CompileDiagnostic {
44
45
  readonly stage: "bind" | "check" | "lower" | "parse" | "typecheck";
45
46
  }
46
47
  interface CompileArtifacts {
48
+ readonly actionPlans?: readonly ResolvedProgramActionPlan[];
47
49
  /** The canonical UDL document. */
48
50
  readonly document: Json;
49
51
  /** Canonical UDL paths bound to their narrowest authored source terms. */
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/compile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,aAAa,EACnB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,cAAc,CAAC;AAItB,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpC,KAAK,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,oFAAoF;IACpF,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,wDAAwD;IACxD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;CACpE;AAED,UAAU,gBAAgB;IACxB,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACrD,sEAAsE;IACtE,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;CACxC;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAC5C,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE;QACb,mCAAmC;QACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,+BAA+B;QAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,6BAA6B;QAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,mCAAmC;QACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC;AAED,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,cAAmB,GAC3B,aAAa,CAwIf"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/compile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEzD,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,aAAa,EACnB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,cAAc,CAAC;AAItB,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpC,KAAK,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,oFAAoF;IACpF,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,wDAAwD;IACxD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;CACpE;AAED,UAAU,gBAAgB;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAC5D,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACrD,sEAAsE;IACtE,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;CACxC;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAC5C,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE;QACb,mCAAmC;QACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,+BAA+B;QAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,6BAA6B;QAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,mCAAmC;QACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC;AAED,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,cAAmB,GAC3B,aAAa,CAqJf"}
@@ -67,14 +67,24 @@ export function compile(source, options = {}) {
67
67
  : {});
68
68
  for (const diagnostic of checked.diagnostics) {
69
69
  const moduleOrigin = resolved.origins.get(diagnostic.span);
70
- at(diagnostic.code === "HSX1001" ? "bind" : "typecheck", diagnostic.severity, diagnostic.message, diagnostic.span, { code: diagnostic.code, fix: diagnostic.fix }, moduleOrigin);
70
+ at(diagnostic.code === "HSX1001" ? "bind" : "typecheck", diagnostic.severity, diagnostic.message, diagnostic.span, {
71
+ code: diagnostic.code,
72
+ fix: diagnostic.fix,
73
+ ...(diagnostic.path ? { path: diagnostic.path } : {}),
74
+ ...(diagnostic.udlCode ? { udlCode: diagnostic.udlCode } : {}),
75
+ }, moduleOrigin);
71
76
  }
72
77
  if (!checked.program)
73
78
  return { diagnostics, verdict: "invalid" };
74
79
  const cost = buildCostManifest(checked.program, options.costTable, options.composesCatalogBlueprint ?? false);
75
80
  if (!cost.ok) {
76
81
  for (const diagnostic of cost.diagnostics) {
77
- at("typecheck", diagnostic.severity, diagnostic.message, diagnostic.span, { code: diagnostic.code, fix: diagnostic.fix });
82
+ at("typecheck", diagnostic.severity, diagnostic.message, diagnostic.span, {
83
+ code: diagnostic.code,
84
+ fix: diagnostic.fix,
85
+ ...(diagnostic.path ? { path: diagnostic.path } : {}),
86
+ ...(diagnostic.udlCode ? { udlCode: diagnostic.udlCode } : {}),
87
+ });
78
88
  }
79
89
  return { diagnostics, verdict: "invalid" };
80
90
  }
@@ -105,6 +115,9 @@ export function compile(source, options = {}) {
105
115
  return {
106
116
  artifacts: {
107
117
  document: lowered.value.document,
118
+ ...(lowered.value.actionPlans
119
+ ? { actionPlans: lowered.value.actionPlans }
120
+ : {}),
108
121
  costManifest: cost.manifest,
109
122
  originMap: lowered.value.originMap.map(compileOrigin),
110
123
  },
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/compile.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/cost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/cost.ts"],"names":[],"mappings":"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"}
package/dist/src/cost.js CHANGED
@@ -1,4 +1,4 @@
1
- import { udlEffectKinds, } from "@hyperscale0/udl";
1
+ import { udlEffectKinds, resolveUdlActionPlans, } from "@hyperscale0/udl";
2
2
  const CURRENCY = /^[A-Z]{3}$/;
3
3
  export function buildCostManifest(program, tables, composesCatalogBlueprint) {
4
4
  const priced = tables === undefined ? [] : [tables].flat();
@@ -123,8 +123,13 @@ export function buildUdlCostManifest(document, table, composesCatalogBlueprint)
123
123
  const rowsBySignature = indexCostRows(table);
124
124
  const actions = [];
125
125
  for (const instrument of document.instruments) {
126
- for (const [actionName, action] of Object.entries(instrument.actions)) {
127
- const effects = (action.effects ?? {});
126
+ const resolved = resolveUdlActionPlans(instrument);
127
+ if (resolved.issues.length > 0)
128
+ throw new Error(resolved.issues[0].message);
129
+ for (const actionName of instrument.actionOrder) {
130
+ const action = instrument.actions[actionName];
131
+ const plan = resolved.plans.find((candidate) => candidate.action === actionName);
132
+ const effects = (action.calls && plan ? plan.effects : (action.effects ?? {}));
128
133
  actions.push(priceAction(instrument.id, actionName, effectCounts(effects), rowsBySignature, (issue) => {
129
134
  if (issue.kind === "missing_price") {
130
135
  throw new Error(`${instrument.id}.${actionName} has unpriced effect signature ${issue.signature}`);
@@ -317,7 +322,11 @@ function typedStructuralCounts(program, blueprint) {
317
322
  aggregate += arrayValue(instrument.slots.aggregateInvariants).length;
318
323
  for (const action of instrument.actions) {
319
324
  flow += 1;
320
- move += arrayValue(action.slots.moves).length;
325
+ const plan = instrument.actionPlans?.find((plan) => plan.action === action.name);
326
+ move +=
327
+ action.slots.calls && plan
328
+ ? plan.leaves.filter((leaf) => leaf.step.operation.startsWith("internal_transfer.")).length
329
+ : arrayValue(action.slots.moves).length;
321
330
  gate += arrayValue(action.slots.requiresRefs).length;
322
331
  if (action.slots.deadline !== undefined)
323
332
  timer += 1;
@@ -340,9 +349,16 @@ function udlStructuralCounts(document, blueprint) {
340
349
  if (Object.values(instrument.actions).some((action) => action.quote))
341
350
  unwind += 1;
342
351
  aggregate += instrument.aggregateInvariants?.length ?? 0;
343
- for (const action of Object.values(instrument.actions)) {
352
+ const resolved = resolveUdlActionPlans(instrument);
353
+ if (resolved.issues.length > 0)
354
+ throw new Error(resolved.issues[0].message);
355
+ for (const [name, action] of Object.entries(instrument.actions)) {
344
356
  flow += 1;
345
- move += action.moves.length;
357
+ const plan = resolved.plans.find((plan) => plan.action === name);
358
+ move +=
359
+ action.calls && plan
360
+ ? plan.leaves.filter((leaf) => leaf.step.operation.startsWith("internal_transfer.")).length
361
+ : action.moves.length;
346
362
  gate += action.requiresRefs?.length ?? 0;
347
363
  if (action.deadline)
348
364
  timer += 1;
@@ -1 +1 @@
1
- {"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/cost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/cost.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,6 @@ export interface HsxDiagnosticCatalogEntry {
8
8
  }
9
9
  /** Stable public descriptions for every diagnostic code emitted by HSX. */
10
10
  export declare const hsxDiagnostics: readonly HsxDiagnosticCatalogEntry[];
11
+ /** Preserve the UDL diagnostic family when reporting a typed clause. */
12
+ export declare function hsxClauseDiagnosticCode(code: string): string;
11
13
  //# sourceMappingURL=diagnostics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/diagnostics.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,EAAE,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAiBD,2EAA2E;AAC3E,eAAO,MAAM,cAAc,EAAE,SAAS,yBAAyB,EAwgBrD,CAAC"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/diagnostics.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,EAAE,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAiBD,2EAA2E;AAC3E,eAAO,MAAM,cAAc,EAAE,SAAS,yBAAyB,EA8jBrD,CAAC;AAEX,wEAAwE;AACxE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAU5D"}
@@ -516,5 +516,65 @@ instrument probe {
516
516
  fix: "Correct compile-time block keys or parameter bindings.",
517
517
  example: instrument('title: "__hsx_none__";'),
518
518
  },
519
+ {
520
+ code: "HSX1610",
521
+ stage: "typecheck",
522
+ title: "Invalid piece partition",
523
+ fix: "Bind immutable money and account fields to one declared partition.",
524
+ example: null,
525
+ reason: "The shared UDL action-plan validator supplies the code and source path.",
526
+ },
527
+ {
528
+ code: "HSX1611",
529
+ stage: "typecheck",
530
+ title: "Invalid piece stage",
531
+ fix: "Use a declared piece stage and let the compiler derive pieceId.",
532
+ example: null,
533
+ reason: "The shared UDL action-plan validator supplies the code and source path.",
534
+ },
535
+ {
536
+ code: "HSX1612",
537
+ stage: "typecheck",
538
+ title: "Invalid action graph",
539
+ fix: "Declare an acyclic action graph within the expansion bound.",
540
+ example: null,
541
+ reason: "The shared UDL action-plan validator supplies the code and source path.",
542
+ },
543
+ {
544
+ code: "HSX1613",
545
+ stage: "typecheck",
546
+ title: "Invalid static call binding",
547
+ fix: "Bind declared typed targets with unique captures and money consumption.",
548
+ example: null,
549
+ reason: "The shared UDL action-plan validator supplies the code and source path.",
550
+ },
551
+ {
552
+ code: "HSX1614",
553
+ stage: "typecheck",
554
+ title: "Incompatible action boundary",
555
+ fix: "Keep the parent principal, approval and recovery boundary.",
556
+ example: null,
557
+ reason: "The shared UDL action-plan validator supplies the code and source path.",
558
+ },
559
+ {
560
+ code: "HSX1615",
561
+ stage: "typecheck",
562
+ title: "Invalid leaf evidence or effects",
563
+ fix: "Declare evidence and the exact effects of each expanded leaf.",
564
+ example: null,
565
+ reason: "The shared UDL action-plan validator supplies the code and source path.",
566
+ },
519
567
  ];
568
+ /** Preserve the UDL diagnostic family when reporting a typed clause. */
569
+ export function hsxClauseDiagnosticCode(code) {
570
+ const codes = {
571
+ UDL4002: "HSX1610",
572
+ UDL5013: "HSX1611",
573
+ UDL2010: "HSX1612",
574
+ UDL2011: "HSX1613",
575
+ UDL2012: "HSX1614",
576
+ UDL2013: "HSX1615",
577
+ };
578
+ return codes[code] ?? "HSX1602";
579
+ }
520
580
  //# sourceMappingURL=diagnostics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type UdlDocument, type UdlIssueCode } from "@hyperscale0/udl";
2
- import type { TypedInstrument, TypedProgram } from "./ir.ts";
2
+ import type { JsonValue, TypedInstrument, TypedProgram, ResolvedProgramActionPlan } from "./ir.ts";
3
3
  export interface OriginMapEntry {
4
4
  readonly path: string;
5
5
  readonly span: {
@@ -25,6 +25,7 @@ export type GeneralLowerResult = {
25
25
  readonly ok: true;
26
26
  readonly value: {
27
27
  readonly document: UdlDocument;
28
+ readonly actionPlans?: readonly ResolvedProgramActionPlan[];
28
29
  readonly originMap: readonly OriginMapEntry[];
29
30
  };
30
31
  };
@@ -33,4 +34,18 @@ export declare function originForUdlPath<T extends {
33
34
  readonly path: string;
34
35
  }>(path: string, origins: readonly T[]): T | undefined;
35
36
  export declare function requiredFields(instrument: TypedInstrument): string[];
37
+ /** Emit a canonical clause value through the same generic HSX block syntax. */
38
+ export declare function emitUdlClause(scope: "instrument" | "action", target: string, value: JsonValue): string;
39
+ export declare function hasActionPlanClauses(instrument: TypedInstrument): boolean;
40
+ export declare function generalInstrumentValue(instrument: TypedInstrument): {
41
+ actionOrder: string[];
42
+ actions: {
43
+ [k: string]: Readonly<Record<string, JsonValue>>;
44
+ };
45
+ fields: {
46
+ [k: string]: Readonly<Record<string, JsonValue>>;
47
+ };
48
+ id: string;
49
+ required: string[];
50
+ };
36
51
  //# sourceMappingURL=emit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../src/emit.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;CAChC;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAA;CAAE,GACxE;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;QAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;KAC/C,CAAC;CACH,CAAC;AAEN,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,kBAAkB,CAqE7E;AA8BD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAClE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,CAAC,EAAE,GACpB,CAAC,GAAG,SAAS,CA2Bf;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,EAAE,CA4BpE"}
1
+ {"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../src/emit.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,YAAY,EACZ,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAIjB,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;CAChC;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAA;CAAE,GACxE;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;QAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,yBAAyB,EAAE,CAAC;QAC5D,QAAQ,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;KAC/C,CAAC;CACH,CAAC;AAEN,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,kBAAkB,CAoE7E;AA8BD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAClE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,CAAC,EAAE,GACpB,CAAC,GAAG,SAAS,CA2Bf;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,EAAE,CA4BpE;AA0BD,+EAA+E;AAC/E,wBAAgB,aAAa,CAC3B,KAAK,EAAE,YAAY,GAAG,QAAQ,EAC9B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,GACf,MAAM,CAMR;AAoBD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAUzE;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,eAAe;;;;;;;;;;EAajE"}
package/dist/src/emit.js CHANGED
@@ -1,14 +1,8 @@
1
- import { validateUdl, } from "@hyperscale0/udl";
1
+ import { validateUdl, resolveUdlActionPlans, udlClauseVocabulary, } from "@hyperscale0/udl";
2
+ import { hsxClauseDiagnosticCode } from "./diagnostics.js";
2
3
  export function lowerGeneralProgram(program) {
3
4
  const candidate = {
4
- instruments: program.instruments.map((instrument) => ({
5
- ...instrument.slots,
6
- actionOrder: instrument.actions.map((action) => action.name),
7
- actions: Object.fromEntries(instrument.actions.map((action) => [action.name, action.slots])),
8
- fields: Object.fromEntries(instrument.fields.map((field) => [field.name, field.schema])),
9
- id: instrument.id,
10
- required: requiredFields(instrument),
11
- })),
5
+ instruments: program.instruments.map(generalInstrumentValue),
12
6
  product: program.name,
13
7
  subjects: program.subjects.map((subject) => ({
14
8
  declaredValue: subject.declaredValue,
@@ -45,8 +39,10 @@ export function lowerGeneralProgram(program) {
45
39
  issues: validation.issues.map((issue) => {
46
40
  const origin = originForUdlPath(issue.path, origins);
47
41
  return {
48
- code: issue.category === "invalid_semantics" ? "HSX1602" : "HSX1601",
49
- fix: "correct the named clause so it matches the targeted UDL definition",
42
+ code: issue.category === "invalid_semantics"
43
+ ? hsxClauseDiagnosticCode(issue.code)
44
+ : "HSX1601",
45
+ fix: issue.fix,
50
46
  message: `${issue.path}: ${issue.message}`,
51
47
  path: issue.path,
52
48
  span: origin?.span ?? program.origin,
@@ -57,10 +53,15 @@ export function lowerGeneralProgram(program) {
57
53
  };
58
54
  }
59
55
  const document = validation.value;
56
+ const actionPlans = document.instruments.flatMap((instrument) => resolveUdlActionPlans(instrument).plans.map((plan) => ({
57
+ ...plan,
58
+ instrument: instrument.id,
59
+ })));
60
60
  return {
61
61
  ok: true,
62
62
  value: {
63
63
  document,
64
+ ...(actionPlans.length > 0 ? { actionPlans } : {}),
64
65
  originMap: originMapFor(program),
65
66
  },
66
67
  };
@@ -151,4 +152,41 @@ function originMapFor(program) {
151
152
  });
152
153
  return entries;
153
154
  }
155
+ /** Emit a canonical clause value through the same generic HSX block syntax. */
156
+ export function emitUdlClause(scope, target, value) {
157
+ const clause = udlClauseVocabulary.find((entry) => entry.scope === scope && entry.target === target);
158
+ if (!clause)
159
+ throw new Error(`Unknown ${scope} clause ${target}`);
160
+ return `${clause.spelling.replaceAll(" ", "_")}: ${clauseLiteral(value)};`;
161
+ }
162
+ function clauseLiteral(value) {
163
+ if (Array.isArray(value))
164
+ return `[${value.map(clauseLiteral).join(", ")}]`;
165
+ if (value !== null && typeof value === "object") {
166
+ return `{ ${Object.entries(value)
167
+ .map(([key, item]) => `${JSON.stringify(key)}: ${clauseLiteral(item)};`)
168
+ .join(" ")} }`;
169
+ }
170
+ if (value === null ||
171
+ (typeof value === "number" && !Number.isSafeInteger(value))) {
172
+ throw new Error("HSX clause literals require non-null values and safe integers");
173
+ }
174
+ return JSON.stringify(value);
175
+ }
176
+ export function hasActionPlanClauses(instrument) {
177
+ return (instrument.slots.piecePlan !== undefined ||
178
+ instrument.slots.actionLibrary !== undefined ||
179
+ instrument.actions.some((action) => action.slots.calls !== undefined ||
180
+ action.slots.pieceStage !== undefined));
181
+ }
182
+ export function generalInstrumentValue(instrument) {
183
+ return {
184
+ ...instrument.slots,
185
+ actionOrder: instrument.actions.map((action) => action.name),
186
+ actions: Object.fromEntries(instrument.actions.map((action) => [action.name, action.slots])),
187
+ fields: Object.fromEntries(instrument.fields.map((field) => [field.name, field.schema])),
188
+ id: instrument.id,
189
+ required: requiredFields(instrument),
190
+ };
191
+ }
154
192
  //# sourceMappingURL=emit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emit.js","sourceRoot":"","sources":["../../src/emit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emit.js","sourceRoot":"","sources":["../../src/emit.ts"],"names":[],"mappings":"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"}