@hyperscale0/hsx 1.0.342 → 1.0.347
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/README.md +1 -1
- package/bases/cards.hsx +0 -1
- package/bases/collections.hsx +0 -2
- package/bases/escrow.hsx +0 -1
- package/bases/financing.hsx +0 -1
- package/bases/insurance.hsx +0 -1
- package/bases/lending.hsx +0 -3
- package/bases/marketplace.hsx +0 -2
- package/bases/money.hsx +0 -1
- package/bases/reporting.hsx +0 -2
- package/bases/savings.hsx +0 -1
- package/bases/wallet.hsx +0 -1
- package/dist/src/ast.d.ts +57 -7
- package/dist/src/ast.d.ts.map +1 -1
- package/dist/src/ast.js.map +1 -1
- package/dist/src/bases-bundle.js +11 -11
- package/dist/src/bases-bundle.js.map +1 -1
- package/dist/src/catalog-program.d.ts +1 -1
- package/dist/src/catalog-program.d.ts.map +1 -1
- package/dist/src/catalog-program.js +0 -13
- package/dist/src/catalog-program.js.map +1 -1
- package/dist/src/checks.d.ts +60 -0
- package/dist/src/checks.d.ts.map +1 -0
- package/dist/src/checks.js +240 -0
- package/dist/src/checks.js.map +1 -0
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +6 -25
- package/dist/src/cli.js.map +1 -1
- package/dist/src/compile.d.ts +29 -12
- package/dist/src/compile.d.ts.map +1 -1
- package/dist/src/compile.js +414 -316
- package/dist/src/compile.js.map +1 -1
- package/dist/src/diagnostics.d.ts +14 -1
- package/dist/src/diagnostics.d.ts.map +1 -1
- package/dist/src/diagnostics.js +31 -0
- package/dist/src/diagnostics.js.map +1 -1
- package/dist/src/examples-bundle.js +15 -15
- package/dist/src/examples-bundle.js.map +1 -1
- package/dist/src/header-source.d.ts +30 -0
- package/dist/src/header-source.d.ts.map +1 -1
- package/dist/src/header-source.js +120 -9
- package/dist/src/header-source.js.map +1 -1
- package/dist/src/headers.d.ts +9 -18
- package/dist/src/headers.d.ts.map +1 -1
- package/dist/src/headers.js +25 -23
- package/dist/src/headers.js.map +1 -1
- package/dist/src/index.d.ts +4 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/keywords.d.ts +2 -4
- package/dist/src/keywords.d.ts.map +1 -1
- package/dist/src/keywords.js +6 -5
- package/dist/src/keywords.js.map +1 -1
- package/dist/src/language.d.ts +3 -4
- package/dist/src/language.d.ts.map +1 -1
- package/dist/src/language.js +123 -60
- package/dist/src/language.js.map +1 -1
- package/dist/src/lex.d.ts +1 -1
- package/dist/src/lex.d.ts.map +1 -1
- package/dist/src/lex.js +3 -5
- package/dist/src/lex.js.map +1 -1
- package/dist/src/parse.d.ts +3 -1
- package/dist/src/parse.d.ts.map +1 -1
- package/dist/src/parse.js +234 -22
- package/dist/src/parse.js.map +1 -1
- package/dist/src/std-bundle.d.ts +2 -1
- package/dist/src/std-bundle.d.ts.map +1 -1
- package/dist/src/std-bundle.js +16 -15
- package/dist/src/std-bundle.js.map +1 -1
- package/dist/src/template-guide.d.ts +3 -9
- package/dist/src/template-guide.d.ts.map +1 -1
- package/dist/src/template-guide.js +16 -23
- package/dist/src/template-guide.js.map +1 -1
- package/dist/src/toolchain.d.ts +23 -0
- package/dist/src/toolchain.d.ts.map +1 -0
- package/dist/src/toolchain.js +29 -0
- package/dist/src/toolchain.js.map +1 -0
- package/docs/README.md +69 -28
- package/examples/camera-rental.hsx +0 -1
- package/examples/cards.hsx +0 -1
- package/examples/collections.hsx +0 -2
- package/examples/escrow.hsx +0 -1
- package/examples/financing.hsx +0 -1
- package/examples/insurance.hsx +0 -2
- package/examples/lending.hsx +0 -3
- package/examples/library.hsx +0 -3
- package/examples/marketplace.hsx +0 -2
- package/examples/money.hsx +0 -1
- package/examples/rental-hire.hsx +0 -1
- package/examples/reporting.hsx +0 -2
- package/examples/savings.hsx +0 -1
- package/examples/serviced.hsx +0 -4
- package/examples/wallet.hsx +0 -1
- package/package.json +4 -4
- package/src/ast.ts +56 -3
- package/src/bases-bundle.ts +11 -11
- package/src/catalog-program.ts +0 -13
- package/src/checks.ts +386 -0
- package/src/cli.ts +6 -25
- package/src/compile.ts +583 -438
- package/src/diagnostics.ts +49 -1
- package/src/examples-bundle.ts +15 -15
- package/src/header-source.ts +187 -11
- package/src/headers.ts +31 -32
- package/src/index.ts +10 -4
- package/src/keywords.ts +6 -5
- package/src/language.ts +153 -68
- package/src/lex.ts +3 -5
- package/src/parse.ts +216 -24
- package/src/std-bundle.ts +17 -15
- package/src/template-guide.ts +17 -34
- package/src/toolchain.ts +51 -0
- package/std/booking.hsx +14 -1
- package/std/collections.hsx +12 -2
- package/std/financing.hsx +10 -16
- package/std/money.hsx +2 -3
- package/std/reporting.hsx +10 -1
- package/dist/src/binding-contract.d.ts +0 -22
- package/dist/src/binding-contract.d.ts.map +0 -1
- package/dist/src/binding-contract.js +0 -80
- package/dist/src/binding-contract.js.map +0 -1
- package/dist/src/std-library.d.ts +0 -5
- package/dist/src/std-library.d.ts.map +0 -1
- package/dist/src/std-library.js +0 -5
- package/dist/src/std-library.js.map +0 -1
- package/src/binding-contract.ts +0 -111
- package/src/std-library.ts +0 -7
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import { didYouMean, fail } from "./diagnostics.js";
|
|
2
|
+
// Statement keywords cannot name a customer, since a step opens with its actor.
|
|
3
|
+
const reserved = new Set(["customer", "clock", "object", "close", "expect"]);
|
|
4
|
+
/** The Product pool's balance name. */
|
|
5
|
+
const operator = "operator";
|
|
6
|
+
/**
|
|
7
|
+
* Lowers every check against the compiled document. A name the document does
|
|
8
|
+
* not declare fails at the step that wrote it.
|
|
9
|
+
*/
|
|
10
|
+
export function lowerChecks(checks, document, literal) {
|
|
11
|
+
const seen = new Set();
|
|
12
|
+
return checks.map((check) => {
|
|
13
|
+
if (seen.has(check.name))
|
|
14
|
+
fail(check, `check "${check.name}" is declared twice`, "rename one");
|
|
15
|
+
seen.add(check.name);
|
|
16
|
+
return lowerCheck(check, document, literal);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function lowerCheck(check, document, literal) {
|
|
20
|
+
const customers = [];
|
|
21
|
+
const bindings = {};
|
|
22
|
+
const steps = [];
|
|
23
|
+
const objects = new Map();
|
|
24
|
+
const remembered = new Set();
|
|
25
|
+
let final = undefined;
|
|
26
|
+
const known = (named, names, what, fix) => {
|
|
27
|
+
const list = [...names];
|
|
28
|
+
if (!list.includes(named.name))
|
|
29
|
+
fail(named, `${what} ${named.name} is not declared.${didYouMean(named.name, list)}`, fix);
|
|
30
|
+
return named.name;
|
|
31
|
+
};
|
|
32
|
+
const customer = (named) => known(named, customers.map((c) => c.id), "customer", `declare customer ${named.name} "Name" before this step`);
|
|
33
|
+
const money = (expr) => {
|
|
34
|
+
if (expr.kind !== "money")
|
|
35
|
+
fail(expr, "expected an amount", "write an amount such as 100 SAR");
|
|
36
|
+
return literal(expr);
|
|
37
|
+
};
|
|
38
|
+
const balanceNames = () => [operator, ...customers.map((c) => c.id)];
|
|
39
|
+
const balanceFix = `name a customer or ${operator}`;
|
|
40
|
+
const balances = (block) => Object.fromEntries(block.entries.map((entry) => [
|
|
41
|
+
known({ name: entry.key, span: entry.span }, balanceNames(), "balance", balanceFix),
|
|
42
|
+
money(entry.value),
|
|
43
|
+
]));
|
|
44
|
+
const value = (expr) => {
|
|
45
|
+
if (expr.kind === "list")
|
|
46
|
+
return expr.items.map(value);
|
|
47
|
+
if (expr.kind === "block")
|
|
48
|
+
return Object.fromEntries(expr.entries.map((entry) => [entry.key, value(entry.value)]));
|
|
49
|
+
if (expr.kind === "call" && ["agreement", "object"].includes(expr.name)) {
|
|
50
|
+
const [arg] = expr.args;
|
|
51
|
+
if (expr.args.length !== 1 || arg?.kind !== "name")
|
|
52
|
+
fail(expr, `${expr.name} takes one name`, `write ${expr.name}(name)`);
|
|
53
|
+
const name = { name: arg.value, span: arg.span };
|
|
54
|
+
if (expr.name === "agreement")
|
|
55
|
+
known(name, remembered, "agreement", "remember it on an earlier step");
|
|
56
|
+
else
|
|
57
|
+
known(name, objects.keys(), "object", "create it on an earlier step");
|
|
58
|
+
return `$${expr.name}:${arg.value}`;
|
|
59
|
+
}
|
|
60
|
+
return literal(expr);
|
|
61
|
+
};
|
|
62
|
+
const values = (block) => value(block);
|
|
63
|
+
const instruments = (object) => {
|
|
64
|
+
const declared = document.objects.find((o) => o.id === object);
|
|
65
|
+
const ids = new Set(declared.attachments.map((a) => a.instrument));
|
|
66
|
+
return document.instruments.filter((i) => ids.has(i.id));
|
|
67
|
+
};
|
|
68
|
+
for (const statement of check.statements) {
|
|
69
|
+
if (final)
|
|
70
|
+
fail(statement, "expect closes a check", "move this step before expect");
|
|
71
|
+
const expected = statement.balances
|
|
72
|
+
? { expected: balances(statement.balances) }
|
|
73
|
+
: {};
|
|
74
|
+
switch (statement.kind) {
|
|
75
|
+
case "customer": {
|
|
76
|
+
const { id } = statement;
|
|
77
|
+
if (reserved.has(id.name) || id.name === operator)
|
|
78
|
+
fail(id, `${id.name} cannot name a customer`, "pick another name");
|
|
79
|
+
if (customers.some((c) => c.id === id.name))
|
|
80
|
+
fail(id, `customer ${id.name} is declared twice`, "rename one");
|
|
81
|
+
if (steps.length)
|
|
82
|
+
fail(statement, "customers come before steps", "move it up");
|
|
83
|
+
customers.push({
|
|
84
|
+
id: id.name,
|
|
85
|
+
name: statement.title,
|
|
86
|
+
...(statement.organization ? { kind: "organization" } : {}),
|
|
87
|
+
...(statement.fund ? { fund: money(statement.fund) } : {}),
|
|
88
|
+
});
|
|
89
|
+
for (const party of statement.binds) {
|
|
90
|
+
const declared = Object.keys(document.parties);
|
|
91
|
+
known(party, declared, "party", "bind a party the program declares");
|
|
92
|
+
if (party.name in bindings)
|
|
93
|
+
fail(party, `party ${party.name} is bound twice`, "bind it once");
|
|
94
|
+
bindings[party.name] = id.name;
|
|
95
|
+
}
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
case "clock": {
|
|
99
|
+
const at = statement.at;
|
|
100
|
+
if (at.kind !== "date")
|
|
101
|
+
fail(at, "a clock step needs a date", "write clock 2031-04-01");
|
|
102
|
+
const until = statement.until;
|
|
103
|
+
let waitFor;
|
|
104
|
+
if (until) {
|
|
105
|
+
const object = known(until.object, objects.keys(), "object", "create it on an earlier step");
|
|
106
|
+
const kind = objects.get(object);
|
|
107
|
+
const declared = document.objects.find((o) => o.id === kind);
|
|
108
|
+
if (until.attachment)
|
|
109
|
+
known(until.attachment, declared.attachments.map((a) => a.name), `${kind} attachment`, `name an attachment of object ${kind}`);
|
|
110
|
+
known(until.state, instruments(kind).flatMap((i) => i.lifecycle.states), "state", `name a lifecycle state on object ${kind}`);
|
|
111
|
+
waitFor = {
|
|
112
|
+
object,
|
|
113
|
+
...(until.recordPath ? { recordPath: until.recordPath } : {}),
|
|
114
|
+
state: until.state.name,
|
|
115
|
+
...(until.attachment ? { attachment: until.attachment.name } : {}),
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
steps.push({
|
|
119
|
+
kind: "clock",
|
|
120
|
+
at: literal(at),
|
|
121
|
+
...(waitFor ? { waitFor } : {}),
|
|
122
|
+
...expected,
|
|
123
|
+
});
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
case "object": {
|
|
127
|
+
const { id } = statement;
|
|
128
|
+
if (objects.has(id.name))
|
|
129
|
+
fail(id, `object ${id.name} is created twice`, "rename one");
|
|
130
|
+
const kind = known(statement.objectKind, document.objects.map((o) => o.id), "object kind", "name an object the program declares");
|
|
131
|
+
const owner = customer(statement.owner);
|
|
132
|
+
const fieldNames = document.objects
|
|
133
|
+
.find((o) => o.id === kind)
|
|
134
|
+
.fields.map((f) => f.name);
|
|
135
|
+
for (const entry of statement.fields?.entries ?? [])
|
|
136
|
+
known({ name: entry.key, span: entry.span }, fieldNames, `${kind} field`, `name a field of object ${kind}`);
|
|
137
|
+
objects.set(id.name, kind);
|
|
138
|
+
steps.push({
|
|
139
|
+
kind: "object",
|
|
140
|
+
id: id.name,
|
|
141
|
+
objectKind: kind,
|
|
142
|
+
owner,
|
|
143
|
+
...(statement.fields ? { fields: values(statement.fields) } : {}),
|
|
144
|
+
...expected,
|
|
145
|
+
});
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
case "action": {
|
|
149
|
+
const object = known(statement.object, objects.keys(), "object", "create it on an earlier step");
|
|
150
|
+
const kind = objects.get(object);
|
|
151
|
+
const exposing = instruments(kind).filter((i) => Object.values(i.actions).some((a) => a.publicAction === statement.action.name));
|
|
152
|
+
known(statement.action, exposing.length
|
|
153
|
+
? [statement.action.name]
|
|
154
|
+
: instruments(kind).flatMap((i) => Object.values(i.actions).flatMap((a) => a.publicAction ? [a.publicAction] : [])), `${kind} action`, `name an action object ${kind} exposes`);
|
|
155
|
+
const actor = statement.actor && customer(statement.actor);
|
|
156
|
+
if (statement.state)
|
|
157
|
+
known(statement.state, exposing.flatMap((i) => i.lifecycle.states), "state", `name a state ${statement.action.name} can reach`);
|
|
158
|
+
let status;
|
|
159
|
+
if (statement.status) {
|
|
160
|
+
const raw = statement.status;
|
|
161
|
+
status =
|
|
162
|
+
raw.kind === "name" && raw.value === "absent"
|
|
163
|
+
? "absent"
|
|
164
|
+
: raw.kind === "number" && /^[45]\d\d$/.test(raw.value)
|
|
165
|
+
? Number(raw.value)
|
|
166
|
+
: fail(raw, "expected a refusal", "write status 409 or absent");
|
|
167
|
+
}
|
|
168
|
+
const instance = statement.instance &&
|
|
169
|
+
known(statement.instance, remembered, "agreement", "remember it on an earlier step");
|
|
170
|
+
const input = statement.input && values(statement.input);
|
|
171
|
+
const fields = statement.fields && values(statement.fields);
|
|
172
|
+
if (statement.remember) {
|
|
173
|
+
if (remembered.has(statement.remember.name))
|
|
174
|
+
fail(statement.remember, "remembered twice", "rename one");
|
|
175
|
+
remembered.add(statement.remember.name);
|
|
176
|
+
}
|
|
177
|
+
steps.push({
|
|
178
|
+
kind: "action",
|
|
179
|
+
object,
|
|
180
|
+
action: statement.action.name,
|
|
181
|
+
...(actor ? { actor } : {}),
|
|
182
|
+
...(input ? { input } : {}),
|
|
183
|
+
...(fields ? { fields } : {}),
|
|
184
|
+
...(statement.state ? { state: statement.state.name } : {}),
|
|
185
|
+
...(status !== undefined ? { status } : {}),
|
|
186
|
+
...(statement.code ? { code: statement.code } : {}),
|
|
187
|
+
...(statement.remember ? { remember: statement.remember.name } : {}),
|
|
188
|
+
...(instance ? { instance } : {}),
|
|
189
|
+
...expected,
|
|
190
|
+
});
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
case "close":
|
|
194
|
+
steps.push({
|
|
195
|
+
kind: "close",
|
|
196
|
+
customer: customer(statement.customer),
|
|
197
|
+
...expected,
|
|
198
|
+
});
|
|
199
|
+
break;
|
|
200
|
+
case "expect": {
|
|
201
|
+
if (!steps.length)
|
|
202
|
+
fail(statement, "a check needs a step", "add a step before expect");
|
|
203
|
+
if (!statement.balances)
|
|
204
|
+
fail(statement, "expect needs balances", "write expect balances { }");
|
|
205
|
+
final = {
|
|
206
|
+
expected: balances(statement.balances),
|
|
207
|
+
...(statement.held ? { expectedHeld: money(statement.held) } : {}),
|
|
208
|
+
...(statement.pending
|
|
209
|
+
? {
|
|
210
|
+
pending: Object.fromEntries(statement.pending.entries.map((entry) => {
|
|
211
|
+
const name = { name: entry.key, span: entry.span };
|
|
212
|
+
if (entry.value.kind !== "block")
|
|
213
|
+
fail(entry, "expected balances", "write name { }");
|
|
214
|
+
const fields = entry.value.entries.map((field) => [
|
|
215
|
+
field.key,
|
|
216
|
+
money(field.value),
|
|
217
|
+
]);
|
|
218
|
+
return [
|
|
219
|
+
known(name, balanceNames(), "balance", balanceFix),
|
|
220
|
+
Object.fromEntries(fields),
|
|
221
|
+
];
|
|
222
|
+
})),
|
|
223
|
+
}
|
|
224
|
+
: {}),
|
|
225
|
+
};
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
if (!final)
|
|
231
|
+
fail(check, "a check ends with expect", "write expect balances { }");
|
|
232
|
+
return {
|
|
233
|
+
name: check.name,
|
|
234
|
+
customers,
|
|
235
|
+
...(Object.keys(bindings).length ? { bindings } : {}),
|
|
236
|
+
steps,
|
|
237
|
+
...final,
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
//# sourceMappingURL=checks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checks.js","sourceRoot":"","sources":["../../src/checks.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,EAAE;IACjB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AACD,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAuE7E"}
|
package/dist/src/cli.js
CHANGED
|
@@ -1,20 +1,10 @@
|
|
|
1
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
2
1
|
import { readFile, writeFile } from "node:fs/promises";
|
|
3
2
|
import { headerManifest } from "./headers.js";
|
|
4
3
|
import { compile } from "./compile.js";
|
|
5
4
|
import { format } from "./format.js";
|
|
6
|
-
import { serializeUdl
|
|
5
|
+
import { serializeUdl } from "@hyperscale0/udl";
|
|
6
|
+
import { defaultToolchain } from "./toolchain.js";
|
|
7
7
|
const usage = "hsx build|format|cost <file> [--out path]\nhsx check <file>\nhsx headers --json";
|
|
8
|
-
const standardLibrary = {
|
|
9
|
-
source: (header) => {
|
|
10
|
-
for (const base of ["../std/", "../../std/"]) {
|
|
11
|
-
const file = new URL(`${base}${header}.hsx`, import.meta.url);
|
|
12
|
-
if (existsSync(file))
|
|
13
|
-
return readFileSync(file, "utf8");
|
|
14
|
-
}
|
|
15
|
-
return undefined;
|
|
16
|
-
},
|
|
17
|
-
};
|
|
18
8
|
export async function runCli(argv, io) {
|
|
19
9
|
const [command, file, ...options] = argv;
|
|
20
10
|
if (command === "headers") {
|
|
@@ -22,7 +12,7 @@ export async function runCli(argv, io) {
|
|
|
22
12
|
io.err("usage: hsx headers --json");
|
|
23
13
|
return 2;
|
|
24
14
|
}
|
|
25
|
-
io.out(JSON.stringify(headerManifest(
|
|
15
|
+
io.out(JSON.stringify(headerManifest(), null, 2));
|
|
26
16
|
return 0;
|
|
27
17
|
}
|
|
28
18
|
if (["--help", "help", "-h"].includes(command ?? "")) {
|
|
@@ -30,17 +20,8 @@ export async function runCli(argv, io) {
|
|
|
30
20
|
return 0;
|
|
31
21
|
}
|
|
32
22
|
if (command === "--version") {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const manifest = new URL(`${base}package.json`, import.meta.url);
|
|
36
|
-
if (!existsSync(manifest))
|
|
37
|
-
continue;
|
|
38
|
-
const { version } = JSON.parse(readFileSync(manifest, "utf8"));
|
|
39
|
-
io.out(`${version} (UDL ${UDL_FORMAT_VERSION})`);
|
|
40
|
-
return 0;
|
|
41
|
-
}
|
|
42
|
-
io.err("hsx: package.json not found");
|
|
43
|
-
return 1;
|
|
23
|
+
io.out(`${defaultToolchain.hsx} (UDL ${defaultToolchain.udl})`);
|
|
24
|
+
return 0;
|
|
44
25
|
}
|
|
45
26
|
if (!command ||
|
|
46
27
|
!file ||
|
|
@@ -73,7 +54,7 @@ export async function runCli(argv, io) {
|
|
|
73
54
|
text = result.formatted;
|
|
74
55
|
}
|
|
75
56
|
else {
|
|
76
|
-
const result = compile(source,
|
|
57
|
+
const result = compile(source, defaultToolchain);
|
|
77
58
|
for (const d of [...result.diagnostics, ...result.warnings])
|
|
78
59
|
io.err(`${d.source && d.source !== "program" ? d.source : file}:${d.line}:${d.column}: ${d.severity === "warning" ? "warning " : ""}${d.code} ${d.message.replace(/[^.?!]$/, "$&.")} ${d.fix}`);
|
|
79
60
|
if (!result.artifacts || result.verdict !== "valid")
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,MAAM,KAAK,GACT,iFAAiF,CAAC;AAQpF,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAuB,EAAE,EAAM;IAC1D,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACxC,EAAE,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACpC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QACrD,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACd,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,EAAE,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,SAAS,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAAC;QAChE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IACE,CAAC,OAAO;QACR,CAAC,IAAI;QACL,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EACvD,CAAC;QACD,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,MAA0B,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IACE,OAAO,KAAK,OAAO;YACnB,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO;YACtB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,UAAU,CAAC,IAAI,CAAC;YACjC,MAAM,KAAK,SAAS;YAEpB,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;aACnB,CAAC;YACJ,EAAE,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,IAAY,CAAC;QACjB,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACnE,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACjD,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACzD,EAAE,CAAC,GAAG,CACJ,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CACxL,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO;gBAAE,OAAO,CAAC,CAAC;YAC9D,IAAI,OAAO,KAAK,OAAO;gBAAE,OAAO,CAAC,CAAC;YAClC,IAAI;gBACF,OAAO,KAAK,MAAM;oBAChB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI;oBAC/D,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,MAAM;YAAE,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;;YACxC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,EAAE,CAAC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,IAAI,OAAO,IAAI,CAAC,IAAI;IAClB,OAAO,CAAC,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACrD,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAChD,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAChD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAC1C,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;KACzD,CAAC,CAAC"}
|
package/dist/src/compile.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type UdlCostManifest } from "./cost.ts";
|
|
2
2
|
import { type UdlDocument } from "@hyperscale0/udl";
|
|
3
|
+
import { type CompiledCheck } from "./checks.ts";
|
|
3
4
|
import { type Diagnostic, type Span } from "./ast.ts";
|
|
4
|
-
import { type
|
|
5
|
-
import type { ProviderAdapter } from "@hyperscale0/adl";
|
|
5
|
+
import { type Toolchain } from "./toolchain.ts";
|
|
6
6
|
export interface CompileDiagnostic extends Diagnostic {
|
|
7
7
|
line: number;
|
|
8
8
|
column: number;
|
|
@@ -12,25 +12,36 @@ export interface CompileDiagnostic extends Diagnostic {
|
|
|
12
12
|
severity: "error";
|
|
13
13
|
stage: "parse" | "check" | "lower";
|
|
14
14
|
}
|
|
15
|
+
/** A std header parameter's value in force on one instrument, and who set it. */
|
|
16
|
+
export interface CompileTerm {
|
|
17
|
+
name: string;
|
|
18
|
+
/** program: the author bound it. party: a party of the same name bound it. std: the header's default. */
|
|
19
|
+
from: "program" | "party" | "std";
|
|
20
|
+
/** The value as written, or "unset" for an optional parameter nothing set. */
|
|
21
|
+
text: string;
|
|
22
|
+
/** "program", or the header that holds the default. */
|
|
23
|
+
source: string;
|
|
24
|
+
line: number;
|
|
25
|
+
column: number;
|
|
26
|
+
}
|
|
27
|
+
/** One std term on one instrument, set as another compile had it. */
|
|
28
|
+
export type CompileTermOverride = Pick<CompileTerm, "name" | "from" | "text"> & {
|
|
29
|
+
instrument: string;
|
|
30
|
+
};
|
|
15
31
|
export interface CompileOriginMapEntry {
|
|
16
32
|
path: string;
|
|
17
33
|
span: Span & {
|
|
18
34
|
line: number;
|
|
19
35
|
column: number;
|
|
20
36
|
};
|
|
37
|
+
/** The std declaration an instrument lowers from, by its declaration digest. */
|
|
21
38
|
standardBlock?: {
|
|
22
39
|
key: string;
|
|
23
40
|
recordPath: string;
|
|
24
|
-
|
|
41
|
+
digest: string;
|
|
25
42
|
};
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
adapter: ProviderAdapter;
|
|
29
|
-
operation: string;
|
|
30
|
-
}
|
|
31
|
-
export interface CompileOptions {
|
|
32
|
-
standardLibrary?: StandardLibrary;
|
|
33
|
-
adapterRegistry?: Readonly<Record<string, AdapterBindingTarget>>;
|
|
43
|
+
/** One row per header parameter of a std instrument. */
|
|
44
|
+
terms?: CompileTerm[];
|
|
34
45
|
}
|
|
35
46
|
export interface CompileWarning extends Omit<CompileDiagnostic, "severity"> {
|
|
36
47
|
severity: "warning";
|
|
@@ -44,7 +55,13 @@ export interface CompileResult {
|
|
|
44
55
|
document: UdlDocument;
|
|
45
56
|
costManifest: UdlCostManifest;
|
|
46
57
|
originMap: CompileOriginMapEntry[];
|
|
58
|
+
/** `check` blocks, beside the document and never inside it. */
|
|
59
|
+
checks: CompiledCheck[];
|
|
47
60
|
};
|
|
48
61
|
}
|
|
49
|
-
|
|
62
|
+
/**
|
|
63
|
+
* An override compiles the program as if one std term held other text, so a
|
|
64
|
+
* plan can see what that term alone moves.
|
|
65
|
+
*/
|
|
66
|
+
export declare function compile(source: string, toolchain?: Toolchain, override?: CompileTermOverride): CompileResult;
|
|
50
67
|
//# sourceMappingURL=compile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/compile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/compile.ts"],"names":[],"mappings":"AAQA,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAqBL,KAAK,WAAW,EAQjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAS9D,OAAO,EAIL,KAAK,UAAU,EAKf,KAAK,IAAI,EACV,MAAM,UAAU,CAAC;AAClB,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;CACpC;AACD,iFAAiF;AACjF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,yGAAyG;IACzG,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,KAAK,CAAC;IAClC,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,qEAAqE;AACrE,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,WAAW,EACX,MAAM,GAAG,MAAM,GAAG,MAAM,CACzB,GAAG;IACF,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AACF,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;IAC9C,gFAAgF;IAChF,aAAa,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,wDAAwD;IACxD,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB;AAWD,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC;IACzE,QAAQ,EAAE,SAAS,CAAC;CACrB;AACD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,iFAAiF;IACjF,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE;QACV,QAAQ,EAAE,WAAW,CAAC;QACtB,YAAY,EAAE,eAAe,CAAC;QAC9B,SAAS,EAAE,qBAAqB,EAAE,CAAC;QACnC,+DAA+D;QAC/D,MAAM,EAAE,aAAa,EAAE,CAAC;KACzB,CAAC;CACH;AAqYD;;;GAGG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,SAA4B,EACvC,QAAQ,CAAC,EAAE,mBAAmB,GAC7B,aAAa,CAm4If"}
|