@scriptc/compiler 0.0.8 → 0.0.10

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 (90) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +13 -0
  2. package/dist/backend/cc.js +14 -0
  3. package/dist/backend/cc.js.map +1 -1
  4. package/dist/backend/emission/emit-exprs.js +244 -17
  5. package/dist/backend/emission/emit-exprs.js.map +1 -1
  6. package/dist/backend/emission/emit-types.d.ts +3 -0
  7. package/dist/backend/emission/emit-types.js +12 -0
  8. package/dist/backend/emission/emit-types.js.map +1 -1
  9. package/dist/backend/emission/emit-walkers.d.ts +7 -5
  10. package/dist/backend/emission/emit-walkers.js +52 -12
  11. package/dist/backend/emission/emit-walkers.js.map +1 -1
  12. package/dist/backend/emission/emitter.d.ts +1 -1
  13. package/dist/backend/emission/emitter.js +30 -9
  14. package/dist/backend/emission/emitter.js.map +1 -1
  15. package/dist/backend/llvm/dyn.d.ts +1 -0
  16. package/dist/backend/llvm/dyn.js +83 -1
  17. package/dist/backend/llvm/dyn.js.map +1 -1
  18. package/dist/backend/llvm/emitter.js +357 -20
  19. package/dist/backend/llvm/emitter.js.map +1 -1
  20. package/dist/diagnostics/diagnostic.d.ts +73 -14
  21. package/dist/diagnostics/diagnostic.js +112 -31
  22. package/dist/diagnostics/diagnostic.js.map +1 -1
  23. package/dist/diagnostics/render.js +8 -0
  24. package/dist/diagnostics/render.js.map +1 -1
  25. package/dist/frontend/lowering/lib-boundary.js +11 -1
  26. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  27. package/dist/frontend/lowering/lower-assert.js +16 -0
  28. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  29. package/dist/frontend/lowering/lower-builtins.d.ts +24 -0
  30. package/dist/frontend/lowering/lower-builtins.js +256 -3
  31. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  32. package/dist/frontend/lowering/lower-calls.d.ts +71 -11
  33. package/dist/frontend/lowering/lower-calls.js +942 -18
  34. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  35. package/dist/frontend/lowering/lower-classes.js +27 -1
  36. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  37. package/dist/frontend/lowering/lower-containers.d.ts +21 -2
  38. package/dist/frontend/lowering/lower-containers.js +386 -53
  39. package/dist/frontend/lowering/lower-containers.js.map +1 -1
  40. package/dist/frontend/lowering/lower-dgram.js +92 -17
  41. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  42. package/dist/frontend/lowering/lower-emitter.js +54 -0
  43. package/dist/frontend/lowering/lower-emitter.js.map +1 -1
  44. package/dist/frontend/lowering/lower-exprs.js +231 -17
  45. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  46. package/dist/frontend/lowering/lower-modules.js +33 -2
  47. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  48. package/dist/frontend/lowering/lower-namespaces.d.ts +25 -11
  49. package/dist/frontend/lowering/lower-namespaces.js +50 -15
  50. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  51. package/dist/frontend/lowering/lower-server.js +211 -4
  52. package/dist/frontend/lowering/lower-server.js.map +1 -1
  53. package/dist/frontend/lowering/lower-stmts.d.ts +1 -5
  54. package/dist/frontend/lowering/lower-stmts.js +660 -19
  55. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  56. package/dist/frontend/lowering/lower-stream.js +92 -5
  57. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  58. package/dist/frontend/lowering/lowerer.d.ts +102 -15
  59. package/dist/frontend/lowering/lowerer.js +378 -30
  60. package/dist/frontend/lowering/lowerer.js.map +1 -1
  61. package/dist/frontend/lowering/surfaces.js +20 -3
  62. package/dist/frontend/lowering/surfaces.js.map +1 -1
  63. package/dist/frontend/npm-static-rewrite.d.ts +7 -2
  64. package/dist/frontend/npm-static-rewrite.js +566 -138
  65. package/dist/frontend/npm-static-rewrite.js.map +1 -1
  66. package/dist/frontend/npm-static.js +11 -2
  67. package/dist/frontend/npm-static.js.map +1 -1
  68. package/dist/frontend/program.js +5 -5
  69. package/dist/frontend/program.js.map +1 -1
  70. package/dist/frontend/shared.d.ts +6 -1
  71. package/dist/frontend/shared.js +46 -1
  72. package/dist/frontend/shared.js.map +1 -1
  73. package/dist/frontend/types.d.ts +13 -0
  74. package/dist/frontend/types.js +88 -9
  75. package/dist/frontend/types.js.map +1 -1
  76. package/dist/index.js +169 -32
  77. package/dist/index.js.map +1 -1
  78. package/dist/ir/nodes.d.ts +230 -12
  79. package/dist/ir/nodes.js +85 -6
  80. package/dist/ir/nodes.js.map +1 -1
  81. package/dist/ir/validate.js +109 -9
  82. package/dist/ir/validate.js.map +1 -1
  83. package/dist/library/fence-eval.d.ts +77 -0
  84. package/dist/library/fence-eval.js +385 -0
  85. package/dist/library/fence-eval.js.map +1 -0
  86. package/dist/library/profile.d.ts +11 -1
  87. package/dist/library/profile.js +102 -18
  88. package/dist/library/profile.js.map +1 -1
  89. package/package.json +2 -2
  90. package/surface-manifest.json +10 -3
