@scriptc/compiler 0.0.6 → 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.
package/dist/index.d.ts CHANGED
@@ -8,7 +8,10 @@ export { renderAll, renderDiagnostic } from "./diagnostics/render.js";
8
8
  export { renderCoverage, type CoverageInput } from "./coverage/report.js";
9
9
  export { generateSurfaceManifest, renderSurfaceManifest, MANIFEST_SCHEMA_VERSION, type SurfaceManifest, type SurfaceManifestEntry, } from "./coverage/surface-manifest.js";
10
10
  export { validateModule } from "./ir/validate.js";
11
- export { loadLibraryProfile, profileTeaching, LIB_PARAM_CLASSES, LIB_RETURN_CLASSES, type LibraryProfile, type LibraryExportEntry, type LibParamClass, type LibReturnClass, } from "./library/profile.js";
11
+ export { loadLibraryProfile, profileTeaching, LIB_PARAM_CLASSES, LIB_RETURN_CLASSES, type LibraryProfile, type LibraryExportEntry, type LibrarySidecarConfig, type LibParamClass, type LibReturnClass, } from "./library/profile.js";
12
+ export { abiExportSuffixes, buildSidecar, canonicalModuleGraph, canonicalPath, compilerReleaseVersion, libraryIdentityHashes, SIDECAR_FORMAT, type SidecarDoc, type SidecarBuildInput, type SidecarBuildResult, type TypeRef, type PayloadDescriptor, } from "./library/sidecar.js";
13
+ export { validateSidecar } from "./library/sidecar-validate.js";
14
+ export { BUILD_ID_SEED, SOURCE_HASH_SEED, hex16, lengthPrefixedStream, wyhash64 } from "./library/wyhash.js";
12
15
  export { ISLAND_SURFACE, type IslandFnEntry } from "./frontend/lowering/surfaces.js";
13
16
  export { ambientDtsPath, overridesDtsPath } from "./frontend/program.js";
14
17
  export { resolveProvenanceSources } from "./frontend/provenance.js";
@@ -94,12 +97,17 @@ export interface CompileLibraryOptions {
94
97
  emitIr?: boolean;
95
98
  sanitize?: boolean;
96
99
  }
