@scriptc/compiler 0.0.21 → 0.0.23

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 (92) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +117 -37
  2. package/dist/backend/cc-cache.test.d.ts +1 -0
  3. package/dist/backend/cc-cache.test.js +2507 -0
  4. package/dist/backend/cc-cache.test.js.map +1 -0
  5. package/dist/backend/cc.d.ts +69 -11
  6. package/dist/backend/cc.js +1937 -222
  7. package/dist/backend/cc.js.map +1 -1
  8. package/dist/backend/emission/emit-async.js +3 -1
  9. package/dist/backend/emission/emit-async.js.map +1 -1
  10. package/dist/backend/emission/emit-exprs.d.ts +10 -0
  11. package/dist/backend/emission/emit-exprs.js +482 -18
  12. package/dist/backend/emission/emit-exprs.js.map +1 -1
  13. package/dist/backend/emission/emit-stmts.js +13 -5
  14. package/dist/backend/emission/emit-stmts.js.map +1 -1
  15. package/dist/backend/emission/emit-types.js +4 -1
  16. package/dist/backend/emission/emit-types.js.map +1 -1
  17. package/dist/backend/emission/emit-walkers.js +108 -7
  18. package/dist/backend/emission/emit-walkers.js.map +1 -1
  19. package/dist/backend/emission/emitter.d.ts +27 -1
  20. package/dist/backend/emission/emitter.js +84 -3
  21. package/dist/backend/emission/emitter.js.map +1 -1
  22. package/dist/backend/llvm/dyn.d.ts +1 -0
  23. package/dist/backend/llvm/dyn.js +305 -8
  24. package/dist/backend/llvm/dyn.js.map +1 -1
  25. package/dist/backend/llvm/emitter.js +831 -23
  26. package/dist/backend/llvm/emitter.js.map +1 -1
  27. package/dist/backend/llvm/shapes.js +3 -2
  28. package/dist/backend/llvm/shapes.js.map +1 -1
  29. package/dist/compat/fetch-profile.d.ts +118 -0
  30. package/dist/compat/fetch-profile.js +531 -0
  31. package/dist/compat/fetch-profile.js.map +1 -0
  32. package/dist/coverage/surface-manifest.js +69 -0
  33. package/dist/coverage/surface-manifest.js.map +1 -1
  34. package/dist/diagnostics/diagnostic.d.ts +10 -0
  35. package/dist/diagnostics/diagnostic.js +27 -1
  36. package/dist/diagnostics/diagnostic.js.map +1 -1
  37. package/dist/frontend/lowering/lower-builtins.d.ts +24 -15
  38. package/dist/frontend/lowering/lower-builtins.js +217 -69
  39. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  40. package/dist/frontend/lowering/lower-calls.js +41 -0
  41. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  42. package/dist/frontend/lowering/lower-classes.js +32 -11
  43. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  44. package/dist/frontend/lowering/lower-exprs.d.ts +3 -3
  45. package/dist/frontend/lowering/lower-exprs.js +87 -15
  46. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  47. package/dist/frontend/lowering/lower-generators.js +7 -1
  48. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  49. package/dist/frontend/lowering/lower-island.d.ts +123 -7
  50. package/dist/frontend/lowering/lower-island.js +1976 -26
  51. package/dist/frontend/lowering/lower-island.js.map +1 -1
  52. package/dist/frontend/lowering/lower-modules.js +17 -1
  53. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  54. package/dist/frontend/lowering/lower-stmts.js +33 -9
  55. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  56. package/dist/frontend/lowering/lowerer.d.ts +40 -0
  57. package/dist/frontend/lowering/lowerer.js +290 -18
  58. package/dist/frontend/lowering/lowerer.js.map +1 -1
  59. package/dist/frontend/lowering/surfaces.js +55 -12
  60. package/dist/frontend/lowering/surfaces.js.map +1 -1
  61. package/dist/frontend/program.d.ts +20 -4
  62. package/dist/frontend/program.js +391 -49
  63. package/dist/frontend/program.js.map +1 -1
  64. package/dist/frontend/resolve.d.ts +10 -0
  65. package/dist/frontend/resolve.js +37 -0
  66. package/dist/frontend/resolve.js.map +1 -1
  67. package/dist/frontend/ts7/enums.d.ts +9 -0
  68. package/dist/frontend/ts7/enums.js +8 -6
  69. package/dist/frontend/ts7/enums.js.map +1 -1
  70. package/dist/frontend/ts7/program.js +4 -1
  71. package/dist/frontend/ts7/program.js.map +1 -1
  72. package/dist/frontend/types.d.ts +16 -9
  73. package/dist/frontend/types.js +119 -38
  74. package/dist/frontend/types.js.map +1 -1
  75. package/dist/index.d.ts +7 -1
  76. package/dist/index.js +70 -14
  77. package/dist/index.js.map +1 -1
  78. package/dist/ir/nodes.d.ts +55 -26
  79. package/dist/ir/nodes.js +42 -29
  80. package/dist/ir/nodes.js.map +1 -1
  81. package/dist/ir/validate.js +106 -9
  82. package/dist/ir/validate.js.map +1 -1
  83. package/dist/library/int-infer.js +7 -1
  84. package/dist/library/int-infer.js.map +1 -1
  85. package/dist/library/int-infer.test.js +80 -0
  86. package/dist/library/int-infer.test.js.map +1 -1
  87. package/dist/library/sidecar-validate.js +5 -0
  88. package/dist/library/sidecar-validate.js.map +1 -1
  89. package/dist/library/sidecar.d.ts +3 -0
  90. package/dist/library/sidecar.js.map +1 -1
  91. package/package.json +2 -2
  92. package/surface-manifest.json +1097 -130
