@scriptc/compiler 0.0.35 → 0.0.36

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 (418) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +7 -6
  2. package/dist/backend/build-cache.d.ts +44 -0
  3. package/dist/backend/build-cache.js +241 -0
  4. package/dist/backend/build-cache.js.map +1 -0
  5. package/dist/backend/{emission/emit-async.d.ts → c/async.d.ts} +21 -30
  6. package/dist/backend/{emission/emit-async.js → c/async.js} +270 -286
  7. package/dist/backend/c/async.js.map +1 -0
  8. package/dist/backend/{emission/emitter.d.ts → c/c-emitter.d.ts} +6 -23
  9. package/dist/backend/{emission/emitter.js → c/c-emitter.js} +53 -107
  10. package/dist/backend/c/c-emitter.js.map +1 -0
  11. package/dist/backend/c/exprs.d.ts +8 -0
  12. package/dist/backend/c/exprs.js +7913 -0
  13. package/dist/backend/c/exprs.js.map +1 -0
  14. package/dist/backend/{emission/emit-island.d.ts → c/island.d.ts} +5 -5
  15. package/dist/backend/{emission/emit-island.js → c/island.js} +24 -22
  16. package/dist/backend/c/island.js.map +1 -0
  17. package/dist/backend/{emission → c}/may-throw.d.ts +1 -1
  18. package/dist/backend/{emission → c}/may-throw.js +1 -1
  19. package/dist/backend/c/may-throw.js.map +1 -0
  20. package/dist/backend/{emission/emit-shapes.d.ts → c/shapes.d.ts} +19 -19
  21. package/dist/backend/{emission/emit-shapes.js → c/shapes.js} +78 -87
  22. package/dist/backend/c/shapes.js.map +1 -0
  23. package/dist/backend/{emission/emit-stmts.d.ts → c/stmts.d.ts} +12 -12
  24. package/dist/backend/{emission/emit-stmts.js → c/stmts.js} +377 -343
  25. package/dist/backend/c/stmts.js.map +1 -0
  26. package/dist/backend/{emission/emit-types.d.ts → c/types.d.ts} +1 -1
  27. package/dist/backend/{emission/emit-types.js → c/types.js} +42 -286
  28. package/dist/backend/c/types.js.map +1 -0
  29. package/dist/backend/c/types.test.js +25 -0
  30. package/dist/backend/c/types.test.js.map +1 -0
  31. package/dist/backend/{emission/emit-walkers.d.ts → c/walkers.d.ts} +19 -41
  32. package/dist/backend/{emission/emit-walkers.js → c/walkers.js} +238 -298
  33. package/dist/backend/c/walkers.js.map +1 -0
  34. package/dist/backend/ffi-callbacks.d.ts +1 -1
  35. package/dist/backend/ffi-callbacks.js +4 -3
  36. package/dist/backend/ffi-callbacks.js.map +1 -1
  37. package/dist/backend/{library-identity.d.ts → library-identity-markers.d.ts} +0 -4
  38. package/dist/backend/{library-identity.js → library-identity-markers.js} +10 -9
  39. package/dist/backend/library-identity-markers.js.map +1 -0
  40. package/dist/backend/llvm/blocks.d.ts +4 -0
  41. package/dist/backend/llvm/blocks.js +29 -0
  42. package/dist/backend/llvm/blocks.js.map +1 -1
  43. package/dist/backend/llvm/classes.d.ts +2 -19
  44. package/dist/backend/llvm/classes.js +20 -52
  45. package/dist/backend/llvm/classes.js.map +1 -1
  46. package/dist/backend/llvm/common.d.ts +4 -0
  47. package/dist/backend/llvm/common.js +27 -0
  48. package/dist/backend/llvm/common.js.map +1 -0
  49. package/dist/backend/llvm/dyn.d.ts +3 -8
  50. package/dist/backend/llvm/dyn.js +152 -224
  51. package/dist/backend/llvm/dyn.js.map +1 -1
  52. package/dist/backend/llvm/emitter.d.ts +4 -1
  53. package/dist/backend/llvm/emitter.js +514 -9981
  54. package/dist/backend/llvm/emitter.js.map +1 -1
  55. package/dist/backend/llvm/expr-async.d.ts +4 -0
  56. package/dist/backend/llvm/expr-async.js +726 -0
  57. package/dist/backend/llvm/expr-async.js.map +1 -0
  58. package/dist/backend/llvm/expr-bytes.d.ts +13 -0
  59. package/dist/backend/llvm/expr-bytes.js +456 -0
  60. package/dist/backend/llvm/expr-bytes.js.map +1 -0
  61. package/dist/backend/llvm/expr-callbacks.d.ts +22 -0
  62. package/dist/backend/llvm/expr-callbacks.js +520 -0
  63. package/dist/backend/llvm/expr-callbacks.js.map +1 -0
  64. package/dist/backend/llvm/expr-calls.d.ts +2 -0
  65. package/dist/backend/llvm/expr-calls.js +618 -0
  66. package/dist/backend/llvm/expr-calls.js.map +1 -0
  67. package/dist/backend/llvm/expr-containers.d.ts +25 -0
  68. package/dist/backend/llvm/expr-containers.js +623 -0
  69. package/dist/backend/llvm/expr-containers.js.map +1 -0
  70. package/dist/backend/llvm/expr-context.d.ts +255 -0
  71. package/dist/backend/llvm/expr-context.js +2 -0
  72. package/dist/backend/llvm/expr-context.js.map +1 -0
  73. package/dist/backend/llvm/expr-control.d.ts +2 -0
  74. package/dist/backend/llvm/expr-control.js +473 -0
  75. package/dist/backend/llvm/expr-control.js.map +1 -0
  76. package/dist/backend/llvm/expr-dispatch.d.ts +4 -0
  77. package/dist/backend/llvm/expr-dispatch.js +151 -0
  78. package/dist/backend/llvm/expr-dispatch.js.map +1 -0
  79. package/dist/backend/llvm/expr-dynamic.d.ts +2 -0
  80. package/dist/backend/llvm/expr-dynamic.js +810 -0
  81. package/dist/backend/llvm/expr-dynamic.js.map +1 -0
  82. package/dist/backend/llvm/expr-island.d.ts +15 -0
  83. package/dist/backend/llvm/expr-island.js +690 -0
  84. package/dist/backend/llvm/expr-island.js.map +1 -0
  85. package/dist/backend/llvm/expr-primitives.d.ts +6 -0
  86. package/dist/backend/llvm/expr-primitives.js +622 -0
  87. package/dist/backend/llvm/expr-primitives.js.map +1 -0
  88. package/dist/backend/llvm/expr-records.d.ts +9 -0
  89. package/dist/backend/llvm/expr-records.js +299 -0
  90. package/dist/backend/llvm/expr-records.js.map +1 -0
  91. package/dist/backend/llvm/expr-stream-bridges.d.ts +13 -0
  92. package/dist/backend/llvm/expr-stream-bridges.js +396 -0
  93. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -0
  94. package/dist/backend/llvm/expr-stream-callbacks.d.ts +12 -0
  95. package/dist/backend/llvm/expr-stream-callbacks.js +360 -0
  96. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -0
  97. package/dist/backend/llvm/lib-dispatch.d.ts +5 -0
  98. package/dist/backend/llvm/lib-dispatch.js +267 -0
  99. package/dist/backend/llvm/lib-dispatch.js.map +1 -0
  100. package/dist/backend/llvm/lib-filesystem.d.ts +6 -0
  101. package/dist/backend/llvm/lib-filesystem.js +594 -0
  102. package/dist/backend/llvm/lib-filesystem.js.map +1 -0
  103. package/dist/backend/llvm/lib-network.d.ts +2 -0
  104. package/dist/backend/llvm/lib-network.js +429 -0
  105. package/dist/backend/llvm/lib-network.js.map +1 -0
  106. package/dist/backend/llvm/lib-process.d.ts +5 -0
  107. package/dist/backend/llvm/lib-process.js +585 -0
  108. package/dist/backend/llvm/lib-process.js.map +1 -0
  109. package/dist/backend/llvm/lib-shared.d.ts +6 -0
  110. package/dist/backend/llvm/lib-shared.js +687 -0
  111. package/dist/backend/llvm/lib-shared.js.map +1 -0
  112. package/dist/backend/llvm/lib-stream.d.ts +2 -0
  113. package/dist/backend/llvm/lib-stream.js +470 -0
  114. package/dist/backend/llvm/lib-stream.js.map +1 -0
  115. package/dist/backend/llvm/shapes.d.ts +12 -2
  116. package/dist/backend/llvm/shapes.js +66 -307
  117. package/dist/backend/llvm/shapes.js.map +1 -1
  118. package/dist/backend/llvm/shapes.test.js +52 -0
  119. package/dist/backend/llvm/shapes.test.js.map +1 -0
  120. package/dist/backend/llvm/unsupported.d.ts +1 -1
  121. package/dist/backend/llvm/walkers.d.ts +2 -3
  122. package/dist/backend/llvm/walkers.js +164 -218
  123. package/dist/backend/llvm/walkers.js.map +1 -1
  124. package/dist/backend/native-codegen.d.ts +38 -0
  125. package/dist/backend/native-codegen.js +261 -0
  126. package/dist/backend/native-codegen.js.map +1 -0
  127. package/dist/backend/native-codegen.test.js +188 -0
  128. package/dist/backend/native-codegen.test.js.map +1 -0
  129. package/dist/backend/native-link-info.d.ts +96 -0
  130. package/dist/backend/native-link-info.js +219 -0
  131. package/dist/backend/native-link-info.js.map +1 -0
  132. package/dist/backend/native-link-info.test.d.ts +1 -0
  133. package/dist/backend/native-link-info.test.js +134 -0
  134. package/dist/backend/native-link-info.test.js.map +1 -0
  135. package/dist/backend/{cc.d.ts → native-toolchain.d.ts} +54 -34
  136. package/dist/backend/{cc.js → native-toolchain.js} +231 -810
  137. package/dist/backend/native-toolchain.js.map +1 -0
  138. package/dist/backend/native-toolchain.test.d.ts +1 -0
  139. package/dist/backend/{cc-cache.test.js → native-toolchain.test.js} +214 -6
  140. package/dist/backend/native-toolchain.test.js.map +1 -0
  141. package/dist/backend/object-localize.js +1 -1
  142. package/dist/backend/runtime-abi.d.ts +10 -0
  143. package/dist/backend/runtime-abi.js +11 -0
  144. package/dist/backend/runtime-abi.js.map +1 -0
  145. package/dist/backend/runtime-pack.d.ts +137 -0
  146. package/dist/backend/runtime-pack.js +400 -0
  147. package/dist/backend/runtime-pack.js.map +1 -0
  148. package/dist/backend/runtime-pack.test.d.ts +1 -0
  149. package/dist/backend/runtime-pack.test.js +438 -0
  150. package/dist/backend/runtime-pack.test.js.map +1 -0
  151. package/dist/backend/targets.d.ts +30 -0
  152. package/dist/backend/targets.js +46 -0
  153. package/dist/backend/targets.js.map +1 -0
  154. package/dist/backend/targets.test.d.ts +1 -0
  155. package/dist/backend/targets.test.js +19 -0
  156. package/dist/backend/targets.test.js.map +1 -0
  157. package/dist/backend/vendor-archives.d.ts +41 -0
  158. package/dist/backend/vendor-archives.js +462 -0
  159. package/dist/backend/vendor-archives.js.map +1 -0
  160. package/dist/compat/fetch-profile.d.ts +0 -1
  161. package/dist/compat/fetch-profile.js +0 -1
  162. package/dist/compat/fetch-profile.js.map +1 -1
  163. package/dist/coverage/report.js +3 -3
  164. package/dist/coverage/report.js.map +1 -1
  165. package/dist/coverage/surface-manifest.js +25 -32
  166. package/dist/coverage/surface-manifest.js.map +1 -1
  167. package/dist/diagnostics/diagnostic.d.ts +11 -12
  168. package/dist/diagnostics/diagnostic.js +19 -17
  169. package/dist/diagnostics/diagnostic.js.map +1 -1
  170. package/dist/diagnostics/render.d.ts +1 -1
  171. package/dist/diagnostics/render.js +1 -1
  172. package/dist/diagnostics/render.js.map +1 -1
  173. package/dist/errors.d.ts +5 -0
  174. package/dist/errors.js +9 -0
  175. package/dist/errors.js.map +1 -0
  176. package/dist/executable/{early-cache.d.ts → executable-cache.d.ts} +2 -2
  177. package/dist/executable/{early-cache.js → executable-cache.js} +36 -98
  178. package/dist/executable/executable-cache.js.map +1 -0
  179. package/dist/executable/executable-cache.test.d.ts +1 -0
  180. package/dist/executable/{early-cache.test.js → executable-cache.test.js} +3 -3
  181. package/dist/executable/executable-cache.test.js.map +1 -0
  182. package/dist/ffi/{profile.js → ffi-manifest.js} +1 -1
  183. package/dist/ffi/ffi-manifest.js.map +1 -0
  184. package/dist/frontend/builtin-modules.d.ts +21 -0
  185. package/dist/frontend/builtin-modules.js +82 -0
  186. package/dist/frontend/builtin-modules.js.map +1 -0
  187. package/dist/frontend/cjs-lexer.d.ts +7 -0
  188. package/dist/frontend/cjs-lexer.js +15 -17
  189. package/dist/frontend/cjs-lexer.js.map +1 -1
  190. package/dist/frontend/dts-paths.d.ts +26 -0
  191. package/dist/frontend/dts-paths.js +41 -0
  192. package/dist/frontend/dts-paths.js.map +1 -0
  193. package/dist/frontend/input-tracker.d.ts +0 -2
  194. package/dist/frontend/input-tracker.js +1 -4
  195. package/dist/frontend/input-tracker.js.map +1 -1
  196. package/dist/frontend/lib-contract.d.ts +1 -5
  197. package/dist/frontend/lib-contract.js +1 -1
  198. package/dist/frontend/lib-contract.js.map +1 -1
  199. package/dist/frontend/lib-exports.d.ts +1 -1
  200. package/dist/frontend/lowering/call-position.d.ts +4 -0
  201. package/dist/frontend/lowering/call-position.js +7 -0
  202. package/dist/frontend/lowering/call-position.js.map +1 -0
  203. package/dist/frontend/lowering/callback-arg.d.ts +20 -0
  204. package/dist/frontend/lowering/callback-arg.js +44 -0
  205. package/dist/frontend/lowering/callback-arg.js.map +1 -0
  206. package/dist/frontend/lowering/lib-boundary.d.ts +1 -1
  207. package/dist/frontend/lowering/lib-boundary.js +34 -34
  208. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  209. package/dist/frontend/lowering/lower-assert.d.ts +3 -3
  210. package/dist/frontend/lowering/lower-assert.js +214 -241
  211. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  212. package/dist/frontend/lowering/lower-builtins.d.ts +74 -146
  213. package/dist/frontend/lowering/lower-builtins.js +1124 -1232
  214. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  215. package/dist/frontend/lowering/lower-calls.d.ts +56 -188
  216. package/dist/frontend/lowering/lower-calls.js +1397 -1492
  217. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  218. package/dist/frontend/lowering/lower-classes.d.ts +62 -125
  219. package/dist/frontend/lowering/lower-classes.js +832 -866
  220. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  221. package/dist/frontend/lowering/lower-comptime.d.ts +5 -12
  222. package/dist/frontend/lowering/lower-comptime.js +32 -31
  223. package/dist/frontend/lowering/lower-comptime.js.map +1 -1
  224. package/dist/frontend/lowering/lower-containers.d.ts +35 -135
  225. package/dist/frontend/lowering/lower-containers.js +1384 -1700
  226. package/dist/frontend/lowering/lower-containers.js.map +1 -1
  227. package/dist/frontend/lowering/lower-dgram.d.ts +3 -7
  228. package/dist/frontend/lowering/lower-dgram.js +97 -111
  229. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  230. package/dist/frontend/lowering/lower-enums.d.ts +4 -4
  231. package/dist/frontend/lowering/lower-enums.js +30 -30
  232. package/dist/frontend/lowering/lower-enums.js.map +1 -1
  233. package/dist/frontend/lowering/{lower-emitter.d.ts → lower-event-emitter.d.ts} +7 -18
  234. package/dist/frontend/lowering/{lower-emitter.js → lower-event-emitter.js} +172 -174
  235. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -0
  236. package/dist/frontend/lowering/lower-expando.d.ts +5 -5
  237. package/dist/frontend/lowering/lower-expando.js +40 -40
  238. package/dist/frontend/lowering/lower-expando.js.map +1 -1
  239. package/dist/frontend/lowering/lower-exprs.d.ts +56 -264
  240. package/dist/frontend/lowering/lower-exprs.js +1624 -1696
  241. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  242. package/dist/frontend/lowering/lower-generators.d.ts +6 -6
  243. package/dist/frontend/lowering/lower-generators.js +73 -72
  244. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  245. package/dist/frontend/lowering/lower-inspect.d.ts +5 -17
  246. package/dist/frontend/lowering/lower-inspect.js +236 -238
  247. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  248. package/dist/frontend/lowering/lower-island.d.ts +34 -45
  249. package/dist/frontend/lowering/lower-island.js +437 -508
  250. package/dist/frontend/lowering/lower-island.js.map +1 -1
  251. package/dist/frontend/lowering/lower-mixins.d.ts +7 -10
  252. package/dist/frontend/lowering/lower-mixins.js +85 -85
  253. package/dist/frontend/lowering/lower-mixins.js.map +1 -1
  254. package/dist/frontend/lowering/lower-modules.d.ts +12 -18
  255. package/dist/frontend/lowering/lower-modules.js +284 -283
  256. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  257. package/dist/frontend/lowering/lower-namespaces.d.ts +23 -49
  258. package/dist/frontend/lowering/lower-namespaces.js +123 -115
  259. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  260. package/dist/frontend/lowering/lower-server.d.ts +18 -25
  261. package/dist/frontend/lowering/lower-server.js +899 -899
  262. package/dist/frontend/lowering/lower-server.js.map +1 -1
  263. package/dist/frontend/lowering/lower-stmts.d.ts +30 -149
  264. package/dist/frontend/lowering/lower-stmts.js +1175 -1228
  265. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  266. package/dist/frontend/lowering/lower-stream.d.ts +12 -12
  267. package/dist/frontend/lowering/lower-stream.js +300 -301
  268. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  269. package/dist/frontend/lowering/lower-test.d.ts +5 -5
  270. package/dist/frontend/lowering/lower-test.js +82 -82
  271. package/dist/frontend/lowering/lower-test.js.map +1 -1
  272. package/dist/frontend/lowering/lowerer.d.ts +60 -20
  273. package/dist/frontend/lowering/lowerer.js +191 -117
  274. package/dist/frontend/lowering/lowerer.js.map +1 -1
  275. package/dist/frontend/lowering/pairs-snapshot.d.ts +11 -0
  276. package/dist/frontend/lowering/pairs-snapshot.js +85 -0
  277. package/dist/frontend/lowering/pairs-snapshot.js.map +1 -0
  278. package/dist/frontend/lowering/static-this.d.ts +6 -0
  279. package/dist/frontend/lowering/static-this.js +24 -0
  280. package/dist/frontend/lowering/static-this.js.map +1 -0
  281. package/dist/frontend/lowering/surfaces.d.ts +14 -33
  282. package/dist/frontend/lowering/surfaces.js +63 -63
  283. package/dist/frontend/lowering/surfaces.js.map +1 -1
  284. package/dist/frontend/npm-static-rewrite.js +6 -28
  285. package/dist/frontend/npm-static-rewrite.js.map +1 -1
  286. package/dist/frontend/npm-static.d.ts +0 -10
  287. package/dist/frontend/npm-static.js +4 -7
  288. package/dist/frontend/npm-static.js.map +1 -1
  289. package/dist/frontend/npm.d.ts +0 -24
  290. package/dist/frontend/npm.js +11 -85
  291. package/dist/frontend/npm.js.map +1 -1
  292. package/dist/frontend/program.d.ts +3 -1
  293. package/dist/frontend/program.js +9 -4
  294. package/dist/frontend/program.js.map +1 -1
  295. package/dist/frontend/provenance-registry.d.ts +0 -2
  296. package/dist/frontend/provenance-registry.js +0 -10
  297. package/dist/frontend/provenance-registry.js.map +1 -1
  298. package/dist/frontend/provenance.js +4 -7
  299. package/dist/frontend/provenance.js.map +1 -1
  300. package/dist/frontend/resolve.d.ts +7 -2
  301. package/dist/frontend/resolve.js +12 -17
  302. package/dist/frontend/resolve.js.map +1 -1
  303. package/dist/frontend/resolve.test.d.ts +1 -0
  304. package/dist/frontend/resolve.test.js +29 -0
  305. package/dist/frontend/resolve.test.js.map +1 -0
  306. package/dist/frontend/ts7/adapter.d.ts +2 -2
  307. package/dist/frontend/ts7/adapter.js +1 -1
  308. package/dist/frontend/ts7/adapter.js.map +1 -1
  309. package/dist/frontend/ts7/checker.js +2 -36
  310. package/dist/frontend/ts7/checker.js.map +1 -1
  311. package/dist/frontend/ts7/enums.js +2 -1
  312. package/dist/frontend/ts7/enums.js.map +1 -1
  313. package/dist/frontend/ts7/{program.js → program-adapter.js} +7 -6
  314. package/dist/frontend/ts7/program-adapter.js.map +1 -0
  315. package/dist/frontend/ts7/world-check.d.ts +1 -3
  316. package/dist/frontend/ts7/world-check.js +3 -1
  317. package/dist/frontend/ts7/world-check.js.map +1 -1
  318. package/dist/frontend/tsc-codes.d.ts +8 -0
  319. package/dist/frontend/tsc-codes.js +109 -0
  320. package/dist/frontend/tsc-codes.js.map +1 -0
  321. package/dist/frontend/{types.d.ts → type-mapper.d.ts} +2 -25
  322. package/dist/frontend/{types.js → type-mapper.js} +12 -11
  323. package/dist/frontend/type-mapper.js.map +1 -0
  324. package/dist/frontend/workspace-registry.d.ts +26 -0
  325. package/dist/frontend/workspace-registry.js +71 -0
  326. package/dist/frontend/workspace-registry.js.map +1 -0
  327. package/dist/index.d.ts +112 -30
  328. package/dist/index.js +512 -126
  329. package/dist/index.js.map +1 -1
  330. package/dist/ir/analysis.d.ts +37 -0
  331. package/dist/ir/analysis.js +118 -0
  332. package/dist/ir/analysis.js.map +1 -0
  333. package/dist/ir/analysis.test.d.ts +1 -0
  334. package/dist/ir/analysis.test.js +21 -0
  335. package/dist/ir/analysis.test.js.map +1 -0
  336. package/dist/ir/build.d.ts +9 -0
  337. package/dist/ir/build.js +33 -0
  338. package/dist/ir/build.js.map +1 -0
  339. package/dist/ir/integer-loops.d.ts +1 -1
  340. package/dist/ir/{nodes.d.ts → ir.d.ts} +54 -26
  341. package/dist/ir/{nodes.js → ir.js} +145 -141
  342. package/dist/ir/ir.js.map +1 -0
  343. package/dist/ir/ir.test.d.ts +1 -0
  344. package/dist/ir/ir.test.js +17 -0
  345. package/dist/ir/ir.test.js.map +1 -0
  346. package/dist/ir/serialize.d.ts +1 -1
  347. package/dist/ir/serialize.js +2 -1
  348. package/dist/ir/serialize.js.map +1 -1
  349. package/dist/ir/validate.d.ts +1 -1
  350. package/dist/ir/validate.js +10 -5
  351. package/dist/ir/validate.js.map +1 -1
  352. package/dist/library/cache-primitives.d.ts +24 -0
  353. package/dist/library/cache-primitives.js +83 -0
  354. package/dist/library/cache-primitives.js.map +1 -0
  355. package/dist/library/cache-reset.test.d.ts +1 -0
  356. package/dist/library/cache-reset.test.js +47 -0
  357. package/dist/library/cache-reset.test.js.map +1 -0
  358. package/dist/library/{implementation-identity.js → compiler-self-identity.js} +1 -1
  359. package/dist/library/compiler-self-identity.js.map +1 -0
  360. package/dist/library/fence-eval.d.ts +3 -1
  361. package/dist/library/fence-eval.js +5 -1
  362. package/dist/library/fence-eval.js.map +1 -1
  363. package/dist/library/int-infer.d.ts +1 -36
  364. package/dist/library/int-infer.js +17 -17
  365. package/dist/library/int-infer.js.map +1 -1
  366. package/dist/library/{early-cache.d.ts → library-cache.d.ts} +1 -1
  367. package/dist/library/{early-cache.js → library-cache.js} +34 -89
  368. package/dist/library/library-cache.js.map +1 -0
  369. package/dist/library/library-cache.test.d.ts +1 -0
  370. package/dist/library/{early-cache.test.js → library-cache.test.js} +2 -2
  371. package/dist/library/library-cache.test.js.map +1 -0
  372. package/dist/library/{profile.d.ts → library-profile.d.ts} +4 -7
  373. package/dist/library/{profile.js → library-profile.js} +18 -11
  374. package/dist/library/library-profile.js.map +1 -0
  375. package/dist/library/semantic-source.js +2 -1
  376. package/dist/library/semantic-source.js.map +1 -1
  377. package/dist/library/sidecar.d.ts +5 -2
  378. package/dist/library/sidecar.js +11 -5
  379. package/dist/library/sidecar.js.map +1 -1
  380. package/dist/startup-cache.d.ts +3 -3
  381. package/dist/startup-cache.js +2 -2
  382. package/dist/startup-cache.js.map +1 -1
  383. package/package.json +6 -2
  384. package/surface-manifest.json +1 -1
  385. package/dist/backend/cc-cache.test.js.map +0 -1
  386. package/dist/backend/cc.js.map +0 -1
  387. package/dist/backend/emission/emit-async.js.map +0 -1
  388. package/dist/backend/emission/emit-exprs.d.ts +0 -13
  389. package/dist/backend/emission/emit-exprs.js +0 -7407
  390. package/dist/backend/emission/emit-exprs.js.map +0 -1
  391. package/dist/backend/emission/emit-island.js.map +0 -1
  392. package/dist/backend/emission/emit-shapes.js.map +0 -1
  393. package/dist/backend/emission/emit-stmts.js.map +0 -1
  394. package/dist/backend/emission/emit-types.js.map +0 -1
  395. package/dist/backend/emission/emit-walkers.js.map +0 -1
  396. package/dist/backend/emission/emitter.js.map +0 -1
  397. package/dist/backend/emission/may-throw.js.map +0 -1
  398. package/dist/backend/library-identity.js.map +0 -1
  399. package/dist/executable/early-cache.js.map +0 -1
  400. package/dist/executable/early-cache.test.js.map +0 -1
  401. package/dist/ffi/profile.js.map +0 -1
  402. package/dist/frontend/lowering/lower-emitter.js.map +0 -1
  403. package/dist/frontend/shared.d.ts +0 -82
  404. package/dist/frontend/shared.js +0 -308
  405. package/dist/frontend/shared.js.map +0 -1
  406. package/dist/frontend/ts7/program.js.map +0 -1
  407. package/dist/frontend/types.js.map +0 -1
  408. package/dist/ir/nodes.js.map +0 -1
  409. package/dist/library/early-cache.js.map +0 -1
  410. package/dist/library/early-cache.test.js.map +0 -1
  411. package/dist/library/implementation-identity.js.map +0 -1
  412. package/dist/library/profile.js.map +0 -1
  413. /package/dist/backend/{cc-cache.test.d.ts → c/types.test.d.ts} +0 -0
  414. /package/dist/{executable/early-cache.test.d.ts → backend/llvm/shapes.test.d.ts} +0 -0
  415. /package/dist/{library/early-cache.test.d.ts → backend/native-codegen.test.d.ts} +0 -0
  416. /package/dist/ffi/{profile.d.ts → ffi-manifest.d.ts} +0 -0
  417. /package/dist/frontend/ts7/{program.d.ts → program-adapter.d.ts} +0 -0
  418. /package/dist/library/{implementation-identity.d.ts → compiler-self-identity.d.ts} +0 -0
@@ -0,0 +1,400 @@
1
+ import { execFile } from "node:child_process";
2
+ import { createHash } from "node:crypto";
3
+ import { createRequire } from "node:module";
4
+ import { mkdir, mkdtemp, readFile, realpath, rename, rm, stat, writeFile } from "node:fs/promises";
5
+ import { tmpdir } from "node:os";
6
+ import { basename, dirname, join, resolve } from "node:path";
7
+ import { promisify } from "node:util";
8
+ import { compilerReleaseVersion } from "../library/sidecar.js";
9
+ import { CcCompileError, executableSectionEliminationFlags, nativeArtifactDependenciesStillMatch, nativeLinkerDependencyPaths, subprocessFailureDetail, } from "./native-toolchain.js";
10
+ import { RUNTIME_ABI_MARKER, RUNTIME_ABI_VERSION } from "./runtime-abi.js";
11
+ const execFileAsync = promisify(execFile);
12
+ export const RUNTIME_PACK_SCHEMA = "scriptc.runtime-pack.v1";
13
+ export const RUNTIME_PACK_FORMAT = 1;
14
+ export class RuntimePackError extends Error {
15
+ code;
16
+ constructor(message, code) {
17
+ super(message);
18
+ this.code = code;
19
+ this.name = "RuntimePackError";
20
+ }
21
+ }
22
+ function object(value) {
23
+ return value !== null && typeof value === "object" && !Array.isArray(value)
24
+ ? value
25
+ : null;
26
+ }
27
+ function validDigest(value) {
28
+ return typeof value === "string" && /^[0-9a-f]{64}$/.test(value);
29
+ }
30
+ function validPredicate(value) {
31
+ if (typeof value === "boolean" || typeof value === "string")
32
+ return true;
33
+ const item = object(value);
34
+ if (item === null)
35
+ return false;
36
+ const keys = Object.keys(item);
37
+ if (keys.some((key) => key !== "all" && key !== "any" && key !== "not"))
38
+ return false;
39
+ return keys.length > 0 && keys.every((key) => Array.isArray(item[key]) && item[key].every((feature) => typeof feature === "string"));
40
+ }
41
+ function validArtifact(value) {
42
+ const item = object(value);
43
+ return item !== null && typeof item.path === "string" && !item.path.startsWith("/") &&
44
+ !item.path.split(/[\\/]/).includes("..") && validDigest(item.sha256) &&
45
+ typeof item.size === "number" && Number.isInteger(item.size) && item.size >= 0;
46
+ }
47
+ export function parseRuntimePackManifest(value) {
48
+ const manifest = object(value);
49
+ const target = object(manifest?.target);
50
+ const abi = object(manifest?.runtime_abi);
51
+ const compiler = object(manifest?.compiler);
52
+ const macros = object(manifest?.macros);
53
+ const flavors = object(manifest?.flavors);
54
+ const validFlavor = (value, optimization) => {
55
+ const flavor = object(value);
56
+ return flavor?.optimization === optimization && Array.isArray(flavor.runtime_units) &&
57
+ flavor.runtime_units.every((raw) => {
58
+ const unit = object(raw);
59
+ return typeof unit?.source === "string" && validPredicate(unit.predicate) &&
60
+ Array.isArray(unit.variants) && unit.variants.length > 0 && unit.variants.every((variantRaw) => {
61
+ const variant = object(variantRaw);
62
+ const when = object(variant?.when);
63
+ return validArtifact(variantRaw) && typeof variant?.id === "string" && when !== null &&
64
+ Object.values(when).every((entry) => typeof entry === "boolean") &&
65
+ Array.isArray(variant.defines) && variant.defines.every((entry) => typeof entry === "string");
66
+ });
67
+ });
68
+ };
69
+ if (manifest?.schema !== RUNTIME_PACK_SCHEMA || manifest.format !== RUNTIME_PACK_FORMAT ||
70
+ typeof manifest.package !== "string" || typeof manifest.version !== "string" ||
71
+ target?.name !== "macos-arm64" || target.llvm_triple !== "arm64-apple-macosx14.0.0" ||
72
+ target.architecture !== "arm64" || target.object_format !== "macho" || target.minimum_os !== "14.0" ||
73
+ abi?.version !== RUNTIME_ABI_VERSION || abi.marker !== RUNTIME_ABI_MARKER ||
74
+ typeof compiler?.command !== "string" || typeof compiler.identity !== "string" ||
75
+ compiler.target !== target.llvm_triple ||
76
+ !Array.isArray(macros?.executable) || !macros.executable.every((entry) => typeof entry === "string") ||
77
+ !Array.isArray(macros.excluded) || !macros.excluded.every((entry) => typeof entry === "string") ||
78
+ macros.sanitizer !== "external-toolchain-required" ||
79
+ flavors === null || !validFlavor(flavors.release, "-O2") || !validFlavor(flavors.dev, "-O0") ||
80
+ !Array.isArray(manifest.archives) || !manifest.archives.every((raw) => {
81
+ const archive = object(raw);
82
+ return validArtifact(raw) && typeof archive?.id === "string" && validPredicate(archive.predicate);
83
+ }) ||
84
+ !Array.isArray(manifest.system_libraries) || !manifest.system_libraries.every((raw) => {
85
+ const library = object(raw);
86
+ return typeof library?.name === "string" && validPredicate(library.predicate);
87
+ }) ||
88
+ !Array.isArray(manifest.licenses) || !manifest.licenses.every((raw) => {
89
+ const license = object(raw);
90
+ return typeof license?.path === "string" && typeof license.license === "string";
91
+ }))
92
+ throw new RuntimePackError("installed runtime-pack.json is malformed or incompatible", "invalid");
93
+ return manifest;
94
+ }
95
+ export function effectiveRuntimeFeatures(features, env = process.env) {
96
+ const curlFetch = features.dynamic && features.fetch && env["SCRIPTC_FETCH_CURL"] === "1";
97
+ if (curlFetch) {
98
+ throw new RuntimePackError("SCRIPTC_FETCH_CURL=1 is an external developer-toolchain comparison mode and is not available with precompiled runtime packs", "unsupported");
99
+ }
100
+ const nativeFetch = features.fetch;
101
+ const netIslandEffective = features.dynamic && (features.netIsland || nativeFetch);
102
+ const netEffective = features.net || nativeFetch || netIslandEffective;
103
+ const httpEffective = features.http || nativeFetch || netIslandEffective;
104
+ const tlsEffective = features.tls || nativeFetch || netIslandEffective;
105
+ const tlsCaEffective = features.tlsCa || tlsEffective;
106
+ return {
107
+ ...features,
108
+ nativeFetch,
109
+ netIslandEffective,
110
+ netEffective,
111
+ httpEffective,
112
+ tlsEffective,
113
+ tlsCaEffective,
114
+ zlibEffective: features.zlib || nativeFetch,
115
+ };
116
+ }
117
+ export function evaluateRuntimePredicate(predicate, features) {
118
+ const values = features;
119
+ if (typeof predicate === "boolean")
120
+ return predicate;
121
+ if (typeof predicate === "string")
122
+ return values[predicate] === true;
123
+ return (predicate.all?.every((name) => values[name] === true) ?? true) &&
124
+ (predicate.any?.some((name) => values[name] === true) ?? true) &&
125
+ (predicate.not?.every((name) => values[name] !== true) ?? true);
126
+ }
127
+ function selectVariant(unit, features) {
128
+ const matches = unit.variants.filter((variant) => Object.entries(variant.when).every(([name, expected]) => features[name] === expected));
129
+ matches.sort((a, b) => Object.keys(b.when).length - Object.keys(a.when).length || a.id.localeCompare(b.id));
130
+ const selected = matches[0];
131
+ if (selected === undefined) {
132
+ throw new RuntimePackError(`runtime pack has no variant for ${unit.source}`, "invalid");
133
+ }
134
+ return selected;
135
+ }
136
+ async function verifyArtifact(root, artifact) {
137
+ const path = join(root, artifact.path);
138
+ let bytes;
139
+ try {
140
+ bytes = await readFile(path);
141
+ }
142
+ catch {
143
+ throw new RuntimePackError(`runtime pack artifact is missing: ${artifact.path}`, "invalid");
144
+ }
145
+ if (bytes.length !== artifact.size || createHash("sha256").update(bytes).digest("hex") !== artifact.sha256) {
146
+ throw new RuntimePackError(`runtime pack artifact hash mismatch: ${artifact.path}`, "invalid");
147
+ }
148
+ return path;
149
+ }
150
+ async function stageRuntimePackArtifacts(selection) {
151
+ if (!(await nativeArtifactDependenciesStillMatch(selection.sourceDependencies).catch(() => false))) {
152
+ throw new RuntimePackError("runtime pack changed after artifact selection", "invalid");
153
+ }
154
+ const stageRoot = await mkdtemp(join(tmpdir(), "scriptc-runtime-pack-link-"));
155
+ try {
156
+ const replacements = new Map();
157
+ await Promise.all([
158
+ ...selection.selectedRuntimeArtifacts,
159
+ ...selection.selectedArchiveArtifacts,
160
+ ].map(async (artifact) => {
161
+ const source = join(selection.root, artifact.path);
162
+ const destination = join(stageRoot, artifact.path);
163
+ const bytes = await readFile(source).catch(() => {
164
+ throw new RuntimePackError(`runtime pack artifact is missing: ${artifact.path}`, "invalid");
165
+ });
166
+ if (bytes.length !== artifact.size ||
167
+ createHash("sha256").update(bytes).digest("hex") !== artifact.sha256) {
168
+ throw new RuntimePackError(`runtime pack artifact hash mismatch: ${artifact.path}`, "invalid");
169
+ }
170
+ await mkdir(dirname(destination), { recursive: true });
171
+ await writeFile(destination, bytes, { flag: "wx", mode: 0o400 });
172
+ replacements.set(source, destination);
173
+ }));
174
+ if (!(await nativeArtifactDependenciesStillMatch(selection.sourceDependencies).catch(() => false))) {
175
+ throw new RuntimePackError("runtime pack changed while staging verified artifacts", "invalid");
176
+ }
177
+ return { root: stageRoot, replacements };
178
+ }
179
+ catch (error) {
180
+ await rm(stageRoot, { recursive: true, force: true }).catch(() => undefined);
181
+ throw error;
182
+ }
183
+ }
184
+ export async function loadRuntimePack(options) {
185
+ const packageName = options.target.name === "macos-arm64"
186
+ ? "@scriptc/runtime-darwin-arm64"
187
+ : (() => { throw new RuntimePackError(`no runtime pack supports ${options.target.name}`, "unsupported"); })();
188
+ const resolvePackageJson = options.resolver ?? ((specifier) => createRequire(import.meta.url).resolve(specifier));
189
+ let packagePath;
190
+ try {
191
+ packagePath = resolvePackageJson(`${packageName}/package.json`);
192
+ }
193
+ catch {
194
+ throw new RuntimePackError(`precompiled runtime package ${packageName} is not installed; reinstall scriptc with optional dependencies enabled for macOS arm64`, "missing");
195
+ }
196
+ const root = dirname(packagePath);
197
+ const manifestPath = join(root, "runtime-pack.json");
198
+ let identityDependencies;
199
+ try {
200
+ identityDependencies = await snapshotDependencies([packagePath, manifestPath]);
201
+ }
202
+ catch {
203
+ throw new RuntimePackError(`could not read ${packageName}/runtime-pack.json`, "invalid");
204
+ }
205
+ let packageManifest;
206
+ let manifest;
207
+ try {
208
+ [packageManifest, manifest] = await Promise.all([
209
+ readFile(packagePath, "utf8").then((text) => JSON.parse(text)),
210
+ readFile(manifestPath, "utf8").then((text) => parseRuntimePackManifest(JSON.parse(text))),
211
+ ]);
212
+ }
213
+ catch (error) {
214
+ if (error instanceof RuntimePackError)
215
+ throw error;
216
+ throw new RuntimePackError(`could not read ${packageName}/runtime-pack.json`, "invalid");
217
+ }
218
+ if (packageManifest.name !== packageName || manifest.package !== packageName ||
219
+ packageManifest.version !== compilerReleaseVersion() || manifest.version !== compilerReleaseVersion()) {
220
+ throw new RuntimePackError(`runtime pack version mismatch: expected ${packageName}@${compilerReleaseVersion()}, found ${packageManifest.name}@${packageManifest.version}`, "invalid");
221
+ }
222
+ if (manifest.target.name !== options.target.name ||
223
+ manifest.target.llvm_triple !== options.target.llvmTriple ||
224
+ manifest.target.object_format !== options.target.objectFormat ||
225
+ manifest.target.minimum_os !== options.target.minimumOs)
226
+ throw new RuntimePackError(`runtime pack does not support target ${options.target.name}`, "invalid");
227
+ const features = effectiveRuntimeFeatures(options.features, options.env);
228
+ const flavor = options.optimization;
229
+ const selectedUnits = manifest.flavors[flavor].runtime_units
230
+ .filter((unit) => evaluateRuntimePredicate(unit.predicate, features));
231
+ const selectedVariants = selectedUnits.map((unit) => selectVariant(unit, features));
232
+ const selectedArchives = manifest.archives
233
+ .filter((archive) => evaluateRuntimePredicate(archive.predicate, features));
234
+ const selectedArtifactPaths = [
235
+ ...selectedVariants,
236
+ ...selectedArchives,
237
+ ].map((artifact) => join(root, artifact.path));
238
+ let artifactDependencies;
239
+ try {
240
+ artifactDependencies = await snapshotDependencies(selectedArtifactPaths);
241
+ }
242
+ catch {
243
+ throw new RuntimePackError("runtime pack artifact set changed during selection", "invalid");
244
+ }
245
+ const [runtimeObjects, archives] = await Promise.all([
246
+ Promise.all(selectedVariants.map((artifact) => verifyArtifact(root, artifact))),
247
+ Promise.all(selectedArchives.map((artifact) => verifyArtifact(root, artifact))),
248
+ ]);
249
+ await Promise.all(manifest.licenses.map((license) => readFile(join(root, license.path)))).catch(() => {
250
+ throw new RuntimePackError("runtime pack license payload is incomplete", "invalid");
251
+ });
252
+ const sourceDependencies = [...identityDependencies, ...artifactDependencies];
253
+ if (!(await nativeArtifactDependenciesStillMatch(sourceDependencies).catch(() => false))) {
254
+ throw new RuntimePackError("runtime pack changed while verifying selected artifacts", "invalid");
255
+ }
256
+ return {
257
+ root,
258
+ manifestPath,
259
+ manifest,
260
+ flavor,
261
+ features,
262
+ runtimeObjects,
263
+ archives,
264
+ systemLibraries: manifest.system_libraries
265
+ .filter((entry) => evaluateRuntimePredicate(entry.predicate, features))
266
+ .map((entry) => entry.name),
267
+ dependencyPaths: [packagePath, manifestPath, ...runtimeObjects, ...archives],
268
+ sourceDependencies,
269
+ selectedRuntimeArtifacts: selectedVariants,
270
+ selectedArchiveArtifacts: selectedArchives,
271
+ };
272
+ }
273
+ export async function createRuntimeLinkPlan(options) {
274
+ const runtimePack = await loadRuntimePack(options);
275
+ return {
276
+ target: options.target,
277
+ outputPath: options.outPath,
278
+ inputs: [
279
+ options.programObject,
280
+ ...(options.ffi?.libraries ?? []),
281
+ ...runtimePack.runtimeObjects,
282
+ ...runtimePack.archives,
283
+ ],
284
+ systemLibraries: [...new Set([
285
+ ...(options.ffi?.systemLibraries ?? []),
286
+ ...runtimePack.systemLibraries,
287
+ ])],
288
+ driverFlags: [
289
+ "-target", options.target.llvmTriple, "-pthread",
290
+ ...executableSectionEliminationFlags("darwin").link,
291
+ ],
292
+ dependencyPaths: [
293
+ ...runtimePack.dependencyPaths,
294
+ ...(options.ffi?.libraries ?? []),
295
+ ],
296
+ programObjectDependencies: [...(options.programObjectDependencies ?? [])],
297
+ runtimePack,
298
+ };
299
+ }
300
+ async function snapshotDependencies(paths) {
301
+ const { lstat } = await import("node:fs/promises");
302
+ return Promise.all([...new Set(paths.map((path) => resolve(path)))].sort().map(async (path) => {
303
+ const info = await lstat(path);
304
+ const kind = info.isFile() ? "file" : info.isDirectory() ? "directory" : "symlink";
305
+ const dependency = {
306
+ path,
307
+ kind,
308
+ dev: Number(info.dev), ino: Number(info.ino), size: Number(info.size),
309
+ mtimeMs: Number(info.mtimeMs), ctimeMs: Number(info.ctimeMs),
310
+ };
311
+ if (kind === "symlink") {
312
+ const targetPath = await realpath(path);
313
+ const target = await stat(path);
314
+ const targetKind = target.isFile() ? "file" : target.isDirectory() ? "directory" : null;
315
+ if (targetKind === null)
316
+ throw new Error(`unsupported linker dependency: ${path}`);
317
+ dependency.targetPath = targetPath;
318
+ dependency.targetKind = targetKind;
319
+ dependency.targetDev = Number(target.dev);
320
+ dependency.targetIno = Number(target.ino);
321
+ dependency.targetSize = Number(target.size);
322
+ dependency.targetMtimeMs = Number(target.mtimeMs);
323
+ dependency.targetCtimeMs = Number(target.ctimeMs);
324
+ }
325
+ return dependency;
326
+ }));
327
+ }
328
+ export async function linkRuntimePackExecutable(plan, options = {}) {
329
+ const linker = options.linker ?? process.env["SCRIPTC_LINKER"] ?? "clang";
330
+ // ld64 derives an ad-hoc signature identifier from the output basename.
331
+ // Keep that basename caller-visible while a private sibling directory gives
332
+ // the link its own inode and preserves an atomic same-filesystem install.
333
+ const privateOutRoot = await mkdtemp(join(dirname(plan.outputPath), ".scriptc-runtime-pack-link-"));
334
+ const privateOut = join(privateOutRoot, basename(plan.outputPath));
335
+ let stagedRoot = null;
336
+ try {
337
+ const staged = await stageRuntimePackArtifacts(plan.runtimePack);
338
+ stagedRoot = staged.root;
339
+ const args = [
340
+ ...plan.driverFlags,
341
+ ...plan.inputs.map((input) => staged.replacements.get(input) ?? input),
342
+ ...plan.systemLibraries.map((name) => `-l${name}`),
343
+ "-o", privateOut,
344
+ ];
345
+ // The pack snapshots bracket both verification passes and private staging;
346
+ // the program-object snapshot begins before helper emission. Snapshot the
347
+ // remaining cache-bearing inputs before the linker consumes them, then
348
+ // require the complete set to remain stable through publication.
349
+ const inheritedDependencies = [
350
+ ...plan.runtimePack.sourceDependencies,
351
+ ...plan.programObjectDependencies,
352
+ ];
353
+ const inheritedDependencyPaths = new Set(inheritedDependencies.map((dependency) => resolve(dependency.path)));
354
+ const additionalDependencyPaths = plan.dependencyPaths.filter((path) => !inheritedDependencyPaths.has(resolve(path)));
355
+ const preLinkDependencies = options.onArtifactReady === undefined ||
356
+ !(await nativeArtifactDependenciesStillMatch(inheritedDependencies).catch(() => false))
357
+ ? null
358
+ : await nativeLinkerDependencyPaths(linker, [
359
+ ...plan.driverFlags,
360
+ ...plan.systemLibraries.map((name) => `-l${name}`),
361
+ ])
362
+ .then(async (toolchain) => [
363
+ ...inheritedDependencies,
364
+ ...await snapshotDependencies([...toolchain, ...additionalDependencyPaths]),
365
+ ])
366
+ .catch(() => null);
367
+ await execFileAsync(linker, args);
368
+ const output = await stat(privateOut);
369
+ if (!output.isFile() || output.size === 0)
370
+ throw new Error("linker produced no executable");
371
+ await rename(privateOut, plan.outputPath).catch(async () => {
372
+ await rm(plan.outputPath, { force: true });
373
+ await rename(privateOut, plan.outputPath);
374
+ });
375
+ if (options.onArtifactReady !== undefined && preLinkDependencies !== null &&
376
+ await nativeArtifactDependenciesStillMatch(preLinkDependencies).catch(() => false)) {
377
+ // A complete executable cache entry is published only when the driver,
378
+ // platform linker, compiler runtime, selected SDK stubs/settings, pack,
379
+ // and FFI inputs all remained unchanged across the link. Failure to
380
+ // prove any ambient input keeps a correct executable but no complete
381
+ // cache.
382
+ await options.onArtifactReady({ dependencies: preLinkDependencies }).catch(() => undefined);
383
+ }
384
+ }
385
+ catch (error) {
386
+ if (error instanceof CcCompileError || error instanceof RuntimePackError)
387
+ throw error;
388
+ const detail = subprocessFailureDetail(error);
389
+ throw new CcCompileError(linker, detail, `${linker} failed linking ${basename(plan.outputPath)} from the precompiled runtime pack.\n${detail}`);
390
+ }
391
+ finally {
392
+ await Promise.all([
393
+ rm(privateOutRoot, { recursive: true, force: true }).catch(() => undefined),
394
+ stagedRoot === null
395
+ ? Promise.resolve()
396
+ : rm(stagedRoot, { recursive: true, force: true }).catch(() => undefined),
397
+ ]);
398
+ }
399
+ }
400
+ //# sourceMappingURL=runtime-pack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-pack.js","sourceRoot":"","sources":["../../src/backend/runtime-pack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};