@saluzi/codegraph 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/codegraph.d.ts +26 -0
- package/dist/bin/codegraph.d.ts.map +1 -0
- package/dist/bin/codegraph.js +2248 -0
- package/dist/bin/codegraph.js.map +1 -0
- package/dist/bin/command-supervision.d.ts +49 -0
- package/dist/bin/command-supervision.d.ts.map +1 -0
- package/dist/bin/command-supervision.js +95 -0
- package/dist/bin/command-supervision.js.map +1 -0
- package/dist/bin/fatal-handler.d.ts +20 -0
- package/dist/bin/fatal-handler.d.ts.map +1 -0
- package/dist/bin/fatal-handler.js +118 -0
- package/dist/bin/fatal-handler.js.map +1 -0
- package/dist/bin/node-version-check.d.ts +37 -0
- package/dist/bin/node-version-check.d.ts.map +1 -0
- package/dist/bin/node-version-check.js +79 -0
- package/dist/bin/node-version-check.js.map +1 -0
- package/dist/bin/uninstall.d.ts +14 -0
- package/dist/bin/uninstall.d.ts.map +1 -0
- package/dist/bin/uninstall.js +36 -0
- package/dist/bin/uninstall.js.map +1 -0
- package/dist/context/formatter.d.ts +30 -0
- package/dist/context/formatter.d.ts.map +1 -0
- package/dist/context/formatter.js +263 -0
- package/dist/context/formatter.js.map +1 -0
- package/dist/context/index.d.ts +119 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +1296 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/markers.d.ts +19 -0
- package/dist/context/markers.d.ts.map +1 -0
- package/dist/context/markers.js +22 -0
- package/dist/context/markers.js.map +1 -0
- package/dist/db/index.d.ts +201 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +493 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/migrations.d.ts +44 -0
- package/dist/db/migrations.d.ts.map +1 -0
- package/dist/db/migrations.js +212 -0
- package/dist/db/migrations.js.map +1 -0
- package/dist/db/queries.d.ts +513 -0
- package/dist/db/queries.d.ts.map +1 -0
- package/dist/db/queries.js +1886 -0
- package/dist/db/queries.js.map +1 -0
- package/dist/db/schema.sql +194 -0
- package/dist/db/sqlite-adapter.d.ts +53 -0
- package/dist/db/sqlite-adapter.d.ts.map +1 -0
- package/dist/db/sqlite-adapter.js +117 -0
- package/dist/db/sqlite-adapter.js.map +1 -0
- package/dist/db/wal-valve.d.ts +106 -0
- package/dist/db/wal-valve.d.ts.map +1 -0
- package/dist/db/wal-valve.js +208 -0
- package/dist/db/wal-valve.js.map +1 -0
- package/dist/directory.d.ts +183 -0
- package/dist/directory.d.ts.map +1 -0
- package/dist/directory.js +797 -0
- package/dist/directory.js.map +1 -0
- package/dist/errors.d.ts +136 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +219 -0
- package/dist/errors.js.map +1 -0
- package/dist/extraction/astro-extractor.d.ts +79 -0
- package/dist/extraction/astro-extractor.d.ts.map +1 -0
- package/dist/extraction/astro-extractor.js +320 -0
- package/dist/extraction/astro-extractor.js.map +1 -0
- package/dist/extraction/cfml-extractor.d.ts +107 -0
- package/dist/extraction/cfml-extractor.d.ts.map +1 -0
- package/dist/extraction/cfml-extractor.js +494 -0
- package/dist/extraction/cfml-extractor.js.map +1 -0
- package/dist/extraction/dfm-extractor.d.ts +31 -0
- package/dist/extraction/dfm-extractor.d.ts.map +1 -0
- package/dist/extraction/dfm-extractor.js +151 -0
- package/dist/extraction/dfm-extractor.js.map +1 -0
- package/dist/extraction/extraction-version.d.ts +25 -0
- package/dist/extraction/extraction-version.d.ts.map +1 -0
- package/dist/extraction/extraction-version.js +28 -0
- package/dist/extraction/extraction-version.js.map +1 -0
- package/dist/extraction/function-ref.d.ts +118 -0
- package/dist/extraction/function-ref.d.ts.map +1 -0
- package/dist/extraction/function-ref.js +727 -0
- package/dist/extraction/function-ref.js.map +1 -0
- package/dist/extraction/generated-detection.d.ts +30 -0
- package/dist/extraction/generated-detection.d.ts.map +1 -0
- package/dist/extraction/generated-detection.js +83 -0
- package/dist/extraction/generated-detection.js.map +1 -0
- package/dist/extraction/grammars.d.ts +138 -0
- package/dist/extraction/grammars.d.ts.map +1 -0
- package/dist/extraction/grammars.js +631 -0
- package/dist/extraction/grammars.js.map +1 -0
- package/dist/extraction/index.d.ts +232 -0
- package/dist/extraction/index.d.ts.map +1 -0
- package/dist/extraction/index.js +2409 -0
- package/dist/extraction/index.js.map +1 -0
- package/dist/extraction/languages/arkts.d.ts +3 -0
- package/dist/extraction/languages/arkts.d.ts.map +1 -0
- package/dist/extraction/languages/arkts.js +127 -0
- package/dist/extraction/languages/arkts.js.map +1 -0
- package/dist/extraction/languages/c-cpp.d.ts +110 -0
- package/dist/extraction/languages/c-cpp.d.ts.map +1 -0
- package/dist/extraction/languages/c-cpp.js +837 -0
- package/dist/extraction/languages/c-cpp.js.map +1 -0
- package/dist/extraction/languages/cfquery.d.ts +12 -0
- package/dist/extraction/languages/cfquery.d.ts.map +1 -0
- package/dist/extraction/languages/cfquery.js +28 -0
- package/dist/extraction/languages/cfquery.js.map +1 -0
- package/dist/extraction/languages/cfscript.d.ts +3 -0
- package/dist/extraction/languages/cfscript.d.ts.map +1 -0
- package/dist/extraction/languages/cfscript.js +73 -0
- package/dist/extraction/languages/cfscript.js.map +1 -0
- package/dist/extraction/languages/cobol.d.ts +33 -0
- package/dist/extraction/languages/cobol.d.ts.map +1 -0
- package/dist/extraction/languages/cobol.js +499 -0
- package/dist/extraction/languages/cobol.js.map +1 -0
- package/dist/extraction/languages/csharp.d.ts +25 -0
- package/dist/extraction/languages/csharp.d.ts.map +1 -0
- package/dist/extraction/languages/csharp.js +175 -0
- package/dist/extraction/languages/csharp.js.map +1 -0
- package/dist/extraction/languages/dart.d.ts +3 -0
- package/dist/extraction/languages/dart.d.ts.map +1 -0
- package/dist/extraction/languages/dart.js +374 -0
- package/dist/extraction/languages/dart.js.map +1 -0
- package/dist/extraction/languages/erlang.d.ts +3 -0
- package/dist/extraction/languages/erlang.d.ts.map +1 -0
- package/dist/extraction/languages/erlang.js +350 -0
- package/dist/extraction/languages/erlang.js.map +1 -0
- package/dist/extraction/languages/go.d.ts +3 -0
- package/dist/extraction/languages/go.d.ts.map +1 -0
- package/dist/extraction/languages/go.js +111 -0
- package/dist/extraction/languages/go.js.map +1 -0
- package/dist/extraction/languages/index.d.ts +10 -0
- package/dist/extraction/languages/index.d.ts.map +1 -0
- package/dist/extraction/languages/index.js +71 -0
- package/dist/extraction/languages/index.js.map +1 -0
- package/dist/extraction/languages/java.d.ts +3 -0
- package/dist/extraction/languages/java.d.ts.map +1 -0
- package/dist/extraction/languages/java.js +315 -0
- package/dist/extraction/languages/java.js.map +1 -0
- package/dist/extraction/languages/javascript.d.ts +3 -0
- package/dist/extraction/languages/javascript.d.ts.map +1 -0
- package/dist/extraction/languages/javascript.js +106 -0
- package/dist/extraction/languages/javascript.js.map +1 -0
- package/dist/extraction/languages/kotlin.d.ts +3 -0
- package/dist/extraction/languages/kotlin.d.ts.map +1 -0
- package/dist/extraction/languages/kotlin.js +379 -0
- package/dist/extraction/languages/kotlin.js.map +1 -0
- package/dist/extraction/languages/lua.d.ts +3 -0
- package/dist/extraction/languages/lua.d.ts.map +1 -0
- package/dist/extraction/languages/lua.js +150 -0
- package/dist/extraction/languages/lua.js.map +1 -0
- package/dist/extraction/languages/luau.d.ts +3 -0
- package/dist/extraction/languages/luau.d.ts.map +1 -0
- package/dist/extraction/languages/luau.js +37 -0
- package/dist/extraction/languages/luau.js.map +1 -0
- package/dist/extraction/languages/nix.d.ts +3 -0
- package/dist/extraction/languages/nix.d.ts.map +1 -0
- package/dist/extraction/languages/nix.js +294 -0
- package/dist/extraction/languages/nix.js.map +1 -0
- package/dist/extraction/languages/objc.d.ts +3 -0
- package/dist/extraction/languages/objc.d.ts.map +1 -0
- package/dist/extraction/languages/objc.js +175 -0
- package/dist/extraction/languages/objc.js.map +1 -0
- package/dist/extraction/languages/pascal.d.ts +3 -0
- package/dist/extraction/languages/pascal.d.ts.map +1 -0
- package/dist/extraction/languages/pascal.js +77 -0
- package/dist/extraction/languages/pascal.js.map +1 -0
- package/dist/extraction/languages/php.d.ts +3 -0
- package/dist/extraction/languages/php.d.ts.map +1 -0
- package/dist/extraction/languages/php.js +196 -0
- package/dist/extraction/languages/php.js.map +1 -0
- package/dist/extraction/languages/python.d.ts +3 -0
- package/dist/extraction/languages/python.d.ts.map +1 -0
- package/dist/extraction/languages/python.js +56 -0
- package/dist/extraction/languages/python.js.map +1 -0
- package/dist/extraction/languages/r.d.ts +3 -0
- package/dist/extraction/languages/r.d.ts.map +1 -0
- package/dist/extraction/languages/r.js +314 -0
- package/dist/extraction/languages/r.js.map +1 -0
- package/dist/extraction/languages/ruby.d.ts +3 -0
- package/dist/extraction/languages/ruby.d.ts.map +1 -0
- package/dist/extraction/languages/ruby.js +149 -0
- package/dist/extraction/languages/ruby.js.map +1 -0
- package/dist/extraction/languages/rust.d.ts +3 -0
- package/dist/extraction/languages/rust.d.ts.map +1 -0
- package/dist/extraction/languages/rust.js +142 -0
- package/dist/extraction/languages/rust.js.map +1 -0
- package/dist/extraction/languages/scala.d.ts +3 -0
- package/dist/extraction/languages/scala.d.ts.map +1 -0
- package/dist/extraction/languages/scala.js +209 -0
- package/dist/extraction/languages/scala.js.map +1 -0
- package/dist/extraction/languages/solidity.d.ts +3 -0
- package/dist/extraction/languages/solidity.d.ts.map +1 -0
- package/dist/extraction/languages/solidity.js +293 -0
- package/dist/extraction/languages/solidity.js.map +1 -0
- package/dist/extraction/languages/swift.d.ts +3 -0
- package/dist/extraction/languages/swift.d.ts.map +1 -0
- package/dist/extraction/languages/swift.js +152 -0
- package/dist/extraction/languages/swift.js.map +1 -0
- package/dist/extraction/languages/terraform.d.ts +3 -0
- package/dist/extraction/languages/terraform.d.ts.map +1 -0
- package/dist/extraction/languages/terraform.js +641 -0
- package/dist/extraction/languages/terraform.js.map +1 -0
- package/dist/extraction/languages/typescript.d.ts +16 -0
- package/dist/extraction/languages/typescript.d.ts.map +1 -0
- package/dist/extraction/languages/typescript.js +167 -0
- package/dist/extraction/languages/typescript.js.map +1 -0
- package/dist/extraction/languages/vbnet.d.ts +11 -0
- package/dist/extraction/languages/vbnet.d.ts.map +1 -0
- package/dist/extraction/languages/vbnet.js +141 -0
- package/dist/extraction/languages/vbnet.js.map +1 -0
- package/dist/extraction/liquid-extractor.d.ts +59 -0
- package/dist/extraction/liquid-extractor.d.ts.map +1 -0
- package/dist/extraction/liquid-extractor.js +357 -0
- package/dist/extraction/liquid-extractor.js.map +1 -0
- package/dist/extraction/mybatis-extractor.d.ts +68 -0
- package/dist/extraction/mybatis-extractor.d.ts.map +1 -0
- package/dist/extraction/mybatis-extractor.js +300 -0
- package/dist/extraction/mybatis-extractor.js.map +1 -0
- package/dist/extraction/parse-pool.d.ts +152 -0
- package/dist/extraction/parse-pool.d.ts.map +1 -0
- package/dist/extraction/parse-pool.js +387 -0
- package/dist/extraction/parse-pool.js.map +1 -0
- package/dist/extraction/parse-worker.d.ts +8 -0
- package/dist/extraction/parse-worker.d.ts.map +1 -0
- package/dist/extraction/parse-worker.js +104 -0
- package/dist/extraction/parse-worker.js.map +1 -0
- package/dist/extraction/razor-extractor.d.ts +42 -0
- package/dist/extraction/razor-extractor.d.ts.map +1 -0
- package/dist/extraction/razor-extractor.js +285 -0
- package/dist/extraction/razor-extractor.js.map +1 -0
- package/dist/extraction/svelte-extractor.d.ts +56 -0
- package/dist/extraction/svelte-extractor.d.ts.map +1 -0
- package/dist/extraction/svelte-extractor.js +275 -0
- package/dist/extraction/svelte-extractor.js.map +1 -0
- package/dist/extraction/tree-sitter-helpers.d.ts +28 -0
- package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
- package/dist/extraction/tree-sitter-helpers.js +153 -0
- package/dist/extraction/tree-sitter-helpers.js.map +1 -0
- package/dist/extraction/tree-sitter-types.d.ts +258 -0
- package/dist/extraction/tree-sitter-types.d.ts.map +1 -0
- package/dist/extraction/tree-sitter-types.js +10 -0
- package/dist/extraction/tree-sitter-types.js.map +1 -0
- package/dist/extraction/tree-sitter.d.ts +706 -0
- package/dist/extraction/tree-sitter.d.ts.map +1 -0
- package/dist/extraction/tree-sitter.js +6506 -0
- package/dist/extraction/tree-sitter.js.map +1 -0
- package/dist/extraction/vue-extractor.d.ts +51 -0
- package/dist/extraction/vue-extractor.d.ts.map +1 -0
- package/dist/extraction/vue-extractor.js +254 -0
- package/dist/extraction/vue-extractor.js.map +1 -0
- package/dist/extraction/wasm/tree-sitter-arkts.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-c_sharp.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-cfml.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-cfquery.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-cfscript.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-cobol.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-erlang.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-nix.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-terraform.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-vbnet.wasm +0 -0
- package/dist/extraction/wasm-runtime-flags.d.ts +38 -0
- package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -0
- package/dist/extraction/wasm-runtime-flags.js +106 -0
- package/dist/extraction/wasm-runtime-flags.js.map +1 -0
- package/dist/graph/index.d.ts +8 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +13 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/queries.d.ts +106 -0
- package/dist/graph/queries.d.ts.map +1 -0
- package/dist/graph/queries.js +339 -0
- package/dist/graph/queries.js.map +1 -0
- package/dist/graph/traversal.d.ts +127 -0
- package/dist/graph/traversal.d.ts.map +1 -0
- package/dist/graph/traversal.js +599 -0
- package/dist/graph/traversal.js.map +1 -0
- package/dist/index.d.ts +643 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1491 -0
- package/dist/index.js.map +1 -0
- package/dist/installer/config-writer.d.ts +28 -0
- package/dist/installer/config-writer.d.ts.map +1 -0
- package/dist/installer/config-writer.js +91 -0
- package/dist/installer/config-writer.js.map +1 -0
- package/dist/installer/index.d.ts +142 -0
- package/dist/installer/index.d.ts.map +1 -0
- package/dist/installer/index.js +619 -0
- package/dist/installer/index.js.map +1 -0
- package/dist/installer/instructions-template.d.ts +41 -0
- package/dist/installer/instructions-template.d.ts.map +1 -0
- package/dist/installer/instructions-template.js +53 -0
- package/dist/installer/instructions-template.js.map +1 -0
- package/dist/installer/targets/antigravity.d.ts +57 -0
- package/dist/installer/targets/antigravity.d.ts.map +1 -0
- package/dist/installer/targets/antigravity.js +308 -0
- package/dist/installer/targets/antigravity.js.map +1 -0
- package/dist/installer/targets/claude.d.ts +62 -0
- package/dist/installer/targets/claude.d.ts.map +1 -0
- package/dist/installer/targets/claude.js +454 -0
- package/dist/installer/targets/claude.js.map +1 -0
- package/dist/installer/targets/codex.d.ts +18 -0
- package/dist/installer/targets/codex.d.ts.map +1 -0
- package/dist/installer/targets/codex.js +185 -0
- package/dist/installer/targets/codex.js.map +1 -0
- package/dist/installer/targets/cursor.d.ts +35 -0
- package/dist/installer/targets/cursor.d.ts.map +1 -0
- package/dist/installer/targets/cursor.js +254 -0
- package/dist/installer/targets/cursor.js.map +1 -0
- package/dist/installer/targets/gemini.d.ts +26 -0
- package/dist/installer/targets/gemini.d.ts.map +1 -0
- package/dist/installer/targets/gemini.js +165 -0
- package/dist/installer/targets/gemini.js.map +1 -0
- package/dist/installer/targets/hermes.d.ts +18 -0
- package/dist/installer/targets/hermes.d.ts.map +1 -0
- package/dist/installer/targets/hermes.js +359 -0
- package/dist/installer/targets/hermes.js.map +1 -0
- package/dist/installer/targets/kiro.d.ts +27 -0
- package/dist/installer/targets/kiro.d.ts.map +1 -0
- package/dist/installer/targets/kiro.js +178 -0
- package/dist/installer/targets/kiro.js.map +1 -0
- package/dist/installer/targets/opencode.d.ts +38 -0
- package/dist/installer/targets/opencode.d.ts.map +1 -0
- package/dist/installer/targets/opencode.js +288 -0
- package/dist/installer/targets/opencode.js.map +1 -0
- package/dist/installer/targets/registry.d.ts +35 -0
- package/dist/installer/targets/registry.d.ts.map +1 -0
- package/dist/installer/targets/registry.js +91 -0
- package/dist/installer/targets/registry.js.map +1 -0
- package/dist/installer/targets/shared.d.ts +101 -0
- package/dist/installer/targets/shared.d.ts.map +1 -0
- package/dist/installer/targets/shared.js +264 -0
- package/dist/installer/targets/shared.js.map +1 -0
- package/dist/installer/targets/toml.d.ts +52 -0
- package/dist/installer/targets/toml.d.ts.map +1 -0
- package/dist/installer/targets/toml.js +147 -0
- package/dist/installer/targets/toml.js.map +1 -0
- package/dist/installer/targets/types.d.ts +108 -0
- package/dist/installer/targets/types.d.ts.map +1 -0
- package/dist/installer/targets/types.js +16 -0
- package/dist/installer/targets/types.js.map +1 -0
- package/dist/mcp/daemon-manager.d.ts +42 -0
- package/dist/mcp/daemon-manager.d.ts.map +1 -0
- package/dist/mcp/daemon-manager.js +129 -0
- package/dist/mcp/daemon-manager.js.map +1 -0
- package/dist/mcp/daemon-paths.d.ts +73 -0
- package/dist/mcp/daemon-paths.d.ts.map +1 -0
- package/dist/mcp/daemon-paths.js +165 -0
- package/dist/mcp/daemon-paths.js.map +1 -0
- package/dist/mcp/daemon-registry.d.ts +47 -0
- package/dist/mcp/daemon-registry.d.ts.map +1 -0
- package/dist/mcp/daemon-registry.js +233 -0
- package/dist/mcp/daemon-registry.js.map +1 -0
- package/dist/mcp/daemon.d.ts +290 -0
- package/dist/mcp/daemon.d.ts.map +1 -0
- package/dist/mcp/daemon.js +862 -0
- package/dist/mcp/daemon.js.map +1 -0
- package/dist/mcp/dynamic-boundaries.d.ts +41 -0
- package/dist/mcp/dynamic-boundaries.d.ts.map +1 -0
- package/dist/mcp/dynamic-boundaries.js +360 -0
- package/dist/mcp/dynamic-boundaries.js.map +1 -0
- package/dist/mcp/early-ppid.d.ts +26 -0
- package/dist/mcp/early-ppid.d.ts.map +1 -0
- package/dist/mcp/early-ppid.js +29 -0
- package/dist/mcp/early-ppid.js.map +1 -0
- package/dist/mcp/engine.d.ts +122 -0
- package/dist/mcp/engine.d.ts.map +1 -0
- package/dist/mcp/engine.js +350 -0
- package/dist/mcp/engine.js.map +1 -0
- package/dist/mcp/index.d.ts +113 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +506 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/liveness-watchdog.d.ts +35 -0
- package/dist/mcp/liveness-watchdog.d.ts.map +1 -0
- package/dist/mcp/liveness-watchdog.js +267 -0
- package/dist/mcp/liveness-watchdog.js.map +1 -0
- package/dist/mcp/ppid-watchdog.d.ts +62 -0
- package/dist/mcp/ppid-watchdog.d.ts.map +1 -0
- package/dist/mcp/ppid-watchdog.js +64 -0
- package/dist/mcp/ppid-watchdog.js.map +1 -0
- package/dist/mcp/proxy.d.ts +87 -0
- package/dist/mcp/proxy.d.ts.map +1 -0
- package/dist/mcp/proxy.js +667 -0
- package/dist/mcp/proxy.js.map +1 -0
- package/dist/mcp/query-pool.d.ts +108 -0
- package/dist/mcp/query-pool.d.ts.map +1 -0
- package/dist/mcp/query-pool.js +315 -0
- package/dist/mcp/query-pool.js.map +1 -0
- package/dist/mcp/query-worker.d.ts +24 -0
- package/dist/mcp/query-worker.d.ts.map +1 -0
- package/dist/mcp/query-worker.js +87 -0
- package/dist/mcp/query-worker.js.map +1 -0
- package/dist/mcp/server-instructions.d.ts +34 -0
- package/dist/mcp/server-instructions.d.ts.map +1 -0
- package/dist/mcp/server-instructions.js +106 -0
- package/dist/mcp/server-instructions.js.map +1 -0
- package/dist/mcp/session.d.ts +93 -0
- package/dist/mcp/session.d.ts.map +1 -0
- package/dist/mcp/session.js +357 -0
- package/dist/mcp/session.js.map +1 -0
- package/dist/mcp/startup-handshake.d.ts +44 -0
- package/dist/mcp/startup-handshake.d.ts.map +1 -0
- package/dist/mcp/startup-handshake.js +73 -0
- package/dist/mcp/startup-handshake.js.map +1 -0
- package/dist/mcp/stdin-teardown.d.ts +27 -0
- package/dist/mcp/stdin-teardown.d.ts.map +1 -0
- package/dist/mcp/stdin-teardown.js +49 -0
- package/dist/mcp/stdin-teardown.js.map +1 -0
- package/dist/mcp/tools.d.ts +613 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +4477 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/transport.d.ts +188 -0
- package/dist/mcp/transport.d.ts.map +1 -0
- package/dist/mcp/transport.js +377 -0
- package/dist/mcp/transport.js.map +1 -0
- package/dist/mcp/version.d.ts +19 -0
- package/dist/mcp/version.d.ts.map +1 -0
- package/dist/mcp/version.js +71 -0
- package/dist/mcp/version.js.map +1 -0
- package/dist/project-config.d.ts +94 -0
- package/dist/project-config.d.ts.map +1 -0
- package/dist/project-config.js +374 -0
- package/dist/project-config.js.map +1 -0
- package/dist/resolution/c-fnptr-synthesizer.d.ts +6 -0
- package/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -0
- package/dist/resolution/c-fnptr-synthesizer.js +1062 -0
- package/dist/resolution/c-fnptr-synthesizer.js.map +1 -0
- package/dist/resolution/callback-synthesizer.d.ts +15 -0
- package/dist/resolution/callback-synthesizer.d.ts.map +1 -0
- package/dist/resolution/callback-synthesizer.js +3938 -0
- package/dist/resolution/callback-synthesizer.js.map +1 -0
- package/dist/resolution/cooperative-yield.d.ts +32 -0
- package/dist/resolution/cooperative-yield.d.ts.map +1 -0
- package/dist/resolution/cooperative-yield.js +42 -0
- package/dist/resolution/cooperative-yield.js.map +1 -0
- package/dist/resolution/frameworks/astro.d.ts +9 -0
- package/dist/resolution/frameworks/astro.d.ts.map +1 -0
- package/dist/resolution/frameworks/astro.js +169 -0
- package/dist/resolution/frameworks/astro.js.map +1 -0
- package/dist/resolution/frameworks/cargo-workspace.d.ts +18 -0
- package/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
- package/dist/resolution/frameworks/cargo-workspace.js +225 -0
- package/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
- package/dist/resolution/frameworks/cics.d.ts +20 -0
- package/dist/resolution/frameworks/cics.d.ts.map +1 -0
- package/dist/resolution/frameworks/cics.js +90 -0
- package/dist/resolution/frameworks/cics.js.map +1 -0
- package/dist/resolution/frameworks/csharp.d.ts +8 -0
- package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
- package/dist/resolution/frameworks/csharp.js +241 -0
- package/dist/resolution/frameworks/csharp.js.map +1 -0
- package/dist/resolution/frameworks/drupal.d.ts +51 -0
- package/dist/resolution/frameworks/drupal.d.ts.map +1 -0
- package/dist/resolution/frameworks/drupal.js +367 -0
- package/dist/resolution/frameworks/drupal.js.map +1 -0
- package/dist/resolution/frameworks/expo-modules.d.ts +3 -0
- package/dist/resolution/frameworks/expo-modules.d.ts.map +1 -0
- package/dist/resolution/frameworks/expo-modules.js +148 -0
- package/dist/resolution/frameworks/expo-modules.js.map +1 -0
- package/dist/resolution/frameworks/express.d.ts +8 -0
- package/dist/resolution/frameworks/express.d.ts.map +1 -0
- package/dist/resolution/frameworks/express.js +308 -0
- package/dist/resolution/frameworks/express.js.map +1 -0
- package/dist/resolution/frameworks/fabric.d.ts +3 -0
- package/dist/resolution/frameworks/fabric.d.ts.map +1 -0
- package/dist/resolution/frameworks/fabric.js +354 -0
- package/dist/resolution/frameworks/fabric.js.map +1 -0
- package/dist/resolution/frameworks/go.d.ts +8 -0
- package/dist/resolution/frameworks/go.d.ts.map +1 -0
- package/dist/resolution/frameworks/go.js +161 -0
- package/dist/resolution/frameworks/go.js.map +1 -0
- package/dist/resolution/frameworks/goframe.d.ts +41 -0
- package/dist/resolution/frameworks/goframe.d.ts.map +1 -0
- package/dist/resolution/frameworks/goframe.js +112 -0
- package/dist/resolution/frameworks/goframe.js.map +1 -0
- package/dist/resolution/frameworks/index.d.ts +50 -0
- package/dist/resolution/frameworks/index.d.ts.map +1 -0
- package/dist/resolution/frameworks/index.js +175 -0
- package/dist/resolution/frameworks/index.js.map +1 -0
- package/dist/resolution/frameworks/java.d.ts +8 -0
- package/dist/resolution/frameworks/java.d.ts.map +1 -0
- package/dist/resolution/frameworks/java.js +517 -0
- package/dist/resolution/frameworks/java.js.map +1 -0
- package/dist/resolution/frameworks/laravel.d.ts +13 -0
- package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
- package/dist/resolution/frameworks/laravel.js +257 -0
- package/dist/resolution/frameworks/laravel.js.map +1 -0
- package/dist/resolution/frameworks/nestjs.d.ts +26 -0
- package/dist/resolution/frameworks/nestjs.d.ts.map +1 -0
- package/dist/resolution/frameworks/nestjs.js +698 -0
- package/dist/resolution/frameworks/nestjs.js.map +1 -0
- package/dist/resolution/frameworks/play.d.ts +19 -0
- package/dist/resolution/frameworks/play.d.ts.map +1 -0
- package/dist/resolution/frameworks/play.js +111 -0
- package/dist/resolution/frameworks/play.js.map +1 -0
- package/dist/resolution/frameworks/python.d.ts +10 -0
- package/dist/resolution/frameworks/python.d.ts.map +1 -0
- package/dist/resolution/frameworks/python.js +400 -0
- package/dist/resolution/frameworks/python.js.map +1 -0
- package/dist/resolution/frameworks/react-native.d.ts +3 -0
- package/dist/resolution/frameworks/react-native.d.ts.map +1 -0
- package/dist/resolution/frameworks/react-native.js +410 -0
- package/dist/resolution/frameworks/react-native.js.map +1 -0
- package/dist/resolution/frameworks/react.d.ts +8 -0
- package/dist/resolution/frameworks/react.d.ts.map +1 -0
- package/dist/resolution/frameworks/react.js +334 -0
- package/dist/resolution/frameworks/react.js.map +1 -0
- package/dist/resolution/frameworks/ruby.d.ts +8 -0
- package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
- package/dist/resolution/frameworks/ruby.js +302 -0
- package/dist/resolution/frameworks/ruby.js.map +1 -0
- package/dist/resolution/frameworks/rust.d.ts +8 -0
- package/dist/resolution/frameworks/rust.d.ts.map +1 -0
- package/dist/resolution/frameworks/rust.js +304 -0
- package/dist/resolution/frameworks/rust.js.map +1 -0
- package/dist/resolution/frameworks/svelte.d.ts +9 -0
- package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
- package/dist/resolution/frameworks/svelte.js +253 -0
- package/dist/resolution/frameworks/svelte.js.map +1 -0
- package/dist/resolution/frameworks/swift-objc.d.ts +37 -0
- package/dist/resolution/frameworks/swift-objc.d.ts.map +1 -0
- package/dist/resolution/frameworks/swift-objc.js +252 -0
- package/dist/resolution/frameworks/swift-objc.js.map +1 -0
- package/dist/resolution/frameworks/swift.d.ts +10 -0
- package/dist/resolution/frameworks/swift.d.ts.map +1 -0
- package/dist/resolution/frameworks/swift.js +400 -0
- package/dist/resolution/frameworks/swift.js.map +1 -0
- package/dist/resolution/frameworks/terraform.d.ts +38 -0
- package/dist/resolution/frameworks/terraform.d.ts.map +1 -0
- package/dist/resolution/frameworks/terraform.js +277 -0
- package/dist/resolution/frameworks/terraform.js.map +1 -0
- package/dist/resolution/frameworks/vue.d.ts +9 -0
- package/dist/resolution/frameworks/vue.d.ts.map +1 -0
- package/dist/resolution/frameworks/vue.js +303 -0
- package/dist/resolution/frameworks/vue.js.map +1 -0
- package/dist/resolution/go-module.d.ts +26 -0
- package/dist/resolution/go-module.d.ts.map +1 -0
- package/dist/resolution/go-module.js +78 -0
- package/dist/resolution/go-module.js.map +1 -0
- package/dist/resolution/goframe-synthesizer.d.ts +29 -0
- package/dist/resolution/goframe-synthesizer.d.ts.map +1 -0
- package/dist/resolution/goframe-synthesizer.js +163 -0
- package/dist/resolution/goframe-synthesizer.js.map +1 -0
- package/dist/resolution/import-resolver.d.ts +85 -0
- package/dist/resolution/import-resolver.d.ts.map +1 -0
- package/dist/resolution/import-resolver.js +1974 -0
- package/dist/resolution/import-resolver.js.map +1 -0
- package/dist/resolution/index.d.ts +258 -0
- package/dist/resolution/index.d.ts.map +1 -0
- package/dist/resolution/index.js +1746 -0
- package/dist/resolution/index.js.map +1 -0
- package/dist/resolution/lru-cache.d.ts +24 -0
- package/dist/resolution/lru-cache.d.ts.map +1 -0
- package/dist/resolution/lru-cache.js +62 -0
- package/dist/resolution/lru-cache.js.map +1 -0
- package/dist/resolution/name-matcher.d.ts +112 -0
- package/dist/resolution/name-matcher.d.ts.map +1 -0
- package/dist/resolution/name-matcher.js +1830 -0
- package/dist/resolution/name-matcher.js.map +1 -0
- package/dist/resolution/path-aliases.d.ts +68 -0
- package/dist/resolution/path-aliases.d.ts.map +1 -0
- package/dist/resolution/path-aliases.js +238 -0
- package/dist/resolution/path-aliases.js.map +1 -0
- package/dist/resolution/strip-comments.d.ts +27 -0
- package/dist/resolution/strip-comments.d.ts.map +1 -0
- package/dist/resolution/strip-comments.js +492 -0
- package/dist/resolution/strip-comments.js.map +1 -0
- package/dist/resolution/swift-objc-bridge.d.ts +134 -0
- package/dist/resolution/swift-objc-bridge.d.ts.map +1 -0
- package/dist/resolution/swift-objc-bridge.js +256 -0
- package/dist/resolution/swift-objc-bridge.js.map +1 -0
- package/dist/resolution/types.d.ts +262 -0
- package/dist/resolution/types.d.ts.map +1 -0
- package/dist/resolution/types.js +8 -0
- package/dist/resolution/types.js.map +1 -0
- package/dist/resolution/workspace-packages.d.ts +58 -0
- package/dist/resolution/workspace-packages.d.ts.map +1 -0
- package/dist/resolution/workspace-packages.js +346 -0
- package/dist/resolution/workspace-packages.js.map +1 -0
- package/dist/search/identifier-segments.d.ts +60 -0
- package/dist/search/identifier-segments.d.ts.map +1 -0
- package/dist/search/identifier-segments.js +176 -0
- package/dist/search/identifier-segments.js.map +1 -0
- package/dist/search/query-parser.d.ts +57 -0
- package/dist/search/query-parser.d.ts.map +1 -0
- package/dist/search/query-parser.js +177 -0
- package/dist/search/query-parser.js.map +1 -0
- package/dist/search/query-utils.d.ts +87 -0
- package/dist/search/query-utils.d.ts.map +1 -0
- package/dist/search/query-utils.js +449 -0
- package/dist/search/query-utils.js.map +1 -0
- package/dist/sync/git-hooks.d.ts +45 -0
- package/dist/sync/git-hooks.d.ts.map +1 -0
- package/dist/sync/git-hooks.js +227 -0
- package/dist/sync/git-hooks.js.map +1 -0
- package/dist/sync/index.d.ts +19 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +35 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/watch-policy.d.ts +48 -0
- package/dist/sync/watch-policy.d.ts.map +1 -0
- package/dist/sync/watch-policy.js +124 -0
- package/dist/sync/watch-policy.js.map +1 -0
- package/dist/sync/watcher.d.ts +355 -0
- package/dist/sync/watcher.d.ts.map +1 -0
- package/dist/sync/watcher.js +848 -0
- package/dist/sync/watcher.js.map +1 -0
- package/dist/sync/worktree.d.ts +63 -0
- package/dist/sync/worktree.d.ts.map +1 -0
- package/dist/sync/worktree.js +182 -0
- package/dist/sync/worktree.js.map +1 -0
- package/dist/telemetry/index.d.ts +143 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +541 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/types.d.ts +415 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +91 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/glyphs.d.ts +42 -0
- package/dist/ui/glyphs.d.ts.map +1 -0
- package/dist/ui/glyphs.js +78 -0
- package/dist/ui/glyphs.js.map +1 -0
- package/dist/ui/shimmer-progress.d.ts +11 -0
- package/dist/ui/shimmer-progress.d.ts.map +1 -0
- package/dist/ui/shimmer-progress.js +90 -0
- package/dist/ui/shimmer-progress.js.map +1 -0
- package/dist/ui/shimmer-worker.d.ts +2 -0
- package/dist/ui/shimmer-worker.d.ts.map +1 -0
- package/dist/ui/shimmer-worker.js +118 -0
- package/dist/ui/shimmer-worker.js.map +1 -0
- package/dist/ui/types.d.ts +17 -0
- package/dist/ui/types.d.ts.map +1 -0
- package/dist/ui/types.js +3 -0
- package/dist/ui/types.js.map +1 -0
- package/dist/upgrade/index.d.ts +164 -0
- package/dist/upgrade/index.d.ts.map +1 -0
- package/dist/upgrade/index.js +646 -0
- package/dist/upgrade/index.js.map +1 -0
- package/dist/upgrade/remove-binary.d.ts +87 -0
- package/dist/upgrade/remove-binary.d.ts.map +1 -0
- package/dist/upgrade/remove-binary.js +289 -0
- package/dist/upgrade/remove-binary.js.map +1 -0
- package/dist/upgrade/update-check.d.ts +92 -0
- package/dist/upgrade/update-check.d.ts.map +1 -0
- package/dist/upgrade/update-check.js +258 -0
- package/dist/upgrade/update-check.js.map +1 -0
- package/dist/utils.d.ts +224 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +583 -0
- package/dist/utils.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Kiro CLI / IDE target. Writes:
|
|
4
|
+
*
|
|
5
|
+
* - MCP server entry to `~/.kiro/settings/mcp.json` (global) or
|
|
6
|
+
* `./.kiro/settings/mcp.json` (local). Standard `mcpServers.codegraph`
|
|
7
|
+
* shape, same as Claude / Cursor / Gemini.
|
|
8
|
+
* - Instructions to `~/.kiro/steering/codegraph.md` (global) or
|
|
9
|
+
* `./.kiro/steering/codegraph.md` (local). Kiro's "steering" system
|
|
10
|
+
* loads every `*.md` file in the steering dir as agent context, so
|
|
11
|
+
* a dedicated `codegraph.md` is the natural surface — we own the
|
|
12
|
+
* whole file outright (no marker-based merging needed) and delete
|
|
13
|
+
* it on uninstall.
|
|
14
|
+
*
|
|
15
|
+
* No permissions concept — Kiro gates tool invocations through its own
|
|
16
|
+
* UI prompts rather than an external allowlist. `autoAllow` is silently
|
|
17
|
+
* ignored.
|
|
18
|
+
*
|
|
19
|
+
* Paths are identical on macOS / Linux / Windows because Kiro resolves
|
|
20
|
+
* its config root from `os.homedir()` on all three (Windows `~` →
|
|
21
|
+
* `%USERPROFILE%\.kiro`).
|
|
22
|
+
*
|
|
23
|
+
* Docs: https://kiro.dev/docs/cli/mcp/
|
|
24
|
+
* https://kiro.dev/docs/cli/steering/
|
|
25
|
+
*/
|
|
26
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
27
|
+
if (k2 === undefined) k2 = k;
|
|
28
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
29
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
30
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
31
|
+
}
|
|
32
|
+
Object.defineProperty(o, k2, desc);
|
|
33
|
+
}) : (function(o, m, k, k2) {
|
|
34
|
+
if (k2 === undefined) k2 = k;
|
|
35
|
+
o[k2] = m[k];
|
|
36
|
+
}));
|
|
37
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
38
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
39
|
+
}) : function(o, v) {
|
|
40
|
+
o["default"] = v;
|
|
41
|
+
});
|
|
42
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
43
|
+
var ownKeys = function(o) {
|
|
44
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
45
|
+
var ar = [];
|
|
46
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
47
|
+
return ar;
|
|
48
|
+
};
|
|
49
|
+
return ownKeys(o);
|
|
50
|
+
};
|
|
51
|
+
return function (mod) {
|
|
52
|
+
if (mod && mod.__esModule) return mod;
|
|
53
|
+
var result = {};
|
|
54
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
55
|
+
__setModuleDefault(result, mod);
|
|
56
|
+
return result;
|
|
57
|
+
};
|
|
58
|
+
})();
|
|
59
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
60
|
+
exports.kiroTarget = void 0;
|
|
61
|
+
const fs = __importStar(require("fs"));
|
|
62
|
+
const path = __importStar(require("path"));
|
|
63
|
+
const os = __importStar(require("os"));
|
|
64
|
+
const shared_1 = require("./shared");
|
|
65
|
+
function configDir(loc) {
|
|
66
|
+
return loc === 'global'
|
|
67
|
+
? path.join(os.homedir(), '.kiro')
|
|
68
|
+
: path.join(process.cwd(), '.kiro');
|
|
69
|
+
}
|
|
70
|
+
function mcpJsonPath(loc) {
|
|
71
|
+
return path.join(configDir(loc), 'settings', 'mcp.json');
|
|
72
|
+
}
|
|
73
|
+
function steeringPath(loc) {
|
|
74
|
+
return path.join(configDir(loc), 'steering', 'codegraph.md');
|
|
75
|
+
}
|
|
76
|
+
class KiroTarget {
|
|
77
|
+
id = 'kiro';
|
|
78
|
+
displayName = 'Kiro';
|
|
79
|
+
docsUrl = 'https://kiro.dev/docs/cli/mcp/';
|
|
80
|
+
supportsLocation(_loc) {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
detect(loc) {
|
|
84
|
+
const file = mcpJsonPath(loc);
|
|
85
|
+
const config = (0, shared_1.readJsonFile)(file);
|
|
86
|
+
const alreadyConfigured = !!config.mcpServers?.codegraph;
|
|
87
|
+
const installed = loc === 'global'
|
|
88
|
+
? fs.existsSync(configDir('global')) || fs.existsSync(file)
|
|
89
|
+
: fs.existsSync(file) || fs.existsSync(configDir('local'));
|
|
90
|
+
return { installed, alreadyConfigured, configPath: file };
|
|
91
|
+
}
|
|
92
|
+
install(loc, _opts) {
|
|
93
|
+
const files = [];
|
|
94
|
+
files.push(writeMcpEntry(loc));
|
|
95
|
+
// The steering doc is no longer written — the codegraph usage
|
|
96
|
+
// guidance ships in the MCP server's `initialize` response (issue
|
|
97
|
+
// #529). Delete a `codegraph.md` a previous install created so an
|
|
98
|
+
// upgrade self-heals.
|
|
99
|
+
const steeringCleanup = removeSteeringEntry(loc);
|
|
100
|
+
if (steeringCleanup.action === 'removed')
|
|
101
|
+
files.push(steeringCleanup);
|
|
102
|
+
return {
|
|
103
|
+
files,
|
|
104
|
+
// The IDE-only enable-MCP step is load-bearing: Kiro IDE ships
|
|
105
|
+
// with MCP support disabled by default, so even a valid
|
|
106
|
+
// `~/.kiro/settings/mcp.json` at the documented path is ignored
|
|
107
|
+
// until the user flips the toggle. Kiro CLI reads the same file
|
|
108
|
+
// without a gate, so we call out which audience this applies to.
|
|
109
|
+
notes: [
|
|
110
|
+
'Restart Kiro for MCP changes to take effect.',
|
|
111
|
+
'Kiro IDE: also enable MCP in Settings (search "MCP" → "Enabled"). Kiro CLI users can skip this step.',
|
|
112
|
+
],
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
uninstall(loc) {
|
|
116
|
+
const files = [];
|
|
117
|
+
const file = mcpJsonPath(loc);
|
|
118
|
+
const config = (0, shared_1.readJsonFile)(file);
|
|
119
|
+
if (config.mcpServers?.codegraph) {
|
|
120
|
+
delete config.mcpServers.codegraph;
|
|
121
|
+
if (Object.keys(config.mcpServers).length === 0) {
|
|
122
|
+
delete config.mcpServers;
|
|
123
|
+
}
|
|
124
|
+
(0, shared_1.writeJsonFile)(file, config);
|
|
125
|
+
files.push({ path: file, action: 'removed' });
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
files.push({ path: file, action: 'not-found' });
|
|
129
|
+
}
|
|
130
|
+
files.push(removeSteeringEntry(loc));
|
|
131
|
+
return { files };
|
|
132
|
+
}
|
|
133
|
+
printConfig(loc) {
|
|
134
|
+
const target = mcpJsonPath(loc);
|
|
135
|
+
const snippet = JSON.stringify({ mcpServers: { codegraph: (0, shared_1.getMcpServerConfig)() } }, null, 2);
|
|
136
|
+
return `# Add to ${target}\n\n${snippet}\n`;
|
|
137
|
+
}
|
|
138
|
+
describePaths(loc) {
|
|
139
|
+
return [mcpJsonPath(loc), steeringPath(loc)];
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
function writeMcpEntry(loc) {
|
|
143
|
+
const file = mcpJsonPath(loc);
|
|
144
|
+
const dir = path.dirname(file);
|
|
145
|
+
if (!fs.existsSync(dir))
|
|
146
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
147
|
+
const existing = (0, shared_1.readJsonFile)(file);
|
|
148
|
+
const before = existing.mcpServers?.codegraph;
|
|
149
|
+
const after = (0, shared_1.getMcpServerConfig)();
|
|
150
|
+
if ((0, shared_1.jsonDeepEqual)(before, after)) {
|
|
151
|
+
return { path: file, action: 'unchanged' };
|
|
152
|
+
}
|
|
153
|
+
const action = before ? 'updated' : (fs.existsSync(file) ? 'updated' : 'created');
|
|
154
|
+
if (!existing.mcpServers)
|
|
155
|
+
existing.mcpServers = {};
|
|
156
|
+
existing.mcpServers.codegraph = after;
|
|
157
|
+
(0, shared_1.writeJsonFile)(file, existing);
|
|
158
|
+
return { path: file, action };
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Delete the steering file we own. If a user has hand-edited the file
|
|
162
|
+
* out of recognition we still remove it — codegraph.md is a name we
|
|
163
|
+
* claim, and a partial install leaving the file behind is worse than
|
|
164
|
+
* a clean delete. Used by both install (self-heal on upgrade — see
|
|
165
|
+
* issue #529) and uninstall.
|
|
166
|
+
*/
|
|
167
|
+
function removeSteeringEntry(loc) {
|
|
168
|
+
const file = steeringPath(loc);
|
|
169
|
+
if (!fs.existsSync(file))
|
|
170
|
+
return { path: file, action: 'not-found' };
|
|
171
|
+
try {
|
|
172
|
+
fs.unlinkSync(file);
|
|
173
|
+
}
|
|
174
|
+
catch { /* ignore */ }
|
|
175
|
+
return { path: file, action: 'removed' };
|
|
176
|
+
}
|
|
177
|
+
exports.kiroTarget = new KiroTarget();
|
|
178
|
+
//# sourceMappingURL=kiro.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kiro.js","sourceRoot":"","sources":["../../../src/installer/targets/kiro.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* opencode target.
|
|
3
|
+
*
|
|
4
|
+
* - MCP server entry to `~/.config/opencode/opencode.jsonc` (global,
|
|
5
|
+
* XDG-style on EVERY platform, Windows included — see below) or
|
|
6
|
+
* `./opencode.jsonc` (local). Falls back to `opencode.json` when a
|
|
7
|
+
* `.json` file already exists; defaults new installs to `.jsonc`
|
|
8
|
+
* because that's what opencode itself creates on first run.
|
|
9
|
+
*
|
|
10
|
+
* opencode resolves its config dir with the `xdg-basedir` package
|
|
11
|
+
* (sst/opencode `packages/core/src/global.ts`): `XDG_CONFIG_HOME`
|
|
12
|
+
* if set, else `~/.config` — unconditionally, on all platforms. It
|
|
13
|
+
* never reads `%APPDATA%`; that layout belonged to the discontinued
|
|
14
|
+
* Go fork. We previously wrote there on Windows, so opencode never
|
|
15
|
+
* saw the entry (#535) — install/uninstall now also sweep a stale
|
|
16
|
+
* codegraph entry out of the legacy `%APPDATA%/opencode` location.
|
|
17
|
+
* - Instructions to `~/.config/opencode/AGENTS.md` (global) or
|
|
18
|
+
* `./AGENTS.md` (local). opencode reads AGENTS.md for agent
|
|
19
|
+
* instructions — same convention Codex CLI uses.
|
|
20
|
+
* - No permissions concept.
|
|
21
|
+
*
|
|
22
|
+
* Config shape uses opencode's wrapper:
|
|
23
|
+
* {
|
|
24
|
+
* "$schema": "https://opencode.ai/config.json",
|
|
25
|
+
* "mcp": { "codegraph": { "type": "local", "command": [...], "enabled": true } }
|
|
26
|
+
* }
|
|
27
|
+
*
|
|
28
|
+
* The shape differs from Claude/Cursor — opencode uses `mcp.<name>`
|
|
29
|
+
* (not `mcpServers`), takes `command` as a string array combining
|
|
30
|
+
* binary + args, and includes an explicit `enabled` flag.
|
|
31
|
+
*
|
|
32
|
+
* Reads + writes go through `jsonc-parser` so any `//` and `/* *\/`
|
|
33
|
+
* comments the user has added to their `.jsonc` survive idempotent
|
|
34
|
+
* re-runs.
|
|
35
|
+
*/
|
|
36
|
+
import { AgentTarget } from './types';
|
|
37
|
+
export declare const opencodeTarget: AgentTarget;
|
|
38
|
+
//# sourceMappingURL=opencode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../src/installer/targets/opencode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAMH,OAAO,EACL,WAAW,EAKZ,MAAM,SAAS,CAAC;AAiPjB,eAAO,MAAM,cAAc,EAAE,WAAkC,CAAC"}
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* opencode target.
|
|
4
|
+
*
|
|
5
|
+
* - MCP server entry to `~/.config/opencode/opencode.jsonc` (global,
|
|
6
|
+
* XDG-style on EVERY platform, Windows included — see below) or
|
|
7
|
+
* `./opencode.jsonc` (local). Falls back to `opencode.json` when a
|
|
8
|
+
* `.json` file already exists; defaults new installs to `.jsonc`
|
|
9
|
+
* because that's what opencode itself creates on first run.
|
|
10
|
+
*
|
|
11
|
+
* opencode resolves its config dir with the `xdg-basedir` package
|
|
12
|
+
* (sst/opencode `packages/core/src/global.ts`): `XDG_CONFIG_HOME`
|
|
13
|
+
* if set, else `~/.config` — unconditionally, on all platforms. It
|
|
14
|
+
* never reads `%APPDATA%`; that layout belonged to the discontinued
|
|
15
|
+
* Go fork. We previously wrote there on Windows, so opencode never
|
|
16
|
+
* saw the entry (#535) — install/uninstall now also sweep a stale
|
|
17
|
+
* codegraph entry out of the legacy `%APPDATA%/opencode` location.
|
|
18
|
+
* - Instructions to `~/.config/opencode/AGENTS.md` (global) or
|
|
19
|
+
* `./AGENTS.md` (local). opencode reads AGENTS.md for agent
|
|
20
|
+
* instructions — same convention Codex CLI uses.
|
|
21
|
+
* - No permissions concept.
|
|
22
|
+
*
|
|
23
|
+
* Config shape uses opencode's wrapper:
|
|
24
|
+
* {
|
|
25
|
+
* "$schema": "https://opencode.ai/config.json",
|
|
26
|
+
* "mcp": { "codegraph": { "type": "local", "command": [...], "enabled": true } }
|
|
27
|
+
* }
|
|
28
|
+
*
|
|
29
|
+
* The shape differs from Claude/Cursor — opencode uses `mcp.<name>`
|
|
30
|
+
* (not `mcpServers`), takes `command` as a string array combining
|
|
31
|
+
* binary + args, and includes an explicit `enabled` flag.
|
|
32
|
+
*
|
|
33
|
+
* Reads + writes go through `jsonc-parser` so any `//` and `/* *\/`
|
|
34
|
+
* comments the user has added to their `.jsonc` survive idempotent
|
|
35
|
+
* re-runs.
|
|
36
|
+
*/
|
|
37
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
38
|
+
if (k2 === undefined) k2 = k;
|
|
39
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
40
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
41
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
42
|
+
}
|
|
43
|
+
Object.defineProperty(o, k2, desc);
|
|
44
|
+
}) : (function(o, m, k, k2) {
|
|
45
|
+
if (k2 === undefined) k2 = k;
|
|
46
|
+
o[k2] = m[k];
|
|
47
|
+
}));
|
|
48
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
49
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
50
|
+
}) : function(o, v) {
|
|
51
|
+
o["default"] = v;
|
|
52
|
+
});
|
|
53
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
54
|
+
var ownKeys = function(o) {
|
|
55
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
56
|
+
var ar = [];
|
|
57
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
58
|
+
return ar;
|
|
59
|
+
};
|
|
60
|
+
return ownKeys(o);
|
|
61
|
+
};
|
|
62
|
+
return function (mod) {
|
|
63
|
+
if (mod && mod.__esModule) return mod;
|
|
64
|
+
var result = {};
|
|
65
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
66
|
+
__setModuleDefault(result, mod);
|
|
67
|
+
return result;
|
|
68
|
+
};
|
|
69
|
+
})();
|
|
70
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
71
|
+
exports.opencodeTarget = void 0;
|
|
72
|
+
const fs = __importStar(require("fs"));
|
|
73
|
+
const path = __importStar(require("path"));
|
|
74
|
+
const os = __importStar(require("os"));
|
|
75
|
+
const jsonc_parser_1 = require("jsonc-parser");
|
|
76
|
+
const shared_1 = require("./shared");
|
|
77
|
+
const instructions_template_1 = require("../instructions-template");
|
|
78
|
+
function globalConfigDir() {
|
|
79
|
+
// XDG_CONFIG_HOME if set, else ~/.config — on every platform, matching
|
|
80
|
+
// opencode's own `xdg-basedir` resolution (no Windows special case; #535).
|
|
81
|
+
const xdg = process.env.XDG_CONFIG_HOME && process.env.XDG_CONFIG_HOME.trim().length > 0
|
|
82
|
+
? process.env.XDG_CONFIG_HOME
|
|
83
|
+
: path.join(os.homedir(), '.config');
|
|
84
|
+
return path.join(xdg, 'opencode');
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Pre-#535 installs wrote the global entry to `%APPDATA%/opencode` — a dir
|
|
88
|
+
* today's opencode never reads. Returns that legacy dir when it could hold
|
|
89
|
+
* stale state (APPDATA set and resolving somewhere other than the real config
|
|
90
|
+
* dir). Gated on the env var rather than `process.platform` so the cleanup
|
|
91
|
+
* logic runs under the cross-platform test suite; on POSIX, APPDATA is unset
|
|
92
|
+
* in real life and this is a no-op.
|
|
93
|
+
*/
|
|
94
|
+
function legacyWindowsConfigDir() {
|
|
95
|
+
const appData = process.env.APPDATA;
|
|
96
|
+
if (!appData || !appData.trim())
|
|
97
|
+
return null;
|
|
98
|
+
const legacy = path.join(appData, 'opencode');
|
|
99
|
+
return path.resolve(legacy) === path.resolve(globalConfigDir()) ? null : legacy;
|
|
100
|
+
}
|
|
101
|
+
function configBaseDir(loc) {
|
|
102
|
+
return loc === 'global' ? globalConfigDir() : process.cwd();
|
|
103
|
+
}
|
|
104
|
+
// Pick existing .jsonc, then .json, default to .jsonc for new files.
|
|
105
|
+
// opencode auto-creates .jsonc on first run, so that's the dominant
|
|
106
|
+
// real-world case and the sensible default for greenfield installs.
|
|
107
|
+
function configPath(loc) {
|
|
108
|
+
const dir = configBaseDir(loc);
|
|
109
|
+
const jsonc = path.join(dir, 'opencode.jsonc');
|
|
110
|
+
const json = path.join(dir, 'opencode.json');
|
|
111
|
+
if (fs.existsSync(jsonc))
|
|
112
|
+
return jsonc;
|
|
113
|
+
if (fs.existsSync(json))
|
|
114
|
+
return json;
|
|
115
|
+
return jsonc;
|
|
116
|
+
}
|
|
117
|
+
function instructionsPath(loc) {
|
|
118
|
+
return path.join(configBaseDir(loc), 'AGENTS.md');
|
|
119
|
+
}
|
|
120
|
+
function readConfigText(file) {
|
|
121
|
+
if (!fs.existsSync(file))
|
|
122
|
+
return '';
|
|
123
|
+
return fs.readFileSync(file, 'utf-8');
|
|
124
|
+
}
|
|
125
|
+
function parseConfig(text) {
|
|
126
|
+
if (!text.trim())
|
|
127
|
+
return {};
|
|
128
|
+
const errors = [];
|
|
129
|
+
const result = (0, jsonc_parser_1.parse)(text, errors, { allowTrailingComma: true });
|
|
130
|
+
if (result == null || typeof result !== 'object' || Array.isArray(result)) {
|
|
131
|
+
return {};
|
|
132
|
+
}
|
|
133
|
+
return result;
|
|
134
|
+
}
|
|
135
|
+
function getOpencodeServerEntry() {
|
|
136
|
+
return {
|
|
137
|
+
type: 'local',
|
|
138
|
+
command: ['codegraph', 'serve', '--mcp'],
|
|
139
|
+
enabled: true,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
const FORMATTING = { tabSize: 2, insertSpaces: true, eol: '\n' };
|
|
143
|
+
class OpencodeTarget {
|
|
144
|
+
id = 'opencode';
|
|
145
|
+
displayName = 'opencode';
|
|
146
|
+
docsUrl = 'https://opencode.ai/docs/config';
|
|
147
|
+
supportsLocation(_loc) {
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
detect(loc) {
|
|
151
|
+
const file = configPath(loc);
|
|
152
|
+
const config = parseConfig(readConfigText(file));
|
|
153
|
+
const alreadyConfigured = !!config.mcp?.codegraph;
|
|
154
|
+
// Global: the XDG dir is what current opencode creates on first run; the
|
|
155
|
+
// legacy %APPDATA% dir still counts as "opencode present" so a re-install
|
|
156
|
+
// can sweep the stale pre-#535 entry out of it.
|
|
157
|
+
const legacy = legacyWindowsConfigDir();
|
|
158
|
+
const installed = loc === 'global'
|
|
159
|
+
? fs.existsSync(globalConfigDir()) || (!!legacy && fs.existsSync(legacy))
|
|
160
|
+
: fs.existsSync(file);
|
|
161
|
+
return { installed, alreadyConfigured, configPath: file };
|
|
162
|
+
}
|
|
163
|
+
install(loc, _opts) {
|
|
164
|
+
const files = [];
|
|
165
|
+
files.push(writeMcpEntry(loc));
|
|
166
|
+
// AGENTS.md gets the short marker-fenced CodeGraph block (#704):
|
|
167
|
+
// subagents and non-MCP harnesses read AGENTS.md but never the MCP
|
|
168
|
+
// initialize instructions. Upsert self-heals a stale pre-#529 block.
|
|
169
|
+
files.push((0, shared_1.upsertInstructionsEntry)(instructionsPath(loc)));
|
|
170
|
+
// Self-heal a pre-#535 install that wrote to %APPDATA%/opencode —
|
|
171
|
+
// opencode never reads it, so anything of ours there is stale.
|
|
172
|
+
if (loc === 'global')
|
|
173
|
+
files.push(...cleanupLegacyWindowsState());
|
|
174
|
+
return { files };
|
|
175
|
+
}
|
|
176
|
+
uninstall(loc) {
|
|
177
|
+
const files = [];
|
|
178
|
+
files.push(removeMcpEntryAt(configPath(loc)));
|
|
179
|
+
files.push(removeInstructionsEntry(loc));
|
|
180
|
+
if (loc === 'global')
|
|
181
|
+
files.push(...cleanupLegacyWindowsState());
|
|
182
|
+
return { files };
|
|
183
|
+
}
|
|
184
|
+
printConfig(loc) {
|
|
185
|
+
const target = configPath(loc);
|
|
186
|
+
const snippet = JSON.stringify({
|
|
187
|
+
$schema: 'https://opencode.ai/config.json',
|
|
188
|
+
mcp: { codegraph: getOpencodeServerEntry() },
|
|
189
|
+
}, null, 2);
|
|
190
|
+
return `# Add to ${target}\n\n${snippet}\n`;
|
|
191
|
+
}
|
|
192
|
+
describePaths(loc) {
|
|
193
|
+
return [configPath(loc), instructionsPath(loc)];
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
function writeMcpEntry(loc) {
|
|
197
|
+
const file = configPath(loc);
|
|
198
|
+
const existed = fs.existsSync(file);
|
|
199
|
+
let text = readConfigText(file);
|
|
200
|
+
// Seed a minimal opencode config when the file is brand-new so
|
|
201
|
+
// the result is a complete, schema-tagged file (not just a bare
|
|
202
|
+
// `{ "mcp": {...} }`).
|
|
203
|
+
if (!text.trim()) {
|
|
204
|
+
text = '{\n "$schema": "https://opencode.ai/config.json"\n}\n';
|
|
205
|
+
}
|
|
206
|
+
const config = parseConfig(text);
|
|
207
|
+
const before = config.mcp?.codegraph;
|
|
208
|
+
const after = getOpencodeServerEntry();
|
|
209
|
+
if ((0, shared_1.jsonDeepEqual)(before, after)) {
|
|
210
|
+
return { path: file, action: 'unchanged' };
|
|
211
|
+
}
|
|
212
|
+
// Add $schema if the user's existing file is missing it.
|
|
213
|
+
if (!config.$schema) {
|
|
214
|
+
const schemaEdits = (0, jsonc_parser_1.modify)(text, ['$schema'], 'https://opencode.ai/config.json', {
|
|
215
|
+
formattingOptions: FORMATTING,
|
|
216
|
+
});
|
|
217
|
+
text = (0, jsonc_parser_1.applyEdits)(text, schemaEdits);
|
|
218
|
+
}
|
|
219
|
+
// Surgical edit — preserves comments, formatting, and order of
|
|
220
|
+
// every key we don't touch.
|
|
221
|
+
const edits = (0, jsonc_parser_1.modify)(text, ['mcp', 'codegraph'], after, {
|
|
222
|
+
formattingOptions: FORMATTING,
|
|
223
|
+
});
|
|
224
|
+
const updated = (0, jsonc_parser_1.applyEdits)(text, edits);
|
|
225
|
+
(0, shared_1.atomicWriteFileSync)(file, updated);
|
|
226
|
+
return { path: file, action: existed ? 'updated' : 'created' };
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Surgically drop `mcp.codegraph` from one config file. Leaves sibling
|
|
230
|
+
* servers, comments, and formatting untouched; drops an emptied `mcp`
|
|
231
|
+
* wrapper too. Shared by uninstall and the legacy-%APPDATA% sweep.
|
|
232
|
+
*/
|
|
233
|
+
function removeMcpEntryAt(file) {
|
|
234
|
+
if (!fs.existsSync(file))
|
|
235
|
+
return { path: file, action: 'not-found' };
|
|
236
|
+
const text = readConfigText(file);
|
|
237
|
+
const config = parseConfig(text);
|
|
238
|
+
if (!config.mcp?.codegraph)
|
|
239
|
+
return { path: file, action: 'not-found' };
|
|
240
|
+
let edits = (0, jsonc_parser_1.modify)(text, ['mcp', 'codegraph'], undefined, {
|
|
241
|
+
formattingOptions: FORMATTING,
|
|
242
|
+
});
|
|
243
|
+
let updated = (0, jsonc_parser_1.applyEdits)(text, edits);
|
|
244
|
+
// If `mcp` is now an empty object, drop the wrapper too.
|
|
245
|
+
const afterParsed = parseConfig(updated);
|
|
246
|
+
if (afterParsed.mcp && typeof afterParsed.mcp === 'object' &&
|
|
247
|
+
Object.keys(afterParsed.mcp).length === 0) {
|
|
248
|
+
edits = (0, jsonc_parser_1.modify)(updated, ['mcp'], undefined, { formattingOptions: FORMATTING });
|
|
249
|
+
updated = (0, jsonc_parser_1.applyEdits)(updated, edits);
|
|
250
|
+
}
|
|
251
|
+
(0, shared_1.atomicWriteFileSync)(file, updated);
|
|
252
|
+
return { path: file, action: 'removed' };
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Remove whatever a pre-#535 install left in `%APPDATA%/opencode` — an MCP
|
|
256
|
+
* entry opencode never reads, plus our marker-fenced AGENTS.md block. Returns
|
|
257
|
+
* only files actually changed, so install output stays quiet when there is
|
|
258
|
+
* nothing to heal. Never touches anything else in the legacy dir: a user may
|
|
259
|
+
* genuinely keep other tools' state under %APPDATA%.
|
|
260
|
+
*/
|
|
261
|
+
function cleanupLegacyWindowsState() {
|
|
262
|
+
const dir = legacyWindowsConfigDir();
|
|
263
|
+
if (!dir || !fs.existsSync(dir))
|
|
264
|
+
return [];
|
|
265
|
+
const out = [];
|
|
266
|
+
for (const name of ['opencode.jsonc', 'opencode.json']) {
|
|
267
|
+
const res = removeMcpEntryAt(path.join(dir, name));
|
|
268
|
+
if (res.action === 'removed')
|
|
269
|
+
out.push(res);
|
|
270
|
+
}
|
|
271
|
+
const agents = path.join(dir, 'AGENTS.md');
|
|
272
|
+
const action = (0, shared_1.removeMarkedSection)(agents, instructions_template_1.CODEGRAPH_SECTION_START, instructions_template_1.CODEGRAPH_SECTION_END);
|
|
273
|
+
if (action === 'removed')
|
|
274
|
+
out.push({ path: agents, action });
|
|
275
|
+
return out;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Strip the marker-delimited CodeGraph block from AGENTS.md if a prior
|
|
279
|
+
* install wrote one. Used by both install (self-heal on upgrade) and
|
|
280
|
+
* uninstall — see issue #529.
|
|
281
|
+
*/
|
|
282
|
+
function removeInstructionsEntry(loc) {
|
|
283
|
+
const file = instructionsPath(loc);
|
|
284
|
+
const action = (0, shared_1.removeMarkedSection)(file, instructions_template_1.CODEGRAPH_SECTION_START, instructions_template_1.CODEGRAPH_SECTION_END);
|
|
285
|
+
return { path: file, action };
|
|
286
|
+
}
|
|
287
|
+
exports.opencodeTarget = new OpencodeTarget();
|
|
288
|
+
//# sourceMappingURL=opencode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/installer/targets/opencode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Registry of all known agent targets.
|
|
3
|
+
*
|
|
4
|
+
* Adding a new target = create `targets/<id>.ts` exporting an
|
|
5
|
+
* `AgentTarget`, then add it to the array below. Order here is the
|
|
6
|
+
* order they appear in the multiselect prompt, in `--target=all`,
|
|
7
|
+
* and in `--print-config`'s help listing — keep it stable.
|
|
8
|
+
*/
|
|
9
|
+
import { AgentTarget, Location, TargetId } from './types';
|
|
10
|
+
export declare const ALL_TARGETS: readonly AgentTarget[];
|
|
11
|
+
export declare function getTarget(id: string): AgentTarget | undefined;
|
|
12
|
+
export declare function listTargetIds(): TargetId[];
|
|
13
|
+
/**
|
|
14
|
+
* Run `detect()` for every target at the given location. Returns the
|
|
15
|
+
* full registry zipped with detection results — orchestrator uses
|
|
16
|
+
* this to seed the multiselect prompt with installed agents
|
|
17
|
+
* pre-checked.
|
|
18
|
+
*/
|
|
19
|
+
export declare function detectAll(loc: Location): Array<{
|
|
20
|
+
target: AgentTarget;
|
|
21
|
+
detection: ReturnType<AgentTarget['detect']>;
|
|
22
|
+
}>;
|
|
23
|
+
/**
|
|
24
|
+
* Resolve a `--target=` flag value to a list of `AgentTarget`
|
|
25
|
+
* instances. Accepts:
|
|
26
|
+
*
|
|
27
|
+
* - `auto` — return all targets whose `detect().installed` is true,
|
|
28
|
+
* or `['claude']` as a fallback if none detected (least-surprise
|
|
29
|
+
* for existing users).
|
|
30
|
+
* - `all` — every target in the registry.
|
|
31
|
+
* - `none` — empty list (caller skips agent writes entirely).
|
|
32
|
+
* - csv list — `'claude,cursor'` etc. Unknown ids throw.
|
|
33
|
+
*/
|
|
34
|
+
export declare function resolveTargetFlag(value: string, loc: Location): AgentTarget[];
|
|
35
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/installer/targets/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAU1D,eAAO,MAAM,WAAW,EAAE,SAAS,WAAW,EAS5C,CAAC;AAEH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE7D;AAED,wBAAgB,aAAa,IAAI,QAAQ,EAAE,CAE1C;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC9C,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC9C,CAAC,CAKD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,WAAW,EAAE,CAyB7E"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Registry of all known agent targets.
|
|
4
|
+
*
|
|
5
|
+
* Adding a new target = create `targets/<id>.ts` exporting an
|
|
6
|
+
* `AgentTarget`, then add it to the array below. Order here is the
|
|
7
|
+
* order they appear in the multiselect prompt, in `--target=all`,
|
|
8
|
+
* and in `--print-config`'s help listing — keep it stable.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.ALL_TARGETS = void 0;
|
|
12
|
+
exports.getTarget = getTarget;
|
|
13
|
+
exports.listTargetIds = listTargetIds;
|
|
14
|
+
exports.detectAll = detectAll;
|
|
15
|
+
exports.resolveTargetFlag = resolveTargetFlag;
|
|
16
|
+
const claude_1 = require("./claude");
|
|
17
|
+
const cursor_1 = require("./cursor");
|
|
18
|
+
const codex_1 = require("./codex");
|
|
19
|
+
const opencode_1 = require("./opencode");
|
|
20
|
+
const hermes_1 = require("./hermes");
|
|
21
|
+
const gemini_1 = require("./gemini");
|
|
22
|
+
const antigravity_1 = require("./antigravity");
|
|
23
|
+
const kiro_1 = require("./kiro");
|
|
24
|
+
exports.ALL_TARGETS = Object.freeze([
|
|
25
|
+
claude_1.claudeTarget,
|
|
26
|
+
cursor_1.cursorTarget,
|
|
27
|
+
codex_1.codexTarget,
|
|
28
|
+
opencode_1.opencodeTarget,
|
|
29
|
+
hermes_1.hermesTarget,
|
|
30
|
+
gemini_1.geminiTarget,
|
|
31
|
+
antigravity_1.antigravityTarget,
|
|
32
|
+
kiro_1.kiroTarget,
|
|
33
|
+
]);
|
|
34
|
+
function getTarget(id) {
|
|
35
|
+
return exports.ALL_TARGETS.find((t) => t.id === id);
|
|
36
|
+
}
|
|
37
|
+
function listTargetIds() {
|
|
38
|
+
return exports.ALL_TARGETS.map((t) => t.id);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Run `detect()` for every target at the given location. Returns the
|
|
42
|
+
* full registry zipped with detection results — orchestrator uses
|
|
43
|
+
* this to seed the multiselect prompt with installed agents
|
|
44
|
+
* pre-checked.
|
|
45
|
+
*/
|
|
46
|
+
function detectAll(loc) {
|
|
47
|
+
return exports.ALL_TARGETS.map((target) => ({
|
|
48
|
+
target,
|
|
49
|
+
detection: target.detect(loc),
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Resolve a `--target=` flag value to a list of `AgentTarget`
|
|
54
|
+
* instances. Accepts:
|
|
55
|
+
*
|
|
56
|
+
* - `auto` — return all targets whose `detect().installed` is true,
|
|
57
|
+
* or `['claude']` as a fallback if none detected (least-surprise
|
|
58
|
+
* for existing users).
|
|
59
|
+
* - `all` — every target in the registry.
|
|
60
|
+
* - `none` — empty list (caller skips agent writes entirely).
|
|
61
|
+
* - csv list — `'claude,cursor'` etc. Unknown ids throw.
|
|
62
|
+
*/
|
|
63
|
+
function resolveTargetFlag(value, loc) {
|
|
64
|
+
if (value === 'none')
|
|
65
|
+
return [];
|
|
66
|
+
if (value === 'all')
|
|
67
|
+
return [...exports.ALL_TARGETS];
|
|
68
|
+
if (value === 'auto') {
|
|
69
|
+
const detected = detectAll(loc).filter(({ detection }) => detection.installed);
|
|
70
|
+
if (detected.length > 0)
|
|
71
|
+
return detected.map(({ target }) => target);
|
|
72
|
+
const fallback = getTarget('claude');
|
|
73
|
+
return fallback ? [fallback] : [];
|
|
74
|
+
}
|
|
75
|
+
const ids = value.split(',').map((s) => s.trim()).filter(Boolean);
|
|
76
|
+
const resolved = [];
|
|
77
|
+
const unknown = [];
|
|
78
|
+
for (const id of ids) {
|
|
79
|
+
const t = getTarget(id);
|
|
80
|
+
if (t)
|
|
81
|
+
resolved.push(t);
|
|
82
|
+
else
|
|
83
|
+
unknown.push(id);
|
|
84
|
+
}
|
|
85
|
+
if (unknown.length > 0) {
|
|
86
|
+
const known = listTargetIds().join(', ');
|
|
87
|
+
throw new Error(`Unknown --target id(s): ${unknown.join(', ')}. Known: ${known}, plus 'auto' / 'all' / 'none'.`);
|
|
88
|
+
}
|
|
89
|
+
return resolved;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=registry.js.map
|