@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.
- package/LICENSE +25 -0
- package/README.md +20 -0
- package/bin/lattice-mcp.mjs +134 -0
- package/bin/lattice.mjs +78 -0
- package/package.json +47 -0
- package/sensor/LICENSE +21 -0
- package/sensor/NOTICE +30 -0
- package/sensor/dist/bin/codegraph.d.ts +26 -0
- package/sensor/dist/bin/codegraph.d.ts.map +1 -0
- package/sensor/dist/bin/codegraph.js +2279 -0
- package/sensor/dist/bin/codegraph.js.map +1 -0
- package/sensor/dist/bin/command-supervision.d.ts +49 -0
- package/sensor/dist/bin/command-supervision.d.ts.map +1 -0
- package/sensor/dist/bin/command-supervision.js +95 -0
- package/sensor/dist/bin/command-supervision.js.map +1 -0
- package/sensor/dist/bin/fatal-handler.d.ts +20 -0
- package/sensor/dist/bin/fatal-handler.d.ts.map +1 -0
- package/sensor/dist/bin/fatal-handler.js +118 -0
- package/sensor/dist/bin/fatal-handler.js.map +1 -0
- package/sensor/dist/bin/node-version-check.d.ts +37 -0
- package/sensor/dist/bin/node-version-check.d.ts.map +1 -0
- package/sensor/dist/bin/node-version-check.js +79 -0
- package/sensor/dist/bin/node-version-check.js.map +1 -0
- package/sensor/dist/bin/uninstall.d.ts +14 -0
- package/sensor/dist/bin/uninstall.d.ts.map +1 -0
- package/sensor/dist/bin/uninstall.js +36 -0
- package/sensor/dist/bin/uninstall.js.map +1 -0
- package/sensor/dist/context/formatter.d.ts +30 -0
- package/sensor/dist/context/formatter.d.ts.map +1 -0
- package/sensor/dist/context/formatter.js +263 -0
- package/sensor/dist/context/formatter.js.map +1 -0
- package/sensor/dist/context/index.d.ts +119 -0
- package/sensor/dist/context/index.d.ts.map +1 -0
- package/sensor/dist/context/index.js +1326 -0
- package/sensor/dist/context/index.js.map +1 -0
- package/sensor/dist/context/markers.d.ts +19 -0
- package/sensor/dist/context/markers.d.ts.map +1 -0
- package/sensor/dist/context/markers.js +22 -0
- package/sensor/dist/context/markers.js.map +1 -0
- package/sensor/dist/db/index.d.ts +264 -0
- package/sensor/dist/db/index.d.ts.map +1 -0
- package/sensor/dist/db/index.js +603 -0
- package/sensor/dist/db/index.js.map +1 -0
- package/sensor/dist/db/migrations.d.ts +44 -0
- package/sensor/dist/db/migrations.d.ts.map +1 -0
- package/sensor/dist/db/migrations.js +241 -0
- package/sensor/dist/db/migrations.js.map +1 -0
- package/sensor/dist/db/queries.d.ts +563 -0
- package/sensor/dist/db/queries.d.ts.map +1 -0
- package/sensor/dist/db/queries.js +2179 -0
- package/sensor/dist/db/queries.js.map +1 -0
- package/sensor/dist/db/schema.sql +196 -0
- package/sensor/dist/db/sqlite-adapter.d.ts +55 -0
- package/sensor/dist/db/sqlite-adapter.d.ts.map +1 -0
- package/sensor/dist/db/sqlite-adapter.js +135 -0
- package/sensor/dist/db/sqlite-adapter.js.map +1 -0
- package/sensor/dist/db/wal-valve.d.ts +106 -0
- package/sensor/dist/db/wal-valve.d.ts.map +1 -0
- package/sensor/dist/db/wal-valve.js +208 -0
- package/sensor/dist/db/wal-valve.js.map +1 -0
- package/sensor/dist/directory.d.ts +183 -0
- package/sensor/dist/directory.d.ts.map +1 -0
- package/sensor/dist/directory.js +797 -0
- package/sensor/dist/directory.js.map +1 -0
- package/sensor/dist/errors.d.ts +136 -0
- package/sensor/dist/errors.d.ts.map +1 -0
- package/sensor/dist/errors.js +219 -0
- package/sensor/dist/errors.js.map +1 -0
- package/sensor/dist/extraction/astro-extractor.d.ts +79 -0
- package/sensor/dist/extraction/astro-extractor.d.ts.map +1 -0
- package/sensor/dist/extraction/astro-extractor.js +320 -0
- package/sensor/dist/extraction/astro-extractor.js.map +1 -0
- package/sensor/dist/extraction/cfml-extractor.d.ts +107 -0
- package/sensor/dist/extraction/cfml-extractor.d.ts.map +1 -0
- package/sensor/dist/extraction/cfml-extractor.js +494 -0
- package/sensor/dist/extraction/cfml-extractor.js.map +1 -0
- package/sensor/dist/extraction/dfm-extractor.d.ts +31 -0
- package/sensor/dist/extraction/dfm-extractor.d.ts.map +1 -0
- package/sensor/dist/extraction/dfm-extractor.js +151 -0
- package/sensor/dist/extraction/dfm-extractor.js.map +1 -0
- package/sensor/dist/extraction/dynamic-import.d.ts +82 -0
- package/sensor/dist/extraction/dynamic-import.d.ts.map +1 -0
- package/sensor/dist/extraction/dynamic-import.js +313 -0
- package/sensor/dist/extraction/dynamic-import.js.map +1 -0
- package/sensor/dist/extraction/extraction-version.d.ts +25 -0
- package/sensor/dist/extraction/extraction-version.d.ts.map +1 -0
- package/sensor/dist/extraction/extraction-version.js +28 -0
- package/sensor/dist/extraction/extraction-version.js.map +1 -0
- package/sensor/dist/extraction/function-ref.d.ts +118 -0
- package/sensor/dist/extraction/function-ref.d.ts.map +1 -0
- package/sensor/dist/extraction/function-ref.js +727 -0
- package/sensor/dist/extraction/function-ref.js.map +1 -0
- package/sensor/dist/extraction/generated-detection.d.ts +30 -0
- package/sensor/dist/extraction/generated-detection.d.ts.map +1 -0
- package/sensor/dist/extraction/generated-detection.js +83 -0
- package/sensor/dist/extraction/generated-detection.js.map +1 -0
- package/sensor/dist/extraction/grammars.d.ts +138 -0
- package/sensor/dist/extraction/grammars.d.ts.map +1 -0
- package/sensor/dist/extraction/grammars.js +648 -0
- package/sensor/dist/extraction/grammars.js.map +1 -0
- package/sensor/dist/extraction/index.d.ts +251 -0
- package/sensor/dist/extraction/index.d.ts.map +1 -0
- package/sensor/dist/extraction/index.js +2563 -0
- package/sensor/dist/extraction/index.js.map +1 -0
- package/sensor/dist/extraction/kernel/decode.d.ts +9 -0
- package/sensor/dist/extraction/kernel/decode.d.ts.map +1 -0
- package/sensor/dist/extraction/kernel/decode.js +156 -0
- package/sensor/dist/extraction/kernel/decode.js.map +1 -0
- package/sensor/dist/extraction/kernel/index.d.ts +62 -0
- package/sensor/dist/extraction/kernel/index.d.ts.map +1 -0
- package/sensor/dist/extraction/kernel/index.js +165 -0
- package/sensor/dist/extraction/kernel/index.js.map +1 -0
- package/sensor/dist/extraction/kernel/layout.d.ts +92 -0
- package/sensor/dist/extraction/kernel/layout.d.ts.map +1 -0
- package/sensor/dist/extraction/kernel/layout.js +95 -0
- package/sensor/dist/extraction/kernel/layout.js.map +1 -0
- package/sensor/dist/extraction/kernel/loader.d.ts +61 -0
- package/sensor/dist/extraction/kernel/loader.d.ts.map +1 -0
- package/sensor/dist/extraction/kernel/loader.js +146 -0
- package/sensor/dist/extraction/kernel/loader.js.map +1 -0
- package/sensor/dist/extraction/languages/arkts.d.ts +3 -0
- package/sensor/dist/extraction/languages/arkts.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/arkts.js +127 -0
- package/sensor/dist/extraction/languages/arkts.js.map +1 -0
- package/sensor/dist/extraction/languages/c-cpp.d.ts +111 -0
- package/sensor/dist/extraction/languages/c-cpp.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/c-cpp.js +878 -0
- package/sensor/dist/extraction/languages/c-cpp.js.map +1 -0
- package/sensor/dist/extraction/languages/cfquery.d.ts +12 -0
- package/sensor/dist/extraction/languages/cfquery.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/cfquery.js +28 -0
- package/sensor/dist/extraction/languages/cfquery.js.map +1 -0
- package/sensor/dist/extraction/languages/cfscript.d.ts +3 -0
- package/sensor/dist/extraction/languages/cfscript.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/cfscript.js +73 -0
- package/sensor/dist/extraction/languages/cfscript.js.map +1 -0
- package/sensor/dist/extraction/languages/cobol.d.ts +33 -0
- package/sensor/dist/extraction/languages/cobol.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/cobol.js +499 -0
- package/sensor/dist/extraction/languages/cobol.js.map +1 -0
- package/sensor/dist/extraction/languages/csharp.d.ts +25 -0
- package/sensor/dist/extraction/languages/csharp.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/csharp.js +175 -0
- package/sensor/dist/extraction/languages/csharp.js.map +1 -0
- package/sensor/dist/extraction/languages/dart.d.ts +3 -0
- package/sensor/dist/extraction/languages/dart.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/dart.js +374 -0
- package/sensor/dist/extraction/languages/dart.js.map +1 -0
- package/sensor/dist/extraction/languages/erlang.d.ts +3 -0
- package/sensor/dist/extraction/languages/erlang.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/erlang.js +350 -0
- package/sensor/dist/extraction/languages/erlang.js.map +1 -0
- package/sensor/dist/extraction/languages/go.d.ts +3 -0
- package/sensor/dist/extraction/languages/go.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/go.js +111 -0
- package/sensor/dist/extraction/languages/go.js.map +1 -0
- package/sensor/dist/extraction/languages/index.d.ts +10 -0
- package/sensor/dist/extraction/languages/index.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/index.js +71 -0
- package/sensor/dist/extraction/languages/index.js.map +1 -0
- package/sensor/dist/extraction/languages/java.d.ts +3 -0
- package/sensor/dist/extraction/languages/java.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/java.js +315 -0
- package/sensor/dist/extraction/languages/java.js.map +1 -0
- package/sensor/dist/extraction/languages/javascript.d.ts +3 -0
- package/sensor/dist/extraction/languages/javascript.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/javascript.js +106 -0
- package/sensor/dist/extraction/languages/javascript.js.map +1 -0
- package/sensor/dist/extraction/languages/kotlin.d.ts +3 -0
- package/sensor/dist/extraction/languages/kotlin.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/kotlin.js +379 -0
- package/sensor/dist/extraction/languages/kotlin.js.map +1 -0
- package/sensor/dist/extraction/languages/lua.d.ts +3 -0
- package/sensor/dist/extraction/languages/lua.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/lua.js +150 -0
- package/sensor/dist/extraction/languages/lua.js.map +1 -0
- package/sensor/dist/extraction/languages/luau.d.ts +3 -0
- package/sensor/dist/extraction/languages/luau.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/luau.js +37 -0
- package/sensor/dist/extraction/languages/luau.js.map +1 -0
- package/sensor/dist/extraction/languages/nix.d.ts +3 -0
- package/sensor/dist/extraction/languages/nix.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/nix.js +294 -0
- package/sensor/dist/extraction/languages/nix.js.map +1 -0
- package/sensor/dist/extraction/languages/objc.d.ts +3 -0
- package/sensor/dist/extraction/languages/objc.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/objc.js +175 -0
- package/sensor/dist/extraction/languages/objc.js.map +1 -0
- package/sensor/dist/extraction/languages/pascal.d.ts +3 -0
- package/sensor/dist/extraction/languages/pascal.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/pascal.js +77 -0
- package/sensor/dist/extraction/languages/pascal.js.map +1 -0
- package/sensor/dist/extraction/languages/php.d.ts +3 -0
- package/sensor/dist/extraction/languages/php.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/php.js +196 -0
- package/sensor/dist/extraction/languages/php.js.map +1 -0
- package/sensor/dist/extraction/languages/python.d.ts +3 -0
- package/sensor/dist/extraction/languages/python.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/python.js +56 -0
- package/sensor/dist/extraction/languages/python.js.map +1 -0
- package/sensor/dist/extraction/languages/r.d.ts +3 -0
- package/sensor/dist/extraction/languages/r.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/r.js +314 -0
- package/sensor/dist/extraction/languages/r.js.map +1 -0
- package/sensor/dist/extraction/languages/ruby.d.ts +3 -0
- package/sensor/dist/extraction/languages/ruby.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/ruby.js +149 -0
- package/sensor/dist/extraction/languages/ruby.js.map +1 -0
- package/sensor/dist/extraction/languages/rust.d.ts +3 -0
- package/sensor/dist/extraction/languages/rust.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/rust.js +142 -0
- package/sensor/dist/extraction/languages/rust.js.map +1 -0
- package/sensor/dist/extraction/languages/scala.d.ts +3 -0
- package/sensor/dist/extraction/languages/scala.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/scala.js +209 -0
- package/sensor/dist/extraction/languages/scala.js.map +1 -0
- package/sensor/dist/extraction/languages/solidity.d.ts +3 -0
- package/sensor/dist/extraction/languages/solidity.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/solidity.js +293 -0
- package/sensor/dist/extraction/languages/solidity.js.map +1 -0
- package/sensor/dist/extraction/languages/swift.d.ts +3 -0
- package/sensor/dist/extraction/languages/swift.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/swift.js +152 -0
- package/sensor/dist/extraction/languages/swift.js.map +1 -0
- package/sensor/dist/extraction/languages/terraform.d.ts +3 -0
- package/sensor/dist/extraction/languages/terraform.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/terraform.js +641 -0
- package/sensor/dist/extraction/languages/terraform.js.map +1 -0
- package/sensor/dist/extraction/languages/typescript.d.ts +16 -0
- package/sensor/dist/extraction/languages/typescript.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/typescript.js +167 -0
- package/sensor/dist/extraction/languages/typescript.js.map +1 -0
- package/sensor/dist/extraction/languages/vbnet.d.ts +11 -0
- package/sensor/dist/extraction/languages/vbnet.d.ts.map +1 -0
- package/sensor/dist/extraction/languages/vbnet.js +141 -0
- package/sensor/dist/extraction/languages/vbnet.js.map +1 -0
- package/sensor/dist/extraction/liquid-extractor.d.ts +59 -0
- package/sensor/dist/extraction/liquid-extractor.d.ts.map +1 -0
- package/sensor/dist/extraction/liquid-extractor.js +357 -0
- package/sensor/dist/extraction/liquid-extractor.js.map +1 -0
- package/sensor/dist/extraction/mybatis-extractor.d.ts +68 -0
- package/sensor/dist/extraction/mybatis-extractor.d.ts.map +1 -0
- package/sensor/dist/extraction/mybatis-extractor.js +300 -0
- package/sensor/dist/extraction/mybatis-extractor.js.map +1 -0
- package/sensor/dist/extraction/parse-pool.d.ts +160 -0
- package/sensor/dist/extraction/parse-pool.d.ts.map +1 -0
- package/sensor/dist/extraction/parse-pool.js +402 -0
- package/sensor/dist/extraction/parse-pool.js.map +1 -0
- package/sensor/dist/extraction/parse-worker.d.ts +8 -0
- package/sensor/dist/extraction/parse-worker.d.ts.map +1 -0
- package/sensor/dist/extraction/parse-worker.js +138 -0
- package/sensor/dist/extraction/parse-worker.js.map +1 -0
- package/sensor/dist/extraction/razor-extractor.d.ts +42 -0
- package/sensor/dist/extraction/razor-extractor.d.ts.map +1 -0
- package/sensor/dist/extraction/razor-extractor.js +285 -0
- package/sensor/dist/extraction/razor-extractor.js.map +1 -0
- package/sensor/dist/extraction/spawn-invokes.d.ts +101 -0
- package/sensor/dist/extraction/spawn-invokes.d.ts.map +1 -0
- package/sensor/dist/extraction/spawn-invokes.js +327 -0
- package/sensor/dist/extraction/spawn-invokes.js.map +1 -0
- package/sensor/dist/extraction/store-worker.d.ts +24 -0
- package/sensor/dist/extraction/store-worker.d.ts.map +1 -0
- package/sensor/dist/extraction/store-worker.js +110 -0
- package/sensor/dist/extraction/store-worker.js.map +1 -0
- package/sensor/dist/extraction/store-writer.d.ts +63 -0
- package/sensor/dist/extraction/store-writer.d.ts.map +1 -0
- package/sensor/dist/extraction/store-writer.js +174 -0
- package/sensor/dist/extraction/store-writer.js.map +1 -0
- package/sensor/dist/extraction/svelte-extractor.d.ts +56 -0
- package/sensor/dist/extraction/svelte-extractor.d.ts.map +1 -0
- package/sensor/dist/extraction/svelte-extractor.js +275 -0
- package/sensor/dist/extraction/svelte-extractor.js.map +1 -0
- package/sensor/dist/extraction/tree-sitter-helpers.d.ts +28 -0
- package/sensor/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
- package/sensor/dist/extraction/tree-sitter-helpers.js +153 -0
- package/sensor/dist/extraction/tree-sitter-helpers.js.map +1 -0
- package/sensor/dist/extraction/tree-sitter-types.d.ts +258 -0
- package/sensor/dist/extraction/tree-sitter-types.d.ts.map +1 -0
- package/sensor/dist/extraction/tree-sitter-types.js +10 -0
- package/sensor/dist/extraction/tree-sitter-types.js.map +1 -0
- package/sensor/dist/extraction/tree-sitter.d.ts +724 -0
- package/sensor/dist/extraction/tree-sitter.d.ts.map +1 -0
- package/sensor/dist/extraction/tree-sitter.js +6721 -0
- package/sensor/dist/extraction/tree-sitter.js.map +1 -0
- package/sensor/dist/extraction/vue-extractor.d.ts +51 -0
- package/sensor/dist/extraction/vue-extractor.d.ts.map +1 -0
- package/sensor/dist/extraction/vue-extractor.js +254 -0
- package/sensor/dist/extraction/vue-extractor.js.map +1 -0
- package/sensor/dist/extraction/wasm/tree-sitter-arkts.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-c_sharp.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-cfml.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-cfquery.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-cfscript.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-cobol.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-erlang.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-go.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-java.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-javascript.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-nix.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-python.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-terraform.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-tsx.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-typescript.wasm +0 -0
- package/sensor/dist/extraction/wasm/tree-sitter-vbnet.wasm +0 -0
- package/sensor/dist/extraction/wasm-runtime-flags.d.ts +53 -0
- package/sensor/dist/extraction/wasm-runtime-flags.d.ts.map +1 -0
- package/sensor/dist/extraction/wasm-runtime-flags.js +130 -0
- package/sensor/dist/extraction/wasm-runtime-flags.js.map +1 -0
- package/sensor/dist/graph/index.d.ts +8 -0
- package/sensor/dist/graph/index.d.ts.map +1 -0
- package/sensor/dist/graph/index.js +13 -0
- package/sensor/dist/graph/index.js.map +1 -0
- package/sensor/dist/graph/queries.d.ts +106 -0
- package/sensor/dist/graph/queries.d.ts.map +1 -0
- package/sensor/dist/graph/queries.js +339 -0
- package/sensor/dist/graph/queries.js.map +1 -0
- package/sensor/dist/graph/traversal.d.ts +127 -0
- package/sensor/dist/graph/traversal.d.ts.map +1 -0
- package/sensor/dist/graph/traversal.js +599 -0
- package/sensor/dist/graph/traversal.js.map +1 -0
- package/sensor/dist/index.d.ts +653 -0
- package/sensor/dist/index.d.ts.map +1 -0
- package/sensor/dist/index.js +1646 -0
- package/sensor/dist/index.js.map +1 -0
- package/sensor/dist/installer/beta-signup.d.ts +54 -0
- package/sensor/dist/installer/beta-signup.d.ts.map +1 -0
- package/sensor/dist/installer/beta-signup.js +178 -0
- package/sensor/dist/installer/beta-signup.js.map +1 -0
- package/sensor/dist/installer/config-writer.d.ts +28 -0
- package/sensor/dist/installer/config-writer.d.ts.map +1 -0
- package/sensor/dist/installer/config-writer.js +91 -0
- package/sensor/dist/installer/config-writer.js.map +1 -0
- package/sensor/dist/installer/index.d.ts +142 -0
- package/sensor/dist/installer/index.d.ts.map +1 -0
- package/sensor/dist/installer/index.js +622 -0
- package/sensor/dist/installer/index.js.map +1 -0
- package/sensor/dist/installer/instructions-template.d.ts +41 -0
- package/sensor/dist/installer/instructions-template.d.ts.map +1 -0
- package/sensor/dist/installer/instructions-template.js +53 -0
- package/sensor/dist/installer/instructions-template.js.map +1 -0
- package/sensor/dist/installer/targets/antigravity.d.ts +57 -0
- package/sensor/dist/installer/targets/antigravity.d.ts.map +1 -0
- package/sensor/dist/installer/targets/antigravity.js +308 -0
- package/sensor/dist/installer/targets/antigravity.js.map +1 -0
- package/sensor/dist/installer/targets/claude.d.ts +62 -0
- package/sensor/dist/installer/targets/claude.d.ts.map +1 -0
- package/sensor/dist/installer/targets/claude.js +454 -0
- package/sensor/dist/installer/targets/claude.js.map +1 -0
- package/sensor/dist/installer/targets/codex.d.ts +18 -0
- package/sensor/dist/installer/targets/codex.d.ts.map +1 -0
- package/sensor/dist/installer/targets/codex.js +185 -0
- package/sensor/dist/installer/targets/codex.js.map +1 -0
- package/sensor/dist/installer/targets/cursor.d.ts +35 -0
- package/sensor/dist/installer/targets/cursor.d.ts.map +1 -0
- package/sensor/dist/installer/targets/cursor.js +254 -0
- package/sensor/dist/installer/targets/cursor.js.map +1 -0
- package/sensor/dist/installer/targets/gemini.d.ts +26 -0
- package/sensor/dist/installer/targets/gemini.d.ts.map +1 -0
- package/sensor/dist/installer/targets/gemini.js +165 -0
- package/sensor/dist/installer/targets/gemini.js.map +1 -0
- package/sensor/dist/installer/targets/hermes.d.ts +18 -0
- package/sensor/dist/installer/targets/hermes.d.ts.map +1 -0
- package/sensor/dist/installer/targets/hermes.js +359 -0
- package/sensor/dist/installer/targets/hermes.js.map +1 -0
- package/sensor/dist/installer/targets/kiro.d.ts +27 -0
- package/sensor/dist/installer/targets/kiro.d.ts.map +1 -0
- package/sensor/dist/installer/targets/kiro.js +178 -0
- package/sensor/dist/installer/targets/kiro.js.map +1 -0
- package/sensor/dist/installer/targets/opencode.d.ts +38 -0
- package/sensor/dist/installer/targets/opencode.d.ts.map +1 -0
- package/sensor/dist/installer/targets/opencode.js +288 -0
- package/sensor/dist/installer/targets/opencode.js.map +1 -0
- package/sensor/dist/installer/targets/registry.d.ts +35 -0
- package/sensor/dist/installer/targets/registry.d.ts.map +1 -0
- package/sensor/dist/installer/targets/registry.js +91 -0
- package/sensor/dist/installer/targets/registry.js.map +1 -0
- package/sensor/dist/installer/targets/shared.d.ts +101 -0
- package/sensor/dist/installer/targets/shared.d.ts.map +1 -0
- package/sensor/dist/installer/targets/shared.js +264 -0
- package/sensor/dist/installer/targets/shared.js.map +1 -0
- package/sensor/dist/installer/targets/toml.d.ts +52 -0
- package/sensor/dist/installer/targets/toml.d.ts.map +1 -0
- package/sensor/dist/installer/targets/toml.js +147 -0
- package/sensor/dist/installer/targets/toml.js.map +1 -0
- package/sensor/dist/installer/targets/types.d.ts +108 -0
- package/sensor/dist/installer/targets/types.d.ts.map +1 -0
- package/sensor/dist/installer/targets/types.js +16 -0
- package/sensor/dist/installer/targets/types.js.map +1 -0
- package/sensor/dist/mcp/daemon-manager.d.ts +42 -0
- package/sensor/dist/mcp/daemon-manager.d.ts.map +1 -0
- package/sensor/dist/mcp/daemon-manager.js +129 -0
- package/sensor/dist/mcp/daemon-manager.js.map +1 -0
- package/sensor/dist/mcp/daemon-paths.d.ts +73 -0
- package/sensor/dist/mcp/daemon-paths.d.ts.map +1 -0
- package/sensor/dist/mcp/daemon-paths.js +170 -0
- package/sensor/dist/mcp/daemon-paths.js.map +1 -0
- package/sensor/dist/mcp/daemon-registry.d.ts +54 -0
- package/sensor/dist/mcp/daemon-registry.d.ts.map +1 -0
- package/sensor/dist/mcp/daemon-registry.js +241 -0
- package/sensor/dist/mcp/daemon-registry.js.map +1 -0
- package/sensor/dist/mcp/daemon.d.ts +290 -0
- package/sensor/dist/mcp/daemon.d.ts.map +1 -0
- package/sensor/dist/mcp/daemon.js +867 -0
- package/sensor/dist/mcp/daemon.js.map +1 -0
- package/sensor/dist/mcp/dynamic-boundaries.d.ts +41 -0
- package/sensor/dist/mcp/dynamic-boundaries.d.ts.map +1 -0
- package/sensor/dist/mcp/dynamic-boundaries.js +360 -0
- package/sensor/dist/mcp/dynamic-boundaries.js.map +1 -0
- package/sensor/dist/mcp/early-ppid.d.ts +26 -0
- package/sensor/dist/mcp/early-ppid.d.ts.map +1 -0
- package/sensor/dist/mcp/early-ppid.js +29 -0
- package/sensor/dist/mcp/early-ppid.js.map +1 -0
- package/sensor/dist/mcp/engine.d.ts +130 -0
- package/sensor/dist/mcp/engine.d.ts.map +1 -0
- package/sensor/dist/mcp/engine.js +375 -0
- package/sensor/dist/mcp/engine.js.map +1 -0
- package/sensor/dist/mcp/index.d.ts +113 -0
- package/sensor/dist/mcp/index.d.ts.map +1 -0
- package/sensor/dist/mcp/index.js +551 -0
- package/sensor/dist/mcp/index.js.map +1 -0
- package/sensor/dist/mcp/liveness-watchdog.d.ts +35 -0
- package/sensor/dist/mcp/liveness-watchdog.d.ts.map +1 -0
- package/sensor/dist/mcp/liveness-watchdog.js +267 -0
- package/sensor/dist/mcp/liveness-watchdog.js.map +1 -0
- package/sensor/dist/mcp/ppid-watchdog.d.ts +62 -0
- package/sensor/dist/mcp/ppid-watchdog.d.ts.map +1 -0
- package/sensor/dist/mcp/ppid-watchdog.js +64 -0
- package/sensor/dist/mcp/ppid-watchdog.js.map +1 -0
- package/sensor/dist/mcp/proxy.d.ts +99 -0
- package/sensor/dist/mcp/proxy.d.ts.map +1 -0
- package/sensor/dist/mcp/proxy.js +737 -0
- package/sensor/dist/mcp/proxy.js.map +1 -0
- package/sensor/dist/mcp/query-pool.d.ts +108 -0
- package/sensor/dist/mcp/query-pool.d.ts.map +1 -0
- package/sensor/dist/mcp/query-pool.js +315 -0
- package/sensor/dist/mcp/query-pool.js.map +1 -0
- package/sensor/dist/mcp/query-worker.d.ts +24 -0
- package/sensor/dist/mcp/query-worker.d.ts.map +1 -0
- package/sensor/dist/mcp/query-worker.js +87 -0
- package/sensor/dist/mcp/query-worker.js.map +1 -0
- package/sensor/dist/mcp/server-instructions.d.ts +34 -0
- package/sensor/dist/mcp/server-instructions.d.ts.map +1 -0
- package/sensor/dist/mcp/server-instructions.js +106 -0
- package/sensor/dist/mcp/server-instructions.js.map +1 -0
- package/sensor/dist/mcp/session.d.ts +92 -0
- package/sensor/dist/mcp/session.d.ts.map +1 -0
- package/sensor/dist/mcp/session.js +355 -0
- package/sensor/dist/mcp/session.js.map +1 -0
- package/sensor/dist/mcp/startup-handshake.d.ts +44 -0
- package/sensor/dist/mcp/startup-handshake.d.ts.map +1 -0
- package/sensor/dist/mcp/startup-handshake.js +73 -0
- package/sensor/dist/mcp/startup-handshake.js.map +1 -0
- package/sensor/dist/mcp/stdin-teardown.d.ts +27 -0
- package/sensor/dist/mcp/stdin-teardown.d.ts.map +1 -0
- package/sensor/dist/mcp/stdin-teardown.js +49 -0
- package/sensor/dist/mcp/stdin-teardown.js.map +1 -0
- package/sensor/dist/mcp/tools.d.ts +651 -0
- package/sensor/dist/mcp/tools.d.ts.map +1 -0
- package/sensor/dist/mcp/tools.js +4574 -0
- package/sensor/dist/mcp/tools.js.map +1 -0
- package/sensor/dist/mcp/transport.d.ts +188 -0
- package/sensor/dist/mcp/transport.d.ts.map +1 -0
- package/sensor/dist/mcp/transport.js +377 -0
- package/sensor/dist/mcp/transport.js.map +1 -0
- package/sensor/dist/mcp/version.d.ts +30 -0
- package/sensor/dist/mcp/version.d.ts.map +1 -0
- package/sensor/dist/mcp/version.js +85 -0
- package/sensor/dist/mcp/version.js.map +1 -0
- package/sensor/dist/project-config.d.ts +94 -0
- package/sensor/dist/project-config.d.ts.map +1 -0
- package/sensor/dist/project-config.js +374 -0
- package/sensor/dist/project-config.js.map +1 -0
- package/sensor/dist/resolution/c-fnptr-synthesizer.d.ts +6 -0
- package/sensor/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -0
- package/sensor/dist/resolution/c-fnptr-synthesizer.js +1070 -0
- package/sensor/dist/resolution/c-fnptr-synthesizer.js.map +1 -0
- package/sensor/dist/resolution/callback-synthesizer.d.ts +59 -0
- package/sensor/dist/resolution/callback-synthesizer.d.ts.map +1 -0
- package/sensor/dist/resolution/callback-synthesizer.js +3961 -0
- package/sensor/dist/resolution/callback-synthesizer.js.map +1 -0
- package/sensor/dist/resolution/cooperative-yield.d.ts +40 -0
- package/sensor/dist/resolution/cooperative-yield.d.ts.map +1 -0
- package/sensor/dist/resolution/cooperative-yield.js +44 -0
- package/sensor/dist/resolution/cooperative-yield.js.map +1 -0
- package/sensor/dist/resolution/frameworks/astro.d.ts +9 -0
- package/sensor/dist/resolution/frameworks/astro.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/astro.js +169 -0
- package/sensor/dist/resolution/frameworks/astro.js.map +1 -0
- package/sensor/dist/resolution/frameworks/cargo-workspace.d.ts +18 -0
- package/sensor/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/cargo-workspace.js +225 -0
- package/sensor/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
- package/sensor/dist/resolution/frameworks/cics.d.ts +20 -0
- package/sensor/dist/resolution/frameworks/cics.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/cics.js +90 -0
- package/sensor/dist/resolution/frameworks/cics.js.map +1 -0
- package/sensor/dist/resolution/frameworks/csharp.d.ts +8 -0
- package/sensor/dist/resolution/frameworks/csharp.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/csharp.js +241 -0
- package/sensor/dist/resolution/frameworks/csharp.js.map +1 -0
- package/sensor/dist/resolution/frameworks/drupal.d.ts +51 -0
- package/sensor/dist/resolution/frameworks/drupal.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/drupal.js +367 -0
- package/sensor/dist/resolution/frameworks/drupal.js.map +1 -0
- package/sensor/dist/resolution/frameworks/expo-modules.d.ts +3 -0
- package/sensor/dist/resolution/frameworks/expo-modules.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/expo-modules.js +148 -0
- package/sensor/dist/resolution/frameworks/expo-modules.js.map +1 -0
- package/sensor/dist/resolution/frameworks/express.d.ts +8 -0
- package/sensor/dist/resolution/frameworks/express.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/express.js +308 -0
- package/sensor/dist/resolution/frameworks/express.js.map +1 -0
- package/sensor/dist/resolution/frameworks/fabric.d.ts +3 -0
- package/sensor/dist/resolution/frameworks/fabric.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/fabric.js +354 -0
- package/sensor/dist/resolution/frameworks/fabric.js.map +1 -0
- package/sensor/dist/resolution/frameworks/go.d.ts +8 -0
- package/sensor/dist/resolution/frameworks/go.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/go.js +184 -0
- package/sensor/dist/resolution/frameworks/go.js.map +1 -0
- package/sensor/dist/resolution/frameworks/goframe.d.ts +41 -0
- package/sensor/dist/resolution/frameworks/goframe.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/goframe.js +112 -0
- package/sensor/dist/resolution/frameworks/goframe.js.map +1 -0
- package/sensor/dist/resolution/frameworks/index.d.ts +50 -0
- package/sensor/dist/resolution/frameworks/index.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/index.js +175 -0
- package/sensor/dist/resolution/frameworks/index.js.map +1 -0
- package/sensor/dist/resolution/frameworks/java.d.ts +8 -0
- package/sensor/dist/resolution/frameworks/java.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/java.js +517 -0
- package/sensor/dist/resolution/frameworks/java.js.map +1 -0
- package/sensor/dist/resolution/frameworks/laravel.d.ts +13 -0
- package/sensor/dist/resolution/frameworks/laravel.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/laravel.js +257 -0
- package/sensor/dist/resolution/frameworks/laravel.js.map +1 -0
- package/sensor/dist/resolution/frameworks/nestjs.d.ts +26 -0
- package/sensor/dist/resolution/frameworks/nestjs.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/nestjs.js +698 -0
- package/sensor/dist/resolution/frameworks/nestjs.js.map +1 -0
- package/sensor/dist/resolution/frameworks/play.d.ts +19 -0
- package/sensor/dist/resolution/frameworks/play.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/play.js +111 -0
- package/sensor/dist/resolution/frameworks/play.js.map +1 -0
- package/sensor/dist/resolution/frameworks/python.d.ts +10 -0
- package/sensor/dist/resolution/frameworks/python.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/python.js +400 -0
- package/sensor/dist/resolution/frameworks/python.js.map +1 -0
- package/sensor/dist/resolution/frameworks/react-native.d.ts +3 -0
- package/sensor/dist/resolution/frameworks/react-native.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/react-native.js +410 -0
- package/sensor/dist/resolution/frameworks/react-native.js.map +1 -0
- package/sensor/dist/resolution/frameworks/react.d.ts +8 -0
- package/sensor/dist/resolution/frameworks/react.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/react.js +334 -0
- package/sensor/dist/resolution/frameworks/react.js.map +1 -0
- package/sensor/dist/resolution/frameworks/ruby.d.ts +8 -0
- package/sensor/dist/resolution/frameworks/ruby.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/ruby.js +302 -0
- package/sensor/dist/resolution/frameworks/ruby.js.map +1 -0
- package/sensor/dist/resolution/frameworks/rust.d.ts +8 -0
- package/sensor/dist/resolution/frameworks/rust.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/rust.js +304 -0
- package/sensor/dist/resolution/frameworks/rust.js.map +1 -0
- package/sensor/dist/resolution/frameworks/svelte.d.ts +9 -0
- package/sensor/dist/resolution/frameworks/svelte.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/svelte.js +253 -0
- package/sensor/dist/resolution/frameworks/svelte.js.map +1 -0
- package/sensor/dist/resolution/frameworks/swift-objc.d.ts +37 -0
- package/sensor/dist/resolution/frameworks/swift-objc.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/swift-objc.js +252 -0
- package/sensor/dist/resolution/frameworks/swift-objc.js.map +1 -0
- package/sensor/dist/resolution/frameworks/swift.d.ts +10 -0
- package/sensor/dist/resolution/frameworks/swift.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/swift.js +400 -0
- package/sensor/dist/resolution/frameworks/swift.js.map +1 -0
- package/sensor/dist/resolution/frameworks/terraform.d.ts +38 -0
- package/sensor/dist/resolution/frameworks/terraform.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/terraform.js +277 -0
- package/sensor/dist/resolution/frameworks/terraform.js.map +1 -0
- package/sensor/dist/resolution/frameworks/vue.d.ts +9 -0
- package/sensor/dist/resolution/frameworks/vue.d.ts.map +1 -0
- package/sensor/dist/resolution/frameworks/vue.js +303 -0
- package/sensor/dist/resolution/frameworks/vue.js.map +1 -0
- package/sensor/dist/resolution/go-module.d.ts +26 -0
- package/sensor/dist/resolution/go-module.d.ts.map +1 -0
- package/sensor/dist/resolution/go-module.js +78 -0
- package/sensor/dist/resolution/go-module.js.map +1 -0
- package/sensor/dist/resolution/goframe-synthesizer.d.ts +29 -0
- package/sensor/dist/resolution/goframe-synthesizer.d.ts.map +1 -0
- package/sensor/dist/resolution/goframe-synthesizer.js +163 -0
- package/sensor/dist/resolution/goframe-synthesizer.js.map +1 -0
- package/sensor/dist/resolution/import-resolver.d.ts +84 -0
- package/sensor/dist/resolution/import-resolver.d.ts.map +1 -0
- package/sensor/dist/resolution/import-resolver.js +2172 -0
- package/sensor/dist/resolution/import-resolver.js.map +1 -0
- package/sensor/dist/resolution/index.d.ts +309 -0
- package/sensor/dist/resolution/index.d.ts.map +1 -0
- package/sensor/dist/resolution/index.js +2050 -0
- package/sensor/dist/resolution/index.js.map +1 -0
- package/sensor/dist/resolution/lru-cache.d.ts +24 -0
- package/sensor/dist/resolution/lru-cache.d.ts.map +1 -0
- package/sensor/dist/resolution/lru-cache.js +62 -0
- package/sensor/dist/resolution/lru-cache.js.map +1 -0
- package/sensor/dist/resolution/name-matcher.d.ts +126 -0
- package/sensor/dist/resolution/name-matcher.d.ts.map +1 -0
- package/sensor/dist/resolution/name-matcher.js +1968 -0
- package/sensor/dist/resolution/name-matcher.js.map +1 -0
- package/sensor/dist/resolution/path-aliases.d.ts +68 -0
- package/sensor/dist/resolution/path-aliases.d.ts.map +1 -0
- package/sensor/dist/resolution/path-aliases.js +238 -0
- package/sensor/dist/resolution/path-aliases.js.map +1 -0
- package/sensor/dist/resolution/resolver-pool.d.ts +66 -0
- package/sensor/dist/resolution/resolver-pool.d.ts.map +1 -0
- package/sensor/dist/resolution/resolver-pool.js +244 -0
- package/sensor/dist/resolution/resolver-pool.js.map +1 -0
- package/sensor/dist/resolution/resolver-worker.d.ts +17 -0
- package/sensor/dist/resolution/resolver-worker.d.ts.map +1 -0
- package/sensor/dist/resolution/resolver-worker.js +114 -0
- package/sensor/dist/resolution/resolver-worker.js.map +1 -0
- package/sensor/dist/resolution/strip-comments.d.ts +27 -0
- package/sensor/dist/resolution/strip-comments.d.ts.map +1 -0
- package/sensor/dist/resolution/strip-comments.js +492 -0
- package/sensor/dist/resolution/strip-comments.js.map +1 -0
- package/sensor/dist/resolution/swift-objc-bridge.d.ts +134 -0
- package/sensor/dist/resolution/swift-objc-bridge.d.ts.map +1 -0
- package/sensor/dist/resolution/swift-objc-bridge.js +256 -0
- package/sensor/dist/resolution/swift-objc-bridge.js.map +1 -0
- package/sensor/dist/resolution/types.d.ts +265 -0
- package/sensor/dist/resolution/types.d.ts.map +1 -0
- package/sensor/dist/resolution/types.js +8 -0
- package/sensor/dist/resolution/types.js.map +1 -0
- package/sensor/dist/resolution/workspace-packages.d.ts +58 -0
- package/sensor/dist/resolution/workspace-packages.d.ts.map +1 -0
- package/sensor/dist/resolution/workspace-packages.js +346 -0
- package/sensor/dist/resolution/workspace-packages.js.map +1 -0
- package/sensor/dist/search/identifier-segments.d.ts +60 -0
- package/sensor/dist/search/identifier-segments.d.ts.map +1 -0
- package/sensor/dist/search/identifier-segments.js +176 -0
- package/sensor/dist/search/identifier-segments.js.map +1 -0
- package/sensor/dist/search/query-parser.d.ts +57 -0
- package/sensor/dist/search/query-parser.d.ts.map +1 -0
- package/sensor/dist/search/query-parser.js +177 -0
- package/sensor/dist/search/query-parser.js.map +1 -0
- package/sensor/dist/search/query-utils.d.ts +87 -0
- package/sensor/dist/search/query-utils.d.ts.map +1 -0
- package/sensor/dist/search/query-utils.js +449 -0
- package/sensor/dist/search/query-utils.js.map +1 -0
- package/sensor/dist/sync/git-hooks.d.ts +45 -0
- package/sensor/dist/sync/git-hooks.d.ts.map +1 -0
- package/sensor/dist/sync/git-hooks.js +227 -0
- package/sensor/dist/sync/git-hooks.js.map +1 -0
- package/sensor/dist/sync/index.d.ts +19 -0
- package/sensor/dist/sync/index.d.ts.map +1 -0
- package/sensor/dist/sync/index.js +35 -0
- package/sensor/dist/sync/index.js.map +1 -0
- package/sensor/dist/sync/watch-policy.d.ts +48 -0
- package/sensor/dist/sync/watch-policy.d.ts.map +1 -0
- package/sensor/dist/sync/watch-policy.js +124 -0
- package/sensor/dist/sync/watch-policy.js.map +1 -0
- package/sensor/dist/sync/watcher.d.ts +372 -0
- package/sensor/dist/sync/watcher.d.ts.map +1 -0
- package/sensor/dist/sync/watcher.js +879 -0
- package/sensor/dist/sync/watcher.js.map +1 -0
- package/sensor/dist/sync/worktree.d.ts +63 -0
- package/sensor/dist/sync/worktree.d.ts.map +1 -0
- package/sensor/dist/sync/worktree.js +182 -0
- package/sensor/dist/sync/worktree.js.map +1 -0
- package/sensor/dist/telemetry/index.d.ts +157 -0
- package/sensor/dist/telemetry/index.d.ts.map +1 -0
- package/sensor/dist/telemetry/index.js +556 -0
- package/sensor/dist/telemetry/index.js.map +1 -0
- package/sensor/dist/types.d.ts +458 -0
- package/sensor/dist/types.d.ts.map +1 -0
- package/sensor/dist/types.js +117 -0
- package/sensor/dist/types.js.map +1 -0
- package/sensor/dist/ui/color.d.ts +21 -0
- package/sensor/dist/ui/color.d.ts.map +1 -0
- package/sensor/dist/ui/color.js +42 -0
- package/sensor/dist/ui/color.js.map +1 -0
- package/sensor/dist/ui/glyphs.d.ts +67 -0
- package/sensor/dist/ui/glyphs.d.ts.map +1 -0
- package/sensor/dist/ui/glyphs.js +125 -0
- package/sensor/dist/ui/glyphs.js.map +1 -0
- package/sensor/dist/ui/shimmer-progress.d.ts +11 -0
- package/sensor/dist/ui/shimmer-progress.d.ts.map +1 -0
- package/sensor/dist/ui/shimmer-progress.js +164 -0
- package/sensor/dist/ui/shimmer-progress.js.map +1 -0
- package/sensor/dist/ui/shimmer-worker.d.ts +2 -0
- package/sensor/dist/ui/shimmer-worker.d.ts.map +1 -0
- package/sensor/dist/ui/shimmer-worker.js +126 -0
- package/sensor/dist/ui/shimmer-worker.js.map +1 -0
- package/sensor/dist/ui/types.d.ts +15 -0
- package/sensor/dist/ui/types.d.ts.map +1 -0
- package/sensor/dist/ui/types.js +3 -0
- package/sensor/dist/ui/types.js.map +1 -0
- package/sensor/dist/upgrade/index.d.ts +171 -0
- package/sensor/dist/upgrade/index.d.ts.map +1 -0
- package/sensor/dist/upgrade/index.js +659 -0
- package/sensor/dist/upgrade/index.js.map +1 -0
- package/sensor/dist/upgrade/remove-binary.d.ts +87 -0
- package/sensor/dist/upgrade/remove-binary.d.ts.map +1 -0
- package/sensor/dist/upgrade/remove-binary.js +289 -0
- package/sensor/dist/upgrade/remove-binary.js.map +1 -0
- package/sensor/dist/upgrade/update-check.d.ts +92 -0
- package/sensor/dist/upgrade/update-check.d.ts.map +1 -0
- package/sensor/dist/upgrade/update-check.js +258 -0
- package/sensor/dist/upgrade/update-check.js.map +1 -0
- package/sensor/dist/utils.d.ts +224 -0
- package/sensor/dist/utils.d.ts.map +1 -0
- package/sensor/dist/utils.js +583 -0
- package/sensor/dist/utils.js.map +1 -0
- package/sensor/package.json +61 -0
- package/src/artifact-contracts-v2.mjs +325 -0
- package/src/artifact-contracts.mjs +895 -0
- package/src/bootstrap.mjs +88 -0
- package/src/boundary-compiler.mjs +712 -0
- package/src/boundary-observation-compiler-v2.mjs +339 -0
- package/src/codegraph-adapter.mjs +422 -0
- package/src/control-compiler.mjs +532 -0
- package/src/factory-diagnostics.mjs +187 -0
- package/src/isolation-runner.mjs +333 -0
- package/src/node-version-guard.mjs +43 -0
- package/src/rc1-black-box-oracle.mjs +906 -0
- package/src/rc1-comparison.mjs +154 -0
- package/src/rc1-evidence-bundle.mjs +456 -0
- package/src/rc1-v4-campaign.mjs +707 -0
- package/src/rc1-v4-transform.mjs +467 -0
- package/src/rc1-v5-artifact-set.mjs +855 -0
- package/src/rc1-v5-behavior-evidence.mjs +594 -0
- package/src/rc1-v5-campaign.mjs +796 -0
- package/src/rc1-v5-transform.mjs +421 -0
- package/src/rc1-v6-artifact-set.mjs +807 -0
- package/src/rc1-v6-behavior-evidence.mjs +273 -0
- package/src/rc1-v6-campaign.mjs +623 -0
- package/src/rc1-v6-causal-binding.mjs +471 -0
- package/src/rc1-v6-measurement.mjs +331 -0
- package/src/rc2-artifact-set.mjs +1579 -0
- package/src/rc2-campaign.mjs +1520 -0
- package/src/rc2-delivery-policy-front-end.mjs +1079 -0
- package/src/rc2-delivery-policy-oracle.mjs +134 -0
- package/src/rc2-delivery-policy-transform.mjs +1127 -0
- package/src/rc2-rc1-transfer-front-end.mjs +511 -0
- package/src/rc3-actual-dogfood.mjs +648 -0
- package/src/rc3-dogfood-scaffold.mjs +310 -0
- package/src/rc3-scripted-campaign.mjs +1301 -0
- package/src/rc4-stage1-dogfood.mjs +652 -0
- package/src/runtime-cli.mjs +504 -0
- package/src/runtime-contracts.mjs +631 -0
- package/src/runtime-decision-verifier.mjs +607 -0
- package/src/runtime-diff-observer.mjs +265 -0
- package/src/runtime-engine.mjs +674 -0
- package/src/runtime-errors.mjs +356 -0
- package/src/runtime-event-store.mjs +217 -0
- package/src/runtime-front-end.mjs +764 -0
- package/src/runtime-hold-recompile.mjs +606 -0
- package/src/runtime-projection.mjs +180 -0
- package/src/runtime-scripted-executor.mjs +163 -0
- package/src/runtime-worktree-executor.mjs +199 -0
- package/src/schedulability-compiler-v2.mjs +303 -0
- package/src/schedulability-verifier-v2.mjs +317 -0
- package/src/seam-transform.mjs +554 -0
- package/src/treatment-compiler.mjs +728 -0
- package/src/treatment-runner.mjs +658 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DfmExtractor = void 0;
|
|
4
|
+
const tree_sitter_helpers_1 = require("./tree-sitter-helpers");
|
|
5
|
+
/**
|
|
6
|
+
* Custom extractor for Delphi DFM/FMX form files.
|
|
7
|
+
*
|
|
8
|
+
* DFM/FMX files describe the visual component hierarchy and event handler
|
|
9
|
+
* bindings. They use a simple text format (object/end blocks) that we parse
|
|
10
|
+
* with regex — no tree-sitter grammar exists for this format.
|
|
11
|
+
*
|
|
12
|
+
* Extracted information:
|
|
13
|
+
* - Components as NodeKind `component`
|
|
14
|
+
* - Nesting as EdgeKind `contains`
|
|
15
|
+
* - Event handlers (OnClick = MethodName) as UnresolvedReference → EdgeKind `references`
|
|
16
|
+
*/
|
|
17
|
+
class DfmExtractor {
|
|
18
|
+
filePath;
|
|
19
|
+
source;
|
|
20
|
+
nodes = [];
|
|
21
|
+
edges = [];
|
|
22
|
+
unresolvedReferences = [];
|
|
23
|
+
errors = [];
|
|
24
|
+
constructor(filePath, source) {
|
|
25
|
+
this.filePath = filePath;
|
|
26
|
+
this.source = source;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Extract components and event handler references from DFM/FMX source
|
|
30
|
+
*/
|
|
31
|
+
extract() {
|
|
32
|
+
const startTime = Date.now();
|
|
33
|
+
try {
|
|
34
|
+
const fileNode = this.createFileNode();
|
|
35
|
+
this.parseComponents(fileNode.id);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
this.errors.push({
|
|
39
|
+
message: `DFM extraction error: ${error instanceof Error ? error.message : String(error)}`,
|
|
40
|
+
severity: 'error',
|
|
41
|
+
code: 'parse_error',
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
nodes: this.nodes,
|
|
46
|
+
edges: this.edges,
|
|
47
|
+
unresolvedReferences: this.unresolvedReferences,
|
|
48
|
+
errors: this.errors,
|
|
49
|
+
durationMs: Date.now() - startTime,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/** Create a file node for the DFM form file */
|
|
53
|
+
createFileNode() {
|
|
54
|
+
const lines = this.source.split('\n');
|
|
55
|
+
const id = (0, tree_sitter_helpers_1.generateNodeId)(this.filePath, 'file', this.filePath, 1);
|
|
56
|
+
const fileNode = {
|
|
57
|
+
id,
|
|
58
|
+
kind: 'file',
|
|
59
|
+
name: this.filePath.split('/').pop() || this.filePath,
|
|
60
|
+
qualifiedName: this.filePath,
|
|
61
|
+
filePath: this.filePath,
|
|
62
|
+
language: 'pascal',
|
|
63
|
+
startLine: 1,
|
|
64
|
+
endLine: lines.length,
|
|
65
|
+
startColumn: 0,
|
|
66
|
+
endColumn: lines[lines.length - 1]?.length || 0,
|
|
67
|
+
updatedAt: Date.now(),
|
|
68
|
+
};
|
|
69
|
+
this.nodes.push(fileNode);
|
|
70
|
+
return fileNode;
|
|
71
|
+
}
|
|
72
|
+
/** Parse object/end blocks and extract components + event handlers */
|
|
73
|
+
parseComponents(fileNodeId) {
|
|
74
|
+
const lines = this.source.split('\n');
|
|
75
|
+
const stack = [fileNodeId];
|
|
76
|
+
const objectPattern = /^\s*(object|inherited|inline)\s+(\w+)\s*:\s*(\w+)/;
|
|
77
|
+
const eventPattern = /^\s*(On\w+)\s*=\s*(\w+)\s*$/;
|
|
78
|
+
const endPattern = /^\s*end\s*$/;
|
|
79
|
+
const multiLineStart = /=\s*\(\s*$/;
|
|
80
|
+
const multiLineItemStart = /=\s*<\s*$/;
|
|
81
|
+
let inMultiLine = false;
|
|
82
|
+
let multiLineEndChar = ')';
|
|
83
|
+
for (let i = 0; i < lines.length; i++) {
|
|
84
|
+
const line = lines[i];
|
|
85
|
+
const lineNum = i + 1;
|
|
86
|
+
// Skip multi-line properties
|
|
87
|
+
if (inMultiLine) {
|
|
88
|
+
if (line.trimEnd().endsWith(multiLineEndChar))
|
|
89
|
+
inMultiLine = false;
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
if (multiLineStart.test(line)) {
|
|
93
|
+
inMultiLine = true;
|
|
94
|
+
multiLineEndChar = ')';
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
if (multiLineItemStart.test(line)) {
|
|
98
|
+
inMultiLine = true;
|
|
99
|
+
multiLineEndChar = '>';
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
// Component declaration
|
|
103
|
+
const objMatch = line.match(objectPattern);
|
|
104
|
+
if (objMatch) {
|
|
105
|
+
const [, , name, typeName] = objMatch;
|
|
106
|
+
const nodeId = (0, tree_sitter_helpers_1.generateNodeId)(this.filePath, 'component', name, lineNum);
|
|
107
|
+
this.nodes.push({
|
|
108
|
+
id: nodeId,
|
|
109
|
+
kind: 'component',
|
|
110
|
+
name: name,
|
|
111
|
+
qualifiedName: `${this.filePath}#${name}`,
|
|
112
|
+
filePath: this.filePath,
|
|
113
|
+
language: 'pascal',
|
|
114
|
+
startLine: lineNum,
|
|
115
|
+
endLine: lineNum,
|
|
116
|
+
startColumn: 0,
|
|
117
|
+
endColumn: line.length,
|
|
118
|
+
signature: typeName,
|
|
119
|
+
updatedAt: Date.now(),
|
|
120
|
+
});
|
|
121
|
+
this.edges.push({
|
|
122
|
+
source: stack[stack.length - 1],
|
|
123
|
+
target: nodeId,
|
|
124
|
+
kind: 'contains',
|
|
125
|
+
});
|
|
126
|
+
stack.push(nodeId);
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
// Event handler
|
|
130
|
+
const eventMatch = line.match(eventPattern);
|
|
131
|
+
if (eventMatch) {
|
|
132
|
+
const [, , methodName] = eventMatch;
|
|
133
|
+
this.unresolvedReferences.push({
|
|
134
|
+
fromNodeId: stack[stack.length - 1],
|
|
135
|
+
referenceName: methodName,
|
|
136
|
+
referenceKind: 'references',
|
|
137
|
+
line: lineNum,
|
|
138
|
+
column: 0,
|
|
139
|
+
});
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
// Block end
|
|
143
|
+
if (endPattern.test(line)) {
|
|
144
|
+
if (stack.length > 1)
|
|
145
|
+
stack.pop();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
exports.DfmExtractor = DfmExtractor;
|
|
151
|
+
//# sourceMappingURL=dfm-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dfm-extractor.js","sourceRoot":"","sources":["../../src/extraction/dfm-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dynamic import() / require() detection and constant-folding for JS/TS.
|
|
3
|
+
*
|
|
4
|
+
* The JS/TS extractors only recognized STATIC `import ... from '...'`
|
|
5
|
+
* (importTypes: ['import_statement']) — dynamic `import(<expr>)` and
|
|
6
|
+
* CommonJS `require(<expr>)` were invisible, producing false-negative
|
|
7
|
+
* `imports` edges (ADR 0048, Lattice sensor correctness fix b). The oracle
|
|
8
|
+
* shape this exists to solve:
|
|
9
|
+
*
|
|
10
|
+
* import { dirname, join, resolve } from "node:path";
|
|
11
|
+
* export const ROOT = resolve(import.meta.dirname, "..", "..");
|
|
12
|
+
* export const CONTROL_LIB = join(ROOT, "lib", "orchestrate", "control-record.mjs");
|
|
13
|
+
* export const loadControl = () => import(CONTROL_LIB);
|
|
14
|
+
*
|
|
15
|
+
* which requires 3 folding steps: `import.meta.dirname` -> a project-relative
|
|
16
|
+
* dirname, `resolve`/`join` -> path arithmetic, and identifier -> a same-file
|
|
17
|
+
* module-level `const` binding (recursively, since CONTROL_LIB itself refers
|
|
18
|
+
* to ROOT).
|
|
19
|
+
*
|
|
20
|
+
* This module is PURE detection/folding logic — no side effects, no
|
|
21
|
+
* ExtractionContext dependency — so it's usable from (and unit-testable
|
|
22
|
+
* independent of) the core extractor's `extractCall` dispatch, which is the
|
|
23
|
+
* single choke point both AST walkers (the declaration-level `visitNode`
|
|
24
|
+
* ladder AND the function-body-only `visitForCallsAndStructure`) funnel
|
|
25
|
+
* every `call_expression` through. See the call site in tree-sitter.ts for
|
|
26
|
+
* why: a `visitNode`-only hook (the Lua/Ruby `require()` precedent) never
|
|
27
|
+
* fires for a call nested inside a function body — which is exactly where
|
|
28
|
+
* `() => import(CONTROL_LIB)` lives.
|
|
29
|
+
*/
|
|
30
|
+
import type { Node as SyntaxNode } from 'web-tree-sitter';
|
|
31
|
+
/**
|
|
32
|
+
* Sentinel `referenceName` for a dynamic import/require whose argument could
|
|
33
|
+
* NOT be statically folded (a variable, a non-`join`/`resolve` function call,
|
|
34
|
+
* a template literal with substitutions, etc.). Deliberately illegal as both
|
|
35
|
+
* a JS identifier and a file basename (angle brackets, colon) so it can NEVER
|
|
36
|
+
* coincidentally equal a real symbol/import-local name — `hasAnyPossibleMatch`
|
|
37
|
+
* and `matchesAnyImport` in the resolver are both name-equality checks, so an
|
|
38
|
+
* unmatchable sentinel guarantees this never resolves via name-matching into
|
|
39
|
+
* an accidental wrong edge. It is pushed as a normal unresolved reference so
|
|
40
|
+
* it goes through the standard resolve-attempt -> mark `status='failed'`
|
|
41
|
+
* lifecycle (ADR 0048's "no silent fallback" requirement) — a `codegraph
|
|
42
|
+
* status`/`unresolved_refs` query surfaces it exactly like any other
|
|
43
|
+
* unresolvable ref, grouped under this one name.
|
|
44
|
+
*/
|
|
45
|
+
export declare const DYNAMIC_IMPORT_UNRESOLVED_MARKER = "<dynamic-import:unresolved>";
|
|
46
|
+
/** True when `node` is a dynamic `import(...)` call (`function` field is the bare `import` keyword node, not an identifier). */
|
|
47
|
+
export declare function isDynamicImportCall(node: SyntaxNode): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* True when `node` is a bare `require(...)` call. The callee must be a plain
|
|
50
|
+
* `identifier` reading "require" — `x.require(...)` / `foo.require(...)`
|
|
51
|
+
* (a `member_expression` callee) is excluded, matching the Lua precedent's
|
|
52
|
+
* dotted-callee exclusion.
|
|
53
|
+
*/
|
|
54
|
+
export declare function isRequireCall(node: SyntaxNode, source: string): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Attempt to fold the single argument of a dynamic import()/require() call
|
|
57
|
+
* to a constant specifier string. Returns null (folding failure, NOT an
|
|
58
|
+
* error) when the argument isn't statically determinable — a bare variable,
|
|
59
|
+
* a function call other than `join`/`resolve`, a template literal with
|
|
60
|
+
* substitutions, multiple/zero arguments, etc.
|
|
61
|
+
*
|
|
62
|
+
* The returned string is used AS-IS as the `imports` unresolved reference's
|
|
63
|
+
* `referenceName` — a relative literal (`./x.mjs`) resolves through the same
|
|
64
|
+
* relative-specifier path static `import` statements use (Strategy 2,
|
|
65
|
+
* resolveViaImport); a project-relative path produced by `join`/`resolve`
|
|
66
|
+
* arithmetic (`lib/orchestrate/control-record.mjs`) instead lands via
|
|
67
|
+
* Strategy 3's `matchByFilePath` exact `filePath` match. Both are legitimate,
|
|
68
|
+
* pre-existing resolution paths — this function doesn't need to know which
|
|
69
|
+
* one a given result will take.
|
|
70
|
+
*/
|
|
71
|
+
export declare function foldDynamicImportArg(callNode: SyntaxNode, source: string, filePath: string): string | null;
|
|
72
|
+
/**
|
|
73
|
+
* Public entry point into the same constant-folding logic `foldDynamicImportArg`
|
|
74
|
+
* uses, for a single already-selected argument node (no argument-count gating).
|
|
75
|
+
* Reused by spawn-invokes.ts (Lattice sensor correctness fix c/1, ADR 0048) to
|
|
76
|
+
* fold `child_process` spawn/fork target arguments — a `fork(mod, args, opts)`
|
|
77
|
+
* call legitimately takes more than one argument, unlike `import()`/`require()`,
|
|
78
|
+
* so the caller must select the argument node itself rather than going through
|
|
79
|
+
* `foldDynamicImportArg`'s exactly-one-argument gate.
|
|
80
|
+
*/
|
|
81
|
+
export declare function foldConstantExpr(node: SyntaxNode, source: string, filePath: string): string | null;
|
|
82
|
+
//# sourceMappingURL=dynamic-import.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-import.d.ts","sourceRoot":"","sources":["../../src/extraction/dynamic-import.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI1D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gCAAgC,gCAAgC,CAAC;AAK9E,gIAAgI;AAChI,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAI7D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAKvE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,IAAI,CAWf;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAElG"}
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Dynamic import() / require() detection and constant-folding for JS/TS.
|
|
4
|
+
*
|
|
5
|
+
* The JS/TS extractors only recognized STATIC `import ... from '...'`
|
|
6
|
+
* (importTypes: ['import_statement']) — dynamic `import(<expr>)` and
|
|
7
|
+
* CommonJS `require(<expr>)` were invisible, producing false-negative
|
|
8
|
+
* `imports` edges (ADR 0048, Lattice sensor correctness fix b). The oracle
|
|
9
|
+
* shape this exists to solve:
|
|
10
|
+
*
|
|
11
|
+
* import { dirname, join, resolve } from "node:path";
|
|
12
|
+
* export const ROOT = resolve(import.meta.dirname, "..", "..");
|
|
13
|
+
* export const CONTROL_LIB = join(ROOT, "lib", "orchestrate", "control-record.mjs");
|
|
14
|
+
* export const loadControl = () => import(CONTROL_LIB);
|
|
15
|
+
*
|
|
16
|
+
* which requires 3 folding steps: `import.meta.dirname` -> a project-relative
|
|
17
|
+
* dirname, `resolve`/`join` -> path arithmetic, and identifier -> a same-file
|
|
18
|
+
* module-level `const` binding (recursively, since CONTROL_LIB itself refers
|
|
19
|
+
* to ROOT).
|
|
20
|
+
*
|
|
21
|
+
* This module is PURE detection/folding logic — no side effects, no
|
|
22
|
+
* ExtractionContext dependency — so it's usable from (and unit-testable
|
|
23
|
+
* independent of) the core extractor's `extractCall` dispatch, which is the
|
|
24
|
+
* single choke point both AST walkers (the declaration-level `visitNode`
|
|
25
|
+
* ladder AND the function-body-only `visitForCallsAndStructure`) funnel
|
|
26
|
+
* every `call_expression` through. See the call site in tree-sitter.ts for
|
|
27
|
+
* why: a `visitNode`-only hook (the Lua/Ruby `require()` precedent) never
|
|
28
|
+
* fires for a call nested inside a function body — which is exactly where
|
|
29
|
+
* `() => import(CONTROL_LIB)` lives.
|
|
30
|
+
*/
|
|
31
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
32
|
+
if (k2 === undefined) k2 = k;
|
|
33
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
34
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
35
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
36
|
+
}
|
|
37
|
+
Object.defineProperty(o, k2, desc);
|
|
38
|
+
}) : (function(o, m, k, k2) {
|
|
39
|
+
if (k2 === undefined) k2 = k;
|
|
40
|
+
o[k2] = m[k];
|
|
41
|
+
}));
|
|
42
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
43
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
44
|
+
}) : function(o, v) {
|
|
45
|
+
o["default"] = v;
|
|
46
|
+
});
|
|
47
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
48
|
+
var ownKeys = function(o) {
|
|
49
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
50
|
+
var ar = [];
|
|
51
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
52
|
+
return ar;
|
|
53
|
+
};
|
|
54
|
+
return ownKeys(o);
|
|
55
|
+
};
|
|
56
|
+
return function (mod) {
|
|
57
|
+
if (mod && mod.__esModule) return mod;
|
|
58
|
+
var result = {};
|
|
59
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
60
|
+
__setModuleDefault(result, mod);
|
|
61
|
+
return result;
|
|
62
|
+
};
|
|
63
|
+
})();
|
|
64
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
65
|
+
exports.DYNAMIC_IMPORT_UNRESOLVED_MARKER = void 0;
|
|
66
|
+
exports.isDynamicImportCall = isDynamicImportCall;
|
|
67
|
+
exports.isRequireCall = isRequireCall;
|
|
68
|
+
exports.foldDynamicImportArg = foldDynamicImportArg;
|
|
69
|
+
exports.foldConstantExpr = foldConstantExpr;
|
|
70
|
+
const posixPath = __importStar(require("path"));
|
|
71
|
+
const tree_sitter_helpers_1 = require("./tree-sitter-helpers");
|
|
72
|
+
/**
|
|
73
|
+
* Sentinel `referenceName` for a dynamic import/require whose argument could
|
|
74
|
+
* NOT be statically folded (a variable, a non-`join`/`resolve` function call,
|
|
75
|
+
* a template literal with substitutions, etc.). Deliberately illegal as both
|
|
76
|
+
* a JS identifier and a file basename (angle brackets, colon) so it can NEVER
|
|
77
|
+
* coincidentally equal a real symbol/import-local name — `hasAnyPossibleMatch`
|
|
78
|
+
* and `matchesAnyImport` in the resolver are both name-equality checks, so an
|
|
79
|
+
* unmatchable sentinel guarantees this never resolves via name-matching into
|
|
80
|
+
* an accidental wrong edge. It is pushed as a normal unresolved reference so
|
|
81
|
+
* it goes through the standard resolve-attempt -> mark `status='failed'`
|
|
82
|
+
* lifecycle (ADR 0048's "no silent fallback" requirement) — a `codegraph
|
|
83
|
+
* status`/`unresolved_refs` query surfaces it exactly like any other
|
|
84
|
+
* unresolvable ref, grouped under this one name.
|
|
85
|
+
*/
|
|
86
|
+
exports.DYNAMIC_IMPORT_UNRESOLVED_MARKER = '<dynamic-import:unresolved>';
|
|
87
|
+
/** Recursion/cycle guard for identifier -> const-initializer folding. */
|
|
88
|
+
const MAX_FOLD_DEPTH = 8;
|
|
89
|
+
/** True when `node` is a dynamic `import(...)` call (`function` field is the bare `import` keyword node, not an identifier). */
|
|
90
|
+
function isDynamicImportCall(node) {
|
|
91
|
+
if (node.type !== 'call_expression')
|
|
92
|
+
return false;
|
|
93
|
+
const fn = (0, tree_sitter_helpers_1.getChildByField)(node, 'function');
|
|
94
|
+
return fn?.type === 'import';
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* True when `node` is a bare `require(...)` call. The callee must be a plain
|
|
98
|
+
* `identifier` reading "require" — `x.require(...)` / `foo.require(...)`
|
|
99
|
+
* (a `member_expression` callee) is excluded, matching the Lua precedent's
|
|
100
|
+
* dotted-callee exclusion.
|
|
101
|
+
*/
|
|
102
|
+
function isRequireCall(node, source) {
|
|
103
|
+
if (node.type !== 'call_expression')
|
|
104
|
+
return false;
|
|
105
|
+
const fn = (0, tree_sitter_helpers_1.getChildByField)(node, 'function');
|
|
106
|
+
if (!fn || fn.type !== 'identifier')
|
|
107
|
+
return false;
|
|
108
|
+
return (0, tree_sitter_helpers_1.getNodeText)(fn, source) === 'require';
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Attempt to fold the single argument of a dynamic import()/require() call
|
|
112
|
+
* to a constant specifier string. Returns null (folding failure, NOT an
|
|
113
|
+
* error) when the argument isn't statically determinable — a bare variable,
|
|
114
|
+
* a function call other than `join`/`resolve`, a template literal with
|
|
115
|
+
* substitutions, multiple/zero arguments, etc.
|
|
116
|
+
*
|
|
117
|
+
* The returned string is used AS-IS as the `imports` unresolved reference's
|
|
118
|
+
* `referenceName` — a relative literal (`./x.mjs`) resolves through the same
|
|
119
|
+
* relative-specifier path static `import` statements use (Strategy 2,
|
|
120
|
+
* resolveViaImport); a project-relative path produced by `join`/`resolve`
|
|
121
|
+
* arithmetic (`lib/orchestrate/control-record.mjs`) instead lands via
|
|
122
|
+
* Strategy 3's `matchByFilePath` exact `filePath` match. Both are legitimate,
|
|
123
|
+
* pre-existing resolution paths — this function doesn't need to know which
|
|
124
|
+
* one a given result will take.
|
|
125
|
+
*/
|
|
126
|
+
function foldDynamicImportArg(callNode, source, filePath) {
|
|
127
|
+
const argsNode = (0, tree_sitter_helpers_1.getChildByField)(callNode, 'arguments');
|
|
128
|
+
if (!argsNode)
|
|
129
|
+
return null;
|
|
130
|
+
const args = argsNode.namedChildren.filter((n) => !!n);
|
|
131
|
+
// A dynamic import/require legitimately takes exactly one argument. Zero
|
|
132
|
+
// or multiple (e.g. a webpack magic-comment second arg, which parses as a
|
|
133
|
+
// comment, not a real 2nd arg, so this is effectively "not exactly one
|
|
134
|
+
// real argument") is outside what we can safely fold — bail rather than
|
|
135
|
+
// guess which argument matters.
|
|
136
|
+
if (args.length !== 1)
|
|
137
|
+
return null;
|
|
138
|
+
return foldExpr(args[0], source, filePath, 0, new Set());
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Public entry point into the same constant-folding logic `foldDynamicImportArg`
|
|
142
|
+
* uses, for a single already-selected argument node (no argument-count gating).
|
|
143
|
+
* Reused by spawn-invokes.ts (Lattice sensor correctness fix c/1, ADR 0048) to
|
|
144
|
+
* fold `child_process` spawn/fork target arguments — a `fork(mod, args, opts)`
|
|
145
|
+
* call legitimately takes more than one argument, unlike `import()`/`require()`,
|
|
146
|
+
* so the caller must select the argument node itself rather than going through
|
|
147
|
+
* `foldDynamicImportArg`'s exactly-one-argument gate.
|
|
148
|
+
*/
|
|
149
|
+
function foldConstantExpr(node, source, filePath) {
|
|
150
|
+
return foldExpr(node, source, filePath, 0, new Set());
|
|
151
|
+
}
|
|
152
|
+
function foldExpr(node, source, filePath, depth, visitedIdentifiers) {
|
|
153
|
+
if (depth > MAX_FOLD_DEPTH)
|
|
154
|
+
return null;
|
|
155
|
+
switch (node.type) {
|
|
156
|
+
case 'string': {
|
|
157
|
+
// `string > string_fragment` gives the bare content, sidestepping
|
|
158
|
+
// quote-char stripping/escaping edge cases (mirrors lua.ts's
|
|
159
|
+
// requireModule, which reads string_content the same way).
|
|
160
|
+
const fragment = node.namedChildren.find((c) => c?.type === 'string_fragment');
|
|
161
|
+
return fragment ? (0, tree_sitter_helpers_1.getNodeText)(fragment, source) : '';
|
|
162
|
+
}
|
|
163
|
+
case 'template_string': {
|
|
164
|
+
// Fold ONLY when every named child is a plain string_fragment — a
|
|
165
|
+
// `template_substitution` (`${expr}`) OR any other child (e.g. an
|
|
166
|
+
// `escape_sequence`) makes the literal's runtime value unknowable
|
|
167
|
+
// from source text alone, so bail rather than approximate.
|
|
168
|
+
const parts = [];
|
|
169
|
+
for (const child of node.namedChildren) {
|
|
170
|
+
if (!child)
|
|
171
|
+
continue;
|
|
172
|
+
if (child.type !== 'string_fragment')
|
|
173
|
+
return null;
|
|
174
|
+
parts.push((0, tree_sitter_helpers_1.getNodeText)(child, source));
|
|
175
|
+
}
|
|
176
|
+
return parts.join('');
|
|
177
|
+
}
|
|
178
|
+
case 'identifier': {
|
|
179
|
+
const name = (0, tree_sitter_helpers_1.getNodeText)(node, source);
|
|
180
|
+
if (name === '__dirname')
|
|
181
|
+
return projectRelativeDirname(filePath);
|
|
182
|
+
if (visitedIdentifiers.has(name))
|
|
183
|
+
return null; // cycle guard (A = B, B = A)
|
|
184
|
+
const initializer = findModuleLevelConstInitializer(node, name, source);
|
|
185
|
+
if (!initializer)
|
|
186
|
+
return null;
|
|
187
|
+
return foldExpr(initializer, source, filePath, depth + 1, new Set([...visitedIdentifiers, name]));
|
|
188
|
+
}
|
|
189
|
+
case 'member_expression': {
|
|
190
|
+
// `import.meta.dirname` — the ONLY member_expression shape this folds.
|
|
191
|
+
// tree-sitter-javascript parses `import.meta` as a single `meta_property`
|
|
192
|
+
// node (not a nested member_expression), so this is a one-level check.
|
|
193
|
+
const object = (0, tree_sitter_helpers_1.getChildByField)(node, 'object');
|
|
194
|
+
const property = (0, tree_sitter_helpers_1.getChildByField)(node, 'property');
|
|
195
|
+
if (object?.type === 'meta_property' &&
|
|
196
|
+
(0, tree_sitter_helpers_1.getNodeText)(object, source) === 'import.meta' &&
|
|
197
|
+
property &&
|
|
198
|
+
(0, tree_sitter_helpers_1.getNodeText)(property, source) === 'dirname') {
|
|
199
|
+
return projectRelativeDirname(filePath);
|
|
200
|
+
}
|
|
201
|
+
return null;
|
|
202
|
+
}
|
|
203
|
+
case 'call_expression': {
|
|
204
|
+
// Bare `join(...)`/`resolve(...)` OR a member form (`path.join(...)`,
|
|
205
|
+
// `nodePath.resolve(...)`) — the receiver identifier is intentionally
|
|
206
|
+
// unchecked (spec: "裸 or path.join / path.resolve member 形"), only
|
|
207
|
+
// the invoked method name matters.
|
|
208
|
+
const fn = (0, tree_sitter_helpers_1.getChildByField)(node, 'function');
|
|
209
|
+
const argsNode = (0, tree_sitter_helpers_1.getChildByField)(node, 'arguments');
|
|
210
|
+
if (!fn || !argsNode)
|
|
211
|
+
return null;
|
|
212
|
+
let methodName = null;
|
|
213
|
+
if (fn.type === 'identifier') {
|
|
214
|
+
methodName = (0, tree_sitter_helpers_1.getNodeText)(fn, source);
|
|
215
|
+
}
|
|
216
|
+
else if (fn.type === 'member_expression') {
|
|
217
|
+
const property = (0, tree_sitter_helpers_1.getChildByField)(fn, 'property');
|
|
218
|
+
methodName = property ? (0, tree_sitter_helpers_1.getNodeText)(property, source) : null;
|
|
219
|
+
}
|
|
220
|
+
if (methodName !== 'join' && methodName !== 'resolve')
|
|
221
|
+
return null;
|
|
222
|
+
const parts = [];
|
|
223
|
+
for (const arg of argsNode.namedChildren) {
|
|
224
|
+
if (!arg)
|
|
225
|
+
continue;
|
|
226
|
+
const folded = foldExpr(arg, source, filePath, depth + 1, visitedIdentifiers);
|
|
227
|
+
if (folded === null)
|
|
228
|
+
return null;
|
|
229
|
+
parts.push(folded);
|
|
230
|
+
}
|
|
231
|
+
return foldJoinResolve(parts);
|
|
232
|
+
}
|
|
233
|
+
case 'parenthesized_expression': {
|
|
234
|
+
// `(CONTROL_LIB)` — unwrap defensively; harmless if the grammar never
|
|
235
|
+
// actually nests one here for our shapes.
|
|
236
|
+
const inner = node.namedChildren.find((c) => !!c);
|
|
237
|
+
return inner ? foldExpr(inner, source, filePath, depth + 1, visitedIdentifiers) : null;
|
|
238
|
+
}
|
|
239
|
+
default:
|
|
240
|
+
// Function calls other than join/resolve, binary expressions
|
|
241
|
+
// (`'./y' + 'z'`), member access on anything else, etc. — not
|
|
242
|
+
// statically foldable. Folding failure, not an error.
|
|
243
|
+
return null;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Find a module-level (top-of-file) `const NAME = <expr>` declarator's
|
|
248
|
+
* initializer, honouring an `export` wrapper. Deliberately scoped to
|
|
249
|
+
* Program's direct children only (not nested inside functions/blocks) —
|
|
250
|
+
* matches the spec's "module-level const" requirement. `let`/`var` are
|
|
251
|
+
* excluded (spec: "再代入されうる let/var は畳まない") since they can be
|
|
252
|
+
* reassigned and the declaration-site value is not necessarily the
|
|
253
|
+
* call-site value.
|
|
254
|
+
*/
|
|
255
|
+
function findModuleLevelConstInitializer(anyNodeInTree, name, source) {
|
|
256
|
+
const root = anyNodeInTree.tree.rootNode;
|
|
257
|
+
for (let i = 0; i < root.namedChildCount; i++) {
|
|
258
|
+
let decl = root.namedChild(i);
|
|
259
|
+
if (!decl)
|
|
260
|
+
continue;
|
|
261
|
+
if (decl.type === 'export_statement') {
|
|
262
|
+
const inner = (0, tree_sitter_helpers_1.getChildByField)(decl, 'declaration');
|
|
263
|
+
if (inner)
|
|
264
|
+
decl = inner;
|
|
265
|
+
}
|
|
266
|
+
if (decl.type !== 'lexical_declaration')
|
|
267
|
+
continue;
|
|
268
|
+
const kindNode = (0, tree_sitter_helpers_1.getChildByField)(decl, 'kind');
|
|
269
|
+
if (kindNode?.type !== 'const')
|
|
270
|
+
continue;
|
|
271
|
+
for (let j = 0; j < decl.namedChildCount; j++) {
|
|
272
|
+
const declarator = decl.namedChild(j);
|
|
273
|
+
if (declarator?.type !== 'variable_declarator')
|
|
274
|
+
continue;
|
|
275
|
+
const nameNode = (0, tree_sitter_helpers_1.getChildByField)(declarator, 'name');
|
|
276
|
+
if (nameNode && (0, tree_sitter_helpers_1.getNodeText)(nameNode, source) === name) {
|
|
277
|
+
return (0, tree_sitter_helpers_1.getChildByField)(declarator, 'value');
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
return null;
|
|
282
|
+
}
|
|
283
|
+
/** Project-relative dirname of `filePath` (posix, root as `''` not `'.'`). */
|
|
284
|
+
function projectRelativeDirname(filePath) {
|
|
285
|
+
const dir = posixPath.posix.dirname(filePath.replace(/\\/g, '/'));
|
|
286
|
+
return dir === '.' ? '' : dir;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Fold `join`/`resolve` arguments into one project-relative path. Both are
|
|
290
|
+
* treated identically — we operate purely in project-relative "pseudo-
|
|
291
|
+
* absolute" path space (there's no real filesystem CWD at extraction time),
|
|
292
|
+
* so `resolve`'s "absolute result" semantics and `join`'s "relative to first
|
|
293
|
+
* arg" semantics collapse to the same segment-join-and-normalize arithmetic.
|
|
294
|
+
* `..` is resolved (per spec); a result that escapes the project root is a
|
|
295
|
+
* folding failure — we can't represent "outside the project" as a valid
|
|
296
|
+
* project-relative file path, and guessing would risk a wrong edge.
|
|
297
|
+
*/
|
|
298
|
+
function foldJoinResolve(parts) {
|
|
299
|
+
let result = parts[0] ?? '';
|
|
300
|
+
for (let i = 1; i < parts.length; i++) {
|
|
301
|
+
const part = parts[i];
|
|
302
|
+
// A real filesystem-absolute segment (rare in this idiom, and not
|
|
303
|
+
// something we can map into project-relative space) — bail.
|
|
304
|
+
if (part.startsWith('/'))
|
|
305
|
+
return null;
|
|
306
|
+
result = result ? `${result}/${part}` : part;
|
|
307
|
+
}
|
|
308
|
+
const normalized = posixPath.posix.normalize(result);
|
|
309
|
+
if (normalized === '..' || normalized.startsWith('../'))
|
|
310
|
+
return null;
|
|
311
|
+
return normalized === '.' ? '' : normalized;
|
|
312
|
+
}
|
|
313
|
+
//# sourceMappingURL=dynamic-import.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-import.js","sourceRoot":"","sources":["../../src/extraction/dynamic-import.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extraction version
|
|
3
|
+
*
|
|
4
|
+
* A monotonically-increasing integer that identifies the *shape and depth* of
|
|
5
|
+
* what the extractor writes into the graph. Unlike `CURRENT_SCHEMA_VERSION`
|
|
6
|
+
* (which tracks the SQLite table layout and is migrated in place), this tracks
|
|
7
|
+
* the EXTRACTED CONTENT — node kinds, edges, synthesizers, resolver coverage.
|
|
8
|
+
*
|
|
9
|
+
* When an index was built by an older engine whose `EXTRACTION_VERSION` is
|
|
10
|
+
* below the running engine's, the data on disk is structurally fine but
|
|
11
|
+
* *stale*: it's missing whatever a newer extractor would now produce. A schema
|
|
12
|
+
* migration can't backfill that — only a re-index can. So this is the signal
|
|
13
|
+
* `codegraph status` uses to recommend a re-index, and the reason `codegraph
|
|
14
|
+
* upgrade` reminds users to refresh their projects.
|
|
15
|
+
*
|
|
16
|
+
* BUMP THIS when a release changes extraction output enough that existing
|
|
17
|
+
* indexes should be rebuilt to benefit — e.g. a new language/framework
|
|
18
|
+
* extractor, a new dynamic-dispatch synthesizer, a new node/edge kind, or a
|
|
19
|
+
* resolver fix that materially changes which edges exist. Do NOT bump for
|
|
20
|
+
* pure bug fixes, CLI/UX changes, or schema-only migrations. Over-bumping
|
|
21
|
+
* turns the re-index hint into noise — keep it honest (see CLAUDE.md, "Honesty
|
|
22
|
+
* in the product is load-bearing").
|
|
23
|
+
*/
|
|
24
|
+
export declare const EXTRACTION_VERSION = 24;
|
|
25
|
+
//# sourceMappingURL=extraction-version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extraction-version.d.ts","sourceRoot":"","sources":["../../src/extraction/extraction-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EXTRACTION_VERSION = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Extraction version
|
|
6
|
+
*
|
|
7
|
+
* A monotonically-increasing integer that identifies the *shape and depth* of
|
|
8
|
+
* what the extractor writes into the graph. Unlike `CURRENT_SCHEMA_VERSION`
|
|
9
|
+
* (which tracks the SQLite table layout and is migrated in place), this tracks
|
|
10
|
+
* the EXTRACTED CONTENT — node kinds, edges, synthesizers, resolver coverage.
|
|
11
|
+
*
|
|
12
|
+
* When an index was built by an older engine whose `EXTRACTION_VERSION` is
|
|
13
|
+
* below the running engine's, the data on disk is structurally fine but
|
|
14
|
+
* *stale*: it's missing whatever a newer extractor would now produce. A schema
|
|
15
|
+
* migration can't backfill that — only a re-index can. So this is the signal
|
|
16
|
+
* `codegraph status` uses to recommend a re-index, and the reason `codegraph
|
|
17
|
+
* upgrade` reminds users to refresh their projects.
|
|
18
|
+
*
|
|
19
|
+
* BUMP THIS when a release changes extraction output enough that existing
|
|
20
|
+
* indexes should be rebuilt to benefit — e.g. a new language/framework
|
|
21
|
+
* extractor, a new dynamic-dispatch synthesizer, a new node/edge kind, or a
|
|
22
|
+
* resolver fix that materially changes which edges exist. Do NOT bump for
|
|
23
|
+
* pure bug fixes, CLI/UX changes, or schema-only migrations. Over-bumping
|
|
24
|
+
* turns the re-index hint into noise — keep it honest (see CLAUDE.md, "Honesty
|
|
25
|
+
* in the product is load-bearing").
|
|
26
|
+
*/
|
|
27
|
+
exports.EXTRACTION_VERSION = 24;
|
|
28
|
+
//# sourceMappingURL=extraction-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extraction-version.js","sourceRoot":"","sources":["../../src/extraction/extraction-version.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACU,QAAA,kBAAkB,GAAG,EAAE,CAAC"}
|