@@ -6,6 +6,12 @@ export interface ScrDiagnostic {
6
6
  loc: SrcLoc;
7
7
  milestone?: Milestone;
8
8
  hint?: string;
9
+ /** Embedder-authored guidance riding a refusal (the ask-5 teaching
10
+ * surface): rendered as its own visibly-attributed trailing line, so the
11
+ * tool's message and hint stay the tool's and the profile's text is
12
+ * recognizably the profile's. Only library-mode refusals carry one —
13
+ * the text always arrives prefixed `from the '<profile name>' profile:`. */
14
+ note?: string;
9
15
  }
10
16
  interface UnsupportedEntry {
11
17
  feature: string;
@@ -74,11 +80,13 @@ export declare function requiresDynamicTypeDiag(typeText: string, loc: SrcLoc):
74
80
  export declare function genericSignatureTypeDiag(typeText: string, loc: SrcLoc): ScrDiagnostic;
75
81
  /** An index-signature object type that STILL does not map: STRING and
76
82
  * NUMBER index signatures compile (declared fields + an overflow map for
77
- * undeclared keys, number keys canonicalized to their JS string spelling),
78
- * so reaching this means a symbol-keyed signature, dual signatures with
79
- * UNEQUAL value types, a value type outside the supported set (functions,
80
- * Maps, promises, ...), or a declared `unknown` field under the signature.
81
- * The message points at the working alternatives. */
83
+ * undeclared keys, number keys canonicalized to their JS string spelling)
84
+ * over the whole overflow-store value domain — data values, functions
85
+ * (the command-registry pattern), Maps/Sets, nested index-signature
86
+ * records, and 'unknown' — so reaching this means a symbol-keyed
87
+ * signature, dual signatures with UNEQUAL value types, or a value type
88
+ * with no representation at all (Dates, typed arrays beyond the domain,
89
+ * lib API objects). The message points at the working alternatives. */
82
90
  export declare function indexSignatureTypeDiag(typeText: string, loc: SrcLoc): ScrDiagnostic;
83
91
  /** A value whose type declares TWO OR MORE call signatures (an overloaded
84
92
  * function type: `{ (x: "a"): string; (x: "b"): number }`, the on()-style
@@ -111,10 +119,13 @@ export declare function componentTypeDiag(typeText: string, detail: string, loc:
111
119
  * used ('Symbol', 'Math.sumPrecise', 'new Date', 'string.normalize'). */
112
120
  export declare function noLoweringDiag(surface: string, loc: SrcLoc, hint?: string, viaNodeTypes?: boolean): ScrDiagnostic;
113
121
  /** Records are monomorphic structs, so a value's shape must match the
114
- * expected shape EXACTLY — TypeScript's structural width subtyping
115
- * (`{a: 1, b: 2}` where `{a: number}` is expected) would need a runtime
116
- * shape coercion that doesn't exist yet. */
117
- export declare function recordShapeMismatchDiag(expectedText: string, actualText: string, loc: SrcLoc): ScrDiagnostic;
122
+ * expected shape exactly OR narrow through the width-copy family
123
+ * (recordWidthPlan / the overflow capture: target fields copied off the
124
+ * source, extra fields dropped, per-field lifts). What reaches this is
125
+ * the RESIDUE those rules decline — `detail`, when the classifier has a
126
+ * pointed answer (describeRecordWidthBlocker), names the first blocking
127
+ * rule instead of leaving two near-identical type prints to eyeball. */
128
+ export declare function recordShapeMismatchDiag(expectedText: string, actualText: string, loc: SrcLoc, detail?: string): ScrDiagnostic;
118
129
  /** Union values carry a runtime tag assigned per-union: a value of one
119
130
  * union type flowing into a DIFFERENT union's slot re-tags at runtime when
120
131
  * every source arm has a home in the destination (`A | B` into `A | B | C`
@@ -185,15 +196,26 @@ export declare function libExportUnresolvedDiag(exportName: string, detail: stri
185
196
  * marshalling classes, or does not fit the class the profile declared. */
186
197
  export declare function libUnmappableSignatureDiag(exportName: string, position: string, detail: string, loc: SrcLoc): ScrDiagnostic;
187
198
  /** SC4004 — a mapped export is async or a generator: a synchronous ABI
188
- * entry cannot be either. Carries the profile's teaching when supplied. */
189
- export declare function libAsyncExportDiag(exportName: string, kind: "async" | "generator", loc: SrcLoc, teaching?: string): ScrDiagnostic;
199
+ * entry cannot be either. The profile's teaching arrives via the shared
200
+ * decoration pass (the "async" shared key or an SC4004 key). */
201
+ export declare function libAsyncExportDiag(exportName: string, kind: "async" | "generator", loc: SrcLoc): ScrDiagnostic;
190
202
  /** SC4005 — the library module graph reaches event-loop or ambient-process
191
203
  * surface (async functions, generators, timers, sockets, signals, child
192
204
  * processes, ...): async_free is a v1 REQUIREMENT, derived from the module
193
- * graph, never observed at runtime. Carries the profile's teaching. */
194
- export declare function libAsyncSurfaceDiag(surface: string, loc: SrcLoc, teaching?: string): ScrDiagnostic;
205
+ * graph, never observed at runtime. */
206
+ export declare function libAsyncSurfaceDiag(surface: string, loc: SrcLoc): ScrDiagnostic;
207
+ /** SC4008 — the ask-5 determinism denial: the profile fences a surface by
208
+ * its surface-manifest id, and the compiled library module graph REACHES
209
+ * it. Minted only for manifest entries the static tier compiles (a fenced
210
+ * surface the tier refuses anyway keeps its own code, with the fence's
211
+ * teaching riding that refusal as the note); anchored at the reaching
212
+ * construct. `surfaceCode` is the diagnostic code the manifest entry
213
+ * carries, when it carries one. */
214
+ export declare function libFenceDiag(profileName: string, surfaceId: string, surfaceName: string, loc: SrcLoc, surfaceCode?: string, teaching?: string): ScrDiagnostic;
195
215
  /** SC4006 — island/dynamic machinery on the library path: --dynamic,
196
- * --npm-static, npm imports, `any`-typed island surface. */
216
+ * --npm-static as a FLAG, `any`-typed island surface. Bare npm imports
217
+ * themselves are not this code: an eligible package compiles statically
218
+ * as part of the library graph, an ineligible one refuses SC4013. */
197
219
  export declare function libDynamicDiag(what: string, loc: SrcLoc): ScrDiagnostic;
198
220
  /** SC4007 — a mapped export whose signature keeps type parameters: every
199
221
  * compiled function is one concrete signature (the SC2005 monomorphization
@@ -225,5 +247,42 @@ export declare function libSidecarComputedDiag(name: string, which: "conditional
225
247
  * sink, alongside the trapping export's C symbol and the profile's teaching
226
248
  * and remediation text for this code when the profile supplies them. */
227
249
  export declare const LIB_INBOUND_BYTES_TRAP_CODE = "SC4012";
250
+ /** SC4013–SC4019 — the library-mode runtime detected-trap family. RUNTIME
251
+ * codes like SC4012, never compile-time refusals: every trap the runtime
252
+ * DETECTS in library mode reaches the panic sink as a structured
253
+ * trap-teaching message (library/trap-teaching.ts's encoding), assembled by
254
+ * the library trap funnel (scr_library.c) with the baseline human line
255
+ * unchanged as field 0, one of these codes, and the trapping entry's
256
+ * symbol; a profile may overlay teaching/remediation text per code through
257
+ * the program TU's overlay table. The kinds are the runtime's ACTUAL trap
258
+ * sites, classified by the funnel over the sites' message conventions:
259
+ *
260
+ * SC4013 escaped exception at an entry (the "Uncaught ..." renderer,
261
+ * scr_library_check_exc — declared entries do not throw)
262
+ * SC4014 range trap ("scriptc: RangeError: ...": array/typed-array
263
+ * index out of bounds, pop() on empty, invalid count value)
264
+ * SC4015 type trap ("scriptc: TypeError: ...": a keyed read miss on a
265
+ * result type that cannot say undefined)
266
+ * SC4016 syntax trap ("scriptc: SyntaxError: ...": invalid regular
267
+ * expression at runtime construction)
268
+ * SC4017 out of memory ("scriptc: out of memory")
269
+ * SC4018 internal invariant failure ("scriptc: internal error: ...")
270
+ * SC4019 other detected trap (the family's residual: environment
271
+ * failures like getcwd/os lookups, unsupported regex
272
+ * operations, circular-structure conversion, the RC audit)
273
+ *
274
+ * There is no arithmetic/div-by-zero kind: JS division never traps, so the
275
+ * runtime has no such site. The list here is the compile-time face of the
276
+ * family (profile overlay filtering); the funnel's classification table in
277
+ * scr_library.c is the runtime face — keep the two in step. */
278
+ export declare const LIB_RUNTIME_TRAP_CODES: readonly ["SC4013", "SC4014", "SC4015", "SC4016", "SC4017", "SC4018", "SC4019"];
279
+ /** SC4020 — a bare npm specifier in a library graph naming a package that
280
+ * fails the npm-static eligibility bar (own .d.ts, unminified shipped JS,
281
+ * no build-transform markers) or whose static compilation the preflight
282
+ * had to refuse. Library mode is STATIC-OR-REFUSE by construction: the
283
+ * island/dynamic tier the executable lane falls back to does not exist on
284
+ * this path (SC4006's ground), so the refusal names the package, the
285
+ * specific bar it missed, and the remedy. */
286
+ export declare function libNpmIneligibleDiag(pkg: string, reason: string, loc: SrcLoc): ScrDiagnostic;
228
287
  export declare function iceDiag(message: string, loc: SrcLoc): ScrDiagnostic;
229
288
  export {};
@@ -7,10 +7,11 @@ export const UNSUPPORTED = {
7
7
  "exports), installed npm packages (their code runs under --dynamic), " +
8
8
  "and the built-in fs, fs/promises, path, os, url, crypto, zlib, " +
9
9
  "child_process, net, http, tls, https, http2, dgram, dns, util, " +
10
- "util/types, string_decoder, readline, events, stream, buffer, " +
11
- "assert, assert/strict, worker_threads, cluster, tty, async_hooks, " +
12
- "timers, timers/promises, diagnostics_channel, perf_hooks, and " +
13
- "node:test and node:module modules (bare or node:-prefixed) are supported",
10
+ "util/types, string_decoder, querystring, readline, events, stream, " +
11
+ "stream/promises, buffer, assert, assert/strict, worker_threads, " +
12
+ "cluster, tty, async_hooks, timers, timers/promises, " +
13
+ "diagnostics_channel, perf_hooks, and node:test and node:module " +
14
+ "modules (bare or node:-prefixed) are supported",
14
15
  },
15
16
  // SC1011 (exports) shipped via export modifiers — retired, do not reuse.
16
17
  // Default exports/imports SHIPPED (expression, function/class declaration
@@ -148,7 +149,7 @@ export const FENCE_CODES = {
148
149
  // fences; standard-library types with no lowering report SC2020). What
149
150
  // remains here is the remainder the name enumerates.
150
151
  SC2001: { name: "values of types outside the compilable set (bigint and symbol primitives, constructor objects, and library-derived or unresolved generic shapes)", status: "unsupported" },
151
- SC2002: { name: "record width subtyping (shapes must match exactly)", status: "unsupported" },
152
+ SC2002: { name: "record shape flows outside the width-copy rules (shapes must match exactly or width-coerce)", status: "unsupported" },
152
153
  SC2003: { name: "union-to-union conversions outside the re-tagging rule", status: "unsupported" },
153
154
  SC2004: { name: "uses of a binding whose declaration did not compile (cascade marker)", status: "unsupported" },
154
155
  SC2005: { name: "values whose type keeps a generic call signature (a compiled function is one concrete signature)", status: "unsupported" },
@@ -303,18 +304,20 @@ export function genericSignatureTypeDiag(typeText, loc) {
303
304
  }
304
305
  /** An index-signature object type that STILL does not map: STRING and
305
306
  * NUMBER index signatures compile (declared fields + an overflow map for
306
- * undeclared keys, number keys canonicalized to their JS string spelling),
307
- * so reaching this means a symbol-keyed signature, dual signatures with
308
- * UNEQUAL value types, a value type outside the supported set (functions,
309
- * Maps, promises, ...), or a declared `unknown` field under the signature.
310
- * The message points at the working alternatives. */
307
+ * undeclared keys, number keys canonicalized to their JS string spelling)
308
+ * over the whole overflow-store value domain — data values, functions
309
+ * (the command-registry pattern), Maps/Sets, nested index-signature
310
+ * records, and 'unknown' — so reaching this means a symbol-keyed
311
+ * signature, dual signatures with UNEQUAL value types, or a value type
312
+ * with no representation at all (Dates, typed arrays beyond the domain,
313
+ * lib API objects). The message points at the working alternatives. */
311
314
  export function indexSignatureTypeDiag(typeText, loc) {
312
315
  return {
313
316
  code: "SC2006",
314
- message: `values of type '${typeText}' cannot be compiled: this index signature is outside the supported shape (string or number keys; values limited to numbers, strings, booleans, records, classes, arrays, unions, or 'unknown')`,
317
+ message: `values of type '${typeText}' cannot be compiled: this index signature is outside the supported shape (string or number keys; values limited to numbers, strings, booleans, records, classes, arrays, unions, functions, Maps, Sets, RegExps, Promises, or 'unknown')`,
315
318
  loc,
316
319
  milestone: "M2",
317
- hint: "string- and number-keyed index signatures over the supported value types compile directly; richer value types want Map<string, V>, and symbol keys have no lowering",
320
+ hint: "string- and number-keyed index signatures over the supported value types compile directly; symbol keys and dual signatures with unequal value types have no lowering",
318
321
  };
319
322
  }
320
323
  /** A value whose type declares TWO OR MORE call signatures (an overloaded
@@ -391,17 +394,20 @@ export function noLoweringDiag(surface, loc, hint, viaNodeTypes = false) {
391
394
  };
392
395
  }
393
396
  /** Records are monomorphic structs, so a value's shape must match the
394
- * expected shape EXACTLY — TypeScript's structural width subtyping
395
- * (`{a: 1, b: 2}` where `{a: number}` is expected) would need a runtime
396
- * shape coercion that doesn't exist yet. */
397
- export function recordShapeMismatchDiag(expectedText, actualText, loc) {
397
+ * expected shape exactly OR narrow through the width-copy family
398
+ * (recordWidthPlan / the overflow capture: target fields copied off the
399
+ * source, extra fields dropped, per-field lifts). What reaches this is
400
+ * the RESIDUE those rules decline — `detail`, when the classifier has a
401
+ * pointed answer (describeRecordWidthBlocker), names the first blocking
402
+ * rule instead of leaving two near-identical type prints to eyeball. */
403
+ export function recordShapeMismatchDiag(expectedText, actualText, loc, detail) {
398
404
  return {
399
405
  code: "SC2002",
400
- message: `record shapes must match exactly: expected '${expectedText}', got '${actualText}' ` +
401
- `(structural width subtyping needs a shape coercion that is not supported yet)`,
406
+ message: `record shapes must match exactly or width-coerce: expected '${expectedText}', got '${actualText}'` +
407
+ (detail !== undefined ? ` — ${detail}` : ""),
402
408
  loc,
403
409
  milestone: "later",
404
- hint: "build a new literal with exactly the expected fields instead of passing a wider value",
410
+ hint: "width subtyping compiles as a copy (each expected field copied off the source; extra fields drop) — this pair is outside the copy's rules; build a literal with exactly the expected fields instead",
405
411
  };
406
412
  }
407
413
  /** Union values carry a runtime tag assigned per-union: a value of one
@@ -537,9 +543,12 @@ export function comptimeFailedDiag(detail, loc) {
537
543
  /* ── SC4xxx: library-mode/profile refusals ─────────────────────────────────
538
544
  * The library-emission mode's own code block (design §5.4 + the ratified
539
545
  * SC4xxx range): neither preflight nor type rules nor backend coverage —
540
- * each refusal names the profile entry involved and the fix, and SC4004/
541
- * SC4005 additionally carry the profile's own teaching text when the
542
- * profile supplies one (the ratification session's rider). */
546
+ * each refusal names the profile entry involved and the fix. Profile
547
+ * teaching text no longer threads through individual factories: EVERY
548
+ * library-mode refusal passes through one decoration pass
549
+ * (library/fence-eval.ts's decorateLibraryRefusals — the SC4004/SC4005
550
+ * rider generalized to any refusal code or manifest id), which attaches
551
+ * the profile's text as the diagnostic's attributed `note`. */
543
552
  /** SC4001 — the profile file itself is malformed: parse errors, unknown
544
553
  * fields at meaning-changing positions, prefix violations, duplicate
545
554
  * symbols, bad C identifiers. Anchored at the profile file. */
@@ -574,32 +583,52 @@ export function libUnmappableSignatureDiag(exportName, position, detail, loc) {
574
583
  };
575
584
  }
576
585
  /** SC4004 — a mapped export is async or a generator: a synchronous ABI
577
- * entry cannot be either. Carries the profile's teaching when supplied. */
578
- export function libAsyncExportDiag(exportName, kind, loc, teaching) {
586
+ * entry cannot be either. The profile's teaching arrives via the shared
587
+ * decoration pass (the "async" shared key or an SC4004 key). */
588
+ export function libAsyncExportDiag(exportName, kind, loc) {
579
589
  return {
580
590
  code: "SC4004",
581
591
  message: `library export '${exportName}' is ${kind === "async" ? "an async function" : "a generator"} — a profile entry is a synchronous ABI symbol`,
582
592
  loc,
583
- hint: "expose a synchronous facade function and map that instead" +
584
- (teaching !== undefined ? ` — ${teaching}` : ""),
593
+ hint: "expose a synchronous facade function and map that instead",
585
594
  };
586
595
  }
587
596
  /** SC4005 — the library module graph reaches event-loop or ambient-process
588
597
  * surface (async functions, generators, timers, sockets, signals, child
589
598
  * processes, ...): async_free is a v1 REQUIREMENT, derived from the module
590
- * graph, never observed at runtime. Carries the profile's teaching. */
591
- export function libAsyncSurfaceDiag(surface, loc, teaching) {
599
+ * graph, never observed at runtime. */
600
+ export function libAsyncSurfaceDiag(surface, loc) {
592
601
  return {
593
602
  code: "SC4005",
594
603
  message: `library mode requires an async_free module graph, and this graph reaches ${surface}`,
595
604
  loc,
596
605
  hint: "v1 library artifacts link no event loop, install no signal handlers, and create no threads — remove the surface from " +
597
- "everything the entry module reaches" +
598
- (teaching !== undefined ? ` — ${teaching}` : ""),
606
+ "everything the entry module reaches",
599
607
  };
600
608
  }
609
+ /** SC4008 — the ask-5 determinism denial: the profile fences a surface by
610
+ * its surface-manifest id, and the compiled library module graph REACHES
611
+ * it. Minted only for manifest entries the static tier compiles (a fenced
612
+ * surface the tier refuses anyway keeps its own code, with the fence's
613
+ * teaching riding that refusal as the note); anchored at the reaching
614
+ * construct. `surfaceCode` is the diagnostic code the manifest entry
615
+ * carries, when it carries one. */
616
+ export function libFenceDiag(profileName, surfaceId, surfaceName, loc, surfaceCode, teaching) {
617
+ const diag = {
618
+ code: "SC4008",
619
+ message: `the '${profileName}' profile fences '${surfaceId}' (${surfaceName}${surfaceCode !== undefined ? `, ${surfaceCode}` : ""}), and this library graph reaches it`,
620
+ loc,
621
+ hint: "the profile denies this surface at compile time (a determinism fence over the surface manifest's ids) — " +
622
+ "remove the use from everything the entry module reaches, or lift the fence",
623
+ };
624
+ if (teaching !== undefined)
625
+ diag.note = `from the '${profileName}' profile: ${teaching}`;
626
+ return diag;
627
+ }
601
628
  /** SC4006 — island/dynamic machinery on the library path: --dynamic,
602
- * --npm-static, npm imports, `any`-typed island surface. */
629
+ * --npm-static as a FLAG, `any`-typed island surface. Bare npm imports
630
+ * themselves are not this code: an eligible package compiles statically
631
+ * as part of the library graph, an ineligible one refuses SC4013. */
603
632
  export function libDynamicDiag(what, loc) {
604
633
  return {
605
634
  code: "SC4006",
@@ -672,6 +701,58 @@ export function libSidecarComputedDiag(name, which, loc) {
672
701
  * sink, alongside the trapping export's C symbol and the profile's teaching
673
702
  * and remediation text for this code when the profile supplies them. */
674
703
  export const LIB_INBOUND_BYTES_TRAP_CODE = "SC4012";
704
+ /** SC4013–SC4019 — the library-mode runtime detected-trap family. RUNTIME
705
+ * codes like SC4012, never compile-time refusals: every trap the runtime
706
+ * DETECTS in library mode reaches the panic sink as a structured
707
+ * trap-teaching message (library/trap-teaching.ts's encoding), assembled by
708
+ * the library trap funnel (scr_library.c) with the baseline human line
709
+ * unchanged as field 0, one of these codes, and the trapping entry's
710
+ * symbol; a profile may overlay teaching/remediation text per code through
711
+ * the program TU's overlay table. The kinds are the runtime's ACTUAL trap
712
+ * sites, classified by the funnel over the sites' message conventions:
713
+ *
714
+ * SC4013 escaped exception at an entry (the "Uncaught ..." renderer,
715
+ * scr_library_check_exc — declared entries do not throw)
716
+ * SC4014 range trap ("scriptc: RangeError: ...": array/typed-array
717
+ * index out of bounds, pop() on empty, invalid count value)
718
+ * SC4015 type trap ("scriptc: TypeError: ...": a keyed read miss on a
719
+ * result type that cannot say undefined)
720
+ * SC4016 syntax trap ("scriptc: SyntaxError: ...": invalid regular
721
+ * expression at runtime construction)
722
+ * SC4017 out of memory ("scriptc: out of memory")
723
+ * SC4018 internal invariant failure ("scriptc: internal error: ...")
724
+ * SC4019 other detected trap (the family's residual: environment
725
+ * failures like getcwd/os lookups, unsupported regex
726
+ * operations, circular-structure conversion, the RC audit)
727
+ *
728
+ * There is no arithmetic/div-by-zero kind: JS division never traps, so the
729
+ * runtime has no such site. The list here is the compile-time face of the
730
+ * family (profile overlay filtering); the funnel's classification table in
731
+ * scr_library.c is the runtime face — keep the two in step. */
732
+ export const LIB_RUNTIME_TRAP_CODES = [
733
+ "SC4013",
734
+ "SC4014",
735
+ "SC4015",
736
+ "SC4016",
737
+ "SC4017",
738
+ "SC4018",
739
+ "SC4019",
740
+ ];
741
+ /** SC4020 — a bare npm specifier in a library graph naming a package that
742
+ * fails the npm-static eligibility bar (own .d.ts, unminified shipped JS,
743
+ * no build-transform markers) or whose static compilation the preflight
744
+ * had to refuse. Library mode is STATIC-OR-REFUSE by construction: the
745
+ * island/dynamic tier the executable lane falls back to does not exist on
746
+ * this path (SC4006's ground), so the refusal names the package, the
747
+ * specific bar it missed, and the remedy. */
748
+ export function libNpmIneligibleDiag(pkg, reason, loc) {
749
+ return {
750
+ code: "SC4020",
751
+ message: `library mode compiles npm packages statically or not at all, and '${pkg}' cannot compile statically: ${reason}`,
752
+ loc,
753
+ hint: "library artifacts have no island/dynamic tier to fall back to — vendor the code you need from the package as project modules, or drop the dependency",
754
+ };
755
+ }
675
756
  export function iceDiag(message, loc) {
676
757
  return {
677
758
  code: "SC9001",
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostic.js","sourceRoot":"","sources":["../../src/diagnostics/diagnostic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostic.js","sourceRoot":"","sources":["../../src/diagnostics/diagnostic.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,14 @@ export function renderDiagnostic(diag, source, opts = {}) {
44
44
  if (diag.hint) {
45
45
  out.push("", ` ${c(CYAN, "hint:")} ${diag.hint}`);
46
46
  }
47
+ if (diag.note) {
48
+ // Embedder-authored teaching text: its own attributed trailing line
49
+ // (the text itself begins "from the '<profile>' profile:"), so the
50
+ // tool's message and hint stay visibly the tool's.
51
+ if (!diag.hint)
52
+ out.push("");
53
+ out.push(` ${c(CYAN, "note:")} ${diag.note}`);
54
+ }
47
55
  return out.join("\n");
48
56
  }
49
57
  export function renderAll(diags, sourceTextByFile, opts = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/diagnostics/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/diagnostics/render.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,12 @@ function coerceSlot(L, arg, want, what) {
36
36
  // a lying handle throws the catchable TypeError. Targets outside the
37
37
  // exit set keep the named fence.
38
38
  if (arg.type.kind === "jsval" && want.kind !== "jsval") {
39
+ // A jsval into a dyn slot: the by-reference jsval→DOM wrap — the same
40
+ // edge coerceToExpected converts (dyn slots accept engine values;
41
+ // world unification's engine-handle kind).
42
+ if (want.kind === "dyn") {
43
+ return { kind: "dynFromJsval", value: arg, type: DYN, loc: arg.loc };
44
+ }
39
45
  if (L.boundaryExitSafe(want)) {
40
46
  return { kind: "jsExit", value: arg, type: want, loc: arg.loc };
41
47
  }
@@ -199,7 +205,11 @@ export function enforceLibBoundary(L, node) {
199
205
  if (a.type.kind === "dyn")
200
206
  return;
201
207
  if (a.type.kind === "jsval") {
202
- fence(L, "SC1100", a.loc, "passing 'any'-typed values into calls through 'unknown' values (validate with 'as <type>' first)");
208
+ // An island value in a checked-dynamic argument slot: the
209
+ // jsval→DOM crossing (by-reference wrap, scalars normalized) —
210
+ // the routed call converts it back by reference at the boundary.
211
+ e.args[i] = { kind: "dynFromJsval", value: a, type: DYN, loc: a.loc };
212
+ return;
203
213
  }
204
214
  if (a.kind === "unitLit" || L.dynConvertible(a.type)) {
205
215
  e.args[i] = { kind: "dynFrom", value: a, type: DYN, loc: a.loc };
@@ -1 +1 @@
1
- {"version":3,"file":"lib-boundary.js","sourceRoot":"","sources":["../../../src/frontend/lowering/lib-boundary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib-boundary.js","sourceRoot":"","sources":["../../../src/frontend/lowering/lib-boundary.ts"],"names":[],"mappings":"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"}
@@ -499,6 +499,22 @@ function classifyThrowsExpected(L, surface, node, loc) {
499
499
  return { form: "errValue", value: { kind: "dynFrom", value, type: DYN, loc } };
500
500
  }
501
501
  }
502
+ // A plain expected object held in a VARIABLE (`const oor = { code: ... };
503
+ // assert.throws(fn, oor)` — the suite's shared expectation records): the
504
+ // same runtime key walk as an error instance — Node's expectsError reads
505
+ // the expected's own keys only, so a convertible record crosses as its
506
+ // DOM object. Records carrying regex members are not convertible and
507
+ // keep the fence (the runtime walk would deep-compare, not test).
508
+ if (expectedT?.kind === "record" && L.dynConvertible(expectedT)) {
509
+ const value = L.lowerExpr(node);
510
+ // JS-lane locals holding object literals lower to dyn already; a
511
+ // typed record crosses through dynFrom.
512
+ if (value.type.kind === "dyn")
513
+ return { form: "errValue", value };
514
+ if (typeEquals(value.type, expectedT)) {
515
+ return { form: "errValue", value: { kind: "dynFrom", value, type: DYN, loc } };
516
+ }
517
+ }
502
518
  L.noLowering(`${surface} with this expected-error shape`, node, "an error CLASS (Error/TypeError/... or a class extending them), an error instance, a message string, " +
503
519
  "a regular expression, or an object literal over name/message/code are the lowered forms");
504
520
  }