@@ -2,6 +2,7 @@ import { mangleField, mangleGlobal, mangleLocal, mangleRawParam } from "../mangl
2
2
  import { BOOL, CAUGHT, RUNTIME_ERROR_CLASSES, isRefCounted } from "../../ir/nodes.js";
3
3
  import { boxAccess, cDecl, cStringLiteral, elemAccess, vAdapters } from "./emit-types.js";
4
4
  import { OVERFLOW_MEMBER } from "./emit-shapes.js";
5
+ import { emitBytesReceiver } from "./emit-exprs.js";
5
6
  export function emitFunction(E, fn) {
6
7
  E.tempCounter = 0;
7
8
  E.frames = [];
@@ -360,12 +361,16 @@ export function emitStmt(E, s) {
360
361
  }
361
362
  case "bytesSet": {
362
363
  // Typed-array element write: same evaluation order as arraySet;
363
- // the value is a scalar (the runtime coerces JS-exactly), so no
364
- // ownership moves. Any invalid index traps — no append.
365
- const arr = E.emitExpr(s.arr);
364
+ // the value is a scalar (the inline kind-specific accessor coerces
365
+ // JS-exactly), so no ownership moves. Any invalid index traps — no
366
+ // append. The IR carries the element kind; do not rediscover it in
367
+ // the generic runtime accessor on every loop iteration.
368
+ const arr = emitBytesReceiver(E, s.arr, [s.index, s.value]);
366
369
  const idx = E.emitExpr(s.index);
367
370
  const v = E.emitExpr(s.value);
368
- E.line(`scr_bytes_set(${arr.name}, ${idx.name}, ${v.name});${E.srcComment(s.loc)}`);
371
+ if (s.arr.type.kind !== "bytes")
372
+ throw new Error("emitter bug: bytesSet on non-bytes");
373
+ E.line(`${E.bytesElementHelper("set", s.arr.type.elem)}(${arr.name}, ${idx.name}, ${v.name});${E.srcComment(s.loc)}`);
369
374
  break;
370
375
  }
371
376
  case "fieldSet":
@@ -609,7 +614,10 @@ export function emitStmt(E, s) {
609
614
  const t = s.value.type;
610
615
  if (isRefCounted(t))
611
616
  E.moveTemp(v); // the cell takes ownership
612
- if (t.kind === "f64") {
617
+ if (t.kind === "date") {
618
+ throw new Error("emitter bug: Date throw reached backend");
619
+ }
620
+ else if (t.kind === "f64") {
613
621
  E.line(`scr_throw_f64(${v.name});${E.srcComment(s.loc)}`);
614
622
  }
615
623
  else if (t.kind === "bool") {
@@ -1 +1 @@
1
- {"version":3,"file":"emit-stmts.js","sourceRoot":"","sources":["../../../src/backend/emission/emit-stmts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emit-stmts.js","sourceRoot":"","sources":["../../../src/backend/emission/emit-stmts.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { mangleClassRelease, mangleClassRetain, mangleClassStruct, mangleRecordR
3
3
  export function cType(t) {
4
4
  switch (t.kind) {
5
5
  case "f64":
6
+ case "date":
6
7
  return "double";
7
8
  case "bool":
8
9
  return "bool";
@@ -276,6 +277,7 @@ export function releaseCallC(type, expr) {
276
277
  export function boxKindC(t) {
277
278
  switch (t.kind) {
278
279
  case "f64":
280
+ case "date":
279
281
  return "SCR_BOX_F64";
280
282
  case "bool":
281
283
  return "SCR_BOX_BOOL";
@@ -434,7 +436,7 @@ export function vAdapters(t) {
434
436
  export function boxAccess(t) {
435
437
  // procStream is a scalar (the stream's fd double — boxKindC agrees with
436
438
  // SCR_BOX_F64), so its captures ride the f64 slot like any number.
437
- return t.kind === "f64" || t.kind === "procStream" ? "f64" : t.kind === "bool" ? "bool" : "ref";
439
+ return t.kind === "f64" || t.kind === "date" || t.kind === "procStream" ? "f64" : t.kind === "bool" ? "bool" : "ref";
438
440
  }
439
441
  /** C function-pointer cast for calling through a closure: the callee
440
442
  * receives its own ScrClosure first, then the declared params. */
@@ -493,6 +495,7 @@ export function elemKindC(elem) {
493
495
  case "map":
494
496
  case "set":
495
497
  case "regex":
498
+ case "date":
496
499
  case "url":
497
500
  case "searchParams":
498
501
  case "stats":
@@ -1 +1 @@
1
- {"version":3,"file":"emit-types.js","sourceRoot":"","sources":["../../../src/backend/emission/emit-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emit-types.js","sourceRoot":"","sources":["../../../src/backend/emission/emit-types.ts"],"names":[],"mappings":"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"}
@@ -247,7 +247,7 @@ export function dynToStrHelper(E) {
247
247
  const name = "sc_ds";
248
248
  E.dynToStrFn = name;
249
249
  E.walkerProtos.push(`static void ${name}_buf(ScrJsonBuf *b, const ScrDyn *d); /* String(unknown) walker */`, `static ScrStr *${name}(const ScrDyn *d); /* String(unknown) */`);
250
- E.walkerDefs.push(`static void ${name}_buf(ScrJsonBuf *b, const ScrDyn *d) { /* String(unknown), recursive */`, ` switch (d->kind) {`, ` case SCR_DYN_UNDEF: scr_jb_puts(b, "undefined"); break;`, ` case SCR_DYN_NULL: scr_jb_puts(b, "null"); break;`, ` case SCR_DYN_BOOL: scr_jb_puts(b, d->v.b ? "true" : "false"); break;`, ` case SCR_DYN_NUM: {`, ` ScrStr *s = scr_f64_to_scrstr(d->v.num); /* String(n): NaN/Infinity spelled out, not JSON null */`, ` for (size_t i = 0; i < s->len; i++) scr_jb_putc(b, s->data[i]);`, ` scr_str_release(s);`, ` break;`, ` }`, ` case SCR_DYN_STR:`, ` for (size_t i = 0; i < d->v.str->len; i++) scr_jb_putc(b, d->v.str->data[i]);`, ` break;`, ` case SCR_DYN_ARR:`, ` /* Array.prototype.toString: join(",") — null/undefined ELEMENTS`, ` * print empty (unlike top level), nested arrays flatten. */`, ` for (size_t i = 0; i < d->v.arr.len; i++) {`, ` if (i > 0) scr_jb_putc(b, ',');`, ` const ScrDyn *e = d->v.arr.items[i];`, ` if (e->kind == SCR_DYN_UNDEF || e->kind == SCR_DYN_NULL) continue;`, ` ${name}_buf(b, e);`, ` }`, ` break;`, ` case SCR_DYN_OBJ:`, ` if (scr_dyn_obj_get(d, "%error", 6)) {`, ` /* The checked-dynamic tree's error encoding (caughtToDyn): Error.prototype`, ` * .toString over the encoded name/message — Node's String(err),`, ` * which carries no stack either. */`, ` const ScrDyn *en = scr_dyn_obj_get(d, "name", 4);`, ` const ScrDyn *em = scr_dyn_obj_get(d, "message", 7);`, ` const ScrStr *ens = (en && en->kind == SCR_DYN_STR) ? en->v.str : NULL;`, ` const ScrStr *ems = (em && em->kind == SCR_DYN_STR) ? em->v.str : NULL;`, ` if (ens) for (size_t i = 0; i < ens->len; i++) scr_jb_putc(b, ens->data[i]);`, ` if (ens && ens->len && ems && ems->len) scr_jb_puts(b, ": ");`, ` if (ems) for (size_t i = 0; i < ems->len; i++) scr_jb_putc(b, ems->data[i]);`, ` break;`, ` }`, ` scr_jb_puts(b, "[object Object]");`, ` break;`, ` case SCR_DYN_BYTES: {`, ` /* Buffer-flavored values (stream chunks) coerce utf8 (Node's`, ` * Buffer.toString); plain Uint8Array joins its elements. */`, ` if (d->buffer) {`, ` ScrStr *enc = scr_str_new("utf8", 4);`, ` ScrStr *txt = scr_bytes_to_str(d->v.bytes, enc);`, ` scr_str_release(enc);`, ` for (size_t i = 0; i < txt->len; i++) scr_jb_putc(b, txt->data[i]);`, ` scr_str_release(txt);`, ` break;`, ` }`, ` for (size_t i = 0; i < d->v.bytes->len; i++) {`, ` if (i > 0) scr_jb_putc(b, ',');`, ` char n[16];`, ` snprintf(n, sizeof n, "%u", (unsigned)d->v.bytes->data[i]);`, ` scr_jb_puts(b, n);`, ` }`, ` break;`, ` }`, ` case SCR_DYN_FUNC:`, ` /* Function.prototype.toString: the SOURCE is gone in a compiled`, ` * program, so the native-code form — exactly what JS engines`, ` * print for their own non-JS functions. */`, ` scr_jb_puts(b, "function ");`, ` if (d->v.fn.name) scr_jb_puts(b, d->v.fn.name);`, ` scr_jb_puts(b, "() { [native code] }");`, ` break;`, ` case SCR_DYN_HANDLE:`, ` /* Object.prototype.toString — Node's String() over these`, ` * classes (IncomingMessage/ServerResponse/Socket). */`, ` scr_jb_puts(b, "[object Object]");`, ` break;`, ` case SCR_DYN_PROMISE:`, ` /* Object.prototype.toString with the Promise @@toStringTag. */`, ` scr_jb_puts(b, "[object Promise]");`, ` break;`, ` case SCR_DYN_JSVAL:`, ` /* Island-held: the engine's own ToString (a bridged failure`, ` * leaves the exception pending and appends nothing). */`, ` scr_dyn_isl_tostr_buf(b, d);`, ` break;`, ` }`, `}`, `static ScrStr *${name}(const ScrDyn *d) { /* String(unknown) -> owned (+1) */`, ` if (d->kind == SCR_DYN_STR) return scr_str_retain(d->v.str);`, ` ScrJsonBuf b;`, ` scr_jb_init(&b);`, ` ${name}_buf(&b, d);`, ` return scr_jb_finish(&b);`, `}`, ``);
250
+ E.walkerDefs.push(`static void ${name}_buf(ScrJsonBuf *b, const ScrDyn *d) { /* String(unknown), recursive */`, ` switch (d->kind) {`, ` case SCR_DYN_UNDEF: scr_jb_puts(b, "undefined"); break;`, ` case SCR_DYN_NULL: scr_jb_puts(b, "null"); break;`, ` case SCR_DYN_BOOL: scr_jb_puts(b, d->v.b ? "true" : "false"); break;`, ` case SCR_DYN_NUM: {`, ` ScrStr *s = scr_f64_to_scrstr(d->v.num); /* String(n): NaN/Infinity spelled out, not JSON null */`, ` for (size_t i = 0; i < s->len; i++) scr_jb_putc(b, s->data[i]);`, ` scr_str_release(s);`, ` break;`, ` }`, ` case SCR_DYN_STR:`, ` for (size_t i = 0; i < d->v.str->len; i++) scr_jb_putc(b, d->v.str->data[i]);`, ` break;`, ` case SCR_DYN_ARR:`, ` /* Array.prototype.toString: join(",") — null/undefined ELEMENTS`, ` * print empty (unlike top level), nested arrays flatten. */`, ` for (size_t i = 0; i < d->v.arr.len; i++) {`, ` if (i > 0) scr_jb_putc(b, ',');`, ` const ScrDyn *e = d->v.arr.items[i];`, ` if (e->kind == SCR_DYN_UNDEF || e->kind == SCR_DYN_NULL) continue;`, ` ${name}_buf(b, e);`, ` }`, ` break;`, ` case SCR_DYN_OBJ:`, ` if (scr_dyn_obj_get(d, "%error", 6)) {`, ` /* The checked-dynamic tree's error encoding (caughtToDyn): Error.prototype`, ` * .toString over the encoded name/message — Node's String(err),`, ` * which carries no stack either. */`, ` const ScrDyn *en = scr_dyn_obj_get(d, "name", 4);`, ` const ScrDyn *em = scr_dyn_obj_get(d, "message", 7);`, ` const ScrStr *ens = (en && en->kind == SCR_DYN_STR) ? en->v.str : NULL;`, ` const ScrStr *ems = (em && em->kind == SCR_DYN_STR) ? em->v.str : NULL;`, ` if (ens) for (size_t i = 0; i < ens->len; i++) scr_jb_putc(b, ens->data[i]);`, ` if (ens && ens->len && ems && ems->len) scr_jb_puts(b, ": ");`, ` if (ems) for (size_t i = 0; i < ems->len; i++) scr_jb_putc(b, ems->data[i]);`, ` break;`, ` }`, ` scr_jb_puts(b, "[object Object]");`, ` break;`, ` case SCR_DYN_BYTES: {`, ` /* Buffer-flavored values (stream chunks) coerce utf8 (Node's`, ` * Buffer.toString); plain Uint8Array joins its elements. */`, ` if (d->buffer) {`, ` ScrStr *enc = scr_str_new("utf8", 4);`, ` ScrStr *txt = scr_bytes_to_str(d->v.bytes, enc);`, ` scr_str_release(enc);`, ` for (size_t i = 0; i < txt->len; i++) scr_jb_putc(b, txt->data[i]);`, ` scr_str_release(txt);`, ` break;`, ` }`, ` for (size_t i = 0; i < d->v.bytes->len; i++) {`, ` if (i > 0) scr_jb_putc(b, ',');`, ` char n[16];`, ` snprintf(n, sizeof n, "%u", (unsigned)d->v.bytes->data[i]);`, ` scr_jb_puts(b, n);`, ` }`, ` break;`, ` }`, ` case SCR_DYN_FUNC:`, ` /* Function.prototype.toString: the SOURCE is gone in a compiled`, ` * program, so the native-code form — exactly what JS engines`, ` * print for their own non-JS functions. */`, ` scr_jb_puts(b, "function ");`, ` if (d->v.fn.name) scr_jb_puts(b, d->v.fn.name);`, ` scr_jb_puts(b, "() { [native code] }");`, ` break;`, ` case SCR_DYN_HANDLE:`, ` /* Object.prototype.toString — Node's String() over these`, ` * classes (IncomingMessage/ServerResponse/Socket). */`, ` scr_jb_puts(b, "[object Object]");`, ` break;`, ` case SCR_DYN_PROMISE:`, ` /* Object.prototype.toString with the Promise @@toStringTag. */`, ` scr_jb_puts(b, "[object Promise]");`, ` break;`, ` case SCR_DYN_JSVAL:`, ` /* Island-held: the engine's own ToString (a bridged failure`, ` * leaves the exception pending and appends nothing). */`, ` scr_dyn_isl_tostr_buf(b, d);`, ` break;`, ` case SCR_DYN_TYPED_REF: {`, ` ScrDyn *sc_materialized = scr_dyn_typed_ref_materialize(d);`, ` ${name}_buf(b, sc_materialized);`, ` scr_dyn_release(sc_materialized);`, ` break;`, ` }`, ` }`, `}`, `static ScrStr *${name}(const ScrDyn *d) { /* String(unknown) -> owned (+1) */`, ` if (d->kind == SCR_DYN_STR) return scr_str_retain(d->v.str);`, ` ScrJsonBuf b;`, ` scr_jb_init(&b);`, ` ${name}_buf(&b, d);`, ` return scr_jb_finish(&b);`, `}`, ``);
251
251
  return name;
252
252
  }
253
253
  /** The caught→dyn converter (interned once, type-independent): a catch
@@ -547,6 +547,13 @@ export function dynMatchHelper(E, t) {
547
547
  const sig = `static bool ${name}(const ScrDyn *d)`;
548
548
  E.walkerProtos.push(`${sig}; /* matches ${key} */`);
549
549
  const d = [`${sig} { /* matches ${key} */`];
550
+ if (isRefCounted(t) && t.kind !== "dyn") {
551
+ const keyLit = cStringLiteral(Buffer.from(key, "utf8"));
552
+ d.push(` if (scr_dyn_typed_ref_is(d, ${keyLit}, ${Buffer.byteLength(key, "utf8")})) return true;`);
553
+ }
554
+ if (t.kind !== "dyn") {
555
+ d.push(` if (d && d->kind == SCR_DYN_TYPED_REF) {`, ` ScrDyn *sc_materialized = scr_dyn_typed_ref_materialize(d);`, ` bool sc_out = ${name}(sc_materialized);`, ` scr_dyn_release(sc_materialized);`, ` return sc_out;`, ` }`);
556
+ }
550
557
  switch (t.kind) {
551
558
  case "f64":
552
559
  d.push(` return d->kind == SCR_DYN_NUM;`);
@@ -711,7 +718,7 @@ export function dynIterNHelper(E) {
711
718
  E.dynBuilders.set(memoKey, name);
712
719
  const sig = `static ScrDyn *${name}(const ScrDyn *d, size_t n)`;
713
720
  E.walkerProtos.push(`${sig}; /* destructuring GetIterator + N steps */`);
714
- E.walkerDefs.push(`${sig} { /* destructuring GetIterator + N steps */`, ` if (d->kind == SCR_DYN_JSVAL) {`, ` /* An engine array IS iterable — the not-iterable TypeError below`, ` * would be a wrong claim. Loud fence (lane dyn-routing-ops). */`, ` scr_dyn_isl_fence(d, "iteration");`, ` return NULL;`, ` }`, ` if (d->kind != SCR_DYN_ARR && d->kind != SCR_DYN_STR && d->kind != SCR_DYN_BYTES) {`, ` ScrJsonBuf b;`, ` scr_jb_init(&b);`, ` switch (d->kind) {`, ` case SCR_DYN_UNDEF: scr_jb_puts(&b, "undefined"); break;`, ` case SCR_DYN_NULL: scr_jb_puts(&b, "object null"); break;`, ` case SCR_DYN_BOOL: scr_jb_puts(&b, d->v.b ? "boolean true" : "boolean false"); break;`, ` case SCR_DYN_NUM: {`, ` scr_jb_puts(&b, "number ");`, ` ScrStr *s = scr_f64_to_scrstr(d->v.num);`, ` for (size_t i = 0; i < s->len; i++) scr_jb_putc(&b, s->data[i]);`, ` scr_str_release(s);`, ` break;`, ` }`, ` case SCR_DYN_FUNC: scr_jb_puts(&b, "function"); break;`, ` default: scr_jb_puts(&b, "object"); break;`, ` }`, ` scr_jb_puts(&b, " is not iterable (cannot read property Symbol(Symbol.iterator))");`, ` scr_throw_error(SCR_ERR_TYPE, scr_jb_finish(&b));`, ` return NULL;`, ` }`, ` ScrDyn *out = scr_dyn_new_arr();`, ` for (size_t i = 0; i < n; i++) {`, ` ScrDyn *item = NULL;`, ` if (d->kind == SCR_DYN_ARR) {`, ` item = i < d->v.arr.len ? scr_dyn_retain(d->v.arr.items[i]) : scr_dyn_retain(scr_dyn_undefined());`, ` } else if (d->kind == SCR_DYN_BYTES) {`, ` item = i < d->v.bytes->len ? scr_dyn_new_num((double)d->v.bytes->data[i]) : scr_dyn_retain(scr_dyn_undefined());`, ` } else {`, ` /* String iteration: whole code POINTS (astral chars arrive`, ` * unsplit — the string iterator, not charAt). */`, ` double len = scr_str_utf16_len(d->v.str);`, ` double at = 0;`, ` for (size_t step = 0; step < i && at < len; step++) {`, ` ScrStr *cp = scr_str_cp_at(d->v.str, at);`, ` at += scr_str_utf16_len(cp);`, ` scr_str_release(cp);`, ` }`, ` if (at < len) {`, ` ScrStr *cp = scr_str_cp_at(d->v.str, at);`, ` item = scr_dyn_new_str(cp);`, ` scr_str_release(cp);`, ` } else {`, ` item = scr_dyn_retain(scr_dyn_undefined());`, ` }`, ` }`, ` scr_dyn_arr_push(out, item); /* push takes ownership */`, ` }`, ` return out;`, `}`, ``);
721
+ E.walkerDefs.push(`${sig} { /* destructuring GetIterator + N steps */`, ` if (d->kind == SCR_DYN_TYPED_REF) {`, ` ScrDyn *sc_materialized = scr_dyn_typed_ref_materialize(d);`, ` ScrDyn *sc_out = ${name}(sc_materialized, n);`, ` scr_dyn_release(sc_materialized);`, ` return sc_out;`, ` }`, ` if (d->kind == SCR_DYN_JSVAL) {`, ` /* An engine array IS iterable — the not-iterable TypeError below`, ` * would be a wrong claim. Loud fence (lane dyn-routing-ops). */`, ` scr_dyn_isl_fence(d, "iteration");`, ` return NULL;`, ` }`, ` if (d->kind != SCR_DYN_ARR && d->kind != SCR_DYN_STR && d->kind != SCR_DYN_BYTES) {`, ` ScrJsonBuf b;`, ` scr_jb_init(&b);`, ` switch (d->kind) {`, ` case SCR_DYN_UNDEF: scr_jb_puts(&b, "undefined"); break;`, ` case SCR_DYN_NULL: scr_jb_puts(&b, "object null"); break;`, ` case SCR_DYN_BOOL: scr_jb_puts(&b, d->v.b ? "boolean true" : "boolean false"); break;`, ` case SCR_DYN_NUM: {`, ` scr_jb_puts(&b, "number ");`, ` ScrStr *s = scr_f64_to_scrstr(d->v.num);`, ` for (size_t i = 0; i < s->len; i++) scr_jb_putc(&b, s->data[i]);`, ` scr_str_release(s);`, ` break;`, ` }`, ` case SCR_DYN_FUNC: scr_jb_puts(&b, "function"); break;`, ` default: scr_jb_puts(&b, "object"); break;`, ` }`, ` scr_jb_puts(&b, " is not iterable (cannot read property Symbol(Symbol.iterator))");`, ` scr_throw_error(SCR_ERR_TYPE, scr_jb_finish(&b));`, ` return NULL;`, ` }`, ` ScrDyn *out = scr_dyn_new_arr();`, ` for (size_t i = 0; i < n; i++) {`, ` ScrDyn *item = NULL;`, ` if (d->kind == SCR_DYN_ARR) {`, ` item = i < d->v.arr.len ? scr_dyn_retain(d->v.arr.items[i]) : scr_dyn_retain(scr_dyn_undefined());`, ` } else if (d->kind == SCR_DYN_BYTES) {`, ` item = i < d->v.bytes->len ? scr_dyn_new_num((double)d->v.bytes->data[i]) : scr_dyn_retain(scr_dyn_undefined());`, ` } else {`, ` /* String iteration: whole code POINTS (astral chars arrive`, ` * unsplit — the string iterator, not charAt). */`, ` double len = scr_str_utf16_len(d->v.str);`, ` double at = 0;`, ` for (size_t step = 0; step < i && at < len; step++) {`, ` ScrStr *cp = scr_str_cp_at(d->v.str, at);`, ` at += scr_str_utf16_len(cp);`, ` scr_str_release(cp);`, ` }`, ` if (at < len) {`, ` ScrStr *cp = scr_str_cp_at(d->v.str, at);`, ` item = scr_dyn_new_str(cp);`, ` scr_str_release(cp);`, ` } else {`, ` item = scr_dyn_retain(scr_dyn_undefined());`, ` }`, ` }`, ` scr_dyn_arr_push(out, item); /* push takes ownership */`, ` }`, ` return out;`, `}`, ``);
715
722
  return name;
716
723
  }
717
724
  export function dynKeyGetHelper(E) {
@@ -739,6 +746,12 @@ export function dynKeyGetHelper(E) {
739
746
  d.push(` scr_throw_error(SCR_ERR_TYPE, msg); /* takes ownership */`);
740
747
  d.push(` return NULL;`);
741
748
  d.push(` }`);
749
+ d.push(` if (d->kind == SCR_DYN_TYPED_REF) {`);
750
+ d.push(` ScrDyn *sc_materialized = scr_dyn_typed_ref_materialize(d);`);
751
+ d.push(` ScrDyn *sc_out = ${name}(sc_materialized, k, opt);`);
752
+ d.push(` scr_dyn_release(sc_materialized);`);
753
+ d.push(` return sc_out;`);
754
+ d.push(` }`);
742
755
  d.push(` if (d->kind == SCR_DYN_OBJ) {`);
743
756
  d.push(` ScrDyn *m = scr_dyn_obj_get(d, k->data, k->len);`);
744
757
  d.push(` return scr_dyn_retain(m ? m : scr_dyn_undefined());`);
@@ -824,6 +837,38 @@ export function dynCheckHelper(E, t) {
824
837
  E.walkerProtos.push(`${sig}; /* check ${key} */`);
825
838
  const want = cStringLiteral(Buffer.from(E.dynDesc(t), "utf8"));
826
839
  const d = [`${sig} { /* check ${key} */`];
840
+ if (isRefCounted(t) && t.kind !== "dyn") {
841
+ const keyLit = cStringLiteral(Buffer.from(key, "utf8"));
842
+ const keyLen = Buffer.byteLength(key, "utf8");
843
+ d.push(` if (scr_dyn_typed_ref_is(d, ${keyLit}, ${keyLen})) {`, ` return (${cType(t).trim()})scr_dyn_typed_ref_unbox(d);`, ` }`);
844
+ if (t.kind !== "union") {
845
+ const rc = vAdapters(t);
846
+ d.push(` if (d && d->kind == SCR_DYN_TYPED_REF) {`, ` ${cDecl(t, "sc_cached")} = (${cType(t).trim()})scr_dyn_typed_ref_cached_cast(d, ${keyLit}, ${keyLen});`);
847
+ if (t.kind !== "record" && t.kind !== "array") {
848
+ d.push(` if (sc_cached) return sc_cached;`);
849
+ }
850
+ d.push(` ScrDyn *sc_materialized = scr_dyn_typed_ref_materialize(d);`, ` ${cDecl(t, "sc_out")} = ${name}(sc_materialized, path);`, ` scr_dyn_release(sc_materialized);`);
851
+ if (t.kind === "record") {
852
+ const shape = E.recordsById.get(t.shapeId);
853
+ if (!shape) {
854
+ throw new Error(`emitter bug: cached typed-ref cast of unknown shape ${t.shapeId}`);
855
+ }
856
+ d.push(` if (sc_out && sc_cached) {`);
857
+ for (const field of shape.fields) {
858
+ const member = mangleField(field.name);
859
+ d.push(` {`, ` ${cDecl(field.type, "sc_old")} = sc_cached->${member};`, ` sc_cached->${member} = sc_out->${member};`, ` sc_out->${member} = sc_old;`, ` }`);
860
+ }
861
+ if (shape.indexValue) {
862
+ d.push(` ScrMap *sc_old = sc_cached->${OVERFLOW_MEMBER};`, ` sc_cached->${OVERFLOW_MEMBER} = sc_out->${OVERFLOW_MEMBER};`, ` sc_out->${OVERFLOW_MEMBER} = sc_old;`);
863
+ }
864
+ d.push(` ${releaseCallC(t, "sc_out")};`, ` return sc_cached;`, ` }`, ` if (sc_cached) ${releaseCallC(t, "sc_cached")};`);
865
+ }
866
+ else if (t.kind === "array") {
867
+ d.push(` if (sc_out && sc_cached) {`, ` size_t sc_old_len = sc_cached->len;`, ` size_t sc_old_cap = sc_cached->cap;`, ` uint64_t *sc_old_data = sc_cached->data;`, ` sc_cached->len = sc_out->len;`, ` sc_cached->cap = sc_out->cap;`, ` sc_cached->data = sc_out->data;`, ` sc_out->len = sc_old_len;`, ` sc_out->cap = sc_old_cap;`, ` sc_out->data = sc_old_data;`, ` scr_arr_release(sc_out);`, ` return sc_cached;`, ` }`, ` if (sc_cached) scr_arr_release(sc_cached);`);
868
+ }
869
+ d.push(` if (sc_out) {`, ` scr_dyn_typed_ref_cache_cast((ScrDyn *)d, ${keyLit}, ${keyLen}, sc_out, &${rc.retain}, &${rc.release});`, ` }`, ` return sc_out;`, ` }`);
870
+ }
871
+ }
827
872
  switch (t.kind) {
828
873
  case "f64":
829
874
  d.push(` if (d->kind != SCR_DYN_NUM) { scr_dyn_check_fail(path, ${want}, d); return 0; }`);
@@ -838,8 +883,9 @@ export function dynCheckHelper(E, t) {
838
883
  d.push(` return scr_str_retain(d->v.str);`);
839
884
  break;
840
885
  case "dyn":
841
- // An `unknown` slot (a dyn record field): the checked-dynamic tree subtree passes
842
- // through as-is — nothing to validate, nothing to build.
886
+ // An `unknown` slot passes through as-is. Typed Web-stream transit
887
+ // capsules stay wrapped so repeated references keep identity;
888
+ // generic operations materialize their one cached detached view.
843
889
  d.push(` (void)path;`);
844
890
  d.push(` return scr_dyn_retain((ScrDyn *)d);`);
845
891
  break;
@@ -907,8 +953,9 @@ export function dynCheckHelper(E, t) {
907
953
  if (f.type.kind === "dyn") {
908
954
  // An `unknown` field: a present key passes through, a missing
909
955
  // one IS the undefined dyn value (JS's missing-property read).
910
- d.push(` (void)p;`);
911
- d.push(` r->${mangleField(f.name)} = scr_dyn_retain(m ? (ScrDyn *)m : scr_dyn_undefined());`);
956
+ // Go through the dyn builder so a Web-stream typed-ref capsule
957
+ // cannot escape inside a checked record field.
958
+ d.push(` r->${mangleField(f.name)} = ${E.dynCheckHelper(f.type)}(m ? m : scr_dyn_undefined(), &p);`);
912
959
  }
913
960
  else if (utag >= 0 && f.type.kind === "union") {
914
961
  const unit = E.unitInstanceRef(f.type.unionId, utag);
@@ -1021,6 +1068,38 @@ export function dynCheckHelper(E, t) {
1021
1068
  }
1022
1069
  d.push(` }`);
1023
1070
  });
1071
+ // A typed stream capsule may fit one arm EXACTLY; those probes run
1072
+ // first so the matching arm can preserve object identity. Only when
1073
+ // no arm matches the producer tag do we snapshot and retry the
1074
+ // ordinary copy-based structural union check (the compiler's width
1075
+ // coercion stance, rather than a live narrowed alias).
1076
+ d.push(` if (d && d->kind == SCR_DYN_TYPED_REF) {`);
1077
+ {
1078
+ const keyLit = cStringLiteral(Buffer.from(key, "utf8"));
1079
+ const keyLen = Buffer.byteLength(key, "utf8");
1080
+ const rc = vAdapters(t);
1081
+ d.push(` ${cDecl(t, "sc_cached")} = (${cType(t).trim()})scr_dyn_typed_ref_cached_cast(d, ${keyLit}, ${keyLen});`);
1082
+ d.push(` ScrDyn *sc_materialized = scr_dyn_typed_ref_materialize(d);`);
1083
+ d.push(` ${cDecl(t, "sc_out")} = ${name}(sc_materialized, path);`);
1084
+ d.push(` scr_dyn_release(sc_materialized);`);
1085
+ d.push(` if (sc_out && sc_cached) {`);
1086
+ d.push(` size_t sc_cached_rc = sc_cached->rc;`);
1087
+ d.push(` size_t sc_out_rc = sc_out->rc;`);
1088
+ d.push(` ScrUnion sc_old = *sc_cached;`);
1089
+ d.push(` *sc_cached = *sc_out;`);
1090
+ d.push(` sc_cached->rc = sc_cached_rc;`);
1091
+ d.push(` *sc_out = sc_old;`);
1092
+ d.push(` sc_out->rc = sc_out_rc;`);
1093
+ d.push(` scr_union_release(sc_out);`);
1094
+ d.push(` return sc_cached;`);
1095
+ d.push(` }`);
1096
+ d.push(` if (sc_cached) scr_union_release(sc_cached);`);
1097
+ d.push(` if (sc_out) {`);
1098
+ d.push(` scr_dyn_typed_ref_cache_cast((ScrDyn *)d, ${keyLit}, ${keyLen}, sc_out, &${rc.retain}, &${rc.release});`);
1099
+ d.push(` }`);
1100
+ d.push(` return sc_out;`);
1101
+ }
1102
+ d.push(` }`);
1024
1103
  d.push(` scr_dyn_check_fail(path, ${want}, d);`);
1025
1104
  d.push(` return NULL;`);
1026
1105
  break;
@@ -1079,6 +1158,7 @@ export function toDynHelper(E, t) {
1079
1158
  const sig = `static ScrDyn *${name}(${cDecl(t, "v")})`;
1080
1159
  E.walkerProtos.push(`${sig}; /* to-dyn ${key} */`);
1081
1160
  const d = [`${sig} { /* to-dyn ${key} */`];
1161
+ let sourceAccessor = null;
1082
1162
  switch (t.kind) {
1083
1163
  case "f64":
1084
1164
  d.push(` return scr_dyn_new_num(v);`);
@@ -1110,6 +1190,12 @@ export function toDynHelper(E, t) {
1110
1190
  // immutable-through-copies.
1111
1191
  d.push(` return scr_dyn_retain(v);`);
1112
1192
  break;
1193
+ case "func":
1194
+ // Function-valued record/array fields (EventListenerObject's
1195
+ // handleEvent method) box through the same identity-preserving
1196
+ // closure bridge as a bare dynFrom function.
1197
+ d.push(` return ${dynFuncBoxHelper(E, t)}(v, NULL);`);
1198
+ break;
1113
1199
  case "bytes":
1114
1200
  // bytes<u8> → the checked-dynamic tree's bytes kind, payload COPIED (the boundary
1115
1201
  // stance; stdin chunks into unknown-typed helpers).
@@ -1139,7 +1225,19 @@ export function toDynHelper(E, t) {
1139
1225
  d.push(` return d;`);
1140
1226
  break;
1141
1227
  }
1142
- d.push(` ScrDyn *d = scr_dyn_new_obj();`);
1228
+ const carriesListenerIdentity = shape.fields.some((f) => f.name === "handleEvent" && f.type.kind === "func");
1229
+ if (carriesListenerIdentity) {
1230
+ const rc = vAdapters(t);
1231
+ sourceAccessor = {
1232
+ name: `${name}_source_access`,
1233
+ release: rc.release,
1234
+ };
1235
+ E.walkerProtos.push(`static ScrDyn *${sourceAccessor.name}(void *v, bool materialize); /* live listener source ${key} */`);
1236
+ d.push(` ScrDyn *d = scr_dyn_new_obj_with_identity(v, &${rc.retain}, &${sourceAccessor.name});`);
1237
+ }
1238
+ else {
1239
+ d.push(` ScrDyn *d = scr_dyn_new_obj();`);
1240
+ }
1143
1241
  // Keys insert in DECLARED order — the dyn object's insertion order
1144
1242
  // is observable (Object.keys/for-in over checked-dynamic values,
1145
1243
  // dyn JSON), so it must be JS's (SEMANTICS.md 36's stance, same as
@@ -1276,6 +1374,9 @@ export function toDynHelper(E, t) {
1276
1374
  }
1277
1375
  d.push(`}`, ``);
1278
1376
  E.walkerDefs.push(...d);
1377
+ if (sourceAccessor) {
1378
+ E.walkerDefs.push(`static ScrDyn *${sourceAccessor.name}(void *v, bool materialize) {`, ` if (materialize) return ${name}((${cType(t).trim()})v);`, ` ${sourceAccessor.release}(v);`, ` return NULL;`, `}`, ``);
1379
+ }
1279
1380
  return name;
1280
1381
  }
1281
1382
  /** The checked-dynamic tree-promise settle adapter for one fulfillment payload type: