@hyperscale0/hsx 1.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -4
- package/README.md +58 -38
- package/dist/src/ast.d.ts +4 -2
- package/dist/src/ast.d.ts.map +1 -1
- package/dist/src/cli.d.ts +1 -1
- package/dist/src/cli.js.map +1 -1
- package/dist/src/compile.d.ts +8 -2
- package/dist/src/compile.d.ts.map +1 -1
- package/dist/src/compile.js +8 -1
- package/dist/src/compile.js.map +1 -1
- package/dist/src/cost.d.ts +3 -1
- package/dist/src/cost.d.ts.map +1 -1
- package/dist/src/cost.js +124 -94
- package/dist/src/cost.js.map +1 -1
- package/dist/src/diagnostics.d.ts.map +1 -1
- package/dist/src/diagnostics.js +96 -5
- package/dist/src/diagnostics.js.map +1 -1
- package/dist/src/emit.d.ts +3 -1
- package/dist/src/emit.d.ts.map +1 -1
- package/dist/src/emit.js +27 -10
- package/dist/src/emit.js.map +1 -1
- package/dist/src/format.js.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/ir.d.ts.map +1 -1
- package/dist/src/lex.d.ts.map +1 -1
- package/dist/src/lsp/server.js.map +1 -1
- package/dist/src/modules.js +7 -3
- package/dist/src/modules.js.map +1 -1
- package/dist/src/parse.js +3 -3
- package/dist/src/parse.js.map +1 -1
- package/dist/src/std-bundle.js +41 -41
- package/dist/src/std-bundle.js.map +1 -1
- package/dist/src/std-library.js +2 -2
- package/dist/src/typecheck.d.ts.map +1 -1
- package/dist/src/typecheck.js +948 -157
- package/dist/src/typecheck.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/docs/README.md +10 -1
- package/docs/assets/hsx.svg +18 -0
- package/docs/guide/01-first-program.md +1 -1
- package/docs/guide/02-money.md +1 -1
- package/docs/guide/03-instruments.md +44 -3
- package/docs/guide/04-lifecycles.md +18 -3
- package/docs/guide/05-fees-and-splits.md +2 -2
- package/docs/guide/06-schedules.md +1 -1
- package/docs/guide/07-composition.md +8 -2
- package/docs/guide/08-writing-a-module.md +13 -2
- package/docs/guide/09-cost.md +3 -3
- package/docs/guide/10-diagnostics.md +1 -1
- package/docs/llms-full.txt +473 -190
- package/docs/llms.txt +2 -2
- package/docs/playground.md +4 -3
- package/docs/reference/cli.md +2 -2
- package/docs/reference/diagnostics.md +243 -37
- package/docs/reference/grammar.md +2 -2
- package/docs/reference/std/advance.md +2 -2
- package/docs/reference/std/cancellable_booking.md +10 -10
- package/docs/reference/std/captured_payment.md +14 -14
- package/docs/reference/std/conditional_disbursement.md +3 -3
- package/docs/reference/std/credit_facility.md +2 -2
- package/docs/reference/std/held_payment.md +37 -33
- package/docs/reference/std/instant_transfer.md +8 -8
- package/docs/reference/std/metered.md +2 -2
- package/docs/reference/std/pooled_split.md +2 -2
- package/docs/reference/std/premium_forward.md +13 -13
- package/docs/reference/std/reconciled_payout.md +2 -2
- package/docs/reference/std/recurring_collection.md +2 -2
- package/docs/reference/std/rotating_pool.md +2 -2
- package/docs/reference/std/scheduled.md +18 -18
- package/docs/reference/std/security_deposit.md +14 -14
- package/docs/reference/std/settlement_batch.md +2 -2
- package/docs/reference/std/swap.md +18 -18
- package/docs/reference/std/threshold_pool.md +2 -2
- package/docs/reference/std/weighted_distribution.md +2 -2
- package/docs/reference/types.md +1 -1
- package/docs/reference/udl-output.md +1 -1
- package/examples/01-first-program/README.md +1 -1
- package/examples/01-first-program/tip-jar.hsx +1 -1
- package/examples/02-imports-and-archetypes/photo-booth.hsx +1 -1
- package/examples/03-diagnostics/corner-shop-fixed.hsx +1 -1
- package/examples/03-diagnostics/corner-shop.hsx +1 -1
- package/examples/04-complete-product/study-hall.hsx +1 -1
- package/examples/05-watch-club/README.md +0 -3
- package/examples/05-watch-club/watch-club.hsx +1 -1
- package/examples/README.md +35 -4
- package/examples/advance/advance.hsx +1 -1
- package/examples/advance/advance.udl +16 -11
- package/examples/cancellable_booking/cancellable_booking.hsx +1 -1
- package/examples/cancellable_booking/cancellable_booking.udl +13 -11
- package/examples/captured_payment/captured_payment.hsx +1 -1
- package/examples/captured_payment/captured_payment.udl +10 -7
- package/examples/conditional_disbursement/conditional_disbursement.hsx +1 -1
- package/examples/conditional_disbursement/conditional_disbursement.udl +7 -5
- package/examples/cost-table.json +1542 -382
- package/examples/credit_facility/credit_facility.hsx +1 -1
- package/examples/credit_facility/credit_facility.udl +26 -19
- package/examples/held_payment/held_payment.hsx +1 -1
- package/examples/held_payment/held_payment.udl +61 -15
- package/examples/instant_transfer/instant_transfer.hsx +1 -1
- package/examples/instant_transfer/instant_transfer.udl +17 -11
- package/examples/metered/metered.hsx +1 -1
- package/examples/metered/metered.udl +8 -6
- package/examples/pooled_split/pooled_split.hsx +1 -1
- package/examples/pooled_split/pooled_split.udl +16 -13
- package/examples/premium_forward/premium_forward.hsx +1 -1
- package/examples/premium_forward/premium_forward.udl +22 -16
- package/examples/reconciled_payout/reconciled_payout.hsx +1 -1
- package/examples/reconciled_payout/reconciled_payout.udl +4 -2
- package/examples/recurring_collection/recurring_collection.hsx +1 -1
- package/examples/recurring_collection/recurring_collection.udl +20 -15
- package/examples/rotating_pool/rotating_pool.hsx +1 -1
- package/examples/rotating_pool/rotating_pool.udl +92 -82
- package/examples/scheduled/scheduled.hsx +1 -1
- package/examples/scheduled/scheduled.udl +15 -10
- package/examples/security_deposit/security_deposit.hsx +1 -1
- package/examples/security_deposit/security_deposit.udl +19 -5
- package/examples/settlement_batch/settlement_batch.hsx +1 -1
- package/examples/swap/swap.hsx +1 -1
- package/examples/swap/swap.udl +34 -28
- package/examples/threshold_pool/threshold_pool.hsx +1 -1
- package/examples/threshold_pool/threshold_pool.udl +14 -12
- package/examples/weighted_distribution/weighted_distribution.hsx +1 -1
- package/examples/weighted_distribution/weighted_distribution.udl +6 -4
- package/package.json +6 -5
- package/skills/hsx/SKILL.md +26 -26
- package/src/ast.ts +4 -2
- package/src/cli.ts +4 -4
- package/src/compile.ts +14 -3
- package/src/cost.ts +176 -104
- package/src/diagnostics.ts +99 -4
- package/src/emit.ts +32 -18
- package/src/index.ts +2 -1
- package/src/modules.ts +9 -3
- package/src/parse.ts +3 -3
- package/src/std-bundle.ts +41 -41
- package/src/std-library.ts +2 -2
- package/src/typecheck.ts +1251 -235
- package/src/version.ts +1 -1
- package/std/SEMANTICS.md +12 -3
- package/std/{settlements → money_flows}/advance.hsx +1 -1
- package/std/{settlements → money_flows}/cancellable_booking.hsx +4 -3
- package/std/{settlements → money_flows}/captured_payment.hsx +35 -6
- package/std/{settlements → money_flows}/conditional_disbursement.hsx +17 -16
- package/std/{settlements → money_flows}/credit_facility.hsx +1 -2
- package/std/{settlements → money_flows}/held_payment.hsx +61 -25
- package/std/money_flows/index.hsx +3 -0
- package/std/{settlements → money_flows}/instant_transfer.hsx +2 -3
- package/std/{settlements → money_flows}/metered.hsx +1 -1
- package/std/{settlements → money_flows}/pooled_split.hsx +3 -3
- package/std/{settlements → money_flows}/premium_forward.hsx +22 -23
- package/std/{settlements → money_flows}/reconciled_payout.hsx +3 -3
- package/std/{settlements → money_flows}/recurring_collection.hsx +1 -1
- package/std/{settlements → money_flows}/rotating_pool.hsx +8 -6
- package/std/{settlements → money_flows}/scheduled.hsx +22 -27
- package/std/{settlements → money_flows}/security_deposit.hsx +38 -14
- package/std/{settlements → money_flows}/settlement_batch.hsx +3 -3
- package/std/{settlements → money_flows}/swap.hsx +41 -16
- package/std/{settlements → money_flows}/threshold_pool.hsx +5 -5
- package/std/{settlements → money_flows}/weighted_distribution.hsx +6 -6
- package/docs/sessions/2026-09-02-two-instruments.hsx +0 -21
- package/docs/sessions/2026-09-02-two-instruments.md +0 -41
- package/std/settlements/index.hsx +0 -3
package/dist/src/cost.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { udlEffectKinds, } from "@hyperscale0/udl";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
const CURRENCY = /^[A-Z]{3}$/;
|
|
3
|
+
export function buildCostManifest(program, tables, composesCatalogBlueprint) {
|
|
4
|
+
const priced = tables === undefined ? [] : [tables].flat();
|
|
5
|
+
if (priced.length === 0) {
|
|
4
6
|
return {
|
|
5
7
|
diagnostics: [
|
|
6
8
|
{
|
|
@@ -14,13 +16,14 @@ export function buildCostManifest(program, table, composesCatalogBlueprint) {
|
|
|
14
16
|
ok: false,
|
|
15
17
|
};
|
|
16
18
|
}
|
|
17
|
-
|
|
19
|
+
const malformed = priced.find((candidate) => !CURRENCY.test(candidate.currency));
|
|
20
|
+
if (malformed) {
|
|
18
21
|
return {
|
|
19
22
|
diagnostics: [
|
|
20
23
|
{
|
|
21
24
|
code: "HSX1303",
|
|
22
25
|
fix: "name one three-letter uppercase billing currency on the cost table",
|
|
23
|
-
message: `cost table ${
|
|
26
|
+
message: `cost table ${malformed.version} has invalid billing currency ${malformed.currency}`,
|
|
24
27
|
severity: "error",
|
|
25
28
|
span: program.origin,
|
|
26
29
|
},
|
|
@@ -29,66 +32,33 @@ export function buildCostManifest(program, table, composesCatalogBlueprint) {
|
|
|
29
32
|
};
|
|
30
33
|
}
|
|
31
34
|
const diagnostics = [];
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
row,
|
|
37
|
-
]);
|
|
38
|
-
}
|
|
35
|
+
const table = ledgerCostTable(program, priced, diagnostics);
|
|
36
|
+
if (!table)
|
|
37
|
+
return { diagnostics, ok: false };
|
|
38
|
+
const rowsBySignature = indexCostRows(table);
|
|
39
39
|
const actions = [];
|
|
40
40
|
for (const instrument of program.instruments) {
|
|
41
41
|
for (const action of instrument.actions) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
let endCustomerPerEvent = 0n;
|
|
45
|
-
for (const [signature, count] of effectCounts(action.effects)) {
|
|
46
|
-
const rows = rowsBySignature.get(signature) ?? [];
|
|
47
|
-
if (rows.length === 0) {
|
|
42
|
+
actions.push(priceAction(instrument.id, action.name, effectCounts(action.effects), rowsBySignature, (issue) => {
|
|
43
|
+
if (issue.kind === "missing_price") {
|
|
48
44
|
diagnostics.push({
|
|
49
45
|
code: "HSX1301",
|
|
50
|
-
fix: `add ${signature} to cost table ${table.version}`,
|
|
51
|
-
message: `${instrument.id}.${action.name} has unpriced effect signature ${signature}`,
|
|
46
|
+
fix: `add ${issue.signature} to cost table ${table.version}`,
|
|
47
|
+
message: `${instrument.id}.${action.name} has unpriced effect signature ${issue.signature}`,
|
|
52
48
|
severity: "error",
|
|
53
49
|
span: action.origin,
|
|
54
50
|
});
|
|
55
|
-
continue;
|
|
56
51
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
span: action.origin,
|
|
65
|
-
});
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
const eventTotal = BigInt(row.perEventMinor) * BigInt(count);
|
|
69
|
-
if (row.payer === "product")
|
|
70
|
-
productPerEvent += eventTotal;
|
|
71
|
-
else
|
|
72
|
-
endCustomerPerEvent += eventTotal;
|
|
73
|
-
components.push({
|
|
74
|
-
bps: row.bps,
|
|
75
|
-
count,
|
|
76
|
-
meter: row.meter,
|
|
77
|
-
payer: row.payer,
|
|
78
|
-
perEventMinor: row.perEventMinor,
|
|
79
|
-
settlement: row.settlement,
|
|
80
|
-
signature,
|
|
81
|
-
...(row.volumeMeter ? { volumeMeter: row.volumeMeter } : {}),
|
|
52
|
+
else {
|
|
53
|
+
diagnostics.push({
|
|
54
|
+
code: "HSX1302",
|
|
55
|
+
fix: `store ${issue.signature} prices as nonnegative integers and name a volume meter for bps`,
|
|
56
|
+
message: `cost table ${table.version} has an invalid ${issue.signature} price`,
|
|
57
|
+
severity: "error",
|
|
58
|
+
span: action.origin,
|
|
82
59
|
});
|
|
83
60
|
}
|
|
84
|
-
}
|
|
85
|
-
actions.push({
|
|
86
|
-
action: action.name,
|
|
87
|
-
components,
|
|
88
|
-
endCustomerPerEventMinor: endCustomerPerEvent.toString(),
|
|
89
|
-
instrument: instrument.id,
|
|
90
|
-
perEventMinor: productPerEvent.toString(),
|
|
91
|
-
});
|
|
61
|
+
}));
|
|
92
62
|
}
|
|
93
63
|
}
|
|
94
64
|
const fixed = fixedCost(typedStructuralCounts(program, composesCatalogBlueprint), table, program.origin, diagnostics);
|
|
@@ -96,6 +66,49 @@ export function buildCostManifest(program, table, composesCatalogBlueprint) {
|
|
|
96
66
|
return { diagnostics, ok: false };
|
|
97
67
|
return { manifest: manifest(table, fixed, actions), ok: true };
|
|
98
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* The table priced in the program's ledger currency: the one currency its
|
|
71
|
+
* money fields move. A program without money fields prices in the host's
|
|
72
|
+
* first table.
|
|
73
|
+
*/
|
|
74
|
+
function ledgerCostTable(program, tables, diagnostics) {
|
|
75
|
+
const currencies = new Map();
|
|
76
|
+
for (const instrument of program.instruments) {
|
|
77
|
+
for (const field of instrument.fields) {
|
|
78
|
+
// An unbound currency parameter (money<C>) is decided per instance,
|
|
79
|
+
// not by the program, so it names no ledger currency.
|
|
80
|
+
const currency = field.type.currency;
|
|
81
|
+
if (field.type.kind !== "money" || !currency || !CURRENCY.test(currency))
|
|
82
|
+
continue;
|
|
83
|
+
if (!currencies.has(currency))
|
|
84
|
+
currencies.set(currency, field.origin);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
const [first, second] = [...currencies];
|
|
88
|
+
if (second) {
|
|
89
|
+
diagnostics.push({
|
|
90
|
+
code: "HSX1305",
|
|
91
|
+
fix: `move all money in ${first[0]}; a program bills in one ledger currency`,
|
|
92
|
+
message: `program moves money in ${[...currencies.keys()].join(" and ")}; a program bills in one ledger currency`,
|
|
93
|
+
severity: "error",
|
|
94
|
+
span: second[1],
|
|
95
|
+
});
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
const ledger = first?.[0] ?? tables[0].currency;
|
|
99
|
+
const table = tables.find((candidate) => candidate.currency === ledger);
|
|
100
|
+
if (table)
|
|
101
|
+
return table;
|
|
102
|
+
const priced = tables.map((candidate) => candidate.currency).join(", ");
|
|
103
|
+
diagnostics.push({
|
|
104
|
+
code: "HSX1304",
|
|
105
|
+
fix: `move money in a priced currency: ${priced}`,
|
|
106
|
+
message: `program moves money in ${ledger}, which no cost table prices (priced: ${priced})`,
|
|
107
|
+
severity: "error",
|
|
108
|
+
span: first?.[1] ?? program.origin,
|
|
109
|
+
});
|
|
110
|
+
return undefined;
|
|
111
|
+
}
|
|
99
112
|
export function computeUdlFixedCost(document, table, composesCatalogBlueprint) {
|
|
100
113
|
const diagnostics = [];
|
|
101
114
|
const fixed = fixedCost(udlStructuralCounts(document, composesCatalogBlueprint), table, { start: 0, end: 0 }, diagnostics);
|
|
@@ -104,54 +117,20 @@ export function computeUdlFixedCost(document, table, composesCatalogBlueprint) {
|
|
|
104
117
|
return fixed;
|
|
105
118
|
}
|
|
106
119
|
export function buildUdlCostManifest(document, table, composesCatalogBlueprint) {
|
|
107
|
-
if (
|
|
120
|
+
if (!CURRENCY.test(table.currency)) {
|
|
108
121
|
throw new Error(`cost table ${table.version} has invalid billing currency ${table.currency}`);
|
|
109
122
|
}
|
|
110
|
-
const rowsBySignature =
|
|
111
|
-
for (const row of table.rows) {
|
|
112
|
-
rowsBySignature.set(row.signature, [
|
|
113
|
-
...(rowsBySignature.get(row.signature) ?? []),
|
|
114
|
-
row,
|
|
115
|
-
]);
|
|
116
|
-
}
|
|
123
|
+
const rowsBySignature = indexCostRows(table);
|
|
117
124
|
const actions = [];
|
|
118
125
|
for (const instrument of document.instruments) {
|
|
119
126
|
for (const [actionName, action] of Object.entries(instrument.actions)) {
|
|
120
|
-
const components = [];
|
|
121
|
-
let productPerEvent = 0n;
|
|
122
|
-
let endCustomerPerEvent = 0n;
|
|
123
127
|
const effects = (action.effects ?? {});
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
throw new Error(`${instrument.id}.${actionName} has unpriced effect signature ${signature}`);
|
|
128
|
-
for (const row of rows) {
|
|
129
|
-
if (!validPrice(row))
|
|
130
|
-
throw new Error(`cost table ${table.version} has an invalid ${signature} price`);
|
|
131
|
-
const eventTotal = BigInt(row.perEventMinor) * BigInt(count);
|
|
132
|
-
if (row.payer === "product")
|
|
133
|
-
productPerEvent += eventTotal;
|
|
134
|
-
else
|
|
135
|
-
endCustomerPerEvent += eventTotal;
|
|
136
|
-
components.push({
|
|
137
|
-
bps: row.bps,
|
|
138
|
-
count,
|
|
139
|
-
meter: row.meter,
|
|
140
|
-
payer: row.payer,
|
|
141
|
-
perEventMinor: row.perEventMinor,
|
|
142
|
-
settlement: row.settlement,
|
|
143
|
-
signature,
|
|
144
|
-
...(row.volumeMeter ? { volumeMeter: row.volumeMeter } : {}),
|
|
145
|
-
});
|
|
128
|
+
actions.push(priceAction(instrument.id, actionName, effectCounts(effects), rowsBySignature, (issue) => {
|
|
129
|
+
if (issue.kind === "missing_price") {
|
|
130
|
+
throw new Error(`${instrument.id}.${actionName} has unpriced effect signature ${issue.signature}`);
|
|
146
131
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
action: actionName,
|
|
150
|
-
components,
|
|
151
|
-
endCustomerPerEventMinor: endCustomerPerEvent.toString(),
|
|
152
|
-
instrument: instrument.id,
|
|
153
|
-
perEventMinor: productPerEvent.toString(),
|
|
154
|
-
});
|
|
132
|
+
throw new Error(`cost table ${table.version} has an invalid ${issue.signature} price`);
|
|
133
|
+
}));
|
|
155
134
|
}
|
|
156
135
|
}
|
|
157
136
|
return manifest(table, computeUdlFixedCost(document, table, composesCatalogBlueprint), actions);
|
|
@@ -175,6 +154,57 @@ export function evaluateUdlCostManifest(costManifest, readings) {
|
|
|
175
154
|
}
|
|
176
155
|
return total.toString();
|
|
177
156
|
}
|
|
157
|
+
function indexCostRows(table) {
|
|
158
|
+
const rowsBySignature = new Map();
|
|
159
|
+
for (const row of table.rows) {
|
|
160
|
+
const existing = rowsBySignature.get(row.signature);
|
|
161
|
+
if (existing)
|
|
162
|
+
existing.push(row);
|
|
163
|
+
else
|
|
164
|
+
rowsBySignature.set(row.signature, [row]);
|
|
165
|
+
}
|
|
166
|
+
return rowsBySignature;
|
|
167
|
+
}
|
|
168
|
+
function priceAction(instrument, action, counts, rowsBySignature, onIssue) {
|
|
169
|
+
const components = [];
|
|
170
|
+
let productPerEvent = 0n;
|
|
171
|
+
let endCustomerPerEvent = 0n;
|
|
172
|
+
for (const [signature, count] of counts) {
|
|
173
|
+
const rows = rowsBySignature.get(signature);
|
|
174
|
+
if (!rows || rows.length === 0) {
|
|
175
|
+
onIssue({ kind: "missing_price", signature });
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
for (const row of rows) {
|
|
179
|
+
if (!validPrice(row)) {
|
|
180
|
+
onIssue({ kind: "invalid_price", signature });
|
|
181
|
+
continue;
|
|
182
|
+
}
|
|
183
|
+
const eventTotal = BigInt(row.perEventMinor) * BigInt(count);
|
|
184
|
+
if (row.payer === "product")
|
|
185
|
+
productPerEvent += eventTotal;
|
|
186
|
+
else
|
|
187
|
+
endCustomerPerEvent += eventTotal;
|
|
188
|
+
components.push({
|
|
189
|
+
bps: row.bps,
|
|
190
|
+
count,
|
|
191
|
+
meter: row.meter,
|
|
192
|
+
payer: row.payer,
|
|
193
|
+
perEventMinor: row.perEventMinor,
|
|
194
|
+
settlement: row.settlement,
|
|
195
|
+
signature,
|
|
196
|
+
...(row.volumeMeter ? { volumeMeter: row.volumeMeter } : {}),
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return {
|
|
201
|
+
action,
|
|
202
|
+
components,
|
|
203
|
+
endCustomerPerEventMinor: endCustomerPerEvent.toString(),
|
|
204
|
+
instrument,
|
|
205
|
+
perEventMinor: productPerEvent.toString(),
|
|
206
|
+
};
|
|
207
|
+
}
|
|
178
208
|
function manifest(table, fixed, actions) {
|
|
179
209
|
const declaredMeters = [...new Set(table.declaredMeters)].sort();
|
|
180
210
|
const declaredMeterSet = new Set(declaredMeters);
|
package/dist/src/cost.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -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;
|
|
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,EA+frD,CAAC"}
|
package/dist/src/diagnostics.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
const instrument = (body) => `program catalog_probe "Catalog probe"
|
|
1
|
+
const instrument = (body, fields = "") => `program catalog_probe "Catalog probe"
|
|
2
2
|
instrument probe {
|
|
3
|
-
|
|
3
|
+
agent_description: "Probe instrument for catalog diagnostics.";
|
|
4
|
+
fields { ${fields} }
|
|
4
5
|
lifecycle { states created; initial created; }
|
|
5
|
-
action create {
|
|
6
|
+
action create {
|
|
7
|
+
agent_description: "Create a probe instance.";
|
|
8
|
+
steps: [];
|
|
9
|
+
}
|
|
6
10
|
${body}
|
|
7
11
|
}`;
|
|
8
12
|
/** Stable public descriptions for every diagnostic code emitted by HSX. */
|
|
@@ -186,8 +190,8 @@ instrument probe = template(value: "one", value: "two")`,
|
|
|
186
190
|
{
|
|
187
191
|
code: "HSX1022",
|
|
188
192
|
stage: "typecheck",
|
|
189
|
-
title: "Authored instrument
|
|
190
|
-
fix: "
|
|
193
|
+
title: "Authored instrument collides with published catalog",
|
|
194
|
+
fix: "Rename the authored instrument to avoid colliding with published catalog instruments.",
|
|
191
195
|
// This diagnostic requires a compiler-host published catalog.
|
|
192
196
|
example: null,
|
|
193
197
|
reason: "This refusal requires a compiler-host published catalog.",
|
|
@@ -199,6 +203,44 @@ instrument probe = template(value: "one", value: "two")`,
|
|
|
199
203
|
fix: "List declared, non-optional field names once each.",
|
|
200
204
|
example: instrument("required: missing;"),
|
|
201
205
|
},
|
|
206
|
+
{
|
|
207
|
+
code: "HSX1024",
|
|
208
|
+
stage: "typecheck",
|
|
209
|
+
title: "Decision party has no matching account binding",
|
|
210
|
+
fix: "Bind the allowed party to an account field and use that binding in the decision action.",
|
|
211
|
+
example: `program decision_binding "Decision binding"
|
|
212
|
+
party buyer: person
|
|
213
|
+
party seller: business
|
|
214
|
+
port approve { allowed: [buyer] }
|
|
215
|
+
instrument gated(decision: condition) {
|
|
216
|
+
fields {}
|
|
217
|
+
parties { payer: seller }
|
|
218
|
+
lifecycle { states created done; initial created; on approve: created -> done; }
|
|
219
|
+
action create { steps: []; }
|
|
220
|
+
action [decision] { steps: []; port { allowed_parties: [payer]; } }
|
|
221
|
+
}
|
|
222
|
+
instrument gate = gated(decision: port approve)`,
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
code: "HSX1025",
|
|
226
|
+
stage: "typecheck",
|
|
227
|
+
title: "Unknown decision port shape type",
|
|
228
|
+
fix: "Declare the shape field as text, money(CUR), date, integer, boolean, account(CUR), ref<instrument_id>, id(instrument_id), bps, or percent.",
|
|
229
|
+
example: `program catalog_probe "Catalog probe"
|
|
230
|
+
import { security_deposit } from "std/money_flows"
|
|
231
|
+
party buyer: person
|
|
232
|
+
party seller: business
|
|
233
|
+
settlement hold = security_deposit {
|
|
234
|
+
payer: buyer
|
|
235
|
+
holder: seller
|
|
236
|
+
amount: depositAmount: money(SAR)
|
|
237
|
+
claim: port report_damage
|
|
238
|
+
claim_amount: { field: damageAmount, bound: depositAmount, remainder: return }
|
|
239
|
+
return: port pass_inspection
|
|
240
|
+
}
|
|
241
|
+
port report_damage { allowed: [seller] shape { damageAmount: money(SAR) } }
|
|
242
|
+
port pass_inspection { allowed: [seller] shape { invalidField: mystery_type } }`,
|
|
243
|
+
},
|
|
202
244
|
{
|
|
203
245
|
code: "HSX1101",
|
|
204
246
|
stage: "typecheck",
|
|
@@ -282,6 +324,27 @@ action pay { computes remainder rest { amount_ref: total; on_zero: refuse; total
|
|
|
282
324
|
example: null,
|
|
283
325
|
reason: "This refusal requires an invalid compiler-host cost-table currency.",
|
|
284
326
|
},
|
|
327
|
+
{
|
|
328
|
+
code: "HSX1304",
|
|
329
|
+
stage: "typecheck",
|
|
330
|
+
title: "Unpriced ledger currency",
|
|
331
|
+
fix: "Move money in a currency the shipped cost tables price.",
|
|
332
|
+
example: instrument("", "amount: money<JPY>;"),
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
code: "HSX1305",
|
|
336
|
+
stage: "typecheck",
|
|
337
|
+
title: "More than one ledger currency",
|
|
338
|
+
fix: "Move all money in one currency; a program bills in one ledger currency.",
|
|
339
|
+
example: instrument("", "amount: money<SAR>; fee: money<USD>;"),
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
code: "HSX1306",
|
|
343
|
+
stage: "typecheck",
|
|
344
|
+
title: "Fixed-currency amount moved in another currency",
|
|
345
|
+
fix: "Bind the currency of a money<CUR> move or account step as the constant CUR; the compiler pins a binding that reads the instrument's currency field.",
|
|
346
|
+
example: instrument(`action pay { agent_description: "Pay the amount."; moves: [{ "bind": { "amount": { "from": "instance"; "path": "fields.amount"; }; "currency": { "from": "const"; "value": "USD"; }; "destinationAccountId": { "from": "instance"; "path": "fields.payeeAccountId"; }; "sourceAccountId": { "from": "instance"; "path": "fields.payerAccountId"; }; }; "key": "transfer"; "operation": "internal_transfer.create"; }]; steps: []; }`, "amount: money<SAR>; payeeAccountId: account<SAR>; payerAccountId: account<SAR>;"),
|
|
347
|
+
},
|
|
285
348
|
{
|
|
286
349
|
code: "HSX1401",
|
|
287
350
|
stage: "typecheck",
|
|
@@ -390,6 +453,34 @@ instrument probe = template()`,
|
|
|
390
453
|
example: `program catalog_probe "Catalog probe"
|
|
391
454
|
export instrument template() { fields {}; lifecycle { states created; initial created; }; action create { steps: []; }; }
|
|
392
455
|
instrument probe = template() { fields: {}; }`,
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
code: "HSX1508",
|
|
459
|
+
stage: "typecheck",
|
|
460
|
+
title: "Invalid action-level port syntax",
|
|
461
|
+
fix: "Use allowed_parties: [...] inside an action-level port clause; allowed: is for top-level port declarations.",
|
|
462
|
+
example: `program catalog_probe "Catalog probe"
|
|
463
|
+
party approver: person
|
|
464
|
+
instrument probe {
|
|
465
|
+
fields {}
|
|
466
|
+
lifecycle { states created; initial created; }
|
|
467
|
+
action create {
|
|
468
|
+
steps: [];
|
|
469
|
+
port { allowed: [approver]; }
|
|
470
|
+
}
|
|
471
|
+
}`,
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
code: "HSX1509",
|
|
475
|
+
stage: "typecheck",
|
|
476
|
+
title: "Callable action without an agent description",
|
|
477
|
+
fix: 'Add agent_description: "..." to the instrument and to every action a caller can reach; composer.check refuses the program without them.',
|
|
478
|
+
example: `program catalog_probe "Catalog probe"
|
|
479
|
+
instrument probe {
|
|
480
|
+
fields {}
|
|
481
|
+
lifecycle { states created; initial created; }
|
|
482
|
+
action create { steps: []; }
|
|
483
|
+
}`,
|
|
393
484
|
},
|
|
394
485
|
{
|
|
395
486
|
code: "HSX1601",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/diagnostics.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,GAAG,CACjB,IAAY,
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/diagnostics.ts"],"names":[],"mappings":"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"}
|
package/dist/src/emit.d.ts
CHANGED
|
@@ -24,11 +24,13 @@ export type GeneralLowerResult = {
|
|
|
24
24
|
} | {
|
|
25
25
|
readonly ok: true;
|
|
26
26
|
readonly value: {
|
|
27
|
-
readonly canonicalUdl: string;
|
|
28
27
|
readonly document: UdlDocument;
|
|
29
28
|
readonly originMap: readonly OriginMapEntry[];
|
|
30
29
|
};
|
|
31
30
|
};
|
|
32
31
|
export declare function lowerGeneralProgram(program: TypedProgram): GeneralLowerResult;
|
|
32
|
+
export declare function originForUdlPath<T extends {
|
|
33
|
+
readonly path: string;
|
|
34
|
+
}>(path: string, origins: readonly T[]): T | undefined;
|
|
33
35
|
export declare function requiredFields(instrument: TypedInstrument): string[];
|
|
34
36
|
//# sourceMappingURL=emit.d.ts.map
|
package/dist/src/emit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../src/emit.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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"}
|
package/dist/src/emit.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { validateUdl, } from "@hyperscale0/udl";
|
|
2
2
|
export function lowerGeneralProgram(program) {
|
|
3
3
|
const candidate = {
|
|
4
4
|
instruments: program.instruments.map((instrument) => ({
|
|
@@ -36,7 +36,9 @@ export function lowerGeneralProgram(program) {
|
|
|
36
36
|
ok: false,
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
-
const validation = validateUdl(candidate
|
|
39
|
+
const validation = validateUdl(candidate, {
|
|
40
|
+
requireDecisionPartyBindings: true,
|
|
41
|
+
});
|
|
40
42
|
if (!validation.ok) {
|
|
41
43
|
const origins = originMapFor(program);
|
|
42
44
|
return {
|
|
@@ -58,7 +60,6 @@ export function lowerGeneralProgram(program) {
|
|
|
58
60
|
return {
|
|
59
61
|
ok: true,
|
|
60
62
|
value: {
|
|
61
|
-
canonicalUdl: serializeUdl(document),
|
|
62
63
|
document,
|
|
63
64
|
originMap: originMapFor(program),
|
|
64
65
|
},
|
|
@@ -82,13 +83,29 @@ function unresolvedCompilerMarkers(value, path = "$") {
|
|
|
82
83
|
return [...keyIssues, ...unresolvedCompilerMarkers(item, childPath)];
|
|
83
84
|
});
|
|
84
85
|
}
|
|
85
|
-
function originForUdlPath(path, origins) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
86
|
+
export function originForUdlPath(path, origins) {
|
|
87
|
+
let longestMatch;
|
|
88
|
+
let longestLength = -1;
|
|
89
|
+
let rootFallback;
|
|
90
|
+
for (let i = 0; i < origins.length; i += 1) {
|
|
91
|
+
const entry = origins[i];
|
|
92
|
+
const entryPath = entry.path;
|
|
93
|
+
if (rootFallback === undefined && entryPath === "$") {
|
|
94
|
+
rootFallback = entry;
|
|
95
|
+
}
|
|
96
|
+
const entryLen = entryPath.length;
|
|
97
|
+
if (path === entryPath ||
|
|
98
|
+
(path.length > entryLen &&
|
|
99
|
+
(path.charCodeAt(entryLen) === 46 ||
|
|
100
|
+
path.charCodeAt(entryLen) === 91) &&
|
|
101
|
+
path.startsWith(entryPath))) {
|
|
102
|
+
if (entryLen > longestLength) {
|
|
103
|
+
longestMatch = entry;
|
|
104
|
+
longestLength = entryLen;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return longestMatch ?? rootFallback;
|
|
92
109
|
}
|
|
93
110
|
export function requiredFields(instrument) {
|
|
94
111
|
const explicit = instrument.slots.required;
|