@scriptc/compiler 0.0.5 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/backend/emission/emit-exprs.js +25 -2
  2. package/dist/backend/emission/emit-exprs.js.map +1 -1
  3. package/dist/backend/emission/emit-walkers.js +47 -0
  4. package/dist/backend/emission/emit-walkers.js.map +1 -1
  5. package/dist/backend/emission/emitter.js +7 -0
  6. package/dist/backend/emission/emitter.js.map +1 -1
  7. package/dist/backend/emission/may-throw.js +12 -0
  8. package/dist/backend/emission/may-throw.js.map +1 -1
  9. package/dist/backend/llvm/dyn.js +23 -1
  10. package/dist/backend/llvm/dyn.js.map +1 -1
  11. package/dist/backend/llvm/emitter.js +28 -4
  12. package/dist/backend/llvm/emitter.js.map +1 -1
  13. package/dist/backend/llvm/walkers.d.ts +5 -0
  14. package/dist/backend/llvm/walkers.js +65 -5
  15. package/dist/backend/llvm/walkers.js.map +1 -1
  16. package/dist/diagnostics/diagnostic.d.ts +6 -0
  17. package/dist/diagnostics/diagnostic.js +16 -0
  18. package/dist/diagnostics/diagnostic.js.map +1 -1
  19. package/dist/frontend/lib-contract.d.ts +96 -0
  20. package/dist/frontend/lib-contract.js +291 -0
  21. package/dist/frontend/lib-contract.js.map +1 -0
  22. package/dist/frontend/lowering/lower-assert.js +41 -1
  23. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  24. package/dist/frontend/lowering/lower-exprs.js +19 -4
  25. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  26. package/dist/frontend/lowering/lower-inspect.d.ts +7 -0
  27. package/dist/frontend/lowering/lower-inspect.js +130 -28
  28. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  29. package/dist/frontend/lowering/lower-stmts.js +9 -1
  30. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  31. package/dist/frontend/lowering/lowerer.d.ts +1 -1
  32. package/dist/frontend/lowering/lowerer.js +16 -6
  33. package/dist/frontend/lowering/lowerer.js.map +1 -1
  34. package/dist/frontend/types.d.ts +68 -6
  35. package/dist/frontend/types.js +285 -57
  36. package/dist/frontend/types.js.map +1 -1
  37. package/dist/index.d.ts +10 -2
  38. package/dist/index.js +60 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/ir/nodes.d.ts +27 -4
  41. package/dist/ir/nodes.js +105 -13
  42. package/dist/ir/nodes.js.map +1 -1
  43. package/dist/ir/validate.js +10 -0
  44. package/dist/ir/validate.js.map +1 -1
  45. package/dist/library/profile.d.ts +36 -0
  46. package/dist/library/profile.js +105 -3
  47. package/dist/library/profile.js.map +1 -1
  48. package/dist/library/sidecar-validate.d.ts +4 -0
  49. package/dist/library/sidecar-validate.js +506 -0
  50. package/dist/library/sidecar-validate.js.map +1 -0
  51. package/dist/library/sidecar.d.ts +191 -0
  52. package/dist/library/sidecar.js +568 -0
  53. package/dist/library/sidecar.js.map +1 -0
  54. package/dist/library/wyhash.d.ts +12 -0
  55. package/dist/library/wyhash.js +116 -0
  56. package/dist/library/wyhash.js.map +1 -0
  57. package/package.json +2 -2
  58. package/surface-manifest.json +1 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -557,6 +557,22 @@ export interface IrLibSection {
557
557
  * posture (every entry prologue resets the arena). */
558
558
  resultResetSymbol: string | null;
559
559
  exports: IrLibExport[];
560
+ /** The ask-2 identity getters (present exactly when the profile
561
+ * declares a sidecar): pure data returns emitted with NO entry
562
+ * prologue — exempt from the poisoned guard and every runtime touch
563
+ * (ratified), so a host can read them before init and after a trap. */
564
+ identity?: IrLibIdentity;
565
+ }
566
+ /** The profile-declared identity getters' facts, landed on the IR so both
567
+ * backends emit the same constants the sidecar records (V12's identity
568
+ * coherence is one-value-two-writes by construction). */
569
+ export interface IrLibIdentity {
570
+ buildIdSymbol: string;
571
+ abiVersionSymbol: string;
572
+ /** The build_id u64 as exactly 16 lowercase hex digits (the sidecar's
573
+ * encoding; backends parse it back to emit the integer constant). */
574
+ buildId: string;
575
+ abiVersion: number;
560
576
  }
561
577
  export interface IrClassDef {
562
578
  name: string;
@@ -2400,7 +2416,7 @@ export type IrLibFn = "island.eval"
2400
2416
  * the value's inspection) — the frontend routes null/undefined to a
2401
2417
  * no-op and everything else here (Node throws for falsy values too).
2402
2418
  * All arguments are borrowed. */
2403
- | "assert.ok" | "assert.eqF64" | "assert.eqStr" | "assert.eqBool" | "assert.eqSym" | "assert.eqDyn" | "assert.deepResult" | "assert.sameValue" | "assert.match" | "assert.throwsNone" | "assert.throwsMismatch" | "assert.throwsRegex" | "assert.shapeBegin" | "assert.shapeStr" | "assert.shapeRe" | "assert.shapeEnd" | "assert.regexErrTest" | "assert.unwantedRejection"
2419
+ | "assert.ok" | "assert.eqF64" | "assert.eqStr" | "assert.eqBool" | "assert.eqSym" | "assert.eqDyn" | "assert.deepResult" | "assert.sameValue" | "assert.deqEnter" | "assert.deqLeave" | "assert.match" | "assert.throwsNone" | "assert.throwsMismatch" | "assert.throwsRegex" | "assert.shapeBegin" | "assert.shapeStr" | "assert.shapeRe" | "assert.shapeEnd" | "assert.regexErrTest" | "assert.unwantedRejection"
2404
2420
  /** Node's expectsError over an error-INSTANCE expected (assert.throws/
2405
2421
  * rejects second argument): walk the expected DOM error's keys (name,
2406
2422
  * message, code — the %error marker skipped) and deep-compare each
@@ -2424,7 +2440,7 @@ export type IrLibFn = "island.eval"
2424
2440
  /** util.format %j over a checked-dynamic argument: the runtime DOM
2425
2441
  * walk (JS-exact stringify; root undefined/function prints
2426
2442
  * "undefined"; a handle in the tree throws the loud fence). */
2427
- | "insp.jsonDyn" | "insp.str" | "insp.regex" | "insp.buffer" | "insp.error" | "insp.dyn" | "insp.dynS" | "insp.jsval" | "insp.begin" | "insp.entry" | "insp.key" | "insp.moreItems" | "insp.end"
2443
+ | "insp.jsonDyn" | "insp.str" | "insp.regex" | "insp.buffer" | "insp.error" | "insp.dyn" | "insp.dynS" | "insp.jsval" | "insp.begin" | "insp.entry" | "insp.key" | "insp.moreItems" | "insp.circCheck" | "insp.seenPush" | "insp.refWrap" | "insp.circular" | "insp.end"
2428
2444
  /** node:string_decoder's utf8 StringDecoder (scr_string.c): the decoder
2429
2445
  * value is a one-field record whose f64 PACKS the pending partial
2430
2446
  * sequence (count + up to 3 raw bytes — Node buffers at most 3 for
@@ -4139,8 +4155,11 @@ export declare function isUndefinedArmedUnion(t: IrType, getUnion: (unionId: str
4139
4155
  * can be validated against): f64, string, bool, records, arrays, and unions
4140
4156
  * of those, recursively. Closures, class instances, dyn itself, and void are
4141
4157
  * not JSON. Registry lookups are parameters because the frontend holds
4142
- * registries and the validator/backend hold maps; recursive shapes/unions
4143
- * cannot exist (the frontend rejects them), so the recursion terminates. */
4158
+ * registries and the validator/backend hold maps. RECURSIVE shapes/unions
4159
+ * are handled COINDUCTIVELY (a revisited shape answers true — safety is
4160
+ * decided by the rest of the graph): a recursive TYPE is JSON-safe when
4161
+ * every reachable constituent is; a cyclic VALUE of such a type throws
4162
+ * Node's circular-structure TypeError at runtime instead. */
4144
4163
  export declare function isJsonSafeType(t: IrType, getRecord: (shapeId: string) => IrRecordShape | undefined, getUnion: (unionId: string) => IrUnionDef | undefined): boolean;
4145
4164
  /** THE island boundary predicate: true when a static type can cross into
4146
4165
  * the island (jsMarshal — primitives by value, composites as deep JSON
@@ -4408,6 +4427,10 @@ export declare function moduleLibAsyncSurface(mod: IrModule): {
4408
4427
  surface: string;
4409
4428
  loc: SrcLoc;
4410
4429
  } | null;
4430
+ /** First ambient-nondeterminism or ambient-authority surface the module
4431
+ * graph reaches, or null when the graph is clean (the sidecar then
4432
+ * attests `deterministic: true`). */
4433
+ export declare function moduleLibNondeterministicSurface(mod: IrModule): string | null;
4411
4434
  /** The may-throw seed: libCall members that can raise. Every fs.* member
4412
4435
  * EXCEPT existsSync (which, like Node's, swallows errors and returns false)
4413
4436
  * throws a catchable error on failure; json.parse throws a catchable
package/dist/ir/nodes.js CHANGED
@@ -525,10 +525,13 @@ export function isUndefinedArmedUnion(t, getUnion) {
525
525
  * can be validated against): f64, string, bool, records, arrays, and unions
526
526
  * of those, recursively. Closures, class instances, dyn itself, and void are
527
527
  * not JSON. Registry lookups are parameters because the frontend holds
528
- * registries and the validator/backend hold maps; recursive shapes/unions
529
- * cannot exist (the frontend rejects them), so the recursion terminates. */
528
+ * registries and the validator/backend hold maps. RECURSIVE shapes/unions
529
+ * are handled COINDUCTIVELY (a revisited shape answers true — safety is
530
+ * decided by the rest of the graph): a recursive TYPE is JSON-safe when
531
+ * every reachable constituent is; a cyclic VALUE of such a type throws
532
+ * Node's circular-structure TypeError at runtime instead. */
530
533
  export function isJsonSafeType(t, getRecord, getUnion) {
531
- return isJsonSafeAt(t, getRecord, getUnion, false);
534
+ return isJsonSafeAt(t, getRecord, getUnion, false, new Set());
532
535
  }
533
536
  /** The recursion behind isJsonSafeType. `inRecordField` is the ONE position
534
537
  * where an undefined arm is JSON-representable: an undefined-armed union as
@@ -538,22 +541,28 @@ export function isJsonSafeType(t, getRecord, getUnion) {
538
541
  * stringified whole or cast to) exactness is unreachable: Node's stringify
539
542
  * of bare undefined is not a string at all, and JSON text can never contain
540
543
  * a value that matches the arm. */
541
- function isJsonSafeAt(t, getRecord, getUnion, inRecordField) {
544
+ function isJsonSafeAt(t, getRecord, getUnion, inRecordField, visiting) {
542
545
  switch (t.kind) {
543
546
  case "f64":
544
547
  case "string":
545
548
  case "bool":
546
549
  return true;
547
550
  case "array":
548
- return isJsonSafeAt(t.elem, getRecord, getUnion, false);
551
+ return isJsonSafeAt(t.elem, getRecord, getUnion, false, visiting);
549
552
  case "record": {
550
553
  const shape = getRecord(t.shapeId);
551
554
  if (!shape)
552
555
  return false;
556
+ // The recursive knot: answer true and let the rest of the graph
557
+ // decide (any unsafe constituent is found on its own path; a false
558
+ // short-circuits every `every` up the walk).
559
+ if (visiting.has(t.shapeId))
560
+ return true;
561
+ visiting.add(t.shapeId);
553
562
  // TUPLE positions are array slots, not droppable object keys: an
554
563
  // undefined-armed position would stringify as `null` in JS (not
555
564
  // drop), so tuples keep the array rule for their fields.
556
- if (!shape.fields.every((f) => isJsonSafeAt(f.type, getRecord, getUnion, !shape.tuple))) {
565
+ if (!shape.fields.every((f) => isJsonSafeAt(f.type, getRecord, getUnion, !shape.tuple, visiting))) {
557
566
  return false;
558
567
  }
559
568
  // Overflow values sit in record-key position too: dyn is JSON-safe
@@ -561,13 +570,19 @@ function isJsonSafeAt(t, getRecord, getUnion, inRecordField) {
561
570
  // like any undefined-valued key), everything else follows the
562
571
  // record-field rule.
563
572
  if (shape.indexValue && shape.indexValue.kind !== "dyn") {
564
- return isJsonSafeAt(shape.indexValue, getRecord, getUnion, true);
573
+ return isJsonSafeAt(shape.indexValue, getRecord, getUnion, true, visiting);
565
574
  }
566
575
  return true;
567
576
  }
568
577
  case "union": {
569
578
  const def = getUnion(t.unionId);
570
- return !!def && def.arms.every((a) => isJsonSafeAt(a, getRecord, getUnion, inRecordField));
579
+ if (!def)
580
+ return false;
581
+ const key = `${t.unionId}:${inRecordField}`;
582
+ if (visiting.has(key))
583
+ return true; // the recursive knot, union-flavored
584
+ visiting.add(key);
585
+ return def.arms.every((a) => isJsonSafeAt(a, getRecord, getUnion, inRecordField, visiting));
571
586
  }
572
587
  case "func":
573
588
  case "object":
@@ -814,7 +829,7 @@ export function canConvertToDyn(t, getRecord, getUnion) {
814
829
  * capability for the tls/https options-record shapes. Returns false for
815
830
  * a composite carrying any kind the walker cannot box (funcs, Maps,
816
831
  * handles nested in a record); those still fence. */
817
- function canBoxBytesComposite(t, getRecord, getUnion) {
832
+ function canBoxBytesComposite(t, getRecord, getUnion, visiting = new Set()) {
818
833
  switch (t.kind) {
819
834
  case "f64":
820
835
  case "string":
@@ -826,18 +841,27 @@ function canBoxBytesComposite(t, getRecord, getUnion) {
826
841
  case "bytes":
827
842
  return t.elem === "u8";
828
843
  case "array":
829
- return canBoxBytesComposite(t.elem, getRecord, getUnion);
844
+ return canBoxBytesComposite(t.elem, getRecord, getUnion, visiting);
830
845
  case "record": {
831
846
  const shape = getRecord(t.shapeId);
832
847
  if (!shape)
833
848
  return false;
834
- if (!shape.fields.every((f) => canBoxBytesComposite(f.type, getRecord, getUnion)))
849
+ // Recursive shapes answer coinductively, like isJsonSafeType.
850
+ if (visiting.has(t.shapeId))
851
+ return true;
852
+ visiting.add(t.shapeId);
853
+ if (!shape.fields.every((f) => canBoxBytesComposite(f.type, getRecord, getUnion, visiting)))
835
854
  return false;
836
- return !shape.indexValue || canBoxBytesComposite(shape.indexValue, getRecord, getUnion);
855
+ return !shape.indexValue || canBoxBytesComposite(shape.indexValue, getRecord, getUnion, visiting);
837
856
  }
838
857
  case "union": {
839
858
  const def = getUnion(t.unionId);
840
- return !!def && def.arms.every((a) => canBoxBytesComposite(a, getRecord, getUnion));
859
+ if (!def)
860
+ return false;
861
+ if (visiting.has(t.unionId))
862
+ return true;
863
+ visiting.add(t.unionId);
864
+ return def.arms.every((a) => canBoxBytesComposite(a, getRecord, getUnion, visiting));
841
865
  }
842
866
  default:
843
867
  return false;
@@ -1784,6 +1808,74 @@ export function moduleLibAsyncSurface(mod) {
1784
1808
  }
1785
1809
  return null;
1786
1810
  }
1811
+ /* ── the sidecar's determinism attestation ───────────────────────────────
1812
+ * `deterministic` is true exactly when the compiled module graph reaches
1813
+ * no ambient-nondeterminism or ambient-authority surface (random, live
1814
+ * clock, environment, filesystem, machine identity) — a static fact of
1815
+ * the graph, proven at compile time, never a runtime hope. Network,
1816
+ * timers, scheduling, and child processes are already impossible here:
1817
+ * the SC4005 async_free gate refused them before any library artifact
1818
+ * emitted. The scan is CONSERVATIVE by design: an ambient family reached
1819
+ * anywhere in the graph demotes the attestation even when a finer
1820
+ * analysis might prove the specific call pure (e.g. date formatting of a
1821
+ * stored value) — the attestation may honestly under-claim, never
1822
+ * over-claim (schema rule V14: computed, never defaulted). */
1823
+ /** libCall families that demote `deterministic` (prefix match over
1824
+ * IrLibFn spellings). process.stdout/stderr writes are deliberately NOT
1825
+ * here: output is an effect, not a nondeterminism input, and console
1826
+ * policy is the profile's ask-5 business. process.platform/arch and the
1827
+ * version constants fold at compile time, so they are per-binary
1828
+ * constants, not ambient reads. */
1829
+ const LIB_NONDETERMINISTIC_PREFIXES = [
1830
+ ["math.random", "Math.random"],
1831
+ ["crypto.random", "crypto randomness"],
1832
+ ["date.", "the live clock (Date)"],
1833
+ ["perf.", "the live clock (performance)"],
1834
+ ["process.env", "environment reads"],
1835
+ ["process.argv", "process.argv"],
1836
+ ["process.cwd", "process.cwd"],
1837
+ ["process.chdir", "process.chdir"],
1838
+ ["process.pid", "process identity"],
1839
+ ["process.getuid", "process identity"],
1840
+ ["process.getgid", "process identity"],
1841
+ ["process.execPath", "process identity"],
1842
+ ["process.uptime", "the live clock (process.uptime)"],
1843
+ ["process.availableMemory", "machine memory state"],
1844
+ ["process.memoryUsage", "machine memory state"],
1845
+ ["process.kill", "process authority (kill)"],
1846
+ ["process.umask", "process authority (umask)"],
1847
+ ["process.exit", "process authority (exit)"],
1848
+ ["fs.", "the filesystem"],
1849
+ ["os.", "machine/OS identity"],
1850
+ ];
1851
+ /** First ambient-nondeterminism or ambient-authority surface the module
1852
+ * graph reaches, or null when the graph is clean (the sidecar then
1853
+ * attests `deterministic: true`). */
1854
+ export function moduleLibNondeterministicSurface(mod) {
1855
+ let found = null;
1856
+ const visit = (v) => {
1857
+ if (found !== null || v === null || typeof v !== "object")
1858
+ return;
1859
+ if (Array.isArray(v)) {
1860
+ for (const item of v)
1861
+ visit(item);
1862
+ return;
1863
+ }
1864
+ const node = v;
1865
+ if (node.kind === "libCall" && typeof node.fn === "string") {
1866
+ for (const [prefix, surface] of LIB_NONDETERMINISTIC_PREFIXES) {
1867
+ if (node.fn.startsWith(prefix)) {
1868
+ found = surface;
1869
+ return;
1870
+ }
1871
+ }
1872
+ }
1873
+ for (const key of Object.keys(v))
1874
+ visit(v[key]);
1875
+ };
1876
+ visit(mod);
1877
+ return found;
1878
+ }
1787
1879
  /** The may-throw seed: libCall members that can raise. Every fs.* member
1788
1880
  * EXCEPT existsSync (which, like Node's, swallows errors and returns false)
1789
1881
  * throws a catchable error on failure; json.parse throws a catchable