@hyperscale0/hsx 2.4.0 → 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 -400
- package/README.md +3 -92
- package/dist/src/ast.d.ts +99 -310
- package/dist/src/ast.d.ts.map +1 -1
- package/dist/src/ast.js +16 -69
- package/dist/src/ast.js.map +1 -1
- package/dist/src/cli.d.ts +6 -19
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +76 -315
- package/dist/src/cli.js.map +1 -1
- package/dist/src/compile.d.ts +23 -73
- package/dist/src/compile.d.ts.map +1 -1
- package/dist/src/compile.js +1113 -148
- package/dist/src/compile.js.map +1 -1
- package/dist/src/cost.d.ts +8 -77
- package/dist/src/cost.d.ts.map +1 -1
- package/dist/src/cost.js +13 -422
- package/dist/src/cost.js.map +1 -1
- package/dist/src/format.d.ts +8 -7
- package/dist/src/format.d.ts.map +1 -1
- package/dist/src/format.js +9 -175
- package/dist/src/format.js.map +1 -1
- package/dist/src/headers.d.ts +35 -0
- package/dist/src/headers.d.ts.map +1 -0
- package/dist/src/headers.js +108 -0
- package/dist/src/headers.js.map +1 -0
- package/dist/src/index.d.ts +6 -12
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -9
- package/dist/src/index.js.map +1 -1
- package/dist/src/lex.d.ts +8 -28
- package/dist/src/lex.d.ts.map +1 -1
- package/dist/src/lex.js +88 -146
- package/dist/src/lex.js.map +1 -1
- package/dist/src/parse.d.ts +4 -17
- package/dist/src/parse.d.ts.map +1 -1
- package/dist/src/parse.js +402 -1040
- package/dist/src/parse.js.map +1 -1
- package/dist/src/std-bundle.d.ts.map +1 -1
- package/dist/src/std-bundle.js +12 -20
- package/dist/src/std-bundle.js.map +1 -1
- package/dist/src/std-library.d.ts +1 -1
- package/dist/src/std-library.d.ts.map +1 -1
- package/dist/src/std-library.js +1 -5
- package/dist/src/std-library.js.map +1 -1
- package/dist/src/tunables.d.ts +7 -0
- package/dist/src/tunables.d.ts.map +1 -0
- package/dist/src/tunables.js +26 -0
- package/dist/src/tunables.js.map +1 -0
- package/dist/src/version.d.ts +2 -4
- package/dist/src/version.d.ts.map +1 -1
- package/dist/src/version.js +2 -4
- package/dist/src/version.js.map +1 -1
- package/docs/README.md +179 -41
- package/docs/headers.md +44 -0
- package/examples/cost-table.json +99 -751
- package/examples/library.hsx +59 -0
- package/package.json +9 -17
- package/src/ast.ts +82 -441
- package/src/cli.ts +77 -362
- package/src/compile.ts +1535 -247
- package/src/cost.ts +28 -671
- package/src/format.ts +12 -256
- package/src/headers.ts +126 -0
- package/src/index.ts +7 -39
- package/src/lex.ts +99 -195
- package/src/parse.ts +403 -1209
- package/src/std-bundle.ts +12 -20
- package/src/std-library.ts +2 -7
- package/src/tunables.ts +31 -0
- package/src/version.ts +2 -5
- package/std/approvals.hsx +17 -0
- package/std/cards.hsx +63 -0
- package/std/collections.hsx +31 -0
- package/std/escrow.hsx +43 -0
- package/std/financing.hsx +372 -0
- package/std/insurance.hsx +59 -0
- package/std/lending.hsx +115 -0
- package/std/marketplace.hsx +24 -0
- package/std/money.hsx +195 -0
- package/std/savings.hsx +44 -0
- package/std/travel.hsx +98 -0
- package/std/wallet.hsx +41 -0
- package/dist/src/diagnostics.d.ts +0 -13
- package/dist/src/diagnostics.d.ts.map +0 -1
- package/dist/src/diagnostics.js +0 -587
- package/dist/src/diagnostics.js.map +0 -1
- package/dist/src/emit.d.ts +0 -51
- package/dist/src/emit.d.ts.map +0 -1
- package/dist/src/emit.js +0 -192
- package/dist/src/emit.js.map +0 -1
- package/dist/src/entry-overrides.d.ts +0 -58
- package/dist/src/entry-overrides.d.ts.map +0 -1
- package/dist/src/entry-overrides.js +0 -284
- package/dist/src/entry-overrides.js.map +0 -1
- package/dist/src/ir.d.ts +0 -73
- package/dist/src/ir.d.ts.map +0 -1
- package/dist/src/ir.js +0 -15
- package/dist/src/ir.js.map +0 -1
- package/dist/src/limits.d.ts +0 -23
- package/dist/src/limits.d.ts.map +0 -1
- package/dist/src/limits.js +0 -23
- package/dist/src/limits.js.map +0 -1
- package/dist/src/lsp/server.d.ts +0 -32
- package/dist/src/lsp/server.d.ts.map +0 -1
- package/dist/src/lsp/server.js +0 -391
- package/dist/src/lsp/server.js.map +0 -1
- package/dist/src/modules.d.ts +0 -38
- package/dist/src/modules.d.ts.map +0 -1
- package/dist/src/modules.js +0 -372
- package/dist/src/modules.js.map +0 -1
- package/dist/src/typecheck.d.ts +0 -8
- package/dist/src/typecheck.d.ts.map +0 -1
- package/dist/src/typecheck.js +0 -4131
- package/dist/src/typecheck.js.map +0 -1
- package/docs/guide/01-first-program.md +0 -24
- package/docs/guide/02-money.md +0 -25
- package/docs/guide/03-instruments.md +0 -93
- package/docs/guide/04-lifecycles.md +0 -40
- package/docs/guide/05-fees-and-splits.md +0 -45
- package/docs/guide/06-schedules.md +0 -26
- package/docs/guide/07-composition.md +0 -52
- package/docs/guide/08-writing-a-module.md +0 -85
- package/docs/guide/09-cost.md +0 -24
- package/docs/guide/10-diagnostics.md +0 -27
- package/docs/llms-full.txt +0 -3684
- package/docs/llms.txt +0 -44
- package/docs/piece-plans.md +0 -120
- package/docs/playground.md +0 -55
- package/docs/reference/cli.md +0 -36
- package/docs/reference/diagnostics.md +0 -901
- package/docs/reference/grammar.md +0 -38
- package/docs/reference/std/advance.md +0 -112
- package/docs/reference/std/cancellable_booking.md +0 -159
- package/docs/reference/std/captured_payment.md +0 -115
- package/docs/reference/std/conditional_disbursement.md +0 -101
- package/docs/reference/std/credit_facility.md +0 -108
- package/docs/reference/std/held_payment.md +0 -173
- package/docs/reference/std/instant_transfer.md +0 -97
- package/docs/reference/std/metered.md +0 -89
- package/docs/reference/std/pooled_split.md +0 -95
- package/docs/reference/std/premium_forward.md +0 -119
- package/docs/reference/std/reconciled_payout.md +0 -103
- package/docs/reference/std/rotating_pool.md +0 -130
- package/docs/reference/std/scheduled.md +0 -136
- package/docs/reference/std/security_deposit.md +0 -138
- package/docs/reference/std/settlement_batch.md +0 -123
- package/docs/reference/std/swap.md +0 -133
- package/docs/reference/std/threshold_pool.md +0 -138
- package/docs/reference/std/weighted_distribution.md +0 -135
- package/docs/reference/types.md +0 -61
- package/docs/reference/udl-output.md +0 -13
- package/examples/01-first-program/README.md +0 -45
- package/examples/01-first-program/tip-jar.hsx +0 -17
- package/examples/02-imports-and-modules/README.md +0 -96
- package/examples/02-imports-and-modules/photo-booth.hsx +0 -37
- package/examples/03-diagnostics/README.md +0 -68
- package/examples/03-diagnostics/corner-shop-fixed.hsx +0 -22
- package/examples/03-diagnostics/corner-shop.hsx +0 -19
- package/examples/04-complete-product/README.md +0 -84
- package/examples/04-complete-product/study-hall.hsx +0 -67
- package/examples/05-authored-instrument/README.md +0 -5
- package/examples/05-authored-instrument/payment.hsx +0 -37
- package/examples/05-watch-club/README.md +0 -6
- package/examples/05-watch-club/watch-club.hsx +0 -123
- package/examples/README.md +0 -48
- package/examples/advance/README.md +0 -3
- package/examples/advance/advance.hsx +0 -13
- package/examples/advance/advance.udl +0 -367
- package/examples/cancellable_booking/README.md +0 -3
- package/examples/cancellable_booking/cancellable_booking.hsx +0 -14
- package/examples/cancellable_booking/cancellable_booking.udl +0 -413
- package/examples/captured_payment/README.md +0 -3
- package/examples/captured_payment/captured_payment.hsx +0 -17
- package/examples/captured_payment/captured_payment.udl +0 -686
- package/examples/conditional_disbursement/README.md +0 -3
- package/examples/conditional_disbursement/conditional_disbursement.hsx +0 -15
- package/examples/conditional_disbursement/conditional_disbursement.udl +0 -418
- package/examples/credit_facility/README.md +0 -3
- package/examples/credit_facility/credit_facility.hsx +0 -24
- package/examples/credit_facility/credit_facility.udl +0 -1396
- package/examples/held_payment/README.md +0 -3
- package/examples/held_payment/held_payment.hsx +0 -13
- package/examples/held_payment/held_payment.udl +0 -569
- package/examples/instant_transfer/README.md +0 -3
- package/examples/instant_transfer/instant_transfer.hsx +0 -16
- package/examples/instant_transfer/instant_transfer.udl +0 -376
- package/examples/metered/README.md +0 -3
- package/examples/metered/metered.hsx +0 -13
- package/examples/metered/metered.udl +0 -253
- package/examples/pooled_split/README.md +0 -3
- package/examples/pooled_split/pooled_split.hsx +0 -15
- package/examples/pooled_split/pooled_split.udl +0 -432
- package/examples/premium_forward/README.md +0 -3
- package/examples/premium_forward/premium_forward.hsx +0 -19
- package/examples/premium_forward/premium_forward.udl +0 -604
- package/examples/reconciled_payout/README.md +0 -3
- package/examples/reconciled_payout/reconciled_payout.hsx +0 -13
- package/examples/reconciled_payout/reconciled_payout.udl +0 -312
- package/examples/rotating_pool/README.md +0 -3
- package/examples/rotating_pool/rotating_pool.hsx +0 -18
- package/examples/rotating_pool/rotating_pool.udl +0 -4370
- package/examples/scheduled/README.md +0 -3
- package/examples/scheduled/scheduled.hsx +0 -12
- package/examples/scheduled/scheduled.udl +0 -355
- package/examples/security_deposit/README.md +0 -3
- package/examples/security_deposit/security_deposit.hsx +0 -21
- package/examples/security_deposit/security_deposit.udl +0 -320
- package/examples/settlement_batch/README.md +0 -3
- package/examples/settlement_batch/settlement_batch.hsx +0 -19
- package/examples/settlement_batch/settlement_batch.udl +0 -757
- package/examples/swap/README.md +0 -3
- package/examples/swap/swap.hsx +0 -19
- package/examples/swap/swap.udl +0 -892
- package/examples/threshold_pool/README.md +0 -3
- package/examples/threshold_pool/threshold_pool.hsx +0 -16
- package/examples/threshold_pool/threshold_pool.udl +0 -680
- package/examples/weighted_distribution/README.md +0 -3
- package/examples/weighted_distribution/weighted_distribution.hsx +0 -20
- package/examples/weighted_distribution/weighted_distribution.udl +0 -348
- package/skills/hsx/SKILL.md +0 -449
- package/src/diagnostics.ts +0 -620
- package/src/emit.ts +0 -282
- package/src/entry-overrides.ts +0 -428
- package/src/ir.ts +0 -113
- package/src/limits.ts +0 -22
- package/src/lsp/server.ts +0 -460
- package/src/modules.ts +0 -452
- package/src/typecheck.ts +0 -5381
- package/std/SEMANTICS.md +0 -44
- package/std/money_flows/advance.hsx +0 -235
- package/std/money_flows/cancellable_booking.hsx +0 -402
- package/std/money_flows/captured_payment.hsx +0 -220
- package/std/money_flows/conditional_disbursement.hsx +0 -226
- package/std/money_flows/credit_facility.hsx +0 -214
- package/std/money_flows/held_payment.hsx +0 -812
- package/std/money_flows/index.hsx +0 -4
- package/std/money_flows/instant_transfer.hsx +0 -231
- package/std/money_flows/metered.hsx +0 -104
- package/std/money_flows/pooled_split.hsx +0 -109
- package/std/money_flows/premium_forward.hsx +0 -307
- package/std/money_flows/reconciled_payout.hsx +0 -119
- package/std/money_flows/rotating_pool.hsx +0 -305
- package/std/money_flows/scheduled.hsx +0 -599
- package/std/money_flows/security_deposit.hsx +0 -248
- package/std/money_flows/settlement_batch.hsx +0 -173
- package/std/money_flows/swap.hsx +0 -1192
- package/std/money_flows/threshold_pool.hsx +0 -307
- package/std/money_flows/weighted_distribution.hsx +0 -237
package/dist/src/cli.js
CHANGED
|
@@ -1,331 +1,92 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* `check` prints diagnostics and says nothing else; `build` writes the
|
|
5
|
-
* compiled artifacts as JSON. Neither reads the environment, neither touches
|
|
6
|
-
* a network, and neither writes outside the path the caller names.
|
|
7
|
-
*
|
|
8
|
-
* Everything here is a pure function of `argv` plus the injected `Io`, so the
|
|
9
|
-
* spec drives the real code paths with an in-memory filesystem instead of
|
|
10
|
-
* asserting on a subprocess's scrollback.
|
|
11
|
-
*/
|
|
12
|
-
import { parseUdl } from "@hyperscale0/udl";
|
|
13
|
-
import { fileURLToPath } from "node:url";
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { readFile, writeFile } from "node:fs/promises";
|
|
3
|
+
import { headerManifest } from "./headers.js";
|
|
14
4
|
import { compile } from "./compile.js";
|
|
15
|
-
import { hsxDiagnostics } from "./diagnostics.js";
|
|
16
5
|
import { format } from "./format.js";
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const REFUSED = 1;
|
|
25
|
-
const USAGE = 2;
|
|
26
|
-
export const USAGE_TEXT = `hsx ${HSX_VERSION}, the HSX compiler
|
|
27
|
-
|
|
28
|
-
Usage:
|
|
29
|
-
hsx check <file.hsx> [--catalog <catalog.udl>] [--strict]
|
|
30
|
-
hsx build <file.hsx> [--catalog <catalog.udl>] [--out <file.json>] [--strict]
|
|
31
|
-
hsx cost <file.hsx> [--catalog <catalog.udl>] [--json] [--out <file.json>] [--strict]
|
|
32
|
-
hsx explain <HSX####>
|
|
33
|
-
hsx format <file.hsx>
|
|
34
|
-
hsx lsp
|
|
35
|
-
hsx --version
|
|
36
|
-
hsx --help
|
|
37
|
-
|
|
38
|
-
Commands:
|
|
39
|
-
check Compile and report diagnostics. Prints nothing when the program is clean.
|
|
40
|
-
build Compile and write canonical UDL as JSON.
|
|
41
|
-
cost Compile and print the version-pinned cost manifest as a table or JSON.
|
|
42
|
-
explain Print one diagnostic title, fix, and source example.
|
|
43
|
-
format Print the source in the one canonical HSX style.
|
|
44
|
-
lsp Run the language server over stdin and stdout.
|
|
45
|
-
|
|
46
|
-
Options:
|
|
47
|
-
--catalog <file> Read the published instrument catalogue as canonical UDL JSON.
|
|
48
|
-
--json Print the cost manifest as JSON instead of a table.
|
|
49
|
-
--out <file> Write build or cost JSON to this path instead of stdout.
|
|
50
|
-
--strict Treat warning-severity diagnostics as failures.
|
|
51
|
-
|
|
52
|
-
Exit codes:
|
|
53
|
-
0 the program compiled (verdict valid, or warning without --strict)
|
|
54
|
-
1 the program was refused (verdict invalid, or warning with --strict)
|
|
55
|
-
2 the command line or the input file could not be used`;
|
|
56
|
-
export async function runCli(argv, io) {
|
|
57
|
-
const [command, ...rest] = argv;
|
|
58
|
-
if (command === undefined || command === "--help" || command === "-h") {
|
|
59
|
-
io.out(USAGE_TEXT);
|
|
60
|
-
return command === undefined ? USAGE : OK;
|
|
61
|
-
}
|
|
62
|
-
if (command === "--version" || command === "-v") {
|
|
63
|
-
io.out(`${HSX_VERSION} (UDL version ${HSX_TARGET_UDL_VERSION})`);
|
|
64
|
-
return OK;
|
|
65
|
-
}
|
|
66
|
-
if (command === "explain")
|
|
67
|
-
return explainDiagnostic(rest, io);
|
|
68
|
-
if (command === "lsp") {
|
|
69
|
-
const input = io.stdin ?? process.stdin;
|
|
70
|
-
const output = io.stdout ?? process.stdout;
|
|
71
|
-
return new Promise((resolve) => {
|
|
72
|
-
startLspServer(input, output, {
|
|
73
|
-
onExit: resolve,
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
if (command !== "check" &&
|
|
78
|
-
command !== "build" &&
|
|
79
|
-
command !== "cost" &&
|
|
80
|
-
command !== "format") {
|
|
81
|
-
io.err(`hsx: unknown command "${command}"`);
|
|
82
|
-
io.err(USAGE_TEXT);
|
|
83
|
-
return USAGE;
|
|
84
|
-
}
|
|
85
|
-
const parsed = parseOptions(rest, command);
|
|
86
|
-
if ("error" in parsed) {
|
|
87
|
-
io.err(`hsx: ${parsed.error}`);
|
|
88
|
-
return USAGE;
|
|
89
|
-
}
|
|
90
|
-
let source;
|
|
91
|
-
try {
|
|
92
|
-
source = await io.readFile(parsed.file);
|
|
93
|
-
}
|
|
94
|
-
catch (cause) {
|
|
95
|
-
io.err(`hsx: cannot read ${parsed.file}: ${messageOf(cause)}`);
|
|
96
|
-
return USAGE;
|
|
97
|
-
}
|
|
98
|
-
if (command === "format") {
|
|
99
|
-
const result = format(source);
|
|
100
|
-
if (!result.ok) {
|
|
101
|
-
for (const diagnostic of result.diagnostics) {
|
|
102
|
-
const codePrefix = diagnostic.code ? `${diagnostic.code}: ` : "";
|
|
103
|
-
io.err(`${parsed.file}:1:1: error [parse] ${codePrefix}${diagnostic.message}`);
|
|
104
|
-
}
|
|
105
|
-
return REFUSED;
|
|
106
|
-
}
|
|
107
|
-
io.out(result.formatted.trimEnd());
|
|
108
|
-
return OK;
|
|
109
|
-
}
|
|
110
|
-
let costTable;
|
|
111
|
-
try {
|
|
112
|
-
costTable = await readDefaultCostTable(io);
|
|
113
|
-
}
|
|
114
|
-
catch (cause) {
|
|
115
|
-
io.err(`hsx: cannot read the packaged cost table: ${messageOf(cause)}`);
|
|
116
|
-
return USAGE;
|
|
117
|
-
}
|
|
118
|
-
let publishedCatalog;
|
|
119
|
-
if (parsed.catalog !== undefined) {
|
|
120
|
-
try {
|
|
121
|
-
publishedCatalog = parseUdl(await io.readFile(parsed.catalog));
|
|
122
|
-
}
|
|
123
|
-
catch (cause) {
|
|
124
|
-
io.err(`hsx: cannot read catalogue ${parsed.catalog}: ${messageOf(cause)}`);
|
|
125
|
-
return USAGE;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
const result = compile(source, {
|
|
129
|
-
costTable,
|
|
130
|
-
...(publishedCatalog === undefined ? {} : { publishedCatalog }),
|
|
131
|
-
});
|
|
132
|
-
for (const line of diagnosticLines(parsed.file, result))
|
|
133
|
-
io.err(line);
|
|
134
|
-
const refused = result.verdict === "invalid" ||
|
|
135
|
-
(parsed.strict && result.verdict === "warning");
|
|
136
|
-
if (command === "check") {
|
|
137
|
-
return refused ? REFUSED : OK;
|
|
138
|
-
}
|
|
139
|
-
if (!result.artifacts)
|
|
140
|
-
return REFUSED;
|
|
141
|
-
if (command === "cost") {
|
|
142
|
-
const json = `${JSON.stringify(result.artifacts.costManifest, null, 2)}\n`;
|
|
143
|
-
if (parsed.out !== undefined) {
|
|
144
|
-
const writeCode = await writeOutput(parsed.out, json, io);
|
|
145
|
-
return writeCode === OK && refused ? REFUSED : writeCode;
|
|
6
|
+
import { serializeUdl } from "@hyperscale0/udl";
|
|
7
|
+
const standardLibrary = {
|
|
8
|
+
source: (header) => {
|
|
9
|
+
for (const base of ["../std/", "../../std/"]) {
|
|
10
|
+
const file = new URL(`${base}${header}.hsx`, import.meta.url);
|
|
11
|
+
if (existsSync(file))
|
|
12
|
+
return readFileSync(file, "utf8");
|
|
146
13
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
else {
|
|
157
|
-
try {
|
|
158
|
-
await io.writeFile(parsed.out, json);
|
|
14
|
+
return undefined;
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
export async function runCli(argv, io) {
|
|
18
|
+
const [command, file, ...options] = argv;
|
|
19
|
+
if (command === "headers") {
|
|
20
|
+
if (file !== "--json" || options.length) {
|
|
21
|
+
io.err("usage: hsx headers --json");
|
|
22
|
+
return 2;
|
|
159
23
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
24
|
+
io.out(JSON.stringify(headerManifest(standardLibrary), null, 2));
|
|
25
|
+
return 0;
|
|
26
|
+
}
|
|
27
|
+
if (["--help", "help", "-h"].includes(command ?? "")) {
|
|
28
|
+
io.out("hsx build|check|format|cost <file> [--out path]");
|
|
29
|
+
return 0;
|
|
30
|
+
}
|
|
31
|
+
if (command === "--version") {
|
|
32
|
+
io.out("3.0.0 (UDL 3)");
|
|
33
|
+
return 0;
|
|
34
|
+
}
|
|
35
|
+
if (!command ||
|
|
36
|
+
!file ||
|
|
37
|
+
!["build", "check", "format", "cost"].includes(command)) {
|
|
38
|
+
io.err("usage: hsx build|check|format|cost <file> [--out path]");
|
|
39
|
+
return 2;
|
|
40
|
+
}
|
|
41
|
+
let output;
|
|
42
|
+
for (let i = 0; i < options.length; i++) {
|
|
43
|
+
if (options[i] === "--out" && options[i + 1] && output === undefined)
|
|
44
|
+
output = options[++i];
|
|
45
|
+
else if (!["--json", "--strict"].includes(options[i])) {
|
|
46
|
+
io.err(`unknown option ${options[i]}`);
|
|
47
|
+
return 2;
|
|
163
48
|
}
|
|
164
49
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
for (let index = 0; index < args.length; index += 1) {
|
|
174
|
-
const argument = args[index];
|
|
175
|
-
if (argument === "--strict") {
|
|
176
|
-
if (command === "format") {
|
|
177
|
-
return { error: "hsx format has no style options" };
|
|
178
|
-
}
|
|
179
|
-
strict = true;
|
|
180
|
-
continue;
|
|
181
|
-
}
|
|
182
|
-
if (argument === "--json") {
|
|
183
|
-
if (command !== "cost")
|
|
184
|
-
return { error: "--json belongs to hsx cost" };
|
|
185
|
-
json = true;
|
|
186
|
-
continue;
|
|
187
|
-
}
|
|
188
|
-
if (argument === "--catalog") {
|
|
189
|
-
if (command === "format")
|
|
190
|
-
return { error: "--catalog belongs to check, build or cost" };
|
|
191
|
-
const value = args[index + 1];
|
|
192
|
-
if (value === undefined || value.startsWith("--"))
|
|
193
|
-
return { error: "--catalog needs a file path" };
|
|
194
|
-
if (catalog !== undefined)
|
|
195
|
-
return { error: "--catalog may be supplied only once" };
|
|
196
|
-
catalog = value;
|
|
197
|
-
index += 1;
|
|
198
|
-
continue;
|
|
199
|
-
}
|
|
200
|
-
if (argument === "--out") {
|
|
201
|
-
if (command !== "build" && command !== "cost") {
|
|
202
|
-
return { error: "--out belongs to hsx build or hsx cost" };
|
|
203
|
-
}
|
|
204
|
-
const value = args[index + 1];
|
|
205
|
-
if (value === undefined || value.startsWith("--")) {
|
|
206
|
-
return { error: "--out needs a file path" };
|
|
50
|
+
try {
|
|
51
|
+
const source = await io.readFile(file);
|
|
52
|
+
let text;
|
|
53
|
+
if (command === "format") {
|
|
54
|
+
const result = format(source);
|
|
55
|
+
if (!result.ok) {
|
|
56
|
+
result.diagnostics.forEach((d) => io.err(`${file}: ${d.message}`));
|
|
57
|
+
return 1;
|
|
207
58
|
}
|
|
208
|
-
|
|
209
|
-
index += 1;
|
|
210
|
-
continue;
|
|
59
|
+
text = result.formatted;
|
|
211
60
|
}
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
json,
|
|
225
|
-
...(catalog === undefined ? {} : { catalog }),
|
|
226
|
-
...(out === undefined ? {} : { out }),
|
|
227
|
-
strict,
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
|
-
function explainDiagnostic(args, io) {
|
|
231
|
-
if (args.length !== 1 || args[0]?.startsWith("-")) {
|
|
232
|
-
io.err("hsx: explain needs one diagnostic code");
|
|
233
|
-
return USAGE;
|
|
234
|
-
}
|
|
235
|
-
const diagnostic = hsxDiagnostics.find(({ code }) => code === args[0]);
|
|
236
|
-
if (!diagnostic) {
|
|
237
|
-
io.err(`hsx: unknown diagnostic code ${args[0]}`);
|
|
238
|
-
return USAGE;
|
|
239
|
-
}
|
|
240
|
-
io.out([
|
|
241
|
-
`${diagnostic.code} ${diagnostic.title}`,
|
|
242
|
-
`Stage: ${diagnostic.stage}`,
|
|
243
|
-
`Fix: ${diagnostic.fix}`,
|
|
244
|
-
diagnostic.example === null
|
|
245
|
-
? "Example: unavailable from source alone"
|
|
246
|
-
: `Example:\n${diagnostic.example}`,
|
|
247
|
-
].join("\n"));
|
|
248
|
-
return OK;
|
|
249
|
-
}
|
|
250
|
-
function renderCostTable(manifest) {
|
|
251
|
-
const rows = [
|
|
252
|
-
`costTableVersion\t${manifest.costTableVersion}`,
|
|
253
|
-
"instrument.action\teffect\tunit\tcount\ttotal\tpayer",
|
|
254
|
-
];
|
|
255
|
-
for (const action of manifest.actions) {
|
|
256
|
-
for (const component of action.components) {
|
|
257
|
-
const fixed = BigInt(component.perEventMinor) * BigInt(component.count);
|
|
258
|
-
const unit = [
|
|
259
|
-
`${component.perEventMinor} ${manifest.currency} minor`,
|
|
260
|
-
component.bps > 0 ? `${component.bps} bps` : undefined,
|
|
261
|
-
]
|
|
262
|
-
.filter((part) => part !== undefined)
|
|
263
|
-
.join(" + ");
|
|
264
|
-
const total = component.bps === 0
|
|
265
|
-
? `${fixed} ${manifest.currency} minor`
|
|
266
|
-
: [
|
|
267
|
-
fixed === 0n ? undefined : `${fixed} ${manifest.currency} minor`,
|
|
268
|
-
`amount-dependent (${component.bps} bps)`,
|
|
269
|
-
]
|
|
270
|
-
.filter((part) => part !== undefined)
|
|
271
|
-
.join(" + ");
|
|
272
|
-
rows.push([
|
|
273
|
-
`${action.instrument}.${action.action}`,
|
|
274
|
-
component.signature,
|
|
275
|
-
unit,
|
|
276
|
-
component.count,
|
|
277
|
-
total,
|
|
278
|
-
component.payer,
|
|
279
|
-
].join("\t"));
|
|
61
|
+
else {
|
|
62
|
+
const result = compile(source, { standardLibrary });
|
|
63
|
+
for (const d of result.diagnostics)
|
|
64
|
+
io.err(`${file}:${d.line}:${d.column}: ${d.code} ${d.message}. ${d.fix}`);
|
|
65
|
+
if (!result.artifacts || result.verdict !== "valid")
|
|
66
|
+
return 1;
|
|
67
|
+
if (command === "check")
|
|
68
|
+
return 0;
|
|
69
|
+
text =
|
|
70
|
+
command === "cost"
|
|
71
|
+
? JSON.stringify(result.artifacts.costManifest, null, 2) + "\n"
|
|
72
|
+
: serializeUdl(result.artifacts.document);
|
|
280
73
|
}
|
|
74
|
+
if (output)
|
|
75
|
+
await io.writeFile(output, text);
|
|
76
|
+
else
|
|
77
|
+
io.out(text.trimEnd());
|
|
78
|
+
return 0;
|
|
281
79
|
}
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
try {
|
|
286
|
-
await io.writeFile(path, contents);
|
|
287
|
-
}
|
|
288
|
-
catch (cause) {
|
|
289
|
-
io.err(`hsx: cannot write ${path}: ${messageOf(cause)}`);
|
|
290
|
-
return USAGE;
|
|
291
|
-
}
|
|
292
|
-
return OK;
|
|
293
|
-
}
|
|
294
|
-
async function readDefaultCostTable(io) {
|
|
295
|
-
const candidates = [
|
|
296
|
-
fileURLToPath(new URL("../examples/cost-table.json", import.meta.url)),
|
|
297
|
-
fileURLToPath(new URL("../../examples/cost-table.json", import.meta.url)),
|
|
298
|
-
];
|
|
299
|
-
let lastError;
|
|
300
|
-
for (const path of candidates) {
|
|
301
|
-
try {
|
|
302
|
-
return JSON.parse(await io.readFile(path));
|
|
303
|
-
}
|
|
304
|
-
catch (cause) {
|
|
305
|
-
lastError = cause;
|
|
306
|
-
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
io.err(error instanceof Error ? error.message : String(error));
|
|
82
|
+
return 2;
|
|
307
83
|
}
|
|
308
|
-
throw lastError;
|
|
309
|
-
}
|
|
310
|
-
/** `file:line:col: severity [stage] message`, the shape editors already parse. */
|
|
311
|
-
function diagnosticLines(file, result) {
|
|
312
|
-
return result.diagnostics.map((diagnostic) => {
|
|
313
|
-
const codePrefix = diagnostic.code ? `${diagnostic.code}: ` : "";
|
|
314
|
-
return `${diagnostic.file ?? file}:${diagnostic.line}:${diagnostic.column}: ${diagnostic.severity} [${diagnostic.stage}] ${codePrefix}${diagnostic.message}`;
|
|
315
|
-
});
|
|
316
|
-
}
|
|
317
|
-
function messageOf(cause) {
|
|
318
|
-
return cause instanceof Error ? cause.message : String(cause);
|
|
319
84
|
}
|
|
320
|
-
if (import.meta.main)
|
|
321
|
-
const { readFile, writeFile } = await import("node:fs/promises");
|
|
85
|
+
if (import.meta.main)
|
|
322
86
|
process.exitCode = await runCli(process.argv.slice(2), {
|
|
323
|
-
|
|
324
|
-
|
|
87
|
+
out: (line) => process.stdout.write(line + "\n"),
|
|
88
|
+
err: (line) => process.stderr.write(line + "\n"),
|
|
325
89
|
readFile: (path) => readFile(path, "utf8"),
|
|
326
|
-
writeFile: (path,
|
|
327
|
-
stdin: process.stdin,
|
|
328
|
-
stdout: process.stdout,
|
|
90
|
+
writeFile: (path, text) => writeFile(path, text, "utf8"),
|
|
329
91
|
});
|
|
330
|
-
}
|
|
331
92
|
//# sourceMappingURL=cli.js.map
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/src/compile.d.ts
CHANGED
|
@@ -1,81 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
*
|
|
11
|
-
* Every diagnostic points at SOURCE coordinates, never at lowered IR paths.
|
|
12
|
-
*/
|
|
13
|
-
import type { UdlIssueCode } from "@hyperscale0/udl";
|
|
14
|
-
import type { ResolvedProgramActionPlan } from "./ir.ts";
|
|
15
|
-
import { type UdlCostManifest, type UdlCostTables } from "./cost.ts";
|
|
16
|
-
import { type HsxCompilerHost } from "./modules.ts";
|
|
17
|
-
type Json = Record<string, unknown>;
|
|
18
|
-
type CompileVerdict = "invalid" | "valid" | "warning";
|
|
19
|
-
export interface CompileDiagnostic {
|
|
20
|
-
/** 1-indexed source column. */
|
|
21
|
-
readonly column: number;
|
|
22
|
-
/** Imported module file when the diagnostic belongs to module source. */
|
|
23
|
-
readonly file?: string;
|
|
24
|
-
/** 1-indexed source line. */
|
|
25
|
-
readonly line: number;
|
|
26
|
-
readonly message: string;
|
|
27
|
-
/** Source offsets in UTF-16 code units, matching parser and checker spans. */
|
|
28
|
-
readonly span: {
|
|
29
|
-
readonly end: number;
|
|
30
|
-
readonly start: number;
|
|
31
|
-
};
|
|
32
|
-
/** UTF-8 byte span in root source, omitted when referring to an imported module. */
|
|
33
|
-
readonly byteSpan?: {
|
|
34
|
-
readonly end: number;
|
|
35
|
-
readonly start: number;
|
|
36
|
-
};
|
|
37
|
-
readonly code?: string;
|
|
38
|
-
readonly fix?: string;
|
|
39
|
-
/** Canonical UDL path when lowering rejected an emitted clause. */
|
|
40
|
-
readonly path?: string;
|
|
41
|
-
/** UDL validator category when the emitter rejected its candidate document. */
|
|
42
|
-
readonly udlCode?: UdlIssueCode;
|
|
43
|
-
readonly severity: "error" | "warning";
|
|
44
|
-
/** The stage that raised it: parse, check, or lower. */
|
|
45
|
-
readonly stage: "bind" | "check" | "lower" | "parse" | "typecheck";
|
|
46
|
-
}
|
|
47
|
-
interface CompileArtifacts {
|
|
48
|
-
readonly actionPlans?: readonly ResolvedProgramActionPlan[];
|
|
49
|
-
/** The canonical UDL document. */
|
|
50
|
-
readonly document: Json;
|
|
51
|
-
/** Canonical UDL paths bound to their narrowest authored source terms. */
|
|
52
|
-
readonly originMap: readonly CompileOriginMapEntry[];
|
|
53
|
-
/** Deterministic compile-time cost, pinned to one versioned table. */
|
|
54
|
-
readonly costManifest: UdlCostManifest;
|
|
55
|
-
}
|
|
56
|
-
export interface CompileOptions extends HsxCompilerHost {
|
|
57
|
-
/** One table, or one per billing currency; the program's money fields pick. */
|
|
58
|
-
readonly costTable?: UdlCostTables;
|
|
1
|
+
import { type UdlCostManifest } from "./cost.ts";
|
|
2
|
+
import { type UdlDocument } from "@hyperscale0/udl";
|
|
3
|
+
import { type Diagnostic, type Span } from "./ast.ts";
|
|
4
|
+
import { type StandardLibrary } from "./std-library.ts";
|
|
5
|
+
export interface CompileDiagnostic extends Diagnostic {
|
|
6
|
+
line: number;
|
|
7
|
+
column: number;
|
|
8
|
+
severity: "error";
|
|
9
|
+
stage: "parse" | "check" | "lower";
|
|
59
10
|
}
|
|
60
11
|
export interface CompileOriginMapEntry {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
/** 1-indexed source column. */
|
|
66
|
-
readonly column: number;
|
|
67
|
-
/** 1-indexed source line. */
|
|
68
|
-
readonly line: number;
|
|
69
|
-
/** Inclusive UTF-8 byte offset. */
|
|
70
|
-
readonly start: number;
|
|
12
|
+
path: string;
|
|
13
|
+
span: Span & {
|
|
14
|
+
line: number;
|
|
15
|
+
column: number;
|
|
71
16
|
};
|
|
72
17
|
}
|
|
18
|
+
export interface CompileOptions {
|
|
19
|
+
standardLibrary?: StandardLibrary;
|
|
20
|
+
}
|
|
73
21
|
export interface CompileResult {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
22
|
+
verdict: "valid" | "invalid";
|
|
23
|
+
diagnostics: CompileDiagnostic[];
|
|
24
|
+
artifacts?: {
|
|
25
|
+
document: UdlDocument;
|
|
26
|
+
costManifest: UdlCostManifest;
|
|
27
|
+
originMap: CompileOriginMapEntry[];
|
|
28
|
+
};
|
|
78
29
|
}
|
|
79
30
|
export declare function compile(source: string, options?: CompileOptions): CompileResult;
|
|
80
|
-
export {};
|
|
81
31
|
//# sourceMappingURL=compile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/compile.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAIL,KAAK,WAAW,EAIjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAGL,KAAK,UAAU,EAIf,KAAK,IAAI,EACV,MAAM,UAAU,CAAC;AAClB,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEhF,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;CACpC;AACD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AACD,MAAM,WAAW,cAAc;IAC7B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AACD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE;QACV,QAAQ,EAAE,WAAW,CAAC;QACtB,YAAY,EAAE,eAAe,CAAC;QAC9B,SAAS,EAAE,qBAAqB,EAAE,CAAC;KACpC,CAAC;CACH;AAqKD,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,cAAmB,GAC3B,aAAa,CAo0Cf"}
|