97
- export type CompileLibraryResult = {
100
+ export type CompileLibraryResult =
101
+ /** `sidecarPath` is present exactly when the profile declares a
102
+ * `sidecar` section: the contract JSON written beside the archive by
103
+ * the same invocation (ask 2). */
104
+ {
98
105
  ok: true;
99
106
  archivePath: string;
100
107
  cPath: string;
101
108
  backend: "c" | "llvm";
102
109
  irPath?: string;
110
+ sidecarPath?: string;
103
111
  } | {
104
112
  ok: false;
105
113
  diagnostics: ScrDiagnostic[];
package/dist/index.js CHANGED
@@ -5,8 +5,11 @@ import { emitModule } from "./backend/emission/emitter.js";
5
5
  import { emitLlvmModule, LlvmUnsupportedError } from "./backend/llvm/emitter.js";
6
6
  import { checkerPanicDiag, libAsyncExportDiag, libAsyncSurfaceDiag, libExportUnresolvedDiag, libGenericExportDiag, libUnmappableSignatureDiag, iceDiag, isCheckerPanic } from "./diagnostics/diagnostic.js";
7
7
  import { loadLibraryProfile, profileTeaching } from "./library/profile.js";
8
+ import { buildSidecar, canonicalModuleGraph, canonicalPath, compilerReleaseVersion, libraryIdentityHashes, } from "./library/sidecar.js";
9
+ import { validateSidecar } from "./library/sidecar-validate.js";
8
10
  import { entryFunctionExports } from "./frontend/lib-exports.js";
9
- import { moduleLibAsyncSurface, moduleEmbedsBuiltin, moduleEmbedsCompressedNpm, moduleUsesAssert, moduleUsesDc, moduleUsesDgram, moduleUsesDynAsync, moduleUsesDynInvoke, moduleUsesEmitter, moduleUsesFetch, moduleUsesFsWatch, moduleUsesHttp2, moduleUsesHttpServer, moduleUsesInspect, moduleUsesNet, moduleUsesNodeTest, moduleUsesProcessEvents, moduleUsesQs, moduleUsesRegex, moduleUsesSearchParams, moduleUsesStream, moduleUsesSymbol, moduleUsesTls, moduleUsesZlib } from "./ir/nodes.js";
11
+ import { entryContractFacts } from "./frontend/lib-contract.js";
12
+ import { moduleLibAsyncSurface, moduleLibNondeterministicSurface, moduleEmbedsBuiltin, moduleEmbedsCompressedNpm, moduleUsesAssert, moduleUsesDc, moduleUsesDgram, moduleUsesDynAsync, moduleUsesDynInvoke, moduleUsesEmitter, moduleUsesFetch, moduleUsesFsWatch, moduleUsesHttp2, moduleUsesHttpServer, moduleUsesInspect, moduleUsesNet, moduleUsesNodeTest, moduleUsesProcessEvents, moduleUsesQs, moduleUsesRegex, moduleUsesSearchParams, moduleUsesStream, moduleUsesSymbol, moduleUsesTls, moduleUsesZlib } from "./ir/nodes.js";
10
13
  import { serializeModule } from "./ir/serialize.js";
11
14
  import { validateModule } from "./ir/validate.js";
12
15
  import { checkPreflight, isNodeTypesPath, loadProgram, resolveNpmImport } from "./frontend/program.js";
@@ -23,6 +26,9 @@ export { renderCoverage } from "./coverage/report.js";
23
26
  export { generateSurfaceManifest, renderSurfaceManifest, MANIFEST_SCHEMA_VERSION, } from "./coverage/surface-manifest.js";
24
27
  export { validateModule } from "./ir/validate.js";
25
28
  export { loadLibraryProfile, profileTeaching, LIB_PARAM_CLASSES, LIB_RETURN_CLASSES, } from "./library/profile.js";
29
+ export { abiExportSuffixes, buildSidecar, canonicalModuleGraph, canonicalPath, compilerReleaseVersion, libraryIdentityHashes, SIDECAR_FORMAT, } from "./library/sidecar.js";
30
+ export { validateSidecar } from "./library/sidecar-validate.js";
31
+ export { BUILD_ID_SEED, SOURCE_HASH_SEED, hex16, lengthPrefixedStream, wyhash64 } from "./library/wyhash.js";
26
32
  export { ISLAND_SURFACE } from "./frontend/lowering/surfaces.js";
27
33
  export { ambientDtsPath, overridesDtsPath } from "./frontend/program.js";
28
34
  export { resolveProvenanceSources } from "./frontend/provenance.js";
@@ -242,6 +248,7 @@ function runFrontend(entryPath, npmStatic) {
242
248
  preflight,
243
249
  entryText: () => finalLoad.entry.text,
244
250
  entryExports: () => entryFunctionExports(finalLoad.entry),
251
+ entryContract: () => entryContractFacts(finalLoad.entry),
245
252
  sourceTexts: () => new Map([finalLoad.entry, ...finalLoad.moduleOrder].map((sf) => [sf.fileName, sf.text])),
246
253
  lower: (opts) => lowerToIr(finalLoad.program, finalLoad.entry, finalLoad.moduleOrder, { ...opts, startupCrash: finalLoad.startupCrash ?? null }),
247
254
  npmStatic: statuses,
@@ -569,6 +576,7 @@ export async function compileLibrary(opts) {
569
576
  let entryText;
570
577
  let sourceTexts;
571
578
  let entryInfo;
579
+ let contractFacts;
572
580
  try {
573
581
  const fail = (diagnostics) => ({
574
582
  ok: false,
@@ -595,6 +603,7 @@ export async function compileLibrary(opts) {
595
603
  if (lowered.module === null)
596
604
  return fail(lowered.diagnostics);
597
605
  entryInfo = fe.entryExports();
606
+ contractFacts = profile.sidecar !== null ? fe.entryContract() : null;
598
607
  entryText = fe.entryText();
599
608
  sourceTexts = fe.sourceTexts();
600
609
  }
@@ -616,6 +625,44 @@ export async function compileLibrary(opts) {
616
625
  return fail([libAsyncSurfaceDiag(asyncSurface.surface, asyncSurface.loc, profileTeaching(profile, "SC4005"))]);
617
626
  }
618
627
  mod.lib = resolved.lib;
628
+ // The ask-2 contract sidecar rides the same invocation. Identity first
629
+ // (schema §2's worked build_id definition over compiler version, profile
630
+ // bytes, and the sorted canonical module graph; source_hash per the
631
+ // profile's "module-graph" contract) — the u64 lands on the IR so both
632
+ // backends emit the identity getters from the ONE value the sidecar
633
+ // records (V12's coherence by construction), then the projection into
634
+ // the schema (declaration orders from the AST) and the V1–V14
635
+ // self-check before anything is written.
636
+ let sidecarJson = null;
637
+ if (profile.sidecar !== null) {
638
+ const rootDir = dirname(resolve(opts.profilePath));
639
+ const modules = canonicalModuleGraph(rootDir, sourceTexts);
640
+ const { buildId, sourceHash } = libraryIdentityHashes(compilerReleaseVersion(), profile.profileBytes, modules);
641
+ mod.lib.identity = {
642
+ buildIdSymbol: profile.sidecar.buildIdSymbol,
643
+ abiVersionSymbol: profile.sidecar.abiVersionSymbol,
644
+ buildId,
645
+ abiVersion: profile.sidecar.abiVersion,
646
+ };
647
+ const built = buildSidecar({
648
+ profile,
649
+ facts: contractFacts,
650
+ compilerVersion: compilerReleaseVersion(),
651
+ entry: canonicalPath(rootDir, entryPath),
652
+ buildId,
653
+ sourceHash,
654
+ deterministic: moduleLibNondeterministicSurface(mod) === null,
655
+ });
656
+ if (!built.ok)
657
+ return fail(built.diagnostics);
658
+ const violations = validateSidecar(built.doc);
659
+ if (violations.length > 0) {
660
+ // The projection above refuses every user-caused shape; a rule
661
+ // violation surviving to here is an emitter bug.
662
+ return fail(violations.map((v) => iceDiag(`sidecar self-check failed — ${v}`, { file: entryPath, start: 0, end: 0 })));
663
+ }
664
+ sidecarJson = built.json;
665
+ }
619
666
  const validation = validateModule(mod);
620
667
  if (validation.length > 0)
621
668
  return fail(validation.map((v) => iceDiag(v.message, v.loc)));
@@ -658,12 +705,24 @@ export async function compileLibrary(opts) {
658
705
  emitter: moduleUsesEmitter(mod),
659
706
  zlib: moduleUsesZlib(mod),
660
707
  });
708
+ // The sidecar lands beside the compiled object, written by the same
709
+ // invocation (profile-declared name; the neutral default when the
710
+ // profile states none is <out>.contract.json).
711
+ let sidecarPath;
712
+ if (sidecarJson !== null) {
713
+ sidecarPath =
714
+ profile.sidecar.path !== null
715
+ ? resolve(dirname(archivePath), profile.sidecar.path)
716
+ : `${archivePath}.contract.json`;
717
+ await writeFile(sidecarPath, sidecarJson);
718
+ }
661
719
  return {
662
720
  ok: true,
663
721
  archivePath,
664
722
  cPath,
665
723
  backend: profile.emission,
666
724
  ...(irPath !== undefined ? { irPath } : {}),
725
+ ...(sidecarPath !== undefined ? { sidecarPath } : {}),
667
726
  };
668
727
  }
669
728
  //# sourceMappingURL=index.js.map
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;
@@ -4411,6 +4427,10 @@ export declare function moduleLibAsyncSurface(mod: IrModule): {
4411
4427
  surface: string;
4412
4428
  loc: SrcLoc;
4413
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;
4414
4434
  /** The may-throw seed: libCall members that can raise. Every fs.* member
4415
4435
  * EXCEPT existsSync (which, like Node's, swallows errors and returns false)
4416
4436
  * throws a catchable error on failure; json.parse throws a catchable
package/dist/ir/nodes.js CHANGED
@@ -1808,6 +1808,74 @@ export function moduleLibAsyncSurface(mod) {
1808
1808
  }
1809
1809
  return null;
1810
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
+ }
1811
1879
  /** The may-throw seed: libCall members that can raise. Every fs.* member
1812
1880
  * EXCEPT existsSync (which, like Node's, swallows errors and returns false)
1813
1881
  * throws a catchable error on failure; json.parse throws a catchable