@virune/compiler 1.1.0-rc.0

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 (300) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +2 -0
  3. package/dist/src/analysis/control-flow.d.ts +9 -0
  4. package/dist/src/analysis/control-flow.d.ts.map +1 -0
  5. package/dist/src/analysis/control-flow.js +47 -0
  6. package/dist/src/analysis/control-flow.js.map +1 -0
  7. package/dist/src/ast/nodes.d.ts +495 -0
  8. package/dist/src/ast/nodes.d.ts.map +1 -0
  9. package/dist/src/ast/nodes.js +2 -0
  10. package/dist/src/ast/nodes.js.map +1 -0
  11. package/dist/src/binder/symbols.d.ts +36 -0
  12. package/dist/src/binder/symbols.d.ts.map +1 -0
  13. package/dist/src/binder/symbols.js +30 -0
  14. package/dist/src/binder/symbols.js.map +1 -0
  15. package/dist/src/checker/builtin-members.d.ts +4 -0
  16. package/dist/src/checker/builtin-members.d.ts.map +1 -0
  17. package/dist/src/checker/builtin-members.js +175 -0
  18. package/dist/src/checker/builtin-members.js.map +1 -0
  19. package/dist/src/checker/checker.d.ts +148 -0
  20. package/dist/src/checker/checker.d.ts.map +1 -0
  21. package/dist/src/checker/checker.js +2985 -0
  22. package/dist/src/checker/checker.js.map +1 -0
  23. package/dist/src/checker/effect-registry.d.ts +14 -0
  24. package/dist/src/checker/effect-registry.d.ts.map +1 -0
  25. package/dist/src/checker/effect-registry.js +11 -0
  26. package/dist/src/checker/effect-registry.js.map +1 -0
  27. package/dist/src/checker/type-operations.d.ts +27 -0
  28. package/dist/src/checker/type-operations.d.ts.map +1 -0
  29. package/dist/src/checker/type-operations.js +268 -0
  30. package/dist/src/checker/type-operations.js.map +1 -0
  31. package/dist/src/codegen/emitter.d.ts +83 -0
  32. package/dist/src/codegen/emitter.d.ts.map +1 -0
  33. package/dist/src/codegen/emitter.js +1029 -0
  34. package/dist/src/codegen/emitter.js.map +1 -0
  35. package/dist/src/codegen/helpers.d.ts +7 -0
  36. package/dist/src/codegen/helpers.d.ts.map +1 -0
  37. package/dist/src/codegen/helpers.js +48 -0
  38. package/dist/src/codegen/helpers.js.map +1 -0
  39. package/dist/src/codegen/runtime-imports.d.ts +6 -0
  40. package/dist/src/codegen/runtime-imports.d.ts.map +1 -0
  41. package/dist/src/codegen/runtime-imports.js +45 -0
  42. package/dist/src/codegen/runtime-imports.js.map +1 -0
  43. package/dist/src/codegen/writer.d.ts +14 -0
  44. package/dist/src/codegen/writer.d.ts.map +1 -0
  45. package/dist/src/codegen/writer.js +56 -0
  46. package/dist/src/codegen/writer.js.map +1 -0
  47. package/dist/src/compiler.d.ts +24 -0
  48. package/dist/src/compiler.d.ts.map +1 -0
  49. package/dist/src/compiler.js +97 -0
  50. package/dist/src/compiler.js.map +1 -0
  51. package/dist/src/diagnostics/codes.d.ts +18 -0
  52. package/dist/src/diagnostics/codes.d.ts.map +1 -0
  53. package/dist/src/diagnostics/codes.js +43 -0
  54. package/dist/src/diagnostics/codes.js.map +1 -0
  55. package/dist/src/diagnostics/diagnostic.d.ts +41 -0
  56. package/dist/src/diagnostics/diagnostic.d.ts.map +1 -0
  57. package/dist/src/diagnostics/diagnostic.js +50 -0
  58. package/dist/src/diagnostics/diagnostic.js.map +1 -0
  59. package/dist/src/diagnostics/render.d.ts +44 -0
  60. package/dist/src/diagnostics/render.d.ts.map +1 -0
  61. package/dist/src/diagnostics/render.js +44 -0
  62. package/dist/src/diagnostics/render.js.map +1 -0
  63. package/dist/src/experimental-api.d.ts +19 -0
  64. package/dist/src/experimental-api.d.ts.map +1 -0
  65. package/dist/src/experimental-api.js +17 -0
  66. package/dist/src/experimental-api.js.map +1 -0
  67. package/dist/src/hir/lower.d.ts +6 -0
  68. package/dist/src/hir/lower.d.ts.map +1 -0
  69. package/dist/src/hir/lower.js +124 -0
  70. package/dist/src/hir/lower.js.map +1 -0
  71. package/dist/src/hir/nodes.d.ts +12 -0
  72. package/dist/src/hir/nodes.d.ts.map +1 -0
  73. package/dist/src/hir/nodes.js +2 -0
  74. package/dist/src/hir/nodes.js.map +1 -0
  75. package/dist/src/index.d.ts +2 -0
  76. package/dist/src/index.d.ts.map +1 -0
  77. package/dist/src/index.js +2 -0
  78. package/dist/src/index.js.map +1 -0
  79. package/dist/src/interop/checked-api.d.ts +21 -0
  80. package/dist/src/interop/checked-api.d.ts.map +1 -0
  81. package/dist/src/interop/checked-api.js +46 -0
  82. package/dist/src/interop/checked-api.js.map +1 -0
  83. package/dist/src/interop/decision.d.ts +24 -0
  84. package/dist/src/interop/decision.d.ts.map +1 -0
  85. package/dist/src/interop/decision.js +96 -0
  86. package/dist/src/interop/decision.js.map +1 -0
  87. package/dist/src/interop/frontend-component-emission.d.ts +17 -0
  88. package/dist/src/interop/frontend-component-emission.d.ts.map +1 -0
  89. package/dist/src/interop/frontend-component-emission.js +271 -0
  90. package/dist/src/interop/frontend-component-emission.js.map +1 -0
  91. package/dist/src/interop/jsx-view-validation.d.ts +20 -0
  92. package/dist/src/interop/jsx-view-validation.d.ts.map +1 -0
  93. package/dist/src/interop/jsx-view-validation.js +847 -0
  94. package/dist/src/interop/jsx-view-validation.js.map +1 -0
  95. package/dist/src/interop/operation-api.d.ts +32 -0
  96. package/dist/src/interop/operation-api.d.ts.map +1 -0
  97. package/dist/src/interop/operation-api.js +61 -0
  98. package/dist/src/interop/operation-api.js.map +1 -0
  99. package/dist/src/interop/operation.d.ts +136 -0
  100. package/dist/src/interop/operation.d.ts.map +1 -0
  101. package/dist/src/interop/operation.js +575 -0
  102. package/dist/src/interop/operation.js.map +1 -0
  103. package/dist/src/interop/repetition-host-locator.d.ts +25 -0
  104. package/dist/src/interop/repetition-host-locator.d.ts.map +1 -0
  105. package/dist/src/interop/repetition-host-locator.js +61 -0
  106. package/dist/src/interop/repetition-host-locator.js.map +1 -0
  107. package/dist/src/interop/repetition-host-usage-validation.d.ts +11 -0
  108. package/dist/src/interop/repetition-host-usage-validation.d.ts.map +1 -0
  109. package/dist/src/interop/repetition-host-usage-validation.js +89 -0
  110. package/dist/src/interop/repetition-host-usage-validation.js.map +1 -0
  111. package/dist/src/interop/types.d.ts +365 -0
  112. package/dist/src/interop/types.d.ts.map +1 -0
  113. package/dist/src/interop/types.js +2 -0
  114. package/dist/src/interop/types.js.map +1 -0
  115. package/dist/src/mir/lower.d.ts +4 -0
  116. package/dist/src/mir/lower.d.ts.map +1 -0
  117. package/dist/src/mir/lower.js +131 -0
  118. package/dist/src/mir/lower.js.map +1 -0
  119. package/dist/src/mir/nodes.d.ts +36 -0
  120. package/dist/src/mir/nodes.d.ts.map +1 -0
  121. package/dist/src/mir/nodes.js +2 -0
  122. package/dist/src/mir/nodes.js.map +1 -0
  123. package/dist/src/project/incremental.d.ts +9 -0
  124. package/dist/src/project/incremental.d.ts.map +1 -0
  125. package/dist/src/project/incremental.js +15 -0
  126. package/dist/src/project/incremental.js.map +1 -0
  127. package/dist/src/project/project.d.ts +98 -0
  128. package/dist/src/project/project.d.ts.map +1 -0
  129. package/dist/src/project/project.js +884 -0
  130. package/dist/src/project/project.js.map +1 -0
  131. package/dist/src/public-api.d.ts +45 -0
  132. package/dist/src/public-api.d.ts.map +1 -0
  133. package/dist/src/public-api.js +37 -0
  134. package/dist/src/public-api.js.map +1 -0
  135. package/dist/src/reference/evaluator.d.ts +13 -0
  136. package/dist/src/reference/evaluator.d.ts.map +1 -0
  137. package/dist/src/reference/evaluator.js +304 -0
  138. package/dist/src/reference/evaluator.js.map +1 -0
  139. package/dist/src/selfhost/bootstrap-artifact-normalizer.d.ts +65 -0
  140. package/dist/src/selfhost/bootstrap-artifact-normalizer.d.ts.map +1 -0
  141. package/dist/src/selfhost/bootstrap-artifact-normalizer.js +226 -0
  142. package/dist/src/selfhost/bootstrap-artifact-normalizer.js.map +1 -0
  143. package/dist/src/selfhost/bootstrap-artifact-snapshot.d.ts +23 -0
  144. package/dist/src/selfhost/bootstrap-artifact-snapshot.d.ts.map +1 -0
  145. package/dist/src/selfhost/bootstrap-artifact-snapshot.js +122 -0
  146. package/dist/src/selfhost/bootstrap-artifact-snapshot.js.map +1 -0
  147. package/dist/src/selfhost/bootstrap-compiler-selection.d.ts +36 -0
  148. package/dist/src/selfhost/bootstrap-compiler-selection.d.ts.map +1 -0
  149. package/dist/src/selfhost/bootstrap-compiler-selection.js +52 -0
  150. package/dist/src/selfhost/bootstrap-compiler-selection.js.map +1 -0
  151. package/dist/src/selfhost/bootstrap-execution-probe.d.ts +42 -0
  152. package/dist/src/selfhost/bootstrap-execution-probe.d.ts.map +1 -0
  153. package/dist/src/selfhost/bootstrap-execution-probe.js +115 -0
  154. package/dist/src/selfhost/bootstrap-execution-probe.js.map +1 -0
  155. package/dist/src/selfhost/bootstrap-rollback-decision.d.ts +40 -0
  156. package/dist/src/selfhost/bootstrap-rollback-decision.d.ts.map +1 -0
  157. package/dist/src/selfhost/bootstrap-rollback-decision.js +144 -0
  158. package/dist/src/selfhost/bootstrap-rollback-decision.js.map +1 -0
  159. package/dist/src/selfhost/bootstrap-shadow-history.d.ts +49 -0
  160. package/dist/src/selfhost/bootstrap-shadow-history.d.ts.map +1 -0
  161. package/dist/src/selfhost/bootstrap-shadow-history.js +348 -0
  162. package/dist/src/selfhost/bootstrap-shadow-history.js.map +1 -0
  163. package/dist/src/selfhost/bootstrap-shadow-report.d.ts +43 -0
  164. package/dist/src/selfhost/bootstrap-shadow-report.d.ts.map +1 -0
  165. package/dist/src/selfhost/bootstrap-shadow-report.js +94 -0
  166. package/dist/src/selfhost/bootstrap-shadow-report.js.map +1 -0
  167. package/dist/src/selfhost/bootstrap-stage-executor.d.ts +53 -0
  168. package/dist/src/selfhost/bootstrap-stage-executor.d.ts.map +1 -0
  169. package/dist/src/selfhost/bootstrap-stage-executor.js +159 -0
  170. package/dist/src/selfhost/bootstrap-stage-executor.js.map +1 -0
  171. package/dist/src/selfhost/bootstrap-stage-loader.d.ts +14 -0
  172. package/dist/src/selfhost/bootstrap-stage-loader.d.ts.map +1 -0
  173. package/dist/src/selfhost/bootstrap-stage-loader.js +112 -0
  174. package/dist/src/selfhost/bootstrap-stage-loader.js.map +1 -0
  175. package/dist/src/selfhost/bootstrap-stage-pipeline.d.ts +8 -0
  176. package/dist/src/selfhost/bootstrap-stage-pipeline.d.ts.map +1 -0
  177. package/dist/src/selfhost/bootstrap-stage-pipeline.js +85 -0
  178. package/dist/src/selfhost/bootstrap-stage-pipeline.js.map +1 -0
  179. package/dist/src/selfhost/bootstrap-stage-runner.d.ts +47 -0
  180. package/dist/src/selfhost/bootstrap-stage-runner.d.ts.map +1 -0
  181. package/dist/src/selfhost/bootstrap-stage-runner.js +106 -0
  182. package/dist/src/selfhost/bootstrap-stage-runner.js.map +1 -0
  183. package/dist/src/selfhost/clean-bootstrap-evidence.d.ts +83 -0
  184. package/dist/src/selfhost/clean-bootstrap-evidence.d.ts.map +1 -0
  185. package/dist/src/selfhost/clean-bootstrap-evidence.js +233 -0
  186. package/dist/src/selfhost/clean-bootstrap-evidence.js.map +1 -0
  187. package/dist/src/selfhost/compiler-facade.d.ts +33 -0
  188. package/dist/src/selfhost/compiler-facade.d.ts.map +1 -0
  189. package/dist/src/selfhost/compiler-facade.js +65 -0
  190. package/dist/src/selfhost/compiler-facade.js.map +1 -0
  191. package/dist/src/selfhost/contract.d.ts +151 -0
  192. package/dist/src/selfhost/contract.d.ts.map +1 -0
  193. package/dist/src/selfhost/contract.js +335 -0
  194. package/dist/src/selfhost/contract.js.map +1 -0
  195. package/dist/src/selfhost/differential-artifacts.d.ts +8 -0
  196. package/dist/src/selfhost/differential-artifacts.d.ts.map +1 -0
  197. package/dist/src/selfhost/differential-artifacts.js +50 -0
  198. package/dist/src/selfhost/differential-artifacts.js.map +1 -0
  199. package/dist/src/selfhost/differential-harness.d.ts +91 -0
  200. package/dist/src/selfhost/differential-harness.d.ts.map +1 -0
  201. package/dist/src/selfhost/differential-harness.js +246 -0
  202. package/dist/src/selfhost/differential-harness.js.map +1 -0
  203. package/dist/src/selfhost/full-language-inventory-runner.d.ts +49 -0
  204. package/dist/src/selfhost/full-language-inventory-runner.d.ts.map +1 -0
  205. package/dist/src/selfhost/full-language-inventory-runner.js +225 -0
  206. package/dist/src/selfhost/full-language-inventory-runner.js.map +1 -0
  207. package/dist/src/selfhost/full-language-inventory.d.ts +42 -0
  208. package/dist/src/selfhost/full-language-inventory.d.ts.map +1 -0
  209. package/dist/src/selfhost/full-language-inventory.js +163 -0
  210. package/dist/src/selfhost/full-language-inventory.js.map +1 -0
  211. package/dist/src/selfhost/interop-resolution-witness.d.ts +35 -0
  212. package/dist/src/selfhost/interop-resolution-witness.d.ts.map +1 -0
  213. package/dist/src/selfhost/interop-resolution-witness.js +186 -0
  214. package/dist/src/selfhost/interop-resolution-witness.js.map +1 -0
  215. package/dist/src/selfhost/kernel-model-host-adapter.d.ts +28 -0
  216. package/dist/src/selfhost/kernel-model-host-adapter.d.ts.map +1 -0
  217. package/dist/src/selfhost/kernel-model-host-adapter.js +36 -0
  218. package/dist/src/selfhost/kernel-model-host-adapter.js.map +1 -0
  219. package/dist/src/selfhost/legacy-adapter.d.ts +8 -0
  220. package/dist/src/selfhost/legacy-adapter.d.ts.map +1 -0
  221. package/dist/src/selfhost/legacy-adapter.js +186 -0
  222. package/dist/src/selfhost/legacy-adapter.js.map +1 -0
  223. package/dist/src/selfhost/module-graph.d.ts +57 -0
  224. package/dist/src/selfhost/module-graph.d.ts.map +1 -0
  225. package/dist/src/selfhost/module-graph.js +267 -0
  226. package/dist/src/selfhost/module-graph.js.map +1 -0
  227. package/dist/src/selfhost/mvp-adapter.d.ts +19 -0
  228. package/dist/src/selfhost/mvp-adapter.d.ts.map +1 -0
  229. package/dist/src/selfhost/mvp-adapter.js +186 -0
  230. package/dist/src/selfhost/mvp-adapter.js.map +1 -0
  231. package/dist/src/selfhost/node-executor.d.ts +6 -0
  232. package/dist/src/selfhost/node-executor.d.ts.map +1 -0
  233. package/dist/src/selfhost/node-executor.js +138 -0
  234. package/dist/src/selfhost/node-executor.js.map +1 -0
  235. package/dist/src/selfhost/project-compiler-adapter.d.ts +77 -0
  236. package/dist/src/selfhost/project-compiler-adapter.d.ts.map +1 -0
  237. package/dist/src/selfhost/project-compiler-adapter.js +358 -0
  238. package/dist/src/selfhost/project-compiler-adapter.js.map +1 -0
  239. package/dist/src/selfhost/project-differential-adapter.d.ts +15 -0
  240. package/dist/src/selfhost/project-differential-adapter.d.ts.map +1 -0
  241. package/dist/src/selfhost/project-differential-adapter.js +65 -0
  242. package/dist/src/selfhost/project-differential-adapter.js.map +1 -0
  243. package/dist/src/selfhost/promotion-evidence.d.ts +62 -0
  244. package/dist/src/selfhost/promotion-evidence.d.ts.map +1 -0
  245. package/dist/src/selfhost/promotion-evidence.js +332 -0
  246. package/dist/src/selfhost/promotion-evidence.js.map +1 -0
  247. package/dist/src/selfhost/promotion-policy-replay-v2.d.ts +54 -0
  248. package/dist/src/selfhost/promotion-policy-replay-v2.d.ts.map +1 -0
  249. package/dist/src/selfhost/promotion-policy-replay-v2.js +343 -0
  250. package/dist/src/selfhost/promotion-policy-replay-v2.js.map +1 -0
  251. package/dist/src/selfhost/promotion-shadow-history-v2.d.ts +55 -0
  252. package/dist/src/selfhost/promotion-shadow-history-v2.d.ts.map +1 -0
  253. package/dist/src/selfhost/promotion-shadow-history-v2.js +227 -0
  254. package/dist/src/selfhost/promotion-shadow-history-v2.js.map +1 -0
  255. package/dist/src/selfhost/promotion-subject.d.ts +34 -0
  256. package/dist/src/selfhost/promotion-subject.d.ts.map +1 -0
  257. package/dist/src/selfhost/promotion-subject.js +141 -0
  258. package/dist/src/selfhost/promotion-subject.js.map +1 -0
  259. package/dist/src/selfhost/source-manifest.d.ts +31 -0
  260. package/dist/src/selfhost/source-manifest.d.ts.map +1 -0
  261. package/dist/src/selfhost/source-manifest.js +194 -0
  262. package/dist/src/selfhost/source-manifest.js.map +1 -0
  263. package/dist/src/selfhost/stage-compiler-facade.d.ts +25 -0
  264. package/dist/src/selfhost/stage-compiler-facade.d.ts.map +1 -0
  265. package/dist/src/selfhost/stage-compiler-facade.js +100 -0
  266. package/dist/src/selfhost/stage-compiler-facade.js.map +1 -0
  267. package/dist/src/semantic-evidence/snapshot.d.ts +114 -0
  268. package/dist/src/semantic-evidence/snapshot.d.ts.map +1 -0
  269. package/dist/src/semantic-evidence/snapshot.js +336 -0
  270. package/dist/src/semantic-evidence/snapshot.js.map +1 -0
  271. package/dist/src/source.d.ts +25 -0
  272. package/dist/src/source.d.ts.map +1 -0
  273. package/dist/src/source.js +10 -0
  274. package/dist/src/source.js.map +1 -0
  275. package/dist/src/syntax/cst-to-ast.d.ts +108 -0
  276. package/dist/src/syntax/cst-to-ast.d.ts.map +1 -0
  277. package/dist/src/syntax/cst-to-ast.js +383 -0
  278. package/dist/src/syntax/cst-to-ast.js.map +1 -0
  279. package/dist/src/syntax/documentation.d.ts +11 -0
  280. package/dist/src/syntax/documentation.d.ts.map +1 -0
  281. package/dist/src/syntax/documentation.js +261 -0
  282. package/dist/src/syntax/documentation.js.map +1 -0
  283. package/dist/src/syntax/parser.d.ts +114 -0
  284. package/dist/src/syntax/parser.d.ts.map +1 -0
  285. package/dist/src/syntax/parser.js +970 -0
  286. package/dist/src/syntax/parser.js.map +1 -0
  287. package/dist/src/syntax/syntax-metadata.d.ts +8 -0
  288. package/dist/src/syntax/syntax-metadata.d.ts.map +1 -0
  289. package/dist/src/syntax/syntax-metadata.js +14 -0
  290. package/dist/src/syntax/syntax-metadata.js.map +1 -0
  291. package/dist/src/syntax/tokens.d.ts +96 -0
  292. package/dist/src/syntax/tokens.d.ts.map +1 -0
  293. package/dist/src/syntax/tokens.js +260 -0
  294. package/dist/src/syntax/tokens.js.map +1 -0
  295. package/dist/src/types/types.d.ts +97 -0
  296. package/dist/src/types/types.d.ts.map +1 -0
  297. package/dist/src/types/types.js +105 -0
  298. package/dist/src/types/types.js.map +1 -0
  299. package/package.json +47 -0
  300. package/schema/diagnostics-v1.schema.json +75 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx-view-validation.js","sourceRoot":"","sources":["../../../src/interop/jsx-view-validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type * as A from '../ast/nodes.js';
2
+ import type { SemanticModel } from '../checker/checker.js';
3
+ import type { Diagnostic } from '../diagnostics/diagnostic.js';
4
+ import { type ExternalOperationIR } from './operation.js';
5
+ export type ExternalExecutionReadinessBlocker = {
6
+ readonly reason: 'operation-evidence-unavailable';
7
+ } | {
8
+ readonly reason: 'runtime-resolution-pending' | 'runtime-resolution-unresolved';
9
+ readonly moduleSpecifier: string;
10
+ };
11
+ export type ExternalExecutionReadiness = {
12
+ readonly status: 'ready';
13
+ readonly blockers: readonly ExternalExecutionReadinessBlocker[];
14
+ } | {
15
+ readonly status: 'blocked';
16
+ readonly blockers: readonly ExternalExecutionReadinessBlocker[];
17
+ };
18
+ /**
19
+ * Register one checked semantic result. Projection is deliberately non-authoritative:
20
+ * malformed sidecar evidence makes the experimental API fail closed, but never
21
+ * changes checker diagnostics, code generation, or project-cache behavior.
22
+ */
23
+ export declare function registerExternalOperationSnapshot(module: A.ModuleNode, semantic: SemanticModel, diagnostics?: readonly Diagnostic[]): void;
24
+ /** Return immutable provider-independent operation evidence for this exact checked semantic result. */
25
+ export declare function externalOperationSequence(semantic: SemanticModel): readonly ExternalOperationIR[];
26
+ /**
27
+ * Determine whether one checked module is ready for direct execution.
28
+ * Checking remains independent of this query; execution callers must consume it
29
+ * before invoking emitted JavaScript.
30
+ */
31
+ export declare function externalExecutionReadiness(semantic: SemanticModel): ExternalExecutionReadiness;
32
+ //# sourceMappingURL=operation-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-api.d.ts","sourceRoot":"","sources":["../../../src/interop/operation-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAkC,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAM1F,MAAM,MAAM,iCAAiC,GAC1C;IAAE,QAAQ,CAAC,MAAM,EAAE,gCAAgC,CAAA;CAAE,GACrD;IACD,QAAQ,CAAC,MAAM,EAAE,4BAA4B,GAAG,+BAA+B,CAAC;IAChF,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CACjC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GACnC;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,iCAAiC,EAAE,CAAA;CAAE,GAC7F;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,iCAAiC,EAAE,CAAA;CAAE,CAAC;AAInG;;;;GAIG;AACH,wBAAgB,iCAAiC,CAChD,MAAM,EAAE,CAAC,CAAC,UAAU,EACpB,QAAQ,EAAE,aAAa,EACvB,WAAW,GAAE,SAAS,UAAU,EAA+B,GAC7D,IAAI,CAQN;AAED,uGAAuG;AACvG,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,mBAAmB,EAAE,CAKjG;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,aAAa,GAAG,0BAA0B,CAwB9F"}
@@ -0,0 +1,61 @@
1
+ import { buildExternalOperationSequence } from './operation.js';
2
+ const snapshots = new WeakMap();
3
+ /**
4
+ * Register one checked semantic result. Projection is deliberately non-authoritative:
5
+ * malformed sidecar evidence makes the experimental API fail closed, but never
6
+ * changes checker diagnostics, code generation, or project-cache behavior.
7
+ */
8
+ export function registerExternalOperationSnapshot(module, semantic, diagnostics = semantic.diagnostics.items) {
9
+ if (snapshots.has(semantic))
10
+ return;
11
+ try {
12
+ const operations = buildExternalOperationSequence({ module, interop: semantic.interop, diagnostics });
13
+ snapshots.set(semantic, Object.freeze({ status: 'valid', operations }));
14
+ }
15
+ catch {
16
+ snapshots.set(semantic, Object.freeze({ status: 'invalid' }));
17
+ }
18
+ }
19
+ /** Return immutable provider-independent operation evidence for this exact checked semantic result. */
20
+ export function externalOperationSequence(semantic) {
21
+ const snapshot = snapshots.get(semantic);
22
+ if (snapshot === undefined)
23
+ throw new Error('External Operation evidence requires a registered checked SemanticModel');
24
+ if (snapshot.status === 'invalid')
25
+ throw new Error('External Operation evidence is unavailable for this checked SemanticModel');
26
+ return snapshot.operations;
27
+ }
28
+ /**
29
+ * Determine whether one checked module is ready for direct execution.
30
+ * Checking remains independent of this query; execution callers must consume it
31
+ * before invoking emitted JavaScript.
32
+ */
33
+ export function externalExecutionReadiness(semantic) {
34
+ const snapshot = snapshots.get(semantic);
35
+ if (semantic.diagnostics.items.some(diagnostic => diagnostic.severity === 'error')
36
+ || snapshot === undefined || snapshot.status === 'invalid') {
37
+ return Object.freeze({
38
+ status: 'blocked',
39
+ blockers: Object.freeze([{ reason: 'operation-evidence-unavailable' }]),
40
+ });
41
+ }
42
+ const blockers = [];
43
+ for (const operation of snapshot.operations) {
44
+ if (operation.kind !== 'module-load')
45
+ continue;
46
+ const runtimeObligations = operation.decision.obligations.filter(obligation => obligation.kind === 'runtime-resolution');
47
+ const allDischarged = runtimeObligations.length > 0 && runtimeObligations.every(obligation => obligation.status === 'discharged');
48
+ if (operation.decision.status === 'resolved' && allDischarged)
49
+ continue;
50
+ blockers.push(Object.freeze({
51
+ reason: runtimeObligations.some(obligation => obligation.status === 'pending')
52
+ ? 'runtime-resolution-pending'
53
+ : 'runtime-resolution-unresolved',
54
+ moduleSpecifier: operation.moduleSpecifier,
55
+ }));
56
+ }
57
+ if (blockers.length === 0)
58
+ return Object.freeze({ status: 'ready', blockers: Object.freeze([]) });
59
+ return Object.freeze({ status: 'blocked', blockers: Object.freeze(blockers) });
60
+ }
61
+ //# sourceMappingURL=operation-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-api.js","sourceRoot":"","sources":["../../../src/interop/operation-api.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,8BAA8B,EAA4B,MAAM,gBAAgB,CAAC;AAiB1F,MAAM,SAAS,GAAG,IAAI,OAAO,EAA4C,CAAC;AAE1E;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAChD,MAAoB,EACpB,QAAuB,EACvB,cAAqC,QAAQ,CAAC,WAAW,CAAC,KAAK;IAE/D,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO;IACpC,IAAI,CAAC;QACJ,MAAM,UAAU,GAAG,8BAA8B,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QACtG,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACR,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;AACF,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,yBAAyB,CAAC,QAAuB;IAChE,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,QAAQ,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IACvH,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAChI,OAAO,QAAQ,CAAC,UAAU,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAuB;IACjE,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC;WAC9E,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7D,OAAO,MAAM,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,gCAAyC,EAAE,CAAC,CAAC;SAChF,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAwC,EAAE,CAAC;IACzD,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC7C,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa;YAAE,SAAS;QAC/C,MAAM,kBAAkB,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC;QACzH,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;QAClI,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,UAAU,IAAI,aAAa;YAAE,SAAS;QACxE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3B,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC;gBAC7E,CAAC,CAAC,4BAA4B;gBAC9B,CAAC,CAAC,+BAA+B;YAClC,eAAe,EAAE,SAAS,CAAC,eAAe;SAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClG,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAChF,CAAC"}
@@ -0,0 +1,136 @@
1
+ import type * as A from '../ast/nodes.js';
2
+ import type { Diagnostic } from '../diagnostics/diagnostic.js';
3
+ import type { NodeId, SourceSpan } from '../source.js';
4
+ import type { ForeignUsageIR, InteropSemanticModel, ModuleResolutionWitness, NativeCallableBoundaryDescriptor, PrimitiveBridgeKind, StableForeignTypeSnapshot } from './types.js';
5
+ import { type InteropDecisionIR } from './decision.js';
6
+ export type ExternalOperationKind = 'module-load' | 'read-property' | 'read-index' | 'write-property' | 'write-index' | 'build-external-object' | 'call' | 'construct' | 'await' | 'bridge-foreign-primitive';
7
+ export type ExternalOperationEffect = 'JavaScript';
8
+ export interface ExternalForeignOrigin {
9
+ readonly moduleSpecifier?: string;
10
+ readonly packageName?: string;
11
+ readonly packageVersion?: string;
12
+ readonly exportName?: string;
13
+ }
14
+ export interface ExternalForeignValueShape {
15
+ readonly category: StableForeignTypeSnapshot['category'];
16
+ readonly canonicalIdentity?: StableForeignTypeSnapshot['canonicalIdentity'];
17
+ readonly primitive?: StableForeignTypeSnapshot['primitive'];
18
+ readonly mustUse?: boolean;
19
+ readonly origin?: ExternalForeignOrigin;
20
+ }
21
+ export interface ExternalRuntimeResolutionWitness {
22
+ readonly moduleSpecifier: string;
23
+ readonly packageName?: string;
24
+ readonly packageVersion?: string;
25
+ readonly runtimeEntry?: string;
26
+ readonly runtimeFormat?: ModuleResolutionWitness['runtimeFormat'];
27
+ readonly conditions: readonly string[];
28
+ readonly platform: ModuleResolutionWitness['platform'];
29
+ readonly packageJsonHash?: string;
30
+ }
31
+ export interface ExternalSourcePosition {
32
+ readonly offset: number;
33
+ readonly line: number;
34
+ readonly column: number;
35
+ }
36
+ export interface ExternalSourceSpan {
37
+ readonly start: ExternalSourcePosition;
38
+ readonly end: ExternalSourcePosition;
39
+ }
40
+ export interface ExternalCallableProjectionIR {
41
+ readonly argumentIndex: number;
42
+ /** Insertion index in the returned External Operation sequence. Lower indexes execute before the projection; this index and later execute after it. */
43
+ readonly beforeOperationIndex: number;
44
+ readonly descriptor: NativeCallableBoundaryDescriptor;
45
+ }
46
+ export interface ExternalObjectCallableProjectionIR {
47
+ readonly entryIndex: number;
48
+ readonly property: string;
49
+ /** Insertion index in the returned External Operation sequence. Lower indexes execute before the projection; this index and later execute after it. */
50
+ readonly beforeOperationIndex: number;
51
+ readonly descriptor: NativeCallableBoundaryDescriptor;
52
+ }
53
+ interface ExternalOperationBase {
54
+ readonly kind: ExternalOperationKind;
55
+ readonly nodeId: NodeId;
56
+ readonly span: ExternalSourceSpan;
57
+ readonly decision: InteropDecisionIR;
58
+ }
59
+ export interface ExternalModuleLoadOperationIR extends ExternalOperationBase {
60
+ readonly kind: 'module-load';
61
+ readonly moduleSpecifier: string;
62
+ readonly runtimeWitness?: ExternalRuntimeResolutionWitness;
63
+ }
64
+ export interface ExternalReadPropertyOperationIR extends ExternalOperationBase {
65
+ readonly kind: 'read-property';
66
+ readonly effect: ExternalOperationEffect;
67
+ readonly result: ExternalForeignValueShape;
68
+ }
69
+ export interface ExternalReadIndexOperationIR extends ExternalOperationBase {
70
+ readonly kind: 'read-index';
71
+ readonly effect: ExternalOperationEffect;
72
+ readonly result: ExternalForeignValueShape;
73
+ }
74
+ export interface ExternalWritePropertyOperationIR extends ExternalOperationBase {
75
+ readonly kind: 'write-property';
76
+ readonly effect: ExternalOperationEffect;
77
+ readonly target: ExternalForeignValueShape;
78
+ readonly property: string;
79
+ }
80
+ export interface ExternalWriteIndexOperationIR extends ExternalOperationBase {
81
+ readonly kind: 'write-index';
82
+ readonly effect: ExternalOperationEffect;
83
+ readonly target: ExternalForeignValueShape;
84
+ }
85
+ export interface ExternalBuildObjectOperationIR extends ExternalOperationBase {
86
+ readonly kind: 'build-external-object';
87
+ readonly result: ExternalForeignValueShape;
88
+ readonly callableProjections?: readonly ExternalObjectCallableProjectionIR[];
89
+ }
90
+ export interface ExternalCallOperationIR extends ExternalOperationBase {
91
+ readonly kind: 'call';
92
+ readonly effect: ExternalOperationEffect;
93
+ readonly result: ExternalForeignValueShape;
94
+ readonly receiverMode: 'none' | 'preserve-this';
95
+ readonly mayReject: boolean;
96
+ readonly callableProjections?: readonly ExternalCallableProjectionIR[];
97
+ }
98
+ export interface ExternalConstructOperationIR extends ExternalOperationBase {
99
+ readonly kind: 'construct';
100
+ readonly effect: ExternalOperationEffect;
101
+ readonly result: ExternalForeignValueShape;
102
+ readonly callableProjections?: readonly ExternalCallableProjectionIR[];
103
+ }
104
+ export interface ExternalAwaitOperationIR extends ExternalOperationBase {
105
+ readonly kind: 'await';
106
+ readonly effect: ExternalOperationEffect;
107
+ readonly result: ExternalForeignValueShape;
108
+ readonly mayReject: boolean;
109
+ }
110
+ export interface ExternalBridgeForeignPrimitiveOperationIR extends ExternalOperationBase {
111
+ readonly kind: 'bridge-foreign-primitive';
112
+ readonly source: ExternalForeignValueShape;
113
+ readonly bridge: PrimitiveBridgeKind;
114
+ }
115
+ export type ExternalOperationIR = ExternalModuleLoadOperationIR | ExternalReadPropertyOperationIR | ExternalReadIndexOperationIR | ExternalWritePropertyOperationIR | ExternalWriteIndexOperationIR | ExternalBuildObjectOperationIR | ExternalCallOperationIR | ExternalConstructOperationIR | ExternalAwaitOperationIR | ExternalBridgeForeignPrimitiveOperationIR;
116
+ /**
117
+ * Project one completed checker result into provider-independent External Operations.
118
+ * Experimental entry points register the result before it is exposed to callers. Compiler-owned
119
+ * AST and semantic objects are trusted process state; this function validates only the facts
120
+ * that become stable operation evidence.
121
+ */
122
+ export declare function buildExternalOperationSequence(input: {
123
+ readonly module: A.ModuleNode;
124
+ readonly interop: InteropSemanticModel;
125
+ readonly diagnostics: readonly Diagnostic[];
126
+ }): readonly ExternalOperationIR[];
127
+ /** Import usages are declaration metadata; one ModuleLoad is emitted per runtime import declaration. */
128
+ export declare function externalOperationFromUsage(usage: ForeignUsageIR): ExternalOperationIR | undefined;
129
+ export declare function externalModuleLoadOperation(input: {
130
+ readonly nodeId: NodeId;
131
+ readonly span: SourceSpan;
132
+ readonly moduleSpecifier: string;
133
+ readonly witnesses: readonly ModuleResolutionWitness[];
134
+ }): ExternalModuleLoadOperationIR;
135
+ export {};
136
+ //# sourceMappingURL=operation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../src/interop/operation.ts"],"names":[],"mappings":"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"}