@quolu/lattice 0.1.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 (769) hide show
  1. package/LICENSE +25 -0
  2. package/README.md +20 -0
  3. package/bin/lattice-mcp.mjs +134 -0
  4. package/bin/lattice.mjs +78 -0
  5. package/package.json +47 -0
  6. package/sensor/LICENSE +21 -0
  7. package/sensor/NOTICE +30 -0
  8. package/sensor/dist/bin/codegraph.d.ts +26 -0
  9. package/sensor/dist/bin/codegraph.d.ts.map +1 -0
  10. package/sensor/dist/bin/codegraph.js +2279 -0
  11. package/sensor/dist/bin/codegraph.js.map +1 -0
  12. package/sensor/dist/bin/command-supervision.d.ts +49 -0
  13. package/sensor/dist/bin/command-supervision.d.ts.map +1 -0
  14. package/sensor/dist/bin/command-supervision.js +95 -0
  15. package/sensor/dist/bin/command-supervision.js.map +1 -0
  16. package/sensor/dist/bin/fatal-handler.d.ts +20 -0
  17. package/sensor/dist/bin/fatal-handler.d.ts.map +1 -0
  18. package/sensor/dist/bin/fatal-handler.js +118 -0
  19. package/sensor/dist/bin/fatal-handler.js.map +1 -0
  20. package/sensor/dist/bin/node-version-check.d.ts +37 -0
  21. package/sensor/dist/bin/node-version-check.d.ts.map +1 -0
  22. package/sensor/dist/bin/node-version-check.js +79 -0
  23. package/sensor/dist/bin/node-version-check.js.map +1 -0
  24. package/sensor/dist/bin/uninstall.d.ts +14 -0
  25. package/sensor/dist/bin/uninstall.d.ts.map +1 -0
  26. package/sensor/dist/bin/uninstall.js +36 -0
  27. package/sensor/dist/bin/uninstall.js.map +1 -0
  28. package/sensor/dist/context/formatter.d.ts +30 -0
  29. package/sensor/dist/context/formatter.d.ts.map +1 -0
  30. package/sensor/dist/context/formatter.js +263 -0
  31. package/sensor/dist/context/formatter.js.map +1 -0
  32. package/sensor/dist/context/index.d.ts +119 -0
  33. package/sensor/dist/context/index.d.ts.map +1 -0
  34. package/sensor/dist/context/index.js +1326 -0
  35. package/sensor/dist/context/index.js.map +1 -0
  36. package/sensor/dist/context/markers.d.ts +19 -0
  37. package/sensor/dist/context/markers.d.ts.map +1 -0
  38. package/sensor/dist/context/markers.js +22 -0
  39. package/sensor/dist/context/markers.js.map +1 -0
  40. package/sensor/dist/db/index.d.ts +264 -0
  41. package/sensor/dist/db/index.d.ts.map +1 -0
  42. package/sensor/dist/db/index.js +603 -0
  43. package/sensor/dist/db/index.js.map +1 -0
  44. package/sensor/dist/db/migrations.d.ts +44 -0
  45. package/sensor/dist/db/migrations.d.ts.map +1 -0
  46. package/sensor/dist/db/migrations.js +241 -0
  47. package/sensor/dist/db/migrations.js.map +1 -0
  48. package/sensor/dist/db/queries.d.ts +563 -0
  49. package/sensor/dist/db/queries.d.ts.map +1 -0
  50. package/sensor/dist/db/queries.js +2179 -0
  51. package/sensor/dist/db/queries.js.map +1 -0
  52. package/sensor/dist/db/schema.sql +196 -0
  53. package/sensor/dist/db/sqlite-adapter.d.ts +55 -0
  54. package/sensor/dist/db/sqlite-adapter.d.ts.map +1 -0
  55. package/sensor/dist/db/sqlite-adapter.js +135 -0
  56. package/sensor/dist/db/sqlite-adapter.js.map +1 -0
  57. package/sensor/dist/db/wal-valve.d.ts +106 -0
  58. package/sensor/dist/db/wal-valve.d.ts.map +1 -0
  59. package/sensor/dist/db/wal-valve.js +208 -0
  60. package/sensor/dist/db/wal-valve.js.map +1 -0
  61. package/sensor/dist/directory.d.ts +183 -0
  62. package/sensor/dist/directory.d.ts.map +1 -0
  63. package/sensor/dist/directory.js +797 -0
  64. package/sensor/dist/directory.js.map +1 -0
  65. package/sensor/dist/errors.d.ts +136 -0
  66. package/sensor/dist/errors.d.ts.map +1 -0
  67. package/sensor/dist/errors.js +219 -0
  68. package/sensor/dist/errors.js.map +1 -0
  69. package/sensor/dist/extraction/astro-extractor.d.ts +79 -0
  70. package/sensor/dist/extraction/astro-extractor.d.ts.map +1 -0
  71. package/sensor/dist/extraction/astro-extractor.js +320 -0
  72. package/sensor/dist/extraction/astro-extractor.js.map +1 -0
  73. package/sensor/dist/extraction/cfml-extractor.d.ts +107 -0
  74. package/sensor/dist/extraction/cfml-extractor.d.ts.map +1 -0
  75. package/sensor/dist/extraction/cfml-extractor.js +494 -0
  76. package/sensor/dist/extraction/cfml-extractor.js.map +1 -0
  77. package/sensor/dist/extraction/dfm-extractor.d.ts +31 -0
  78. package/sensor/dist/extraction/dfm-extractor.d.ts.map +1 -0
  79. package/sensor/dist/extraction/dfm-extractor.js +151 -0
  80. package/sensor/dist/extraction/dfm-extractor.js.map +1 -0
  81. package/sensor/dist/extraction/dynamic-import.d.ts +82 -0
  82. package/sensor/dist/extraction/dynamic-import.d.ts.map +1 -0
  83. package/sensor/dist/extraction/dynamic-import.js +313 -0
  84. package/sensor/dist/extraction/dynamic-import.js.map +1 -0
  85. package/sensor/dist/extraction/extraction-version.d.ts +25 -0
  86. package/sensor/dist/extraction/extraction-version.d.ts.map +1 -0
  87. package/sensor/dist/extraction/extraction-version.js +28 -0
  88. package/sensor/dist/extraction/extraction-version.js.map +1 -0
  89. package/sensor/dist/extraction/function-ref.d.ts +118 -0
  90. package/sensor/dist/extraction/function-ref.d.ts.map +1 -0
  91. package/sensor/dist/extraction/function-ref.js +727 -0
  92. package/sensor/dist/extraction/function-ref.js.map +1 -0
  93. package/sensor/dist/extraction/generated-detection.d.ts +30 -0
  94. package/sensor/dist/extraction/generated-detection.d.ts.map +1 -0
  95. package/sensor/dist/extraction/generated-detection.js +83 -0
  96. package/sensor/dist/extraction/generated-detection.js.map +1 -0
  97. package/sensor/dist/extraction/grammars.d.ts +138 -0
  98. package/sensor/dist/extraction/grammars.d.ts.map +1 -0
  99. package/sensor/dist/extraction/grammars.js +648 -0
  100. package/sensor/dist/extraction/grammars.js.map +1 -0
  101. package/sensor/dist/extraction/index.d.ts +251 -0
  102. package/sensor/dist/extraction/index.d.ts.map +1 -0
  103. package/sensor/dist/extraction/index.js +2563 -0
  104. package/sensor/dist/extraction/index.js.map +1 -0
  105. package/sensor/dist/extraction/kernel/decode.d.ts +9 -0
  106. package/sensor/dist/extraction/kernel/decode.d.ts.map +1 -0
  107. package/sensor/dist/extraction/kernel/decode.js +156 -0
  108. package/sensor/dist/extraction/kernel/decode.js.map +1 -0
  109. package/sensor/dist/extraction/kernel/index.d.ts +62 -0
  110. package/sensor/dist/extraction/kernel/index.d.ts.map +1 -0
  111. package/sensor/dist/extraction/kernel/index.js +165 -0
  112. package/sensor/dist/extraction/kernel/index.js.map +1 -0
  113. package/sensor/dist/extraction/kernel/layout.d.ts +92 -0
  114. package/sensor/dist/extraction/kernel/layout.d.ts.map +1 -0
  115. package/sensor/dist/extraction/kernel/layout.js +95 -0
  116. package/sensor/dist/extraction/kernel/layout.js.map +1 -0
  117. package/sensor/dist/extraction/kernel/loader.d.ts +61 -0
  118. package/sensor/dist/extraction/kernel/loader.d.ts.map +1 -0
  119. package/sensor/dist/extraction/kernel/loader.js +146 -0
  120. package/sensor/dist/extraction/kernel/loader.js.map +1 -0
  121. package/sensor/dist/extraction/languages/arkts.d.ts +3 -0
  122. package/sensor/dist/extraction/languages/arkts.d.ts.map +1 -0
  123. package/sensor/dist/extraction/languages/arkts.js +127 -0
  124. package/sensor/dist/extraction/languages/arkts.js.map +1 -0
  125. package/sensor/dist/extraction/languages/c-cpp.d.ts +111 -0
  126. package/sensor/dist/extraction/languages/c-cpp.d.ts.map +1 -0
  127. package/sensor/dist/extraction/languages/c-cpp.js +878 -0
  128. package/sensor/dist/extraction/languages/c-cpp.js.map +1 -0
  129. package/sensor/dist/extraction/languages/cfquery.d.ts +12 -0
  130. package/sensor/dist/extraction/languages/cfquery.d.ts.map +1 -0
  131. package/sensor/dist/extraction/languages/cfquery.js +28 -0
  132. package/sensor/dist/extraction/languages/cfquery.js.map +1 -0
  133. package/sensor/dist/extraction/languages/cfscript.d.ts +3 -0
  134. package/sensor/dist/extraction/languages/cfscript.d.ts.map +1 -0
  135. package/sensor/dist/extraction/languages/cfscript.js +73 -0
  136. package/sensor/dist/extraction/languages/cfscript.js.map +1 -0
  137. package/sensor/dist/extraction/languages/cobol.d.ts +33 -0
  138. package/sensor/dist/extraction/languages/cobol.d.ts.map +1 -0
  139. package/sensor/dist/extraction/languages/cobol.js +499 -0
  140. package/sensor/dist/extraction/languages/cobol.js.map +1 -0
  141. package/sensor/dist/extraction/languages/csharp.d.ts +25 -0
  142. package/sensor/dist/extraction/languages/csharp.d.ts.map +1 -0
  143. package/sensor/dist/extraction/languages/csharp.js +175 -0
  144. package/sensor/dist/extraction/languages/csharp.js.map +1 -0
  145. package/sensor/dist/extraction/languages/dart.d.ts +3 -0
  146. package/sensor/dist/extraction/languages/dart.d.ts.map +1 -0
  147. package/sensor/dist/extraction/languages/dart.js +374 -0
  148. package/sensor/dist/extraction/languages/dart.js.map +1 -0
  149. package/sensor/dist/extraction/languages/erlang.d.ts +3 -0
  150. package/sensor/dist/extraction/languages/erlang.d.ts.map +1 -0
  151. package/sensor/dist/extraction/languages/erlang.js +350 -0
  152. package/sensor/dist/extraction/languages/erlang.js.map +1 -0
  153. package/sensor/dist/extraction/languages/go.d.ts +3 -0
  154. package/sensor/dist/extraction/languages/go.d.ts.map +1 -0
  155. package/sensor/dist/extraction/languages/go.js +111 -0
  156. package/sensor/dist/extraction/languages/go.js.map +1 -0
  157. package/sensor/dist/extraction/languages/index.d.ts +10 -0
  158. package/sensor/dist/extraction/languages/index.d.ts.map +1 -0
  159. package/sensor/dist/extraction/languages/index.js +71 -0
  160. package/sensor/dist/extraction/languages/index.js.map +1 -0
  161. package/sensor/dist/extraction/languages/java.d.ts +3 -0
  162. package/sensor/dist/extraction/languages/java.d.ts.map +1 -0
  163. package/sensor/dist/extraction/languages/java.js +315 -0
  164. package/sensor/dist/extraction/languages/java.js.map +1 -0
  165. package/sensor/dist/extraction/languages/javascript.d.ts +3 -0
  166. package/sensor/dist/extraction/languages/javascript.d.ts.map +1 -0
  167. package/sensor/dist/extraction/languages/javascript.js +106 -0
  168. package/sensor/dist/extraction/languages/javascript.js.map +1 -0
  169. package/sensor/dist/extraction/languages/kotlin.d.ts +3 -0
  170. package/sensor/dist/extraction/languages/kotlin.d.ts.map +1 -0
  171. package/sensor/dist/extraction/languages/kotlin.js +379 -0
  172. package/sensor/dist/extraction/languages/kotlin.js.map +1 -0
  173. package/sensor/dist/extraction/languages/lua.d.ts +3 -0
  174. package/sensor/dist/extraction/languages/lua.d.ts.map +1 -0
  175. package/sensor/dist/extraction/languages/lua.js +150 -0
  176. package/sensor/dist/extraction/languages/lua.js.map +1 -0
  177. package/sensor/dist/extraction/languages/luau.d.ts +3 -0
  178. package/sensor/dist/extraction/languages/luau.d.ts.map +1 -0
  179. package/sensor/dist/extraction/languages/luau.js +37 -0
  180. package/sensor/dist/extraction/languages/luau.js.map +1 -0
  181. package/sensor/dist/extraction/languages/nix.d.ts +3 -0
  182. package/sensor/dist/extraction/languages/nix.d.ts.map +1 -0
  183. package/sensor/dist/extraction/languages/nix.js +294 -0
  184. package/sensor/dist/extraction/languages/nix.js.map +1 -0
  185. package/sensor/dist/extraction/languages/objc.d.ts +3 -0
  186. package/sensor/dist/extraction/languages/objc.d.ts.map +1 -0
  187. package/sensor/dist/extraction/languages/objc.js +175 -0
  188. package/sensor/dist/extraction/languages/objc.js.map +1 -0
  189. package/sensor/dist/extraction/languages/pascal.d.ts +3 -0
  190. package/sensor/dist/extraction/languages/pascal.d.ts.map +1 -0
  191. package/sensor/dist/extraction/languages/pascal.js +77 -0
  192. package/sensor/dist/extraction/languages/pascal.js.map +1 -0
  193. package/sensor/dist/extraction/languages/php.d.ts +3 -0
  194. package/sensor/dist/extraction/languages/php.d.ts.map +1 -0
  195. package/sensor/dist/extraction/languages/php.js +196 -0
  196. package/sensor/dist/extraction/languages/php.js.map +1 -0
  197. package/sensor/dist/extraction/languages/python.d.ts +3 -0
  198. package/sensor/dist/extraction/languages/python.d.ts.map +1 -0
  199. package/sensor/dist/extraction/languages/python.js +56 -0
  200. package/sensor/dist/extraction/languages/python.js.map +1 -0
  201. package/sensor/dist/extraction/languages/r.d.ts +3 -0
  202. package/sensor/dist/extraction/languages/r.d.ts.map +1 -0
  203. package/sensor/dist/extraction/languages/r.js +314 -0
  204. package/sensor/dist/extraction/languages/r.js.map +1 -0
  205. package/sensor/dist/extraction/languages/ruby.d.ts +3 -0
  206. package/sensor/dist/extraction/languages/ruby.d.ts.map +1 -0
  207. package/sensor/dist/extraction/languages/ruby.js +149 -0
  208. package/sensor/dist/extraction/languages/ruby.js.map +1 -0
  209. package/sensor/dist/extraction/languages/rust.d.ts +3 -0
  210. package/sensor/dist/extraction/languages/rust.d.ts.map +1 -0
  211. package/sensor/dist/extraction/languages/rust.js +142 -0
  212. package/sensor/dist/extraction/languages/rust.js.map +1 -0
  213. package/sensor/dist/extraction/languages/scala.d.ts +3 -0
  214. package/sensor/dist/extraction/languages/scala.d.ts.map +1 -0
  215. package/sensor/dist/extraction/languages/scala.js +209 -0
  216. package/sensor/dist/extraction/languages/scala.js.map +1 -0
  217. package/sensor/dist/extraction/languages/solidity.d.ts +3 -0
  218. package/sensor/dist/extraction/languages/solidity.d.ts.map +1 -0
  219. package/sensor/dist/extraction/languages/solidity.js +293 -0
  220. package/sensor/dist/extraction/languages/solidity.js.map +1 -0
  221. package/sensor/dist/extraction/languages/swift.d.ts +3 -0
  222. package/sensor/dist/extraction/languages/swift.d.ts.map +1 -0
  223. package/sensor/dist/extraction/languages/swift.js +152 -0
  224. package/sensor/dist/extraction/languages/swift.js.map +1 -0
  225. package/sensor/dist/extraction/languages/terraform.d.ts +3 -0
  226. package/sensor/dist/extraction/languages/terraform.d.ts.map +1 -0
  227. package/sensor/dist/extraction/languages/terraform.js +641 -0
  228. package/sensor/dist/extraction/languages/terraform.js.map +1 -0
  229. package/sensor/dist/extraction/languages/typescript.d.ts +16 -0
  230. package/sensor/dist/extraction/languages/typescript.d.ts.map +1 -0
  231. package/sensor/dist/extraction/languages/typescript.js +167 -0
  232. package/sensor/dist/extraction/languages/typescript.js.map +1 -0
  233. package/sensor/dist/extraction/languages/vbnet.d.ts +11 -0
  234. package/sensor/dist/extraction/languages/vbnet.d.ts.map +1 -0
  235. package/sensor/dist/extraction/languages/vbnet.js +141 -0
  236. package/sensor/dist/extraction/languages/vbnet.js.map +1 -0
  237. package/sensor/dist/extraction/liquid-extractor.d.ts +59 -0
  238. package/sensor/dist/extraction/liquid-extractor.d.ts.map +1 -0
  239. package/sensor/dist/extraction/liquid-extractor.js +357 -0
  240. package/sensor/dist/extraction/liquid-extractor.js.map +1 -0
  241. package/sensor/dist/extraction/mybatis-extractor.d.ts +68 -0
  242. package/sensor/dist/extraction/mybatis-extractor.d.ts.map +1 -0
  243. package/sensor/dist/extraction/mybatis-extractor.js +300 -0
  244. package/sensor/dist/extraction/mybatis-extractor.js.map +1 -0
  245. package/sensor/dist/extraction/parse-pool.d.ts +160 -0
  246. package/sensor/dist/extraction/parse-pool.d.ts.map +1 -0
  247. package/sensor/dist/extraction/parse-pool.js +402 -0
  248. package/sensor/dist/extraction/parse-pool.js.map +1 -0
  249. package/sensor/dist/extraction/parse-worker.d.ts +8 -0
  250. package/sensor/dist/extraction/parse-worker.d.ts.map +1 -0
  251. package/sensor/dist/extraction/parse-worker.js +138 -0
  252. package/sensor/dist/extraction/parse-worker.js.map +1 -0
  253. package/sensor/dist/extraction/razor-extractor.d.ts +42 -0
  254. package/sensor/dist/extraction/razor-extractor.d.ts.map +1 -0
  255. package/sensor/dist/extraction/razor-extractor.js +285 -0
  256. package/sensor/dist/extraction/razor-extractor.js.map +1 -0
  257. package/sensor/dist/extraction/spawn-invokes.d.ts +101 -0
  258. package/sensor/dist/extraction/spawn-invokes.d.ts.map +1 -0
  259. package/sensor/dist/extraction/spawn-invokes.js +327 -0
  260. package/sensor/dist/extraction/spawn-invokes.js.map +1 -0
  261. package/sensor/dist/extraction/store-worker.d.ts +24 -0
  262. package/sensor/dist/extraction/store-worker.d.ts.map +1 -0
  263. package/sensor/dist/extraction/store-worker.js +110 -0
  264. package/sensor/dist/extraction/store-worker.js.map +1 -0
  265. package/sensor/dist/extraction/store-writer.d.ts +63 -0
  266. package/sensor/dist/extraction/store-writer.d.ts.map +1 -0
  267. package/sensor/dist/extraction/store-writer.js +174 -0
  268. package/sensor/dist/extraction/store-writer.js.map +1 -0
  269. package/sensor/dist/extraction/svelte-extractor.d.ts +56 -0
  270. package/sensor/dist/extraction/svelte-extractor.d.ts.map +1 -0
  271. package/sensor/dist/extraction/svelte-extractor.js +275 -0
  272. package/sensor/dist/extraction/svelte-extractor.js.map +1 -0
  273. package/sensor/dist/extraction/tree-sitter-helpers.d.ts +28 -0
  274. package/sensor/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
  275. package/sensor/dist/extraction/tree-sitter-helpers.js +153 -0
  276. package/sensor/dist/extraction/tree-sitter-helpers.js.map +1 -0
  277. package/sensor/dist/extraction/tree-sitter-types.d.ts +258 -0
  278. package/sensor/dist/extraction/tree-sitter-types.d.ts.map +1 -0
  279. package/sensor/dist/extraction/tree-sitter-types.js +10 -0
  280. package/sensor/dist/extraction/tree-sitter-types.js.map +1 -0
  281. package/sensor/dist/extraction/tree-sitter.d.ts +724 -0
  282. package/sensor/dist/extraction/tree-sitter.d.ts.map +1 -0
  283. package/sensor/dist/extraction/tree-sitter.js +6721 -0
  284. package/sensor/dist/extraction/tree-sitter.js.map +1 -0
  285. package/sensor/dist/extraction/vue-extractor.d.ts +51 -0
  286. package/sensor/dist/extraction/vue-extractor.d.ts.map +1 -0
  287. package/sensor/dist/extraction/vue-extractor.js +254 -0
  288. package/sensor/dist/extraction/vue-extractor.js.map +1 -0
  289. package/sensor/dist/extraction/wasm/tree-sitter-arkts.wasm +0 -0
  290. package/sensor/dist/extraction/wasm/tree-sitter-c_sharp.wasm +0 -0
  291. package/sensor/dist/extraction/wasm/tree-sitter-cfml.wasm +0 -0
  292. package/sensor/dist/extraction/wasm/tree-sitter-cfquery.wasm +0 -0
  293. package/sensor/dist/extraction/wasm/tree-sitter-cfscript.wasm +0 -0
  294. package/sensor/dist/extraction/wasm/tree-sitter-cobol.wasm +0 -0
  295. package/sensor/dist/extraction/wasm/tree-sitter-erlang.wasm +0 -0
  296. package/sensor/dist/extraction/wasm/tree-sitter-go.wasm +0 -0
  297. package/sensor/dist/extraction/wasm/tree-sitter-java.wasm +0 -0
  298. package/sensor/dist/extraction/wasm/tree-sitter-javascript.wasm +0 -0
  299. package/sensor/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
  300. package/sensor/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
  301. package/sensor/dist/extraction/wasm/tree-sitter-nix.wasm +0 -0
  302. package/sensor/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
  303. package/sensor/dist/extraction/wasm/tree-sitter-python.wasm +0 -0
  304. package/sensor/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
  305. package/sensor/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  306. package/sensor/dist/extraction/wasm/tree-sitter-terraform.wasm +0 -0
  307. package/sensor/dist/extraction/wasm/tree-sitter-tsx.wasm +0 -0
  308. package/sensor/dist/extraction/wasm/tree-sitter-typescript.wasm +0 -0
  309. package/sensor/dist/extraction/wasm/tree-sitter-vbnet.wasm +0 -0
  310. package/sensor/dist/extraction/wasm-runtime-flags.d.ts +53 -0
  311. package/sensor/dist/extraction/wasm-runtime-flags.d.ts.map +1 -0
  312. package/sensor/dist/extraction/wasm-runtime-flags.js +130 -0
  313. package/sensor/dist/extraction/wasm-runtime-flags.js.map +1 -0
  314. package/sensor/dist/graph/index.d.ts +8 -0
  315. package/sensor/dist/graph/index.d.ts.map +1 -0
  316. package/sensor/dist/graph/index.js +13 -0
  317. package/sensor/dist/graph/index.js.map +1 -0
  318. package/sensor/dist/graph/queries.d.ts +106 -0
  319. package/sensor/dist/graph/queries.d.ts.map +1 -0
  320. package/sensor/dist/graph/queries.js +339 -0
  321. package/sensor/dist/graph/queries.js.map +1 -0
  322. package/sensor/dist/graph/traversal.d.ts +127 -0
  323. package/sensor/dist/graph/traversal.d.ts.map +1 -0
  324. package/sensor/dist/graph/traversal.js +599 -0
  325. package/sensor/dist/graph/traversal.js.map +1 -0
  326. package/sensor/dist/index.d.ts +653 -0
  327. package/sensor/dist/index.d.ts.map +1 -0
  328. package/sensor/dist/index.js +1646 -0
  329. package/sensor/dist/index.js.map +1 -0
  330. package/sensor/dist/installer/beta-signup.d.ts +54 -0
  331. package/sensor/dist/installer/beta-signup.d.ts.map +1 -0
  332. package/sensor/dist/installer/beta-signup.js +178 -0
  333. package/sensor/dist/installer/beta-signup.js.map +1 -0
  334. package/sensor/dist/installer/config-writer.d.ts +28 -0
  335. package/sensor/dist/installer/config-writer.d.ts.map +1 -0
  336. package/sensor/dist/installer/config-writer.js +91 -0
  337. package/sensor/dist/installer/config-writer.js.map +1 -0
  338. package/sensor/dist/installer/index.d.ts +142 -0
  339. package/sensor/dist/installer/index.d.ts.map +1 -0
  340. package/sensor/dist/installer/index.js +622 -0
  341. package/sensor/dist/installer/index.js.map +1 -0
  342. package/sensor/dist/installer/instructions-template.d.ts +41 -0
  343. package/sensor/dist/installer/instructions-template.d.ts.map +1 -0
  344. package/sensor/dist/installer/instructions-template.js +53 -0
  345. package/sensor/dist/installer/instructions-template.js.map +1 -0
  346. package/sensor/dist/installer/targets/antigravity.d.ts +57 -0
  347. package/sensor/dist/installer/targets/antigravity.d.ts.map +1 -0
  348. package/sensor/dist/installer/targets/antigravity.js +308 -0
  349. package/sensor/dist/installer/targets/antigravity.js.map +1 -0
  350. package/sensor/dist/installer/targets/claude.d.ts +62 -0
  351. package/sensor/dist/installer/targets/claude.d.ts.map +1 -0
  352. package/sensor/dist/installer/targets/claude.js +454 -0
  353. package/sensor/dist/installer/targets/claude.js.map +1 -0
  354. package/sensor/dist/installer/targets/codex.d.ts +18 -0
  355. package/sensor/dist/installer/targets/codex.d.ts.map +1 -0
  356. package/sensor/dist/installer/targets/codex.js +185 -0
  357. package/sensor/dist/installer/targets/codex.js.map +1 -0
  358. package/sensor/dist/installer/targets/cursor.d.ts +35 -0
  359. package/sensor/dist/installer/targets/cursor.d.ts.map +1 -0
  360. package/sensor/dist/installer/targets/cursor.js +254 -0
  361. package/sensor/dist/installer/targets/cursor.js.map +1 -0
  362. package/sensor/dist/installer/targets/gemini.d.ts +26 -0
  363. package/sensor/dist/installer/targets/gemini.d.ts.map +1 -0
  364. package/sensor/dist/installer/targets/gemini.js +165 -0
  365. package/sensor/dist/installer/targets/gemini.js.map +1 -0
  366. package/sensor/dist/installer/targets/hermes.d.ts +18 -0
  367. package/sensor/dist/installer/targets/hermes.d.ts.map +1 -0
  368. package/sensor/dist/installer/targets/hermes.js +359 -0
  369. package/sensor/dist/installer/targets/hermes.js.map +1 -0
  370. package/sensor/dist/installer/targets/kiro.d.ts +27 -0
  371. package/sensor/dist/installer/targets/kiro.d.ts.map +1 -0
  372. package/sensor/dist/installer/targets/kiro.js +178 -0
  373. package/sensor/dist/installer/targets/kiro.js.map +1 -0
  374. package/sensor/dist/installer/targets/opencode.d.ts +38 -0
  375. package/sensor/dist/installer/targets/opencode.d.ts.map +1 -0
  376. package/sensor/dist/installer/targets/opencode.js +288 -0
  377. package/sensor/dist/installer/targets/opencode.js.map +1 -0
  378. package/sensor/dist/installer/targets/registry.d.ts +35 -0
  379. package/sensor/dist/installer/targets/registry.d.ts.map +1 -0
  380. package/sensor/dist/installer/targets/registry.js +91 -0
  381. package/sensor/dist/installer/targets/registry.js.map +1 -0
  382. package/sensor/dist/installer/targets/shared.d.ts +101 -0
  383. package/sensor/dist/installer/targets/shared.d.ts.map +1 -0
  384. package/sensor/dist/installer/targets/shared.js +264 -0
  385. package/sensor/dist/installer/targets/shared.js.map +1 -0
  386. package/sensor/dist/installer/targets/toml.d.ts +52 -0
  387. package/sensor/dist/installer/targets/toml.d.ts.map +1 -0
  388. package/sensor/dist/installer/targets/toml.js +147 -0
  389. package/sensor/dist/installer/targets/toml.js.map +1 -0
  390. package/sensor/dist/installer/targets/types.d.ts +108 -0
  391. package/sensor/dist/installer/targets/types.d.ts.map +1 -0
  392. package/sensor/dist/installer/targets/types.js +16 -0
  393. package/sensor/dist/installer/targets/types.js.map +1 -0
  394. package/sensor/dist/mcp/daemon-manager.d.ts +42 -0
  395. package/sensor/dist/mcp/daemon-manager.d.ts.map +1 -0
  396. package/sensor/dist/mcp/daemon-manager.js +129 -0
  397. package/sensor/dist/mcp/daemon-manager.js.map +1 -0
  398. package/sensor/dist/mcp/daemon-paths.d.ts +73 -0
  399. package/sensor/dist/mcp/daemon-paths.d.ts.map +1 -0
  400. package/sensor/dist/mcp/daemon-paths.js +170 -0
  401. package/sensor/dist/mcp/daemon-paths.js.map +1 -0
  402. package/sensor/dist/mcp/daemon-registry.d.ts +54 -0
  403. package/sensor/dist/mcp/daemon-registry.d.ts.map +1 -0
  404. package/sensor/dist/mcp/daemon-registry.js +241 -0
  405. package/sensor/dist/mcp/daemon-registry.js.map +1 -0
  406. package/sensor/dist/mcp/daemon.d.ts +290 -0
  407. package/sensor/dist/mcp/daemon.d.ts.map +1 -0
  408. package/sensor/dist/mcp/daemon.js +867 -0
  409. package/sensor/dist/mcp/daemon.js.map +1 -0
  410. package/sensor/dist/mcp/dynamic-boundaries.d.ts +41 -0
  411. package/sensor/dist/mcp/dynamic-boundaries.d.ts.map +1 -0
  412. package/sensor/dist/mcp/dynamic-boundaries.js +360 -0
  413. package/sensor/dist/mcp/dynamic-boundaries.js.map +1 -0
  414. package/sensor/dist/mcp/early-ppid.d.ts +26 -0
  415. package/sensor/dist/mcp/early-ppid.d.ts.map +1 -0
  416. package/sensor/dist/mcp/early-ppid.js +29 -0
  417. package/sensor/dist/mcp/early-ppid.js.map +1 -0
  418. package/sensor/dist/mcp/engine.d.ts +130 -0
  419. package/sensor/dist/mcp/engine.d.ts.map +1 -0
  420. package/sensor/dist/mcp/engine.js +375 -0
  421. package/sensor/dist/mcp/engine.js.map +1 -0
  422. package/sensor/dist/mcp/index.d.ts +113 -0
  423. package/sensor/dist/mcp/index.d.ts.map +1 -0
  424. package/sensor/dist/mcp/index.js +551 -0
  425. package/sensor/dist/mcp/index.js.map +1 -0
  426. package/sensor/dist/mcp/liveness-watchdog.d.ts +35 -0
  427. package/sensor/dist/mcp/liveness-watchdog.d.ts.map +1 -0
  428. package/sensor/dist/mcp/liveness-watchdog.js +267 -0
  429. package/sensor/dist/mcp/liveness-watchdog.js.map +1 -0
  430. package/sensor/dist/mcp/ppid-watchdog.d.ts +62 -0
  431. package/sensor/dist/mcp/ppid-watchdog.d.ts.map +1 -0
  432. package/sensor/dist/mcp/ppid-watchdog.js +64 -0
  433. package/sensor/dist/mcp/ppid-watchdog.js.map +1 -0
  434. package/sensor/dist/mcp/proxy.d.ts +99 -0
  435. package/sensor/dist/mcp/proxy.d.ts.map +1 -0
  436. package/sensor/dist/mcp/proxy.js +737 -0
  437. package/sensor/dist/mcp/proxy.js.map +1 -0
  438. package/sensor/dist/mcp/query-pool.d.ts +108 -0
  439. package/sensor/dist/mcp/query-pool.d.ts.map +1 -0
  440. package/sensor/dist/mcp/query-pool.js +315 -0
  441. package/sensor/dist/mcp/query-pool.js.map +1 -0
  442. package/sensor/dist/mcp/query-worker.d.ts +24 -0
  443. package/sensor/dist/mcp/query-worker.d.ts.map +1 -0
  444. package/sensor/dist/mcp/query-worker.js +87 -0
  445. package/sensor/dist/mcp/query-worker.js.map +1 -0
  446. package/sensor/dist/mcp/server-instructions.d.ts +34 -0
  447. package/sensor/dist/mcp/server-instructions.d.ts.map +1 -0
  448. package/sensor/dist/mcp/server-instructions.js +106 -0
  449. package/sensor/dist/mcp/server-instructions.js.map +1 -0
  450. package/sensor/dist/mcp/session.d.ts +92 -0
  451. package/sensor/dist/mcp/session.d.ts.map +1 -0
  452. package/sensor/dist/mcp/session.js +355 -0
  453. package/sensor/dist/mcp/session.js.map +1 -0
  454. package/sensor/dist/mcp/startup-handshake.d.ts +44 -0
  455. package/sensor/dist/mcp/startup-handshake.d.ts.map +1 -0
  456. package/sensor/dist/mcp/startup-handshake.js +73 -0
  457. package/sensor/dist/mcp/startup-handshake.js.map +1 -0
  458. package/sensor/dist/mcp/stdin-teardown.d.ts +27 -0
  459. package/sensor/dist/mcp/stdin-teardown.d.ts.map +1 -0
  460. package/sensor/dist/mcp/stdin-teardown.js +49 -0
  461. package/sensor/dist/mcp/stdin-teardown.js.map +1 -0
  462. package/sensor/dist/mcp/tools.d.ts +651 -0
  463. package/sensor/dist/mcp/tools.d.ts.map +1 -0
  464. package/sensor/dist/mcp/tools.js +4574 -0
  465. package/sensor/dist/mcp/tools.js.map +1 -0
  466. package/sensor/dist/mcp/transport.d.ts +188 -0
  467. package/sensor/dist/mcp/transport.d.ts.map +1 -0
  468. package/sensor/dist/mcp/transport.js +377 -0
  469. package/sensor/dist/mcp/transport.js.map +1 -0
  470. package/sensor/dist/mcp/version.d.ts +30 -0
  471. package/sensor/dist/mcp/version.d.ts.map +1 -0
  472. package/sensor/dist/mcp/version.js +85 -0
  473. package/sensor/dist/mcp/version.js.map +1 -0
  474. package/sensor/dist/project-config.d.ts +94 -0
  475. package/sensor/dist/project-config.d.ts.map +1 -0
  476. package/sensor/dist/project-config.js +374 -0
  477. package/sensor/dist/project-config.js.map +1 -0
  478. package/sensor/dist/resolution/c-fnptr-synthesizer.d.ts +6 -0
  479. package/sensor/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -0
  480. package/sensor/dist/resolution/c-fnptr-synthesizer.js +1070 -0
  481. package/sensor/dist/resolution/c-fnptr-synthesizer.js.map +1 -0
  482. package/sensor/dist/resolution/callback-synthesizer.d.ts +59 -0
  483. package/sensor/dist/resolution/callback-synthesizer.d.ts.map +1 -0
  484. package/sensor/dist/resolution/callback-synthesizer.js +3961 -0
  485. package/sensor/dist/resolution/callback-synthesizer.js.map +1 -0
  486. package/sensor/dist/resolution/cooperative-yield.d.ts +40 -0
  487. package/sensor/dist/resolution/cooperative-yield.d.ts.map +1 -0
  488. package/sensor/dist/resolution/cooperative-yield.js +44 -0
  489. package/sensor/dist/resolution/cooperative-yield.js.map +1 -0
  490. package/sensor/dist/resolution/frameworks/astro.d.ts +9 -0
  491. package/sensor/dist/resolution/frameworks/astro.d.ts.map +1 -0
  492. package/sensor/dist/resolution/frameworks/astro.js +169 -0
  493. package/sensor/dist/resolution/frameworks/astro.js.map +1 -0
  494. package/sensor/dist/resolution/frameworks/cargo-workspace.d.ts +18 -0
  495. package/sensor/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
  496. package/sensor/dist/resolution/frameworks/cargo-workspace.js +225 -0
  497. package/sensor/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
  498. package/sensor/dist/resolution/frameworks/cics.d.ts +20 -0
  499. package/sensor/dist/resolution/frameworks/cics.d.ts.map +1 -0
  500. package/sensor/dist/resolution/frameworks/cics.js +90 -0
  501. package/sensor/dist/resolution/frameworks/cics.js.map +1 -0
  502. package/sensor/dist/resolution/frameworks/csharp.d.ts +8 -0
  503. package/sensor/dist/resolution/frameworks/csharp.d.ts.map +1 -0
  504. package/sensor/dist/resolution/frameworks/csharp.js +241 -0
  505. package/sensor/dist/resolution/frameworks/csharp.js.map +1 -0
  506. package/sensor/dist/resolution/frameworks/drupal.d.ts +51 -0
  507. package/sensor/dist/resolution/frameworks/drupal.d.ts.map +1 -0
  508. package/sensor/dist/resolution/frameworks/drupal.js +367 -0
  509. package/sensor/dist/resolution/frameworks/drupal.js.map +1 -0
  510. package/sensor/dist/resolution/frameworks/expo-modules.d.ts +3 -0
  511. package/sensor/dist/resolution/frameworks/expo-modules.d.ts.map +1 -0
  512. package/sensor/dist/resolution/frameworks/expo-modules.js +148 -0
  513. package/sensor/dist/resolution/frameworks/expo-modules.js.map +1 -0
  514. package/sensor/dist/resolution/frameworks/express.d.ts +8 -0
  515. package/sensor/dist/resolution/frameworks/express.d.ts.map +1 -0
  516. package/sensor/dist/resolution/frameworks/express.js +308 -0
  517. package/sensor/dist/resolution/frameworks/express.js.map +1 -0
  518. package/sensor/dist/resolution/frameworks/fabric.d.ts +3 -0
  519. package/sensor/dist/resolution/frameworks/fabric.d.ts.map +1 -0
  520. package/sensor/dist/resolution/frameworks/fabric.js +354 -0
  521. package/sensor/dist/resolution/frameworks/fabric.js.map +1 -0
  522. package/sensor/dist/resolution/frameworks/go.d.ts +8 -0
  523. package/sensor/dist/resolution/frameworks/go.d.ts.map +1 -0
  524. package/sensor/dist/resolution/frameworks/go.js +184 -0
  525. package/sensor/dist/resolution/frameworks/go.js.map +1 -0
  526. package/sensor/dist/resolution/frameworks/goframe.d.ts +41 -0
  527. package/sensor/dist/resolution/frameworks/goframe.d.ts.map +1 -0
  528. package/sensor/dist/resolution/frameworks/goframe.js +112 -0
  529. package/sensor/dist/resolution/frameworks/goframe.js.map +1 -0
  530. package/sensor/dist/resolution/frameworks/index.d.ts +50 -0
  531. package/sensor/dist/resolution/frameworks/index.d.ts.map +1 -0
  532. package/sensor/dist/resolution/frameworks/index.js +175 -0
  533. package/sensor/dist/resolution/frameworks/index.js.map +1 -0
  534. package/sensor/dist/resolution/frameworks/java.d.ts +8 -0
  535. package/sensor/dist/resolution/frameworks/java.d.ts.map +1 -0
  536. package/sensor/dist/resolution/frameworks/java.js +517 -0
  537. package/sensor/dist/resolution/frameworks/java.js.map +1 -0
  538. package/sensor/dist/resolution/frameworks/laravel.d.ts +13 -0
  539. package/sensor/dist/resolution/frameworks/laravel.d.ts.map +1 -0
  540. package/sensor/dist/resolution/frameworks/laravel.js +257 -0
  541. package/sensor/dist/resolution/frameworks/laravel.js.map +1 -0
  542. package/sensor/dist/resolution/frameworks/nestjs.d.ts +26 -0
  543. package/sensor/dist/resolution/frameworks/nestjs.d.ts.map +1 -0
  544. package/sensor/dist/resolution/frameworks/nestjs.js +698 -0
  545. package/sensor/dist/resolution/frameworks/nestjs.js.map +1 -0
  546. package/sensor/dist/resolution/frameworks/play.d.ts +19 -0
  547. package/sensor/dist/resolution/frameworks/play.d.ts.map +1 -0
  548. package/sensor/dist/resolution/frameworks/play.js +111 -0
  549. package/sensor/dist/resolution/frameworks/play.js.map +1 -0
  550. package/sensor/dist/resolution/frameworks/python.d.ts +10 -0
  551. package/sensor/dist/resolution/frameworks/python.d.ts.map +1 -0
  552. package/sensor/dist/resolution/frameworks/python.js +400 -0
  553. package/sensor/dist/resolution/frameworks/python.js.map +1 -0
  554. package/sensor/dist/resolution/frameworks/react-native.d.ts +3 -0
  555. package/sensor/dist/resolution/frameworks/react-native.d.ts.map +1 -0
  556. package/sensor/dist/resolution/frameworks/react-native.js +410 -0
  557. package/sensor/dist/resolution/frameworks/react-native.js.map +1 -0
  558. package/sensor/dist/resolution/frameworks/react.d.ts +8 -0
  559. package/sensor/dist/resolution/frameworks/react.d.ts.map +1 -0
  560. package/sensor/dist/resolution/frameworks/react.js +334 -0
  561. package/sensor/dist/resolution/frameworks/react.js.map +1 -0
  562. package/sensor/dist/resolution/frameworks/ruby.d.ts +8 -0
  563. package/sensor/dist/resolution/frameworks/ruby.d.ts.map +1 -0
  564. package/sensor/dist/resolution/frameworks/ruby.js +302 -0
  565. package/sensor/dist/resolution/frameworks/ruby.js.map +1 -0
  566. package/sensor/dist/resolution/frameworks/rust.d.ts +8 -0
  567. package/sensor/dist/resolution/frameworks/rust.d.ts.map +1 -0
  568. package/sensor/dist/resolution/frameworks/rust.js +304 -0
  569. package/sensor/dist/resolution/frameworks/rust.js.map +1 -0
  570. package/sensor/dist/resolution/frameworks/svelte.d.ts +9 -0
  571. package/sensor/dist/resolution/frameworks/svelte.d.ts.map +1 -0
  572. package/sensor/dist/resolution/frameworks/svelte.js +253 -0
  573. package/sensor/dist/resolution/frameworks/svelte.js.map +1 -0
  574. package/sensor/dist/resolution/frameworks/swift-objc.d.ts +37 -0
  575. package/sensor/dist/resolution/frameworks/swift-objc.d.ts.map +1 -0
  576. package/sensor/dist/resolution/frameworks/swift-objc.js +252 -0
  577. package/sensor/dist/resolution/frameworks/swift-objc.js.map +1 -0
  578. package/sensor/dist/resolution/frameworks/swift.d.ts +10 -0
  579. package/sensor/dist/resolution/frameworks/swift.d.ts.map +1 -0
  580. package/sensor/dist/resolution/frameworks/swift.js +400 -0
  581. package/sensor/dist/resolution/frameworks/swift.js.map +1 -0
  582. package/sensor/dist/resolution/frameworks/terraform.d.ts +38 -0
  583. package/sensor/dist/resolution/frameworks/terraform.d.ts.map +1 -0
  584. package/sensor/dist/resolution/frameworks/terraform.js +277 -0
  585. package/sensor/dist/resolution/frameworks/terraform.js.map +1 -0
  586. package/sensor/dist/resolution/frameworks/vue.d.ts +9 -0
  587. package/sensor/dist/resolution/frameworks/vue.d.ts.map +1 -0
  588. package/sensor/dist/resolution/frameworks/vue.js +303 -0
  589. package/sensor/dist/resolution/frameworks/vue.js.map +1 -0
  590. package/sensor/dist/resolution/go-module.d.ts +26 -0
  591. package/sensor/dist/resolution/go-module.d.ts.map +1 -0
  592. package/sensor/dist/resolution/go-module.js +78 -0
  593. package/sensor/dist/resolution/go-module.js.map +1 -0
  594. package/sensor/dist/resolution/goframe-synthesizer.d.ts +29 -0
  595. package/sensor/dist/resolution/goframe-synthesizer.d.ts.map +1 -0
  596. package/sensor/dist/resolution/goframe-synthesizer.js +163 -0
  597. package/sensor/dist/resolution/goframe-synthesizer.js.map +1 -0
  598. package/sensor/dist/resolution/import-resolver.d.ts +84 -0
  599. package/sensor/dist/resolution/import-resolver.d.ts.map +1 -0
  600. package/sensor/dist/resolution/import-resolver.js +2172 -0
  601. package/sensor/dist/resolution/import-resolver.js.map +1 -0
  602. package/sensor/dist/resolution/index.d.ts +309 -0
  603. package/sensor/dist/resolution/index.d.ts.map +1 -0
  604. package/sensor/dist/resolution/index.js +2050 -0
  605. package/sensor/dist/resolution/index.js.map +1 -0
  606. package/sensor/dist/resolution/lru-cache.d.ts +24 -0
  607. package/sensor/dist/resolution/lru-cache.d.ts.map +1 -0
  608. package/sensor/dist/resolution/lru-cache.js +62 -0
  609. package/sensor/dist/resolution/lru-cache.js.map +1 -0
  610. package/sensor/dist/resolution/name-matcher.d.ts +126 -0
  611. package/sensor/dist/resolution/name-matcher.d.ts.map +1 -0
  612. package/sensor/dist/resolution/name-matcher.js +1968 -0
  613. package/sensor/dist/resolution/name-matcher.js.map +1 -0
  614. package/sensor/dist/resolution/path-aliases.d.ts +68 -0
  615. package/sensor/dist/resolution/path-aliases.d.ts.map +1 -0
  616. package/sensor/dist/resolution/path-aliases.js +238 -0
  617. package/sensor/dist/resolution/path-aliases.js.map +1 -0
  618. package/sensor/dist/resolution/resolver-pool.d.ts +66 -0
  619. package/sensor/dist/resolution/resolver-pool.d.ts.map +1 -0
  620. package/sensor/dist/resolution/resolver-pool.js +244 -0
  621. package/sensor/dist/resolution/resolver-pool.js.map +1 -0
  622. package/sensor/dist/resolution/resolver-worker.d.ts +17 -0
  623. package/sensor/dist/resolution/resolver-worker.d.ts.map +1 -0
  624. package/sensor/dist/resolution/resolver-worker.js +114 -0
  625. package/sensor/dist/resolution/resolver-worker.js.map +1 -0
  626. package/sensor/dist/resolution/strip-comments.d.ts +27 -0
  627. package/sensor/dist/resolution/strip-comments.d.ts.map +1 -0
  628. package/sensor/dist/resolution/strip-comments.js +492 -0
  629. package/sensor/dist/resolution/strip-comments.js.map +1 -0
  630. package/sensor/dist/resolution/swift-objc-bridge.d.ts +134 -0
  631. package/sensor/dist/resolution/swift-objc-bridge.d.ts.map +1 -0
  632. package/sensor/dist/resolution/swift-objc-bridge.js +256 -0
  633. package/sensor/dist/resolution/swift-objc-bridge.js.map +1 -0
  634. package/sensor/dist/resolution/types.d.ts +265 -0
  635. package/sensor/dist/resolution/types.d.ts.map +1 -0
  636. package/sensor/dist/resolution/types.js +8 -0
  637. package/sensor/dist/resolution/types.js.map +1 -0
  638. package/sensor/dist/resolution/workspace-packages.d.ts +58 -0
  639. package/sensor/dist/resolution/workspace-packages.d.ts.map +1 -0
  640. package/sensor/dist/resolution/workspace-packages.js +346 -0
  641. package/sensor/dist/resolution/workspace-packages.js.map +1 -0
  642. package/sensor/dist/search/identifier-segments.d.ts +60 -0
  643. package/sensor/dist/search/identifier-segments.d.ts.map +1 -0
  644. package/sensor/dist/search/identifier-segments.js +176 -0
  645. package/sensor/dist/search/identifier-segments.js.map +1 -0
  646. package/sensor/dist/search/query-parser.d.ts +57 -0
  647. package/sensor/dist/search/query-parser.d.ts.map +1 -0
  648. package/sensor/dist/search/query-parser.js +177 -0
  649. package/sensor/dist/search/query-parser.js.map +1 -0
  650. package/sensor/dist/search/query-utils.d.ts +87 -0
  651. package/sensor/dist/search/query-utils.d.ts.map +1 -0
  652. package/sensor/dist/search/query-utils.js +449 -0
  653. package/sensor/dist/search/query-utils.js.map +1 -0
  654. package/sensor/dist/sync/git-hooks.d.ts +45 -0
  655. package/sensor/dist/sync/git-hooks.d.ts.map +1 -0
  656. package/sensor/dist/sync/git-hooks.js +227 -0
  657. package/sensor/dist/sync/git-hooks.js.map +1 -0
  658. package/sensor/dist/sync/index.d.ts +19 -0
  659. package/sensor/dist/sync/index.d.ts.map +1 -0
  660. package/sensor/dist/sync/index.js +35 -0
  661. package/sensor/dist/sync/index.js.map +1 -0
  662. package/sensor/dist/sync/watch-policy.d.ts +48 -0
  663. package/sensor/dist/sync/watch-policy.d.ts.map +1 -0
  664. package/sensor/dist/sync/watch-policy.js +124 -0
  665. package/sensor/dist/sync/watch-policy.js.map +1 -0
  666. package/sensor/dist/sync/watcher.d.ts +372 -0
  667. package/sensor/dist/sync/watcher.d.ts.map +1 -0
  668. package/sensor/dist/sync/watcher.js +879 -0
  669. package/sensor/dist/sync/watcher.js.map +1 -0
  670. package/sensor/dist/sync/worktree.d.ts +63 -0
  671. package/sensor/dist/sync/worktree.d.ts.map +1 -0
  672. package/sensor/dist/sync/worktree.js +182 -0
  673. package/sensor/dist/sync/worktree.js.map +1 -0
  674. package/sensor/dist/telemetry/index.d.ts +157 -0
  675. package/sensor/dist/telemetry/index.d.ts.map +1 -0
  676. package/sensor/dist/telemetry/index.js +556 -0
  677. package/sensor/dist/telemetry/index.js.map +1 -0
  678. package/sensor/dist/types.d.ts +458 -0
  679. package/sensor/dist/types.d.ts.map +1 -0
  680. package/sensor/dist/types.js +117 -0
  681. package/sensor/dist/types.js.map +1 -0
  682. package/sensor/dist/ui/color.d.ts +21 -0
  683. package/sensor/dist/ui/color.d.ts.map +1 -0
  684. package/sensor/dist/ui/color.js +42 -0
  685. package/sensor/dist/ui/color.js.map +1 -0
  686. package/sensor/dist/ui/glyphs.d.ts +67 -0
  687. package/sensor/dist/ui/glyphs.d.ts.map +1 -0
  688. package/sensor/dist/ui/glyphs.js +125 -0
  689. package/sensor/dist/ui/glyphs.js.map +1 -0
  690. package/sensor/dist/ui/shimmer-progress.d.ts +11 -0
  691. package/sensor/dist/ui/shimmer-progress.d.ts.map +1 -0
  692. package/sensor/dist/ui/shimmer-progress.js +164 -0
  693. package/sensor/dist/ui/shimmer-progress.js.map +1 -0
  694. package/sensor/dist/ui/shimmer-worker.d.ts +2 -0
  695. package/sensor/dist/ui/shimmer-worker.d.ts.map +1 -0
  696. package/sensor/dist/ui/shimmer-worker.js +126 -0
  697. package/sensor/dist/ui/shimmer-worker.js.map +1 -0
  698. package/sensor/dist/ui/types.d.ts +15 -0
  699. package/sensor/dist/ui/types.d.ts.map +1 -0
  700. package/sensor/dist/ui/types.js +3 -0
  701. package/sensor/dist/ui/types.js.map +1 -0
  702. package/sensor/dist/upgrade/index.d.ts +171 -0
  703. package/sensor/dist/upgrade/index.d.ts.map +1 -0
  704. package/sensor/dist/upgrade/index.js +659 -0
  705. package/sensor/dist/upgrade/index.js.map +1 -0
  706. package/sensor/dist/upgrade/remove-binary.d.ts +87 -0
  707. package/sensor/dist/upgrade/remove-binary.d.ts.map +1 -0
  708. package/sensor/dist/upgrade/remove-binary.js +289 -0
  709. package/sensor/dist/upgrade/remove-binary.js.map +1 -0
  710. package/sensor/dist/upgrade/update-check.d.ts +92 -0
  711. package/sensor/dist/upgrade/update-check.d.ts.map +1 -0
  712. package/sensor/dist/upgrade/update-check.js +258 -0
  713. package/sensor/dist/upgrade/update-check.js.map +1 -0
  714. package/sensor/dist/utils.d.ts +224 -0
  715. package/sensor/dist/utils.d.ts.map +1 -0
  716. package/sensor/dist/utils.js +583 -0
  717. package/sensor/dist/utils.js.map +1 -0
  718. package/sensor/package.json +61 -0
  719. package/src/artifact-contracts-v2.mjs +325 -0
  720. package/src/artifact-contracts.mjs +895 -0
  721. package/src/bootstrap.mjs +88 -0
  722. package/src/boundary-compiler.mjs +712 -0
  723. package/src/boundary-observation-compiler-v2.mjs +339 -0
  724. package/src/codegraph-adapter.mjs +422 -0
  725. package/src/control-compiler.mjs +532 -0
  726. package/src/factory-diagnostics.mjs +187 -0
  727. package/src/isolation-runner.mjs +333 -0
  728. package/src/node-version-guard.mjs +43 -0
  729. package/src/rc1-black-box-oracle.mjs +906 -0
  730. package/src/rc1-comparison.mjs +154 -0
  731. package/src/rc1-evidence-bundle.mjs +456 -0
  732. package/src/rc1-v4-campaign.mjs +707 -0
  733. package/src/rc1-v4-transform.mjs +467 -0
  734. package/src/rc1-v5-artifact-set.mjs +855 -0
  735. package/src/rc1-v5-behavior-evidence.mjs +594 -0
  736. package/src/rc1-v5-campaign.mjs +796 -0
  737. package/src/rc1-v5-transform.mjs +421 -0
  738. package/src/rc1-v6-artifact-set.mjs +807 -0
  739. package/src/rc1-v6-behavior-evidence.mjs +273 -0
  740. package/src/rc1-v6-campaign.mjs +623 -0
  741. package/src/rc1-v6-causal-binding.mjs +471 -0
  742. package/src/rc1-v6-measurement.mjs +331 -0
  743. package/src/rc2-artifact-set.mjs +1579 -0
  744. package/src/rc2-campaign.mjs +1520 -0
  745. package/src/rc2-delivery-policy-front-end.mjs +1079 -0
  746. package/src/rc2-delivery-policy-oracle.mjs +134 -0
  747. package/src/rc2-delivery-policy-transform.mjs +1127 -0
  748. package/src/rc2-rc1-transfer-front-end.mjs +511 -0
  749. package/src/rc3-actual-dogfood.mjs +648 -0
  750. package/src/rc3-dogfood-scaffold.mjs +310 -0
  751. package/src/rc3-scripted-campaign.mjs +1301 -0
  752. package/src/rc4-stage1-dogfood.mjs +652 -0
  753. package/src/runtime-cli.mjs +504 -0
  754. package/src/runtime-contracts.mjs +631 -0
  755. package/src/runtime-decision-verifier.mjs +607 -0
  756. package/src/runtime-diff-observer.mjs +265 -0
  757. package/src/runtime-engine.mjs +674 -0
  758. package/src/runtime-errors.mjs +356 -0
  759. package/src/runtime-event-store.mjs +217 -0
  760. package/src/runtime-front-end.mjs +764 -0
  761. package/src/runtime-hold-recompile.mjs +606 -0
  762. package/src/runtime-projection.mjs +180 -0
  763. package/src/runtime-scripted-executor.mjs +163 -0
  764. package/src/runtime-worktree-executor.mjs +199 -0
  765. package/src/schedulability-compiler-v2.mjs +303 -0
  766. package/src/schedulability-verifier-v2.mjs +317 -0
  767. package/src/seam-transform.mjs +554 -0
  768. package/src/treatment-compiler.mjs +728 -0
  769. package/src/treatment-runner.mjs +658 -0
@@ -0,0 +1,623 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { createHash } from 'node:crypto';
3
+ import {
4
+ lstat,
5
+ mkdir,
6
+ mkdtemp,
7
+ readFile,
8
+ rename,
9
+ rm,
10
+ writeFile,
11
+ } from 'node:fs/promises';
12
+ import path from 'node:path';
13
+ import { performance } from 'node:perf_hooks';
14
+ import { isDeepStrictEqual } from 'node:util';
15
+
16
+ import {
17
+ canonicalizeArtifact,
18
+ digestArtifact,
19
+ validateTransformArtifact,
20
+ } from './artifact-contracts.mjs';
21
+ import { RC1_BOUNDARY_COMPILER_CONTRACT } from './boundary-compiler.mjs';
22
+ import { runIsolatedTransform } from './isolation-runner.mjs';
23
+ import {
24
+ createRc1V6OracleRuntimeIdentity,
25
+ runRc1V6BlackBoxOracle,
26
+ } from './rc1-black-box-oracle.mjs';
27
+ import {
28
+ buildRc1V6PlanDiff,
29
+ compileRc1V6Comparison,
30
+ evaluateRc1V6Hypothesis,
31
+ RC1_V6_ARTIFACT_PATHS,
32
+ RC1_V6_PHASE_DECISION_REF,
33
+ RC1_V6_REJECTED_PLAN_REF,
34
+ rc1V6ArtifactMediaType,
35
+ verifyRc1V6CampaignArtifactSet,
36
+ } from './rc1-v6-artifact-set.mjs';
37
+ import { compileRc1V6BehaviorEvidence } from './rc1-v6-behavior-evidence.mjs';
38
+ import { createRc1V6EvidenceBundleDescriptor } from './rc1-v6-causal-binding.mjs';
39
+ import { runRc1V5Campaign } from './rc1-v5-campaign.mjs';
40
+ import {
41
+ bindRc1V6EvidenceBundle,
42
+ captureRc1V6CodegraphExecutable,
43
+ compileRc1V6BoundaryCondition,
44
+ createRc1V6ConditionRun,
45
+ sourceSnapshotFromRc1BehaviorSurface,
46
+ sourceSnapshotFromRc1TransformOutput,
47
+ } from './rc1-v6-measurement.mjs';
48
+ import { RC1_V5_TRANSFORM_PATHS } from './rc1-v5-transform.mjs';
49
+
50
+ const ARTIFACT_ROOT = 'research/campaigns/rc1/artifacts/v6';
51
+ const GIT_SHA1 = /^[0-9a-f]{40}$/;
52
+ const INPUT_KEYS = Object.freeze([
53
+ 'planInput',
54
+ 'candidateSpec',
55
+ 'normalManualEvidence',
56
+ 'negativeManualEvidence',
57
+ 'querySet',
58
+ 'oracle',
59
+ ]);
60
+
61
+ function exactRecord(value, keys) {
62
+ if (value === null || typeof value !== 'object' || Array.isArray(value)
63
+ || Object.getPrototypeOf(value) !== Object.prototype) {
64
+ return false;
65
+ }
66
+ const actual = Object.keys(value).sort();
67
+ const expected = [...keys].sort();
68
+ return actual.length === expected.length
69
+ && actual.every((key, index) => key === expected[index]);
70
+ }
71
+
72
+ function sha256(bytes) {
73
+ return createHash('sha256').update(bytes).digest('hex');
74
+ }
75
+
76
+ function roundedMilliseconds(startedAt) {
77
+ return Math.round((performance.now() - startedAt) * 1_000) / 1_000;
78
+ }
79
+
80
+ function jsonBytes(value) {
81
+ return Buffer.from(`${JSON.stringify(value, null, 2)}\n`, 'utf8');
82
+ }
83
+
84
+ function run(command, args, { cwd, input } = {}) {
85
+ return new Promise((resolve, reject) => {
86
+ const child = spawn(command, args, {
87
+ cwd,
88
+ shell: false,
89
+ stdio: ['pipe', 'pipe', 'pipe'],
90
+ env: { ...process.env, NO_COLOR: '1' },
91
+ });
92
+ const stdout = [];
93
+ const stderr = [];
94
+ child.stdout.on('data', (chunk) => stdout.push(chunk));
95
+ child.stderr.on('data', (chunk) => stderr.push(chunk));
96
+ child.once('error', reject);
97
+ child.once('close', (code, signal) => {
98
+ const result = {
99
+ code,
100
+ signal,
101
+ stdout: Buffer.concat(stdout),
102
+ stderr: Buffer.concat(stderr),
103
+ };
104
+ if (code === 0 && signal === null) resolve(result);
105
+ else reject(Object.assign(
106
+ new Error(`${command} failed (${signal ?? code}): ${result.stderr.toString('utf8').trim()}`),
107
+ result,
108
+ ));
109
+ });
110
+ child.stdin.end(input);
111
+ });
112
+ }
113
+
114
+ function assertInputs(inputs) {
115
+ if (!exactRecord(inputs, INPUT_KEYS)) {
116
+ throw new TypeError('RC1 v6 campaign inputs must have the fixed exact shape');
117
+ }
118
+ for (const value of Object.values(inputs)) canonicalizeArtifact(value);
119
+ }
120
+
121
+ function legacySnapshotDigest(snapshot) {
122
+ return digestArtifact({
123
+ schema: 'lattice.rc1.fixed_surface_snapshot.v5',
124
+ files: snapshot.files.map((file) => ({
125
+ path: file.path,
126
+ state: file.state === 'file' ? 'file' : 'missing',
127
+ content_digest: file.content_digest,
128
+ })),
129
+ });
130
+ }
131
+
132
+ function compileCondition({ inputs, bundles, runs, expected, condition }) {
133
+ const outputs = bundles.map((bundle, index) => {
134
+ const common = {
135
+ planInput: inputs.planInput,
136
+ candidateSpec: inputs.candidateSpec,
137
+ querySet: inputs.querySet,
138
+ run: runs[index],
139
+ bundle,
140
+ expected,
141
+ };
142
+ return {
143
+ normal: compileRc1V6BoundaryCondition({
144
+ ...common,
145
+ manualEvidence: inputs.normalManualEvidence,
146
+ planVersion: `rc1-v6-${condition}`,
147
+ }),
148
+ negative: compileRc1V6BoundaryCondition({
149
+ ...common,
150
+ manualEvidence: inputs.negativeManualEvidence,
151
+ planVersion: `rc1-v6-${condition}-negative`,
152
+ }),
153
+ };
154
+ });
155
+ if (outputs.length !== 2 || digestArtifact(outputs[0]) !== digestArtifact(outputs[1])) {
156
+ throw new TypeError(`RC1 v6 ${condition} compilation is not reproducible`);
157
+ }
158
+ return outputs[0];
159
+ }
160
+
161
+ function updatedTransformArtifact(v5Artifact, control, controlSnapshot, querySet) {
162
+ const artifact = structuredClone(v5Artifact);
163
+ artifact.source = {
164
+ base_sha: v5Artifact.source.base_sha,
165
+ boundary_manifest_digest: control.normal.boundary_manifest_digest,
166
+ boundary_verdict_digest: control.normal.boundary_verdict_digest,
167
+ control_plan_digest: control.normal.plan_graph_digest,
168
+ query_set_digest: digestArtifact(querySet),
169
+ code_snapshot_digest: digestArtifact(controlSnapshot),
170
+ };
171
+ if (!validateTransformArtifact(artifact) || artifact.status !== 'accepted') {
172
+ throw new TypeError('RC1 v6 updated transform artifact is invalid');
173
+ }
174
+ return artifact;
175
+ }
176
+
177
+ async function applyPatch(worktreePath, patch) {
178
+ await run('git', ['apply', '--check', '--binary', '-'], { cwd: worktreePath, input: patch });
179
+ await run('git', ['apply', '--binary', '-'], { cwd: worktreePath, input: patch });
180
+ }
181
+
182
+ async function bindV6Behavior({
183
+ repoRoot,
184
+ baseSha,
185
+ oracle,
186
+ runtimeIdentity,
187
+ artifact,
188
+ patch,
189
+ }) {
190
+ const surfacePaths = [...artifact.scope.allowed_paths];
191
+ const preReceipt = await runRc1V6BlackBoxOracle({
192
+ repoRoot,
193
+ oracle,
194
+ role: 'pre_transform',
195
+ baseSha,
196
+ surfacePaths,
197
+ runtimeIdentity,
198
+ });
199
+ let postReceipt;
200
+ const isolated = await runIsolatedTransform({
201
+ repoRoot,
202
+ baseRef: baseSha,
203
+ allowedPaths: surfacePaths,
204
+ transform: async ({ worktreePath }) => {
205
+ await applyPatch(worktreePath, patch);
206
+ postReceipt = await runRc1V6BlackBoxOracle({
207
+ repoRoot: worktreePath,
208
+ oracle,
209
+ role: 'post_transform',
210
+ baseSha,
211
+ surfacePaths,
212
+ runtimeIdentity,
213
+ });
214
+ },
215
+ verifyCommands: [],
216
+ });
217
+ if (!Buffer.isBuffer(isolated.patch)
218
+ || !isolated.patch.equals(patch)
219
+ || isolated.sourceInvariant?.outcome !== 'passed'
220
+ || postReceipt?.outcome !== 'passed') {
221
+ throw new TypeError('RC1 v6 behavior observation did not preserve accepted patch identity');
222
+ }
223
+ const patchDigest = sha256(patch);
224
+ const envelope = compileRc1V6BehaviorEvidence({
225
+ oracle,
226
+ runtimeIdentity,
227
+ preReceipt,
228
+ postReceipt,
229
+ transformArtifact: artifact,
230
+ patchDigest,
231
+ });
232
+ return {
233
+ pre_receipt: preReceipt,
234
+ post_receipt: postReceipt,
235
+ envelope,
236
+ transform_artifact: artifact,
237
+ patch_digest: patchDigest,
238
+ source_invariant: isolated.sourceInvariant,
239
+ };
240
+ }
241
+
242
+ function v6Transform(v5Transform, artifact, behaviorEvidence, runtimeIdentity) {
243
+ const artifactDigest = digestArtifact(artifact);
244
+ const preimage = {
245
+ schema: 'lattice.rc1.seam_transform_receipt.v6',
246
+ status: 'accepted',
247
+ transform_artifact_digest: artifactDigest,
248
+ behavior_envelope_digest: behaviorEvidence.envelope.envelope_digest,
249
+ fixed_inputs_digest: digestArtifact(artifact.source),
250
+ runtime_identity_digest: digestArtifact(runtimeIdentity),
251
+ source_invariant: behaviorEvidence.source_invariant,
252
+ };
253
+ const receipt = { ...preimage, receipt_digest: digestArtifact(preimage) };
254
+ return {
255
+ artifact,
256
+ artifact_digest: artifactDigest,
257
+ receipt,
258
+ receipt_digest: receipt.receipt_digest,
259
+ patch: Buffer.from(v5Transform.patch),
260
+ behavior_evidence: {
261
+ pre_receipt: behaviorEvidence.pre_receipt,
262
+ post_receipt: behaviorEvidence.post_receipt,
263
+ envelope: behaviorEvidence.envelope,
264
+ transform_artifact: artifact,
265
+ patch_digest: behaviorEvidence.patch_digest,
266
+ },
267
+ };
268
+ }
269
+
270
+ function conditionRunRecords(v5Runs, runs) {
271
+ return v5Runs.map((record, index) => ({
272
+ run: runs[index],
273
+ patch_digest: record.patch_digest,
274
+ index_elapsed_ms: record.index_elapsed_ms,
275
+ query_elapsed_ms: record.query_elapsed_ms,
276
+ source_invariant: record.source_invariant,
277
+ source_invariant_digest: record.source_invariant_digest,
278
+ }));
279
+ }
280
+
281
+ /** v5のfresh機構を観測器として再利用し、全結果をv6 causal chainへ再compileする。 */
282
+ export async function runRc1V6Campaign(options = {}) {
283
+ if (!exactRecord(options, ['repoRoot', 'baseRef', 'inputs'])) {
284
+ throw new TypeError('RC1 v6 campaign options must have the fixed exact shape');
285
+ }
286
+ const { repoRoot, baseRef, inputs } = options;
287
+ if (typeof repoRoot !== 'string' || repoRoot.length === 0
288
+ || typeof baseRef !== 'string' || baseRef.length === 0) {
289
+ throw new TypeError('RC1 v6 campaign repoRoot and baseRef are required');
290
+ }
291
+ assertInputs(inputs);
292
+ const fixedInputs = structuredClone(inputs);
293
+ const baseSha = (await run('git', ['rev-parse', '--verify', `${baseRef}^{commit}`], { cwd: repoRoot }))
294
+ .stdout.toString('utf8').trim();
295
+ if (!GIT_SHA1.test(baseSha)) throw new TypeError('RC1 v6 campaign base SHA is invalid');
296
+ const startedAt = performance.now();
297
+ const [codegraphCapture, compilerSourceBytes, oracleExecutorBytes] = await Promise.all([
298
+ captureRc1V6CodegraphExecutable(),
299
+ readFile(new URL('./boundary-compiler.mjs', import.meta.url)),
300
+ readFile(new URL('./rc1-black-box-oracle.mjs', import.meta.url)),
301
+ ]);
302
+ const codegraphIdentity = codegraphCapture.identity;
303
+ const runtimeIdentity = await createRc1V6OracleRuntimeIdentity();
304
+ if (runtimeIdentity.executor_source_digest !== sha256(oracleExecutorBytes)) {
305
+ throw new TypeError('RC1 v6 oracle runtime identityが保存executor bytesと一致しない');
306
+ }
307
+ const v5 = await runRc1V5Campaign({ repoRoot, baseRef: baseSha, inputs: fixedInputs });
308
+ const [finalCodegraphCapture, finalCompilerSourceBytes, finalOracleExecutorBytes] =
309
+ await Promise.all([
310
+ captureRc1V6CodegraphExecutable(),
311
+ readFile(new URL('./boundary-compiler.mjs', import.meta.url)),
312
+ readFile(new URL('./rc1-black-box-oracle.mjs', import.meta.url)),
313
+ ]);
314
+ if (!isDeepStrictEqual(codegraphCapture, finalCodegraphCapture)
315
+ || !compilerSourceBytes.equals(finalCompilerSourceBytes)
316
+ || !oracleExecutorBytes.equals(finalOracleExecutorBytes)) {
317
+ throw new TypeError('RC1 v6実行主体のidentityがcampaign中にdriftした');
318
+ }
319
+
320
+ const controlSnapshot = sourceSnapshotFromRc1BehaviorSurface(
321
+ v5.transform.behavior_evidence.pre_receipt.surface,
322
+ );
323
+ const treatmentSnapshot = sourceSnapshotFromRc1TransformOutput(v5.transform.artifact);
324
+ const postSnapshot = sourceSnapshotFromRc1BehaviorSurface(
325
+ v5.transform.behavior_evidence.post_receipt.surface,
326
+ );
327
+ if (!isDeepStrictEqual(treatmentSnapshot, postSnapshot)) {
328
+ throw new TypeError('RC1 v6 treatment snapshot does not equal accepted transform output');
329
+ }
330
+ for (const record of v5.condition_runs.control) {
331
+ if (record.code_snapshot_digest !== legacySnapshotDigest(controlSnapshot)) {
332
+ throw new TypeError(`${record.run_id} hidden v5 snapshot does not match typed control preimage`);
333
+ }
334
+ }
335
+ for (const record of v5.condition_runs.treatment) {
336
+ if (record.code_snapshot_digest !== legacySnapshotDigest(treatmentSnapshot)) {
337
+ throw new TypeError(`${record.run_id} hidden v5 snapshot does not match typed treatment preimage`);
338
+ }
339
+ }
340
+
341
+ const evidenceBundles = v5.evidence_bundles.map((bundle) => bindRc1V6EvidenceBundle({
342
+ bundle,
343
+ base_sha: baseSha,
344
+ patch_digest: bundle.condition === 'treatment' ? v5.transform.artifact.patch.digest : null,
345
+ snapshot: bundle.condition === 'treatment' ? treatmentSnapshot : controlSnapshot,
346
+ codegraph_identity: codegraphIdentity,
347
+ query_set_digest: digestArtifact(fixedInputs.querySet),
348
+ }));
349
+ const runs = evidenceBundles.map(createRc1V6ConditionRun);
350
+ const controlBundles = evidenceBundles.filter(({ condition }) => condition === 'control');
351
+ const treatmentBundles = evidenceBundles.filter(({ condition }) => condition === 'treatment');
352
+ const controlRuns = runs.filter(({ condition }) => condition === 'control');
353
+ const treatmentRuns = runs.filter(({ condition }) => condition === 'treatment');
354
+ const controlExpected = {
355
+ base_sha: baseSha,
356
+ patch_digest: null,
357
+ snapshot: controlSnapshot,
358
+ codegraph_identity: codegraphIdentity,
359
+ query_set_digest: digestArtifact(fixedInputs.querySet),
360
+ };
361
+ const treatmentExpected = {
362
+ base_sha: baseSha,
363
+ patch_digest: v5.transform.artifact.patch.digest,
364
+ snapshot: treatmentSnapshot,
365
+ codegraph_identity: codegraphIdentity,
366
+ query_set_digest: digestArtifact(fixedInputs.querySet),
367
+ };
368
+ const control = compileCondition({
369
+ inputs: fixedInputs,
370
+ bundles: controlBundles,
371
+ runs: controlRuns,
372
+ expected: controlExpected,
373
+ condition: 'control',
374
+ });
375
+ const treatment = compileCondition({
376
+ inputs: fixedInputs,
377
+ bundles: treatmentBundles,
378
+ runs: treatmentRuns,
379
+ expected: treatmentExpected,
380
+ condition: 'treatment',
381
+ });
382
+
383
+ const artifact = updatedTransformArtifact(
384
+ v5.transform.artifact,
385
+ control,
386
+ controlSnapshot,
387
+ fixedInputs.querySet,
388
+ );
389
+ const behaviorEvidence = await bindV6Behavior({
390
+ repoRoot,
391
+ baseSha,
392
+ oracle: fixedInputs.oracle,
393
+ runtimeIdentity,
394
+ artifact,
395
+ patch: v5.transform.patch,
396
+ });
397
+ const transform = v6Transform(v5.transform, artifact, behaviorEvidence, runtimeIdentity);
398
+ const rejectedPlanBytes = await readFile(path.join(repoRoot, RC1_V6_REJECTED_PLAN_REF));
399
+ const phaseDecisionBytes = await readFile(path.join(repoRoot, RC1_V6_PHASE_DECISION_REF));
400
+ const planDiff = buildRc1V6PlanDiff({
401
+ control,
402
+ treatment,
403
+ transform,
404
+ evidenceBundles,
405
+ rejectedPlanBytes,
406
+ phaseDecisionBytes,
407
+ });
408
+ const sourceInvariant = {
409
+ control: v5.condition_runs.control.every(({ source_invariant: receipt }) => (
410
+ receipt.outcome === 'passed'
411
+ )),
412
+ treatment: behaviorEvidence.source_invariant.outcome === 'passed'
413
+ && v5.condition_runs.treatment.every(({ source_invariant: receipt }) => (
414
+ receipt.outcome === 'passed'
415
+ )),
416
+ };
417
+ const compilerSourceDigest = sha256(compilerSourceBytes);
418
+ const comparison = compileRc1V6Comparison({
419
+ baseSha,
420
+ inputs: fixedInputs,
421
+ runtimeIdentity,
422
+ codegraphIdentity,
423
+ compilerSourceDigest,
424
+ control,
425
+ treatment,
426
+ evidenceBundles,
427
+ transform,
428
+ planDiff,
429
+ sourceInvariant,
430
+ });
431
+ const hypothesisEvaluation = evaluateRc1V6Hypothesis(comparison);
432
+ if (!hypothesisEvaluation.supported) {
433
+ throw new TypeError(
434
+ `RC1 v6 hypothesis is not supported: ${hypothesisEvaluation.failed_conditions.join(', ')}`,
435
+ );
436
+ }
437
+ const conditionRuns = {
438
+ control: conditionRunRecords(v5.condition_runs.control, controlRuns),
439
+ treatment: conditionRunRecords(v5.condition_runs.treatment, treatmentRuns),
440
+ };
441
+ const executionEvidence = {
442
+ schema: 'lattice.rc1.corrected_campaign_execution_evidence.v6',
443
+ base_sha: baseSha,
444
+ elapsed_ms: roundedMilliseconds(startedAt),
445
+ compiler_source_digest: compilerSourceDigest,
446
+ codegraph_identity_digest: digestArtifact(codegraphIdentity),
447
+ runtime_identity_digest: digestArtifact(runtimeIdentity),
448
+ run_descriptor_digests: runs.map(({ evidence_bundle_descriptor_digest: digest }) => digest),
449
+ transform_artifact_digest: transform.artifact_digest,
450
+ behavior_envelope_digest: transform.behavior_evidence.envelope.envelope_digest,
451
+ plan_diff_digest: digestArtifact(planDiff),
452
+ comparison_digest: digestArtifact(comparison),
453
+ hypothesis_evaluation_digest: digestArtifact(hypothesisEvaluation),
454
+ source_invariant: sourceInvariant,
455
+ };
456
+ return {
457
+ schema: 'lattice.rc1.corrected_campaign_result.v6',
458
+ base_sha: baseSha,
459
+ inputs: fixedInputs,
460
+ runtime_identity: runtimeIdentity,
461
+ codegraph_identity: codegraphIdentity,
462
+ identity_sources: {
463
+ compiler: compilerSourceBytes,
464
+ oracle_executor: oracleExecutorBytes,
465
+ codegraph_executable: codegraphCapture.executable_bytes,
466
+ },
467
+ evidence_bundles: evidenceBundles,
468
+ runs,
469
+ condition_runs: conditionRuns,
470
+ control,
471
+ treatment,
472
+ transform,
473
+ plan_diff: planDiff,
474
+ comparison,
475
+ hypothesis_evaluation: hypothesisEvaluation,
476
+ execution_evidence: executionEvidence,
477
+ };
478
+ }
479
+
480
+ function artifactFiles(result, rejectedPlanBytes, phaseDecisionBytes) {
481
+ const files = new Map();
482
+ for (const [key, relativePath] of [
483
+ ['planInput', 'inputs/plan-input.json'],
484
+ ['candidateSpec', 'inputs/candidate-spec-v2.json'],
485
+ ['normalManualEvidence', 'inputs/manual-evidence.normal.json'],
486
+ ['negativeManualEvidence', 'inputs/manual-evidence.shared-state-negative.json'],
487
+ ['querySet', 'inputs/query-set-v2.json'],
488
+ ['oracle', 'inputs/behavior-oracle-v2.json'],
489
+ ]) {
490
+ files.set(relativePath, jsonBytes(result.inputs[key]));
491
+ }
492
+ files.set('inputs/oracle-runtime-identity.json', jsonBytes(result.runtime_identity));
493
+ files.set('inputs/codegraph-identity.json', jsonBytes(result.codegraph_identity));
494
+ files.set('identity/boundary-compiler.mjs', Buffer.from(result.identity_sources.compiler));
495
+ files.set('identity/black-box-oracle.mjs', Buffer.from(result.identity_sources.oracle_executor));
496
+ files.set('identity/codegraph-executable', Buffer.from(result.identity_sources.codegraph_executable));
497
+ for (const bundle of result.evidence_bundles) {
498
+ files.set(`evidence/${bundle.run_id}.json`, jsonBytes(bundle));
499
+ }
500
+ for (const runValue of result.runs) {
501
+ files.set(`runs/${runValue.run_id}.json`, jsonBytes(runValue));
502
+ }
503
+ for (const [conditionName, condition] of [
504
+ ['control', result.control],
505
+ ['treatment', result.treatment],
506
+ ]) {
507
+ for (const [variantName, compiled] of [
508
+ ['normal', condition.normal],
509
+ ['negative', condition.negative],
510
+ ]) {
511
+ const root = `compiled/${conditionName}-${variantName}`;
512
+ files.set(`${root}/boundary-manifest.json`, jsonBytes(compiled.boundary_manifest));
513
+ files.set(`${root}/boundary-verdict.json`, jsonBytes(compiled.boundary_verdict));
514
+ files.set(`${root}/plan.json`, jsonBytes(compiled.plan_graph));
515
+ }
516
+ }
517
+ files.set('behavior/pre-receipt.json', jsonBytes(result.transform.behavior_evidence.pre_receipt));
518
+ files.set('behavior/post-receipt.json', jsonBytes(result.transform.behavior_evidence.post_receipt));
519
+ files.set('behavior/evidence-envelope.json', jsonBytes(result.transform.behavior_evidence.envelope));
520
+ files.set('transform/transform-artifact.json', jsonBytes(result.transform.artifact));
521
+ files.set('transform/transform-receipt.json', jsonBytes(result.transform.receipt));
522
+ files.set('transform/seam.patch', Buffer.from(result.transform.patch));
523
+ files.set('plan-diff.json', jsonBytes(result.plan_diff));
524
+ files.set('comparison.json', jsonBytes(result.comparison));
525
+ files.set('hypothesis-evaluation.json', jsonBytes(result.hypothesis_evaluation));
526
+ files.set('execution-evidence.json', jsonBytes(result.execution_evidence));
527
+ files.set(`predecessor/${RC1_V6_REJECTED_PLAN_REF}`, Buffer.from(rejectedPlanBytes));
528
+ files.set(`predecessor/${RC1_V6_PHASE_DECISION_REF}`, Buffer.from(phaseDecisionBytes));
529
+ return files;
530
+ }
531
+
532
+ /** RC1 v6 causal artifactを既存treeへ上書きせずatomicに保存する。 */
533
+ export async function writeRc1V6Artifacts(options = {}) {
534
+ if (!exactRecord(options, ['repoRoot', 'result'])
535
+ || typeof options.repoRoot !== 'string'
536
+ || options.repoRoot.length === 0
537
+ || options.result?.schema !== 'lattice.rc1.corrected_campaign_result.v6') {
538
+ throw new TypeError('RC1 v6 artifact writer options are invalid');
539
+ }
540
+ const { repoRoot, result } = options;
541
+ const artifactRoot = path.join(repoRoot, ARTIFACT_ROOT);
542
+ try {
543
+ await lstat(artifactRoot);
544
+ throw new Error('RC1 v6 artifact root already exists; immutable evidence is not overwritten');
545
+ } catch (error) {
546
+ if (error?.code !== 'ENOENT') throw error;
547
+ }
548
+ const rejectedPlanBytes = await readFile(path.join(repoRoot, RC1_V6_REJECTED_PLAN_REF));
549
+ const phaseDecisionBytes = await readFile(path.join(repoRoot, RC1_V6_PHASE_DECISION_REF));
550
+ const files = artifactFiles(result, rejectedPlanBytes, phaseDecisionBytes);
551
+ const manifest = {
552
+ schema: 'lattice.rc1.artifact_manifest.v6',
553
+ base_sha: result.base_sha,
554
+ result_digest: digestArtifact(result.hypothesis_evaluation),
555
+ files: [...files].map(([relativePath, bytes]) => ({
556
+ path: relativePath,
557
+ media_type: rc1V6ArtifactMediaType(relativePath),
558
+ bytes: bytes.byteLength,
559
+ sha256: sha256(bytes),
560
+ })).sort((left, right) => left.path.localeCompare(right.path)),
561
+ };
562
+ const verification = verifyRc1V6CampaignArtifactSet({
563
+ manifest,
564
+ payloads: [...files].map(([relativePath, bytes]) => ({ path: relativePath, bytes })),
565
+ });
566
+ if (!verification.valid) {
567
+ throw new TypeError(
568
+ `RC1 v6 campaign artifact set is invalid: ${verification.failed_conditions.join(', ')}`,
569
+ );
570
+ }
571
+
572
+ const parent = path.dirname(artifactRoot);
573
+ await mkdir(parent, { recursive: true });
574
+ const temporaryRoot = await mkdtemp(path.join(parent, '.v6-write-'));
575
+ try {
576
+ for (const [relativePath, bytes] of files) {
577
+ const target = path.join(temporaryRoot, relativePath);
578
+ await mkdir(path.dirname(target), { recursive: true });
579
+ await writeFile(target, bytes);
580
+ }
581
+ await writeFile(path.join(temporaryRoot, 'artifact-manifest.json'), jsonBytes(manifest));
582
+ await rename(temporaryRoot, artifactRoot);
583
+ } catch (error) {
584
+ await rm(temporaryRoot, { recursive: true, force: true });
585
+ throw error;
586
+ }
587
+ return manifest;
588
+ }
589
+
590
+ /** immutable directoryをexact path setで再読込し、pure verifierへ渡す。 */
591
+ export async function verifyRc1V6ArtifactsOnDisk(options = {}) {
592
+ if (!exactRecord(options, ['repoRoot'])
593
+ || typeof options.repoRoot !== 'string'
594
+ || options.repoRoot.length === 0) {
595
+ throw new TypeError('RC1 v6 disk verifier options are invalid');
596
+ }
597
+ const artifactRoot = path.join(options.repoRoot, ARTIFACT_ROOT);
598
+ const manifestBytes = await readFile(path.join(artifactRoot, 'artifact-manifest.json'));
599
+ let manifest;
600
+ try {
601
+ manifest = JSON.parse(manifestBytes.toString('utf8'));
602
+ } catch {
603
+ return {
604
+ schema: 'lattice.rc1.artifact_set_verification.v6',
605
+ valid: false,
606
+ checks: [{ id: 'manifest_canonical', passed: false }],
607
+ failed_conditions: ['manifest_canonical'],
608
+ };
609
+ }
610
+ if (!jsonBytes(manifest).equals(manifestBytes)) {
611
+ return {
612
+ schema: 'lattice.rc1.artifact_set_verification.v6',
613
+ valid: false,
614
+ checks: [{ id: 'manifest_canonical', passed: false }],
615
+ failed_conditions: ['manifest_canonical'],
616
+ };
617
+ }
618
+ const payloads = await Promise.all(RC1_V6_ARTIFACT_PATHS.map(async (relativePath) => ({
619
+ path: relativePath,
620
+ bytes: await readFile(path.join(artifactRoot, relativePath)),
621
+ })));
622
+ return verifyRc1V6CampaignArtifactSet({ manifest, payloads });
623
+ }