@scriptc/compiler 0.0.9 → 0.0.11
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/ambient/scriptc-node-fallback.d.ts +54 -9
- package/dist/backend/emission/emit-exprs.js +170 -14
- package/dist/backend/emission/emit-exprs.js.map +1 -1
- package/dist/backend/emission/emit-walkers.js +29 -2
- package/dist/backend/emission/emit-walkers.js.map +1 -1
- package/dist/backend/emission/emitter.js +25 -1
- package/dist/backend/emission/emitter.js.map +1 -1
- package/dist/backend/llvm/dyn.d.ts +1 -0
- package/dist/backend/llvm/dyn.js +83 -1
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emitter.js +210 -13
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/coverage/surface-manifest.js +16 -2
- package/dist/coverage/surface-manifest.js.map +1 -1
- package/dist/diagnostics/diagnostic.d.ts +41 -14
- package/dist/diagnostics/diagnostic.js +79 -27
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/diagnostics/render.js +8 -0
- package/dist/diagnostics/render.js.map +1 -1
- package/dist/frontend/lowering/lib-boundary.js +11 -1
- package/dist/frontend/lowering/lib-boundary.js.map +1 -1
- package/dist/frontend/lowering/lower-builtins.d.ts +69 -0
- package/dist/frontend/lowering/lower-builtins.js +380 -4
- package/dist/frontend/lowering/lower-builtins.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.d.ts +41 -0
- package/dist/frontend/lowering/lower-calls.js +559 -11
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.d.ts +7 -0
- package/dist/frontend/lowering/lower-classes.js +51 -1
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-containers.d.ts +21 -0
- package/dist/frontend/lowering/lower-containers.js +262 -17
- package/dist/frontend/lowering/lower-containers.js.map +1 -1
- package/dist/frontend/lowering/lower-dgram.js +92 -17
- package/dist/frontend/lowering/lower-dgram.js.map +1 -1
- package/dist/frontend/lowering/lower-emitter.d.ts +70 -3
- package/dist/frontend/lowering/lower-emitter.js +436 -29
- package/dist/frontend/lowering/lower-emitter.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.d.ts +80 -5
- package/dist/frontend/lowering/lower-exprs.js +651 -23
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.d.ts +8 -5
- package/dist/frontend/lowering/lower-modules.js +144 -19
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-namespaces.d.ts +39 -11
- package/dist/frontend/lowering/lower-namespaces.js +166 -24
- package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
- package/dist/frontend/lowering/lower-server.js +211 -4
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.d.ts +1 -5
- package/dist/frontend/lowering/lower-stmts.js +293 -10
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.js +178 -10
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +53 -1
- package/dist/frontend/lowering/lowerer.js +210 -19
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/surfaces.d.ts +44 -0
- package/dist/frontend/lowering/surfaces.js +234 -3
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/npm.d.ts +12 -0
- package/dist/frontend/npm.js +30 -0
- package/dist/frontend/npm.js.map +1 -1
- package/dist/frontend/program.d.ts +25 -0
- package/dist/frontend/program.js +144 -135
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/shared.d.ts +1 -1
- package/dist/frontend/shared.js +1 -1
- package/dist/frontend/shared.js.map +1 -1
- package/dist/frontend/types.d.ts +13 -0
- package/dist/frontend/types.js +84 -7
- package/dist/frontend/types.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +157 -12
- package/dist/index.js.map +1 -1
- package/dist/ir/nodes.d.ts +163 -13
- package/dist/ir/nodes.js +65 -6
- package/dist/ir/nodes.js.map +1 -1
- package/dist/ir/validate.js +64 -5
- package/dist/ir/validate.js.map +1 -1
- package/dist/library/fence-eval.d.ts +77 -0
- package/dist/library/fence-eval.js +395 -0
- package/dist/library/fence-eval.js.map +1 -0
- package/dist/library/int-infer.d.ts +119 -0
- package/dist/library/int-infer.js +1301 -0
- package/dist/library/int-infer.js.map +1 -0
- package/dist/library/int-infer.test.d.ts +1 -0
- package/dist/library/int-infer.test.js +279 -0
- package/dist/library/int-infer.test.js.map +1 -0
- package/dist/library/profile.d.ts +43 -6
- package/dist/library/profile.js +179 -31
- package/dist/library/profile.js.map +1 -1
- package/dist/library/sidecar.d.ts +23 -0
- package/dist/library/sidecar.js +150 -16
- package/dist/library/sidecar.js.map +1 -1
- package/package.json +2 -2
- package/surface-manifest.json +208 -10
package/dist/library/profile.js
CHANGED
|
@@ -26,13 +26,24 @@
|
|
|
26
26
|
* "sidecar": { ... }, // ask-2 contract sidecar
|
|
27
27
|
* // (see below); absent =
|
|
28
28
|
* // no sidecar is emitted
|
|
29
|
-
* "determinism": { ... } // ask-5 surface
|
|
30
|
-
* //
|
|
31
|
-
* //
|
|
32
|
-
* //
|
|
33
|
-
* // teaching rider + the
|
|
29
|
+
* "determinism": { ... } // the ask-5 surface:
|
|
30
|
+
* // `teachings`/`remediations`
|
|
31
|
+
* // maps (the SC4004/SC4005
|
|
32
|
+
* // rider generalized + the
|
|
34
33
|
* // structured trap-teaching
|
|
35
34
|
* // encoding's text sources)
|
|
35
|
+
* // and the `fences` array —
|
|
36
|
+
* // deny-by-manifest-id
|
|
37
|
+
* // entries, each exactly one
|
|
38
|
+
* // of id/prefix plus optional
|
|
39
|
+
* // teaching/remediation
|
|
40
|
+
* // (fence-eval.ts resolves
|
|
41
|
+
* // them against this
|
|
42
|
+
* // release's surface
|
|
43
|
+
* // manifest at load);
|
|
44
|
+
* // everything else under
|
|
45
|
+
* // `determinism` stays
|
|
46
|
+
* // reserved and ignored
|
|
36
47
|
* }
|
|
37
48
|
*
|
|
38
49
|
* The `sidecar` section (ask 2): when present, the same invocation that
|
|
@@ -67,21 +78,40 @@
|
|
|
67
78
|
* getters are pure data returns exempt from the poisoned guard and every
|
|
68
79
|
* runtime touch (ratified): callable before init and after a trap.
|
|
69
80
|
*
|
|
70
|
-
* Marshalling classes (design §4.2 + session ruling 3): f64, bool,
|
|
71
|
-
* bytes for params and returns; u8/u32/i32 are PARAM-ONLY plumbing
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
81
|
+
* Marshalling classes (design §4.2 + session ruling 3 + ask 4): f64, bool,
|
|
82
|
+
* string, bytes for params and returns; u8/u32/i32 are PARAM-ONLY plumbing
|
|
83
|
+
* classes; i64/u64 are ask-4's declared integer boundary classes (params:
|
|
84
|
+
* wrapper range-check inbound, compile-time proof at internal call sites;
|
|
85
|
+
* returns: prove-or-refuse over every value reaching them); void is
|
|
86
|
+
* return-only. Unknown fields are refused at EVERY level the loader reads
|
|
87
|
+
* — the root included (the anti-inert posture: profiles pin per compiler
|
|
88
|
+
* release, so an unknown root key is a typo or a misplaced section, never
|
|
89
|
+
* forward-compat surface; the ask-5 key names at the root refuse with a
|
|
90
|
+
* pointer to their `determinism.*` home, since a silently inert `fences`
|
|
91
|
+
* array is exactly the footgun the fence machinery refuses everywhere
|
|
92
|
+
* else). Only the INTERIOR of `determinism` keeps a reserved-and-ignored
|
|
93
|
+
* surface beyond the three ask-5 keys. */
|
|
77
94
|
import { readFileSync } from "node:fs";
|
|
78
95
|
import { dirname, isAbsolute, resolve } from "node:path";
|
|
79
96
|
import { libProfileDiag } from "../diagnostics/diagnostic.js";
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
*
|
|
84
|
-
|
|
97
|
+
import { resolveLibraryFences } from "./fence-eval.js";
|
|
98
|
+
/** Marshalling classes legal in PARAMETER position: the v1 classes plus
|
|
99
|
+
* ask 4's declared integer boundary classes. An i64/u64 PARAMETER is an
|
|
100
|
+
* FFI edge contract on both sides: inbound host calls range-check in the
|
|
101
|
+
* marshalled wrapper (values past ±(2^53−1) cannot ride f64 exactly — the
|
|
102
|
+
* SC4012 host-contract trap), and internal call sites must PROVE the
|
|
103
|
+
* argument whole-in-range at compile time (library/int-infer.ts). */
|
|
104
|
+
export const LIB_PARAM_CLASSES = ["f64", "bool", "string", "bytes", "u8", "u32", "i32", "i64", "u64"];
|
|
105
|
+
/** Marshalling classes legal in RETURN position: the value classes, void,
|
|
106
|
+
* and ask 4's i64/u64 — an integer RETURN compiles only when every value
|
|
107
|
+
* reaching it is PROVEN whole and in range (prove-or-refuse; the wrapper's
|
|
108
|
+
* (int64_t)/(uint64_t) conversion is then exact by construction). The
|
|
109
|
+
* u8/u32/i32 plumbing classes stay param-only: they were ratified as
|
|
110
|
+
* inbound plumbing, and outbound integers are the proven classes'
|
|
111
|
+
* business. */
|
|
112
|
+
export const LIB_RETURN_CLASSES = ["f64", "bool", "string", "bytes", "void", "i64", "u64"];
|
|
113
|
+
/** Ask 4's declared integer classes (the prove-or-refuse pair). */
|
|
114
|
+
export const LIB_INT_CLASSES = ["i64", "u64"];
|
|
85
115
|
const C_IDENT = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
86
116
|
class ProfileError extends Error {
|
|
87
117
|
detail;
|
|
@@ -143,6 +173,19 @@ export function loadLibraryProfile(profilePath) {
|
|
|
143
173
|
const format = req(p["profile_format"], "profile_format", "number");
|
|
144
174
|
if (format !== 1)
|
|
145
175
|
throw new ProfileError(`unsupported profile_format ${format} (this scriptc reads format 1)`);
|
|
176
|
+
// Root keys are strict (checked AFTER the format gate, so a future
|
|
177
|
+
// format's profile refuses as the wrong format, not as a typo). The
|
|
178
|
+
// ask-5 key names get the pointed message: a `fences` array pasted at
|
|
179
|
+
// the root would otherwise be silently inert — the exact footgun the
|
|
180
|
+
// fence machinery refuses everywhere else.
|
|
181
|
+
for (const k of Object.keys(p)) {
|
|
182
|
+
if (["profile_format", "name", "entry", "emission", "abi", "exports", "sidecar", "determinism"].includes(k))
|
|
183
|
+
continue;
|
|
184
|
+
if (k === "fences" || k === "teachings" || k === "remediations") {
|
|
185
|
+
throw new ProfileError(`'${k}' at the profile root does nothing — the ask-5 determinism surface lives under 'determinism.${k}'; move it there`);
|
|
186
|
+
}
|
|
187
|
+
throw new ProfileError(`unknown field '${k}' (root keys are strict: a typo here would silently change the build; remove it)`);
|
|
188
|
+
}
|
|
146
189
|
const name = req(p["name"], "name", "string");
|
|
147
190
|
if (name === "")
|
|
148
191
|
throw new ProfileError("'name' must be a non-empty identity string");
|
|
@@ -194,7 +237,7 @@ export function loadLibraryProfile(profilePath) {
|
|
|
194
237
|
const returns = req(ee["returns"], `${path}.returns`, "string");
|
|
195
238
|
if (!LIB_RETURN_CLASSES.includes(returns)) {
|
|
196
239
|
const detail = returns === "u8" || returns === "u32" || returns === "i32"
|
|
197
|
-
? `'${path}.returns':
|
|
240
|
+
? `'${path}.returns': the u8/u32/i32 plumbing classes are parameter-only — an outbound integer return is declared i64 or u64 and compiles only when every value reaching it proves whole and in ±(2^53 − 1) (ask 4's prove-or-refuse)`
|
|
198
241
|
: `'${path}.returns' must be one of ${LIB_RETURN_CLASSES.join("/")}, got '${returns}'`;
|
|
199
242
|
throw new ProfileError(detail);
|
|
200
243
|
}
|
|
@@ -212,6 +255,7 @@ export function loadLibraryProfile(profilePath) {
|
|
|
212
255
|
"path", "wire_version", "abi_version", "snapshot_format",
|
|
213
256
|
"build_id_symbol", "abi_version_symbol", "model", "msg",
|
|
214
257
|
"init_export", "update_export", "subscriptions_export", "source_hash",
|
|
258
|
+
"integer_slots",
|
|
215
259
|
]);
|
|
216
260
|
const s = sc;
|
|
217
261
|
const intField = (key) => {
|
|
@@ -243,6 +287,37 @@ export function loadLibraryProfile(profilePath) {
|
|
|
243
287
|
if (sourceHash !== "module-graph") {
|
|
244
288
|
throw new ProfileError(`'sidecar.source_hash' names an unknown hashing contract '${sourceHash}' (this scriptc implements "module-graph")`);
|
|
245
289
|
}
|
|
290
|
+
// Ask 4's declared integer boundary slots: each entry names a
|
|
291
|
+
// contract slot by its sidecar path and picks the integer class.
|
|
292
|
+
// Path RESOLUTION happens at sidecar build (the contract must
|
|
293
|
+
// exist first); here the shape is pinned — a typo'd key or class
|
|
294
|
+
// would silently change an ABI obligation.
|
|
295
|
+
const integerSlots = [];
|
|
296
|
+
const isRaw = s["integer_slots"];
|
|
297
|
+
if (isRaw !== undefined && isRaw !== null) {
|
|
298
|
+
if (!Array.isArray(isRaw))
|
|
299
|
+
throw new ProfileError("'sidecar.integer_slots' must be an array");
|
|
300
|
+
const seenSlots = new Set();
|
|
301
|
+
isRaw.forEach((entry, i) => {
|
|
302
|
+
const epath = `sidecar.integer_slots[${i}]`;
|
|
303
|
+
if (entry === null || typeof entry !== "object" || Array.isArray(entry)) {
|
|
304
|
+
throw new ProfileError(`'${epath}' must be an object`);
|
|
305
|
+
}
|
|
306
|
+
rejectUnknownKeys(entry, epath, ["slot", "class"]);
|
|
307
|
+
const ee2 = entry;
|
|
308
|
+
const slot = req(ee2["slot"], `${epath}.slot`, "string");
|
|
309
|
+
if (slot === "")
|
|
310
|
+
throw new ProfileError(`'${epath}.slot' must be a non-empty slot path`);
|
|
311
|
+
const cls = req(ee2["class"], `${epath}.class`, "string");
|
|
312
|
+
if (cls !== "i64" && cls !== "u64") {
|
|
313
|
+
throw new ProfileError(`'${epath}.class' must be "i64" or "u64", got '${cls}'`);
|
|
314
|
+
}
|
|
315
|
+
if (seenSlots.has(slot))
|
|
316
|
+
throw new ProfileError(`'${epath}.slot' repeats slot path '${slot}'`);
|
|
317
|
+
seenSlots.add(slot);
|
|
318
|
+
integerSlots.push({ slot, cls });
|
|
319
|
+
});
|
|
320
|
+
}
|
|
246
321
|
sidecar = {
|
|
247
322
|
path,
|
|
248
323
|
wireVersion: intField("wire_version"),
|
|
@@ -256,6 +331,7 @@ export function loadLibraryProfile(profilePath) {
|
|
|
256
331
|
updateExport: nameField("update_export", "update"),
|
|
257
332
|
subscriptionsExport: nameField("subscriptions_export", "subscriptions"),
|
|
258
333
|
sourceHash: "module-graph",
|
|
334
|
+
integerSlots,
|
|
259
335
|
};
|
|
260
336
|
if (sidecar.model === sidecar.msg) {
|
|
261
337
|
throw new ProfileError(`'sidecar.msg' must differ from 'sidecar.model' ('${sidecar.model}')`);
|
|
@@ -289,17 +365,31 @@ export function loadLibraryProfile(profilePath) {
|
|
|
289
365
|
}
|
|
290
366
|
exportNames.add(e.export);
|
|
291
367
|
});
|
|
292
|
-
// Ask-5 surface:
|
|
293
|
-
//
|
|
294
|
-
//
|
|
295
|
-
//
|
|
296
|
-
//
|
|
297
|
-
//
|
|
298
|
-
//
|
|
368
|
+
// Ask-5 surface: the teachings/remediations riders and the fences
|
|
369
|
+
// array are read; everything else under `determinism` is reserved and
|
|
370
|
+
// ignored. Teaching/remediation TEXT refuses every control byte below
|
|
371
|
+
// 0x20 except newline (the ratified constraint: 0x01 and 0x1F are the
|
|
372
|
+
// structured trap encoding's marker and separator — either inside
|
|
373
|
+
// profile-authored text would corrupt the assembled sink message; the
|
|
374
|
+
// remaining control bytes have no honest place in teaching prose) and
|
|
375
|
+
// caps at 512 UTF-8 bytes per string. Keys are diagnostic codes
|
|
376
|
+
// validated ONLY as control-free tokens — embedder code spaces belong
|
|
299
377
|
// to the embedder (SC is the compiler registry's); membership is
|
|
300
378
|
// never checked here.
|
|
301
379
|
const teachings = {};
|
|
302
380
|
const remediations = {};
|
|
381
|
+
let fences = [];
|
|
382
|
+
const RESERVED_TEXT = /[\u0000-\u0009\u000b-\u001f]/;
|
|
383
|
+
const RESERVED_KEY = /[\u0000-\u001f]/;
|
|
384
|
+
const checkRiderText = (v, path) => {
|
|
385
|
+
if (RESERVED_TEXT.test(v)) {
|
|
386
|
+
throw new ProfileError(`'${path}' contains a reserved byte — control bytes below 0x20 are refused (0x01 and 0x1F are the structured trap encoding's marker and separator); teaching and remediation text must be plain UTF-8, newlines only`);
|
|
387
|
+
}
|
|
388
|
+
const bytes = new TextEncoder().encode(v).length;
|
|
389
|
+
if (bytes > 512) {
|
|
390
|
+
throw new ProfileError(`'${path}' is ${bytes} bytes — teaching and remediation strings cap at 512 bytes`);
|
|
391
|
+
}
|
|
392
|
+
};
|
|
303
393
|
const det = p["determinism"];
|
|
304
394
|
if (det !== undefined && det !== null && typeof det === "object" && !Array.isArray(det)) {
|
|
305
395
|
const readRider = (rider, into) => {
|
|
@@ -309,17 +399,61 @@ export function loadLibraryProfile(profilePath) {
|
|
|
309
399
|
for (const [k, v] of Object.entries(t)) {
|
|
310
400
|
if (typeof v !== "string")
|
|
311
401
|
continue;
|
|
312
|
-
if (
|
|
402
|
+
if (RESERVED_KEY.test(k)) {
|
|
313
403
|
throw new ProfileError(`'determinism.${rider}' key ${JSON.stringify(k)} contains a reserved byte — 0x01 and 0x1F are the structured trap encoding's marker and separator; a code must be a plain token`);
|
|
314
404
|
}
|
|
315
|
-
|
|
316
|
-
throw new ProfileError(`'determinism.${rider}.${k}' contains a reserved byte — 0x01 and 0x1F are the structured trap encoding's marker and separator; teaching and remediation text must be plain UTF-8`);
|
|
317
|
-
}
|
|
405
|
+
checkRiderText(v, `determinism.${rider}.${k}`);
|
|
318
406
|
into[k] = v;
|
|
319
407
|
}
|
|
320
408
|
};
|
|
321
409
|
readRider("teachings", teachings);
|
|
322
410
|
readRider("remediations", remediations);
|
|
411
|
+
// The fences array (spec §1): each entry exactly one of id/prefix
|
|
412
|
+
// plus optional teaching/remediation, unknown fields refused (a typo
|
|
413
|
+
// here silently disarms a denial), and the selector resolved against
|
|
414
|
+
// this release's surface manifest — unknown ids/prefixes refuse
|
|
415
|
+
// loudly (ratified: fence profiles pin per compiler release).
|
|
416
|
+
const fencesRaw = det["fences"];
|
|
417
|
+
if (fencesRaw !== undefined && fencesRaw !== null) {
|
|
418
|
+
if (!Array.isArray(fencesRaw))
|
|
419
|
+
throw new ProfileError("'determinism.fences' must be an array");
|
|
420
|
+
const decls = fencesRaw.map((f, i) => {
|
|
421
|
+
const path = `determinism.fences[${i}]`;
|
|
422
|
+
if (f === null || typeof f !== "object" || Array.isArray(f)) {
|
|
423
|
+
throw new ProfileError(`'${path}' must be an object`);
|
|
424
|
+
}
|
|
425
|
+
rejectUnknownKeys(f, path, ["id", "prefix", "teaching", "remediation"]);
|
|
426
|
+
const ff = f;
|
|
427
|
+
if ((ff["id"] === undefined) === (ff["prefix"] === undefined)) {
|
|
428
|
+
throw new ProfileError(`'${path}' must carry exactly one of 'id' or 'prefix'`);
|
|
429
|
+
}
|
|
430
|
+
const decl = { path };
|
|
431
|
+
if (ff["id"] !== undefined) {
|
|
432
|
+
const id = req(ff["id"], `${path}.id`, "string");
|
|
433
|
+
if (id === "")
|
|
434
|
+
throw new ProfileError(`'${path}.id' must be a non-empty manifest entry id`);
|
|
435
|
+
decl.id = id;
|
|
436
|
+
}
|
|
437
|
+
else {
|
|
438
|
+
const prefix = req(ff["prefix"], `${path}.prefix`, "string");
|
|
439
|
+
if (prefix === "")
|
|
440
|
+
throw new ProfileError(`'${path}.prefix' must be a non-empty manifest id prefix`);
|
|
441
|
+
decl.prefix = prefix;
|
|
442
|
+
}
|
|
443
|
+
for (const rider of ["teaching", "remediation"]) {
|
|
444
|
+
if (ff[rider] === undefined)
|
|
445
|
+
continue;
|
|
446
|
+
const text = req(ff[rider], `${path}.${rider}`, "string");
|
|
447
|
+
checkRiderText(text, `${path}.${rider}`);
|
|
448
|
+
decl[rider] = text;
|
|
449
|
+
}
|
|
450
|
+
return decl;
|
|
451
|
+
});
|
|
452
|
+
const resolved = resolveLibraryFences(decls);
|
|
453
|
+
if (!resolved.ok)
|
|
454
|
+
throw new ProfileError(resolved.detail);
|
|
455
|
+
fences = resolved.fences;
|
|
456
|
+
}
|
|
323
457
|
}
|
|
324
458
|
const entry = isAbsolute(entryRel) ? entryRel : resolve(dirname(profilePath), entryRel);
|
|
325
459
|
return {
|
|
@@ -339,6 +473,7 @@ export function loadLibraryProfile(profilePath) {
|
|
|
339
473
|
profileBytes: bytes,
|
|
340
474
|
teachings,
|
|
341
475
|
remediations,
|
|
476
|
+
fences,
|
|
342
477
|
},
|
|
343
478
|
};
|
|
344
479
|
}
|
|
@@ -356,8 +491,21 @@ export function profileTeaching(profile, code) {
|
|
|
356
491
|
}
|
|
357
492
|
/** The profile's remediation text for one code — the structured
|
|
358
493
|
* trap-teaching message's optional fourth field. No shared-key fallback:
|
|
359
|
-
* a remediation names one code's fix.
|
|
494
|
+
* a remediation names one code's fix. A fence entry's `remediation` feeds
|
|
495
|
+
* the same lookup through the codes its covered manifest entries carry
|
|
496
|
+
* (spec §3: "a remediation in a fence entry or a `remediations` map" —
|
|
497
|
+
* one data source for the field that already exists); an explicit map key
|
|
498
|
+
* wins over a fence's, and the first declared fence wins among fences. */
|
|
360
499
|
export function profileRemediation(profile, code) {
|
|
361
|
-
|
|
500
|
+
const direct = profile.remediations[code];
|
|
501
|
+
if (direct !== undefined)
|
|
502
|
+
return direct;
|
|
503
|
+
for (const fence of profile.fences) {
|
|
504
|
+
if (fence.remediation === undefined)
|
|
505
|
+
continue;
|
|
506
|
+
if (fence.surfaces.some((s) => s.code === code))
|
|
507
|
+
return fence.remediation;
|
|
508
|
+
}
|
|
509
|
+
return undefined;
|
|
362
510
|
}
|
|
363
511
|
//# sourceMappingURL=profile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/library/profile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/library/profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -180,10 +180,33 @@ export interface SidecarBuildInput {
|
|
|
180
180
|
sourceHash: string;
|
|
181
181
|
deterministic: boolean;
|
|
182
182
|
}
|
|
183
|
+
/** The declared integer slots (ask 4), resolved by the projection into
|
|
184
|
+
* the facts the boundary inference maps onto lowered IR: helper slots by
|
|
185
|
+
* function name and IR parameter index (the schema's helper param index
|
|
186
|
+
* skips the model receiver, so `index` is already shifted +1), and
|
|
187
|
+
* record-field slots by the containing record's projected field-name
|
|
188
|
+
* list plus the target field (IR record shapes intern structurally by
|
|
189
|
+
* field name, so the list is the join key). */
|
|
190
|
+
export interface SidecarIntegerSlotFacts {
|
|
191
|
+
helpers: {
|
|
192
|
+
fnName: string;
|
|
193
|
+
kind: "param" | "return";
|
|
194
|
+
index?: number;
|
|
195
|
+
cls: "i64" | "u64";
|
|
196
|
+
path: string;
|
|
197
|
+
}[];
|
|
198
|
+
records: {
|
|
199
|
+
fieldNames: string[];
|
|
200
|
+
targetField: string;
|
|
201
|
+
cls: "i64" | "u64";
|
|
202
|
+
path: string;
|
|
203
|
+
}[];
|
|
204
|
+
}
|
|
183
205
|
export type SidecarBuildResult = {
|
|
184
206
|
ok: true;
|
|
185
207
|
doc: SidecarDoc;
|
|
186
208
|
json: string;
|
|
209
|
+
integerSlotFacts: SidecarIntegerSlotFacts;
|
|
187
210
|
} | {
|
|
188
211
|
ok: false;
|
|
189
212
|
diagnostics: ScrDiagnostic[];
|