@hashicorp/kits 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/README.md +619 -0
- package/bin/kits.js +8 -0
- package/dist/adapters/base-adapter.d.ts +231 -0
- package/dist/adapters/base-adapter.d.ts.map +1 -0
- package/dist/adapters/base-adapter.js +703 -0
- package/dist/adapters/base-adapter.js.map +1 -0
- package/dist/adapters/claude-code/detection.d.ts +63 -0
- package/dist/adapters/claude-code/detection.d.ts.map +1 -0
- package/dist/adapters/claude-code/detection.js +154 -0
- package/dist/adapters/claude-code/detection.js.map +1 -0
- package/dist/adapters/claude-code/index.d.ts +178 -0
- package/dist/adapters/claude-code/index.d.ts.map +1 -0
- package/dist/adapters/claude-code/index.js +643 -0
- package/dist/adapters/claude-code/index.js.map +1 -0
- package/dist/adapters/claude-code/installer.d.ts +161 -0
- package/dist/adapters/claude-code/installer.d.ts.map +1 -0
- package/dist/adapters/claude-code/installer.js +413 -0
- package/dist/adapters/claude-code/installer.js.map +1 -0
- package/dist/adapters/claude-code/model-mapping.d.ts +7 -0
- package/dist/adapters/claude-code/model-mapping.d.ts.map +1 -0
- package/dist/adapters/claude-code/model-mapping.js +14 -0
- package/dist/adapters/claude-code/model-mapping.js.map +1 -0
- package/dist/adapters/claude-code/tool-mapping.d.ts +18 -0
- package/dist/adapters/claude-code/tool-mapping.d.ts.map +1 -0
- package/dist/adapters/claude-code/tool-mapping.js +31 -0
- package/dist/adapters/claude-code/tool-mapping.js.map +1 -0
- package/dist/adapters/codex/detection.d.ts +60 -0
- package/dist/adapters/codex/detection.d.ts.map +1 -0
- package/dist/adapters/codex/detection.js +146 -0
- package/dist/adapters/codex/detection.js.map +1 -0
- package/dist/adapters/codex/index.d.ts +167 -0
- package/dist/adapters/codex/index.d.ts.map +1 -0
- package/dist/adapters/codex/index.js +344 -0
- package/dist/adapters/codex/index.js.map +1 -0
- package/dist/adapters/codex/installer.d.ts +147 -0
- package/dist/adapters/codex/installer.d.ts.map +1 -0
- package/dist/adapters/codex/installer.js +229 -0
- package/dist/adapters/codex/installer.js.map +1 -0
- package/dist/adapters/codex/model-mapping.d.ts +7 -0
- package/dist/adapters/codex/model-mapping.d.ts.map +1 -0
- package/dist/adapters/codex/model-mapping.js +14 -0
- package/dist/adapters/codex/model-mapping.js.map +1 -0
- package/dist/adapters/codex/tool-mapping.d.ts +19 -0
- package/dist/adapters/codex/tool-mapping.d.ts.map +1 -0
- package/dist/adapters/codex/tool-mapping.js +32 -0
- package/dist/adapters/codex/tool-mapping.js.map +1 -0
- package/dist/adapters/command-parser.d.ts +72 -0
- package/dist/adapters/command-parser.d.ts.map +1 -0
- package/dist/adapters/command-parser.js +222 -0
- package/dist/adapters/command-parser.js.map +1 -0
- package/dist/adapters/file-operations.d.ts +164 -0
- package/dist/adapters/file-operations.d.ts.map +1 -0
- package/dist/adapters/file-operations.js +526 -0
- package/dist/adapters/file-operations.js.map +1 -0
- package/dist/adapters/gemini-cli/detection.d.ts +57 -0
- package/dist/adapters/gemini-cli/detection.d.ts.map +1 -0
- package/dist/adapters/gemini-cli/detection.js +143 -0
- package/dist/adapters/gemini-cli/detection.js.map +1 -0
- package/dist/adapters/gemini-cli/index.d.ts +182 -0
- package/dist/adapters/gemini-cli/index.d.ts.map +1 -0
- package/dist/adapters/gemini-cli/index.js +598 -0
- package/dist/adapters/gemini-cli/index.js.map +1 -0
- package/dist/adapters/gemini-cli/installer.d.ts +158 -0
- package/dist/adapters/gemini-cli/installer.d.ts.map +1 -0
- package/dist/adapters/gemini-cli/installer.js +457 -0
- package/dist/adapters/gemini-cli/installer.js.map +1 -0
- package/dist/adapters/gemini-cli/model-mapping.d.ts +7 -0
- package/dist/adapters/gemini-cli/model-mapping.d.ts.map +1 -0
- package/dist/adapters/gemini-cli/model-mapping.js +14 -0
- package/dist/adapters/gemini-cli/model-mapping.js.map +1 -0
- package/dist/adapters/gemini-cli/tool-mapping.d.ts +18 -0
- package/dist/adapters/gemini-cli/tool-mapping.d.ts.map +1 -0
- package/dist/adapters/gemini-cli/tool-mapping.js +31 -0
- package/dist/adapters/gemini-cli/tool-mapping.js.map +1 -0
- package/dist/adapters/github-copilot/detection.d.ts +58 -0
- package/dist/adapters/github-copilot/detection.d.ts.map +1 -0
- package/dist/adapters/github-copilot/detection.js +144 -0
- package/dist/adapters/github-copilot/detection.js.map +1 -0
- package/dist/adapters/github-copilot/index.d.ts +203 -0
- package/dist/adapters/github-copilot/index.d.ts.map +1 -0
- package/dist/adapters/github-copilot/index.js +595 -0
- package/dist/adapters/github-copilot/index.js.map +1 -0
- package/dist/adapters/github-copilot/installer.d.ts +124 -0
- package/dist/adapters/github-copilot/installer.d.ts.map +1 -0
- package/dist/adapters/github-copilot/installer.js +343 -0
- package/dist/adapters/github-copilot/installer.js.map +1 -0
- package/dist/adapters/github-copilot/model-mapping.d.ts +7 -0
- package/dist/adapters/github-copilot/model-mapping.d.ts.map +1 -0
- package/dist/adapters/github-copilot/model-mapping.js +14 -0
- package/dist/adapters/github-copilot/model-mapping.js.map +1 -0
- package/dist/adapters/github-copilot/tool-mapping.d.ts +18 -0
- package/dist/adapters/github-copilot/tool-mapping.d.ts.map +1 -0
- package/dist/adapters/github-copilot/tool-mapping.js +31 -0
- package/dist/adapters/github-copilot/tool-mapping.js.map +1 -0
- package/dist/adapters/index.d.ts +39 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +76 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/interface.d.ts +9 -0
- package/dist/adapters/interface.d.ts.map +1 -0
- package/dist/adapters/interface.js +8 -0
- package/dist/adapters/interface.js.map +1 -0
- package/dist/adapters/model-templating.d.ts +16 -0
- package/dist/adapters/model-templating.d.ts.map +1 -0
- package/dist/adapters/model-templating.js +52 -0
- package/dist/adapters/model-templating.js.map +1 -0
- package/dist/adapters/opencode/detection.d.ts +57 -0
- package/dist/adapters/opencode/detection.d.ts.map +1 -0
- package/dist/adapters/opencode/detection.js +140 -0
- package/dist/adapters/opencode/detection.js.map +1 -0
- package/dist/adapters/opencode/index.d.ts +168 -0
- package/dist/adapters/opencode/index.d.ts.map +1 -0
- package/dist/adapters/opencode/index.js +494 -0
- package/dist/adapters/opencode/index.js.map +1 -0
- package/dist/adapters/opencode/installer.d.ts +91 -0
- package/dist/adapters/opencode/installer.d.ts.map +1 -0
- package/dist/adapters/opencode/installer.js +290 -0
- package/dist/adapters/opencode/installer.js.map +1 -0
- package/dist/adapters/opencode/model-mapping.d.ts +7 -0
- package/dist/adapters/opencode/model-mapping.d.ts.map +1 -0
- package/dist/adapters/opencode/model-mapping.js +14 -0
- package/dist/adapters/opencode/model-mapping.js.map +1 -0
- package/dist/adapters/opencode/tool-mapping.d.ts +18 -0
- package/dist/adapters/opencode/tool-mapping.d.ts.map +1 -0
- package/dist/adapters/opencode/tool-mapping.js +31 -0
- package/dist/adapters/opencode/tool-mapping.js.map +1 -0
- package/dist/adapters/registry.d.ts +154 -0
- package/dist/adapters/registry.d.ts.map +1 -0
- package/dist/adapters/registry.js +223 -0
- package/dist/adapters/registry.js.map +1 -0
- package/dist/adapters/skill-frontmatter.d.ts +34 -0
- package/dist/adapters/skill-frontmatter.d.ts.map +1 -0
- package/dist/adapters/skill-frontmatter.js +110 -0
- package/dist/adapters/skill-frontmatter.js.map +1 -0
- package/dist/adapters/subagent-frontmatter.d.ts +22 -0
- package/dist/adapters/subagent-frontmatter.d.ts.map +1 -0
- package/dist/adapters/subagent-frontmatter.js +80 -0
- package/dist/adapters/subagent-frontmatter.js.map +1 -0
- package/dist/adapters/tool-templating.d.ts +162 -0
- package/dist/adapters/tool-templating.d.ts.map +1 -0
- package/dist/adapters/tool-templating.js +273 -0
- package/dist/adapters/tool-templating.js.map +1 -0
- package/dist/adapters/types.d.ts +347 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +33 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/cli/index.d.ts +10 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +261 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/info.d.ts +20 -0
- package/dist/cli/info.d.ts.map +1 -0
- package/dist/cli/info.js +194 -0
- package/dist/cli/info.js.map +1 -0
- package/dist/cli/install.d.ts +21 -0
- package/dist/cli/install.d.ts.map +1 -0
- package/dist/cli/install.js +1624 -0
- package/dist/cli/install.js.map +1 -0
- package/dist/cli/list.d.ts +19 -0
- package/dist/cli/list.d.ts.map +1 -0
- package/dist/cli/list.js +216 -0
- package/dist/cli/list.js.map +1 -0
- package/dist/cli/types.d.ts +246 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +25 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli/uninstall.d.ts +20 -0
- package/dist/cli/uninstall.d.ts.map +1 -0
- package/dist/cli/uninstall.js +393 -0
- package/dist/cli/uninstall.js.map +1 -0
- package/dist/cli/upgrade.d.ts +20 -0
- package/dist/cli/upgrade.d.ts.map +1 -0
- package/dist/cli/upgrade.js +372 -0
- package/dist/cli/upgrade.js.map +1 -0
- package/dist/cli/validate.d.ts +14 -0
- package/dist/cli/validate.d.ts.map +1 -0
- package/dist/cli/validate.js +307 -0
- package/dist/cli/validate.js.map +1 -0
- package/dist/core/debug.d.ts +23 -0
- package/dist/core/debug.d.ts.map +1 -0
- package/dist/core/debug.js +69 -0
- package/dist/core/debug.js.map +1 -0
- package/dist/core/hook-instance.d.ts +8 -0
- package/dist/core/hook-instance.d.ts.map +1 -0
- package/dist/core/hook-instance.js +62 -0
- package/dist/core/hook-instance.js.map +1 -0
- package/dist/core/mcp-instance.d.ts +13 -0
- package/dist/core/mcp-instance.d.ts.map +1 -0
- package/dist/core/mcp-instance.js +80 -0
- package/dist/core/mcp-instance.js.map +1 -0
- package/dist/core/types.d.ts +461 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +42 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/upgrade-executor.d.ts +70 -0
- package/dist/core/upgrade-executor.d.ts.map +1 -0
- package/dist/core/upgrade-executor.js +368 -0
- package/dist/core/upgrade-executor.js.map +1 -0
- package/dist/discovery/fetcher-registry.d.ts +87 -0
- package/dist/discovery/fetcher-registry.d.ts.map +1 -0
- package/dist/discovery/fetcher-registry.js +119 -0
- package/dist/discovery/fetcher-registry.js.map +1 -0
- package/dist/discovery/git-fetcher.d.ts +61 -0
- package/dist/discovery/git-fetcher.d.ts.map +1 -0
- package/dist/discovery/git-fetcher.js +150 -0
- package/dist/discovery/git-fetcher.js.map +1 -0
- package/dist/discovery/index.d.ts +13 -0
- package/dist/discovery/index.d.ts.map +1 -0
- package/dist/discovery/index.js +15 -0
- package/dist/discovery/index.js.map +1 -0
- package/dist/discovery/kit-scanner.d.ts +55 -0
- package/dist/discovery/kit-scanner.d.ts.map +1 -0
- package/dist/discovery/kit-scanner.js +305 -0
- package/dist/discovery/kit-scanner.js.map +1 -0
- package/dist/discovery/local-fetcher.d.ts +38 -0
- package/dist/discovery/local-fetcher.d.ts.map +1 -0
- package/dist/discovery/local-fetcher.js +100 -0
- package/dist/discovery/local-fetcher.js.map +1 -0
- package/dist/discovery/source-parser.d.ts +33 -0
- package/dist/discovery/source-parser.d.ts.map +1 -0
- package/dist/discovery/source-parser.js +136 -0
- package/dist/discovery/source-parser.js.map +1 -0
- package/dist/discovery/types.d.ts +145 -0
- package/dist/discovery/types.d.ts.map +1 -0
- package/dist/discovery/types.js +18 -0
- package/dist/discovery/types.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/manifest/index.d.ts +79 -0
- package/dist/manifest/index.d.ts.map +1 -0
- package/dist/manifest/index.js +200 -0
- package/dist/manifest/index.js.map +1 -0
- package/dist/manifest/read.d.ts +32 -0
- package/dist/manifest/read.d.ts.map +1 -0
- package/dist/manifest/read.js +88 -0
- package/dist/manifest/read.js.map +1 -0
- package/dist/manifest/types.d.ts +119 -0
- package/dist/manifest/types.d.ts.map +1 -0
- package/dist/manifest/types.js +44 -0
- package/dist/manifest/types.js.map +1 -0
- package/dist/manifest/upgrade-check.d.ts +72 -0
- package/dist/manifest/upgrade-check.d.ts.map +1 -0
- package/dist/manifest/upgrade-check.js +215 -0
- package/dist/manifest/upgrade-check.js.map +1 -0
- package/dist/manifest/utils.d.ts +35 -0
- package/dist/manifest/utils.d.ts.map +1 -0
- package/dist/manifest/utils.js +57 -0
- package/dist/manifest/utils.js.map +1 -0
- package/dist/manifest/write.d.ts +44 -0
- package/dist/manifest/write.d.ts.map +1 -0
- package/dist/manifest/write.js +77 -0
- package/dist/manifest/write.js.map +1 -0
- package/dist/resolution/env-resolver.d.ts +81 -0
- package/dist/resolution/env-resolver.d.ts.map +1 -0
- package/dist/resolution/env-resolver.js +233 -0
- package/dist/resolution/env-resolver.js.map +1 -0
- package/dist/resolution/index.d.ts +55 -0
- package/dist/resolution/index.d.ts.map +1 -0
- package/dist/resolution/index.js +412 -0
- package/dist/resolution/index.js.map +1 -0
- package/dist/resolution/multi-kit-resolver.d.ts +43 -0
- package/dist/resolution/multi-kit-resolver.d.ts.map +1 -0
- package/dist/resolution/multi-kit-resolver.js +258 -0
- package/dist/resolution/multi-kit-resolver.js.map +1 -0
- package/dist/resolution/primitive-paths.d.ts +17 -0
- package/dist/resolution/primitive-paths.d.ts.map +1 -0
- package/dist/resolution/primitive-paths.js +59 -0
- package/dist/resolution/primitive-paths.js.map +1 -0
- package/dist/resolution/primitives-registry.d.ts +137 -0
- package/dist/resolution/primitives-registry.d.ts.map +1 -0
- package/dist/resolution/primitives-registry.js +295 -0
- package/dist/resolution/primitives-registry.js.map +1 -0
- package/dist/resolution/reference-parser.d.ts +62 -0
- package/dist/resolution/reference-parser.d.ts.map +1 -0
- package/dist/resolution/reference-parser.js +182 -0
- package/dist/resolution/reference-parser.js.map +1 -0
- package/dist/resolution/types.d.ts +77 -0
- package/dist/resolution/types.d.ts.map +1 -0
- package/dist/resolution/types.js +13 -0
- package/dist/resolution/types.js.map +1 -0
- package/dist/resolution/version-resolver.d.ts +76 -0
- package/dist/resolution/version-resolver.d.ts.map +1 -0
- package/dist/resolution/version-resolver.js +269 -0
- package/dist/resolution/version-resolver.js.map +1 -0
- package/dist/tui/compatibility.d.ts +80 -0
- package/dist/tui/compatibility.d.ts.map +1 -0
- package/dist/tui/compatibility.js +355 -0
- package/dist/tui/compatibility.js.map +1 -0
- package/dist/tui/env-prompt.d.ts +129 -0
- package/dist/tui/env-prompt.d.ts.map +1 -0
- package/dist/tui/env-prompt.js +488 -0
- package/dist/tui/env-prompt.js.map +1 -0
- package/dist/tui/harness-select.d.ts +54 -0
- package/dist/tui/harness-select.d.ts.map +1 -0
- package/dist/tui/harness-select.js +171 -0
- package/dist/tui/harness-select.js.map +1 -0
- package/dist/tui/index.d.ts +112 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +213 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/kit-select.d.ts +72 -0
- package/dist/tui/kit-select.d.ts.map +1 -0
- package/dist/tui/kit-select.js +209 -0
- package/dist/tui/kit-select.js.map +1 -0
- package/dist/tui/progress.d.ts +75 -0
- package/dist/tui/progress.d.ts.map +1 -0
- package/dist/tui/progress.js +267 -0
- package/dist/tui/progress.js.map +1 -0
- package/dist/tui/resolution.d.ts +62 -0
- package/dist/tui/resolution.d.ts.map +1 -0
- package/dist/tui/resolution.js +261 -0
- package/dist/tui/resolution.js.map +1 -0
- package/dist/tui/scope-compatibility.d.ts +139 -0
- package/dist/tui/scope-compatibility.d.ts.map +1 -0
- package/dist/tui/scope-compatibility.js +230 -0
- package/dist/tui/scope-compatibility.js.map +1 -0
- package/dist/tui/scope-select.d.ts +67 -0
- package/dist/tui/scope-select.d.ts.map +1 -0
- package/dist/tui/scope-select.js +134 -0
- package/dist/tui/scope-select.js.map +1 -0
- package/dist/tui/spinner.d.ts +114 -0
- package/dist/tui/spinner.d.ts.map +1 -0
- package/dist/tui/spinner.js +186 -0
- package/dist/tui/spinner.js.map +1 -0
- package/dist/tui/summary.d.ts +71 -0
- package/dist/tui/summary.d.ts.map +1 -0
- package/dist/tui/summary.js +343 -0
- package/dist/tui/summary.js.map +1 -0
- package/dist/tui/types.d.ts +234 -0
- package/dist/tui/types.d.ts.map +1 -0
- package/dist/tui/types.js +7 -0
- package/dist/tui/types.js.map +1 -0
- package/dist/tui/upgrade-select.d.ts +73 -0
- package/dist/tui/upgrade-select.d.ts.map +1 -0
- package/dist/tui/upgrade-select.js +324 -0
- package/dist/tui/upgrade-select.js.map +1 -0
- package/dist/validation/index.d.ts +13 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +13 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/source.d.ts +14 -0
- package/dist/validation/source.d.ts.map +1 -0
- package/dist/validation/source.js +51 -0
- package/dist/validation/source.js.map +1 -0
- package/dist/validation/utils.d.ts +29 -0
- package/dist/validation/utils.d.ts.map +1 -0
- package/dist/validation/utils.js +89 -0
- package/dist/validation/utils.js.map +1 -0
- package/dist/validation/validate-commands.d.ts +28 -0
- package/dist/validation/validate-commands.d.ts.map +1 -0
- package/dist/validation/validate-commands.js +151 -0
- package/dist/validation/validate-commands.js.map +1 -0
- package/dist/validation/validate-hooks.d.ts +13 -0
- package/dist/validation/validate-hooks.d.ts.map +1 -0
- package/dist/validation/validate-hooks.js +272 -0
- package/dist/validation/validate-hooks.js.map +1 -0
- package/dist/validation/validate-kits.d.ts +15 -0
- package/dist/validation/validate-kits.d.ts.map +1 -0
- package/dist/validation/validate-kits.js +185 -0
- package/dist/validation/validate-kits.js.map +1 -0
- package/dist/validation/validate-mcp.d.ts +12 -0
- package/dist/validation/validate-mcp.d.ts.map +1 -0
- package/dist/validation/validate-mcp.js +132 -0
- package/dist/validation/validate-mcp.js.map +1 -0
- package/dist/validation/validate-skills.d.ts +24 -0
- package/dist/validation/validate-skills.d.ts.map +1 -0
- package/dist/validation/validate-skills.js +223 -0
- package/dist/validation/validate-skills.js.map +1 -0
- package/dist/validation/validate-subagents.d.ts +27 -0
- package/dist/validation/validate-subagents.d.ts.map +1 -0
- package/dist/validation/validate-subagents.js +269 -0
- package/dist/validation/validate-subagents.js.map +1 -0
- package/package.json +91 -0
- package/schemas/command.schema.json +23 -0
- package/schemas/examples/hook-binding-valid.json +20 -0
- package/schemas/examples/hook-program-valid.json +25 -0
- package/schemas/examples/http-server-valid.json +82 -0
- package/schemas/examples/invalid-sensitive-header-no-envvar.json +16 -0
- package/schemas/examples/invalid-sensitive-header-with-value.json +17 -0
- package/schemas/examples/invalid-sensitive-var-with-default.json +19 -0
- package/schemas/examples/stdio-server-valid.json +55 -0
- package/schemas/hook-binding.schema.json +63 -0
- package/schemas/hook-program.schema.json +104 -0
- package/schemas/kit.schema.json +338 -0
- package/schemas/kits.schema.json +117 -0
- package/schemas/manifest.schema.json +200 -0
- package/schemas/mcp-server.schema.json +305 -0
- package/schemas/primitives.schema.json +118 -0
- package/schemas/skill.schema.json +96 -0
- package/schemas/subagent.schema.json +107 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapters module for the Kit Installer.
|
|
3
|
+
*
|
|
4
|
+
* This module provides the adapter framework for translating kits
|
|
5
|
+
* to harness-specific configurations. It includes:
|
|
6
|
+
*
|
|
7
|
+
* - KitAdapter interface for harness-specific implementations
|
|
8
|
+
* - BaseAdapter abstract class with common functionality
|
|
9
|
+
* - AdapterRegistry for managing and discovering adapters
|
|
10
|
+
* - Tool templating system for harness-agnostic tool references
|
|
11
|
+
* - File operation utilities for atomic installation
|
|
12
|
+
*/
|
|
13
|
+
export { CANONICAL_TOOLS, CANONICAL_MODEL_TIERS, } from "./interface.js";
|
|
14
|
+
// Registry
|
|
15
|
+
export { AdapterRegistry, globalRegistry, registerAdapter, getAdapter, listAdapters, detectHarnesses, } from "./registry.js";
|
|
16
|
+
/**
|
|
17
|
+
* Get the global adapter registry.
|
|
18
|
+
*
|
|
19
|
+
* @returns The global adapter registry instance
|
|
20
|
+
*/
|
|
21
|
+
export function getAdapterRegistry() {
|
|
22
|
+
return globalRegistry;
|
|
23
|
+
}
|
|
24
|
+
// Base adapter
|
|
25
|
+
export { BaseAdapter, NAMESPACE_SEPARATOR } from "./base-adapter.js";
|
|
26
|
+
// Tool templating
|
|
27
|
+
export { processToolTemplates, parseToolTemplate, findToolTemplates, hasToolTemplates, countToolTemplates, getReferencedToolIds, validateToolTemplates, createToolTemplate, isValidCanonicalToolId, DEFAULT_TOOL_MAPPINGS, } from "./tool-templating.js";
|
|
28
|
+
// Model templating
|
|
29
|
+
export { parseModelTemplate, resolveModelTemplate } from "./model-templating.js";
|
|
30
|
+
// Subagent frontmatter
|
|
31
|
+
export { parseSubagentFrontmatter, serializeSubagentFrontmatter, mapSubagentTools, } from "./subagent-frontmatter.js";
|
|
32
|
+
// File operations
|
|
33
|
+
export { expandPath, pathExists, isDirectory, isFile, ensureDirectory, copyFile, copyDirectory, writeTransformed, readFile, backupFile, createSimpleBackup, restoreFromBackup, remove, removeIfEmpty, rollbackOperations, executeFileOperations, deepMerge, getSize, listFiles, } from "./file-operations.js";
|
|
34
|
+
// Claude Code adapter
|
|
35
|
+
export { ClaudeCodeAdapter, createClaudeCodeAdapter, detectClaudeCode, claudeCodeToolMapping, claudeCodeModelMapping, CLAUDE_CODE_PATHS, } from "./claude-code/index.js";
|
|
36
|
+
// Codex adapter
|
|
37
|
+
export { CodexAdapter, createCodexAdapter, detectCodex, codexToolMapping, codexModelMapping, CODEX_PATHS, } from "./codex/index.js";
|
|
38
|
+
// Gemini CLI adapter
|
|
39
|
+
export { GeminiCliAdapter, createGeminiCliAdapter, detectGeminiCli, geminiCliToolMapping, geminiCliModelMapping, GEMINI_CLI_PATHS, } from "./gemini-cli/index.js";
|
|
40
|
+
// GitHub Copilot adapter
|
|
41
|
+
export { GithubCopilotAdapter, createGithubCopilotAdapter, detectGithubCopilot, githubCopilotToolMapping, githubCopilotModelMapping, GITHUB_COPILOT_PATHS, } from "./github-copilot/index.js";
|
|
42
|
+
// OpenCode adapter
|
|
43
|
+
export { OpencodeAdapter, createOpencodeAdapter, detectOpencode, opencodeToolMapping, opencodeModelMapping, OPENCODE_PATHS, } from "./opencode/index.js";
|
|
44
|
+
// Register adapters with global registry
|
|
45
|
+
import { globalRegistry } from "./registry.js";
|
|
46
|
+
import { createClaudeCodeAdapter } from "./claude-code/index.js";
|
|
47
|
+
import { createCodexAdapter } from "./codex/index.js";
|
|
48
|
+
import { createGeminiCliAdapter } from "./gemini-cli/index.js";
|
|
49
|
+
import { createGithubCopilotAdapter } from "./github-copilot/index.js";
|
|
50
|
+
import { createOpencodeAdapter } from "./opencode/index.js";
|
|
51
|
+
/**
|
|
52
|
+
* Initialize all built-in adapters and register them with the global registry.
|
|
53
|
+
*
|
|
54
|
+
* This function should be called during application startup.
|
|
55
|
+
*/
|
|
56
|
+
export function initializeAdapters() {
|
|
57
|
+
// Only register if not already registered
|
|
58
|
+
if (!globalRegistry.has("claude-code")) {
|
|
59
|
+
globalRegistry.register(createClaudeCodeAdapter());
|
|
60
|
+
}
|
|
61
|
+
if (!globalRegistry.has("codex")) {
|
|
62
|
+
globalRegistry.register(createCodexAdapter());
|
|
63
|
+
}
|
|
64
|
+
if (!globalRegistry.has("gemini-cli")) {
|
|
65
|
+
globalRegistry.register(createGeminiCliAdapter());
|
|
66
|
+
}
|
|
67
|
+
if (!globalRegistry.has("github-copilot")) {
|
|
68
|
+
globalRegistry.register(createGithubCopilotAdapter());
|
|
69
|
+
}
|
|
70
|
+
if (!globalRegistry.has("opencode")) {
|
|
71
|
+
globalRegistry.register(createOpencodeAdapter());
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// Auto-initialize on import
|
|
75
|
+
initializeAdapters();
|
|
76
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapter interface re-exports.
|
|
3
|
+
*
|
|
4
|
+
* This module provides the primary exports for the KitAdapter interface
|
|
5
|
+
* and related types used by harness-specific adapter implementations.
|
|
6
|
+
*/
|
|
7
|
+
export type { KitAdapter, InstallationPaths, ConfigLocations, DetectionResult, CompatibilityResult, InstallOptions, InstallProgress, InstallResult, UninstallOptions, UninstallResult, InstalledKitInfo, PrimitiveInstallStatus, FileOperationResult, TransformResult, HookInstallation, FileOperation, ValidationResult, ValidationError, ToolMapping, ModelMapping, ModelTier, TemplateProcessingResult, ResolvedTool, UnresolvedTool, } from "./types.js";
|
|
8
|
+
export { CANONICAL_TOOLS, CANONICAL_MODEL_TIERS, type CanonicalToolId, } from "./types.js";
|
|
9
|
+
//# sourceMappingURL=interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/adapters/interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,SAAS,EACT,wBAAwB,EACxB,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapter interface re-exports.
|
|
3
|
+
*
|
|
4
|
+
* This module provides the primary exports for the KitAdapter interface
|
|
5
|
+
* and related types used by harness-specific adapter implementations.
|
|
6
|
+
*/
|
|
7
|
+
export { CANONICAL_TOOLS, CANONICAL_MODEL_TIERS, } from "./types.js";
|
|
8
|
+
//# sourceMappingURL=interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/adapters/interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6BH,OAAO,EACL,eAAe,EACf,qBAAqB,GAEtB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model template parsing and resolution helpers.
|
|
3
|
+
*/
|
|
4
|
+
import type { ModelMapping, ModelTier } from "./types.js";
|
|
5
|
+
export interface ParsedModelTemplate {
|
|
6
|
+
tier: ModelTier;
|
|
7
|
+
}
|
|
8
|
+
export declare function parseModelTemplate(value: string): ParsedModelTemplate | null;
|
|
9
|
+
/**
|
|
10
|
+
* Resolve model templates in frontmatter using the provided mapping.
|
|
11
|
+
*
|
|
12
|
+
* - If the tier maps to a model string, replace the model field.
|
|
13
|
+
* - If the tier maps to null/undefined/empty, remove the model field.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveModelTemplate(frontmatter: Record<string, unknown>, modelMapping: ModelMapping): Record<string, unknown>;
|
|
16
|
+
//# sourceMappingURL=model-templating.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-templating.d.ts","sourceRoot":"","sources":["../../src/adapters/model-templating.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI1D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAe5E;AAUD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,YAAY,EAAE,YAAY,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsBzB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model template parsing and resolution helpers.
|
|
3
|
+
*/
|
|
4
|
+
const MODEL_TEMPLATE_REGEX = /\{\{\s*model:([a-z-]+)\s*\}\}/;
|
|
5
|
+
export function parseModelTemplate(value) {
|
|
6
|
+
const match = MODEL_TEMPLATE_REGEX.exec(value);
|
|
7
|
+
if (!match) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
const tier = match[1];
|
|
11
|
+
if (!tier) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
if (!isModelTier(tier)) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
return { tier };
|
|
18
|
+
}
|
|
19
|
+
function isModelTier(value) {
|
|
20
|
+
return value === "fast" ||
|
|
21
|
+
value === "standard" ||
|
|
22
|
+
value === "power" ||
|
|
23
|
+
value === "auto" ||
|
|
24
|
+
value === "inherit";
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Resolve model templates in frontmatter using the provided mapping.
|
|
28
|
+
*
|
|
29
|
+
* - If the tier maps to a model string, replace the model field.
|
|
30
|
+
* - If the tier maps to null/undefined/empty, remove the model field.
|
|
31
|
+
*/
|
|
32
|
+
export function resolveModelTemplate(frontmatter, modelMapping) {
|
|
33
|
+
const rawModel = frontmatter["model"];
|
|
34
|
+
if (typeof rawModel !== "string") {
|
|
35
|
+
return frontmatter;
|
|
36
|
+
}
|
|
37
|
+
const parsed = parseModelTemplate(rawModel);
|
|
38
|
+
if (!parsed) {
|
|
39
|
+
return frontmatter;
|
|
40
|
+
}
|
|
41
|
+
const mapped = modelMapping[parsed.tier];
|
|
42
|
+
if (mapped === undefined || mapped === null || mapped.length === 0) {
|
|
43
|
+
const { model: _model, ...rest } = frontmatter;
|
|
44
|
+
void _model;
|
|
45
|
+
return rest;
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
...frontmatter,
|
|
49
|
+
model: mapped,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=model-templating.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-templating.js","sourceRoot":"","sources":["../../src/adapters/model-templating.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,oBAAoB,GAAG,+BAA+B,CAAC;AAM7D,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,KAAK,MAAM;QACrB,KAAK,KAAK,UAAU;QACpB,KAAK,KAAK,OAAO;QACjB,KAAK,KAAK,MAAM;QAChB,KAAK,KAAK,SAAS,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAoC,EACpC,YAA0B;IAE1B,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,CAAC;QAC/C,KAAK,MAAM,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,GAAG,WAAW;QACd,KAAK,EAAE,MAAM;KACd,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenCode harness detection.
|
|
3
|
+
*
|
|
4
|
+
* Detects OpenCode installation by checking for:
|
|
5
|
+
* - opencode binary in PATH
|
|
6
|
+
* - ~/.config/opencode/opencode.json configuration file
|
|
7
|
+
* - Installation directories (~/.config/opencode/commands/, ~/.config/opencode/skills/, etc.)
|
|
8
|
+
*/
|
|
9
|
+
import type { DetectionResult, InstallationPaths } from "../types.js";
|
|
10
|
+
/**
|
|
11
|
+
* OpenCode configuration file paths.
|
|
12
|
+
*/
|
|
13
|
+
export declare const OPENCODE_PATHS: {
|
|
14
|
+
readonly configJson: "~/.config/opencode/opencode.json";
|
|
15
|
+
readonly commands: "~/.config/opencode/commands/";
|
|
16
|
+
readonly skills: "~/.config/opencode/skills/";
|
|
17
|
+
readonly agents: "~/.config/opencode/agents/";
|
|
18
|
+
readonly plugins: "~/.config/opencode/plugins/";
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Check if the opencode binary is available in PATH.
|
|
22
|
+
*/
|
|
23
|
+
export declare function checkOpencodeBinary(): Promise<boolean>;
|
|
24
|
+
/**
|
|
25
|
+
* Get the OpenCode version from the CLI.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getOpencodeVersion(): Promise<string | undefined>;
|
|
28
|
+
/**
|
|
29
|
+
* Check if the OpenCode config file exists.
|
|
30
|
+
*/
|
|
31
|
+
export declare function checkConfigJson(): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Check if installation directories exist.
|
|
34
|
+
*/
|
|
35
|
+
export declare function checkInstallationPaths(): {
|
|
36
|
+
commands: boolean;
|
|
37
|
+
skills: boolean;
|
|
38
|
+
subagents: boolean;
|
|
39
|
+
hooks: boolean;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Get version from opencode.json if available.
|
|
43
|
+
*/
|
|
44
|
+
export declare function getVersionFromConfig(): Promise<string | undefined>;
|
|
45
|
+
/**
|
|
46
|
+
* Detect OpenCode installation.
|
|
47
|
+
*
|
|
48
|
+
* Detection is considered successful if:
|
|
49
|
+
* - The opencode binary is in PATH, OR
|
|
50
|
+
* - The ~/.config/opencode/opencode.json file exists
|
|
51
|
+
*/
|
|
52
|
+
export declare function detectOpencode(): Promise<DetectionResult>;
|
|
53
|
+
/**
|
|
54
|
+
* Get OpenCode installation paths.
|
|
55
|
+
*/
|
|
56
|
+
export declare function getOpencodeInstallationPaths(): InstallationPaths;
|
|
57
|
+
//# sourceMappingURL=detection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../../src/adapters/opencode/detection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKtE;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAEX;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO5D;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAStE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB,CAOA;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAaxE;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CA6C/D;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,iBAAiB,CAOhE"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenCode harness detection.
|
|
3
|
+
*
|
|
4
|
+
* Detects OpenCode installation by checking for:
|
|
5
|
+
* - opencode binary in PATH
|
|
6
|
+
* - ~/.config/opencode/opencode.json configuration file
|
|
7
|
+
* - Installation directories (~/.config/opencode/commands/, ~/.config/opencode/skills/, etc.)
|
|
8
|
+
*/
|
|
9
|
+
import { exec } from "node:child_process";
|
|
10
|
+
import { promisify } from "node:util";
|
|
11
|
+
import { expandPath, pathExists, readFile } from "../file-operations.js";
|
|
12
|
+
const execAsync = promisify(exec);
|
|
13
|
+
/**
|
|
14
|
+
* OpenCode configuration file paths.
|
|
15
|
+
*/
|
|
16
|
+
export const OPENCODE_PATHS = {
|
|
17
|
+
configJson: "~/.config/opencode/opencode.json",
|
|
18
|
+
commands: "~/.config/opencode/commands/",
|
|
19
|
+
skills: "~/.config/opencode/skills/",
|
|
20
|
+
agents: "~/.config/opencode/agents/",
|
|
21
|
+
plugins: "~/.config/opencode/plugins/",
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Check if the opencode binary is available in PATH.
|
|
25
|
+
*/
|
|
26
|
+
export async function checkOpencodeBinary() {
|
|
27
|
+
try {
|
|
28
|
+
await execAsync("which opencode");
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get the OpenCode version from the CLI.
|
|
37
|
+
*/
|
|
38
|
+
export async function getOpencodeVersion() {
|
|
39
|
+
try {
|
|
40
|
+
const { stdout } = await execAsync("opencode --version");
|
|
41
|
+
// Parse version from output (e.g., "opencode 1.0.0" or just "1.0.0")
|
|
42
|
+
const match = stdout.trim().match(/(\d+\.\d+\.\d+)/);
|
|
43
|
+
return match ? match[1] : undefined;
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Check if the OpenCode config file exists.
|
|
51
|
+
*/
|
|
52
|
+
export function checkConfigJson() {
|
|
53
|
+
return pathExists(OPENCODE_PATHS.configJson);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Check if installation directories exist.
|
|
57
|
+
*/
|
|
58
|
+
export function checkInstallationPaths() {
|
|
59
|
+
return {
|
|
60
|
+
commands: pathExists(OPENCODE_PATHS.commands),
|
|
61
|
+
skills: pathExists(OPENCODE_PATHS.skills),
|
|
62
|
+
subagents: pathExists(OPENCODE_PATHS.agents),
|
|
63
|
+
hooks: pathExists(OPENCODE_PATHS.plugins),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Get version from opencode.json if available.
|
|
68
|
+
*/
|
|
69
|
+
export async function getVersionFromConfig() {
|
|
70
|
+
try {
|
|
71
|
+
if (!checkConfigJson()) {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
const content = await readFile(OPENCODE_PATHS.configJson);
|
|
75
|
+
const parsed = JSON.parse(content);
|
|
76
|
+
const version = parsed["version"];
|
|
77
|
+
return typeof version === "string" ? version : undefined;
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Detect OpenCode installation.
|
|
85
|
+
*
|
|
86
|
+
* Detection is considered successful if:
|
|
87
|
+
* - The opencode binary is in PATH, OR
|
|
88
|
+
* - The ~/.config/opencode/opencode.json file exists
|
|
89
|
+
*/
|
|
90
|
+
export async function detectOpencode() {
|
|
91
|
+
const [hasBinary, hasConfig] = await Promise.all([
|
|
92
|
+
checkOpencodeBinary(),
|
|
93
|
+
Promise.resolve(checkConfigJson()),
|
|
94
|
+
]);
|
|
95
|
+
const detected = hasBinary || hasConfig;
|
|
96
|
+
if (!detected) {
|
|
97
|
+
return {
|
|
98
|
+
detected: false,
|
|
99
|
+
globalConfigExists: false,
|
|
100
|
+
installationPathsExist: {
|
|
101
|
+
commands: false,
|
|
102
|
+
skills: false,
|
|
103
|
+
subagents: false,
|
|
104
|
+
hooks: false,
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
// Get version
|
|
109
|
+
let version;
|
|
110
|
+
if (hasBinary) {
|
|
111
|
+
version = await getOpencodeVersion();
|
|
112
|
+
}
|
|
113
|
+
if (!version && hasConfig) {
|
|
114
|
+
version = await getVersionFromConfig();
|
|
115
|
+
}
|
|
116
|
+
const installationPathsExist = checkInstallationPaths();
|
|
117
|
+
const configPath = expandPath(OPENCODE_PATHS.configJson);
|
|
118
|
+
const result = {
|
|
119
|
+
detected: true,
|
|
120
|
+
configPath,
|
|
121
|
+
globalConfigExists: hasConfig,
|
|
122
|
+
installationPathsExist,
|
|
123
|
+
};
|
|
124
|
+
if (version !== undefined) {
|
|
125
|
+
result.version = version;
|
|
126
|
+
}
|
|
127
|
+
return result;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Get OpenCode installation paths.
|
|
131
|
+
*/
|
|
132
|
+
export function getOpencodeInstallationPaths() {
|
|
133
|
+
return {
|
|
134
|
+
commands: OPENCODE_PATHS.commands,
|
|
135
|
+
skills: OPENCODE_PATHS.skills,
|
|
136
|
+
subagents: OPENCODE_PATHS.agents,
|
|
137
|
+
hooks: OPENCODE_PATHS.plugins,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=detection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detection.js","sourceRoot":"","sources":["../../../src/adapters/opencode/detection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenCode adapter implementation.
|
|
3
|
+
*
|
|
4
|
+
* OpenCode is an open-source AI coding assistant with full support for:
|
|
5
|
+
* - Commands: ~/.config/opencode/commands/{kit}.{name}.md (argumentHint stripped)
|
|
6
|
+
* - Skills: ~/.config/opencode/skills/{kit}.{name}/
|
|
7
|
+
* - Subagents: ~/.config/opencode/agents/{kit}.{name}.md
|
|
8
|
+
* - MCP Servers: ~/.config/opencode/opencode.json (mcp key)
|
|
9
|
+
* - Hooks: ~/.config/opencode/plugins/{instance}.js
|
|
10
|
+
*
|
|
11
|
+
* Note: OpenCode commands have the argumentHint field stripped from frontmatter.
|
|
12
|
+
*/
|
|
13
|
+
import type { PrimitiveType, KitManifest, ResolvedPrimitive, InstallationScope, ResolvedEnvVar, ResolvedHeader, EnvVarOutput, HeaderOutput, EnvVarResolutionResult } from "../../core/types.js";
|
|
14
|
+
import type { CommandMetadata, SkillMetadata, SubagentMetadata, McpServerConfig } from "../../core/types.js";
|
|
15
|
+
import type { InstallationPaths, ConfigLocations, DetectionResult, TransformResult, HookInstallation, HookInstallationInput, ToolMapping, ModelMapping, FileOperationResult } from "../types.js";
|
|
16
|
+
import { BaseAdapter } from "../base-adapter.js";
|
|
17
|
+
import type { CompletedOperation } from "../file-operations.js";
|
|
18
|
+
/**
|
|
19
|
+
* Project-scope paths for OpenCode.
|
|
20
|
+
*/
|
|
21
|
+
export declare const OPENCODE_PROJECT_PATHS: {
|
|
22
|
+
readonly configJson: ".opencode/opencode.json";
|
|
23
|
+
readonly commands: ".opencode/commands/";
|
|
24
|
+
readonly skills: ".opencode/skills/";
|
|
25
|
+
readonly agents: ".opencode/agents/";
|
|
26
|
+
readonly plugins: ".opencode/plugins/";
|
|
27
|
+
readonly opencodeJson: "opencode.json";
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* OpenCode adapter.
|
|
31
|
+
*
|
|
32
|
+
* Provides full support for all primitive types.
|
|
33
|
+
*/
|
|
34
|
+
export declare class OpencodeAdapter extends BaseAdapter {
|
|
35
|
+
readonly name = "opencode";
|
|
36
|
+
readonly displayName = "OpenCode";
|
|
37
|
+
readonly version = "1.0.0";
|
|
38
|
+
readonly supportedHarnessVersions = ">=1.0.0";
|
|
39
|
+
/**
|
|
40
|
+
* Get supported installation scopes.
|
|
41
|
+
*
|
|
42
|
+
* OpenCode supports both global and project scopes.
|
|
43
|
+
*/
|
|
44
|
+
getSupportedScopes(): InstallationScope[];
|
|
45
|
+
/**
|
|
46
|
+
* Get supported primitive types at the given scope.
|
|
47
|
+
*
|
|
48
|
+
* OpenCode supports all primitive types at both scopes.
|
|
49
|
+
*
|
|
50
|
+
* @param scope - Installation scope (defaults to "global")
|
|
51
|
+
*/
|
|
52
|
+
getSupportedPrimitives(_scope?: InstallationScope): PrimitiveType[];
|
|
53
|
+
/**
|
|
54
|
+
* Get installation paths for file-based primitives.
|
|
55
|
+
*
|
|
56
|
+
* @param scope - Installation scope (defaults to "global")
|
|
57
|
+
*/
|
|
58
|
+
getInstallationPaths(scope?: InstallationScope): InstallationPaths;
|
|
59
|
+
/**
|
|
60
|
+
* Get configuration file locations.
|
|
61
|
+
*
|
|
62
|
+
* @param scope - Installation scope (defaults to "global")
|
|
63
|
+
*/
|
|
64
|
+
getConfigLocations(scope?: InstallationScope): ConfigLocations;
|
|
65
|
+
/**
|
|
66
|
+
* Get the tool mapping for OpenCode.
|
|
67
|
+
*/
|
|
68
|
+
getToolMapping(): ToolMapping;
|
|
69
|
+
/**
|
|
70
|
+
* Get the model mapping for OpenCode.
|
|
71
|
+
*/
|
|
72
|
+
getModelMapping(): ModelMapping;
|
|
73
|
+
/**
|
|
74
|
+
* Detect OpenCode installation.
|
|
75
|
+
*/
|
|
76
|
+
detect(): Promise<DetectionResult>;
|
|
77
|
+
/**
|
|
78
|
+
* Transform a command for OpenCode.
|
|
79
|
+
*
|
|
80
|
+
* OpenCode uses native Markdown format with YAML frontmatter.
|
|
81
|
+
* The `argumentHint` field is stripped as OpenCode does not support it.
|
|
82
|
+
* The `description` field is preserved.
|
|
83
|
+
*/
|
|
84
|
+
transformCommand(content: string, _metadata: CommandMetadata): TransformResult;
|
|
85
|
+
/**
|
|
86
|
+
* Transform a skill for OpenCode.
|
|
87
|
+
*
|
|
88
|
+
* OpenCode uses native Markdown format for skills.
|
|
89
|
+
*/
|
|
90
|
+
transformSkill(_skillDir: string, _metadata: SkillMetadata): TransformResult;
|
|
91
|
+
/**
|
|
92
|
+
* OpenCode supports a limited frontmatter set for skills.
|
|
93
|
+
*/
|
|
94
|
+
protected filterSkillFrontmatter(frontmatter: Record<string, unknown>): Record<string, unknown>;
|
|
95
|
+
/**
|
|
96
|
+
* OpenCode subagents do not support hooks in frontmatter.
|
|
97
|
+
*/
|
|
98
|
+
protected filterSubagentFrontmatter(frontmatter: Record<string, unknown>): Record<string, unknown>;
|
|
99
|
+
/**
|
|
100
|
+
* Transform a subagent for OpenCode.
|
|
101
|
+
*
|
|
102
|
+
* OpenCode uses native Markdown format for subagents.
|
|
103
|
+
*/
|
|
104
|
+
transformSubagent(content: string, _metadata: SubagentMetadata): TransformResult;
|
|
105
|
+
/**
|
|
106
|
+
* Transform an MCP server configuration for OpenCode.
|
|
107
|
+
*/
|
|
108
|
+
transformMcpServer(config: McpServerConfig): Record<string, unknown>;
|
|
109
|
+
/**
|
|
110
|
+
* Transform a hook for OpenCode.
|
|
111
|
+
*/
|
|
112
|
+
transformHook(hook: HookInstallationInput): HookInstallation;
|
|
113
|
+
/**
|
|
114
|
+
* Transform resolved environment variables to OpenCode format.
|
|
115
|
+
*
|
|
116
|
+
* OpenCode uses ${VAR} syntax for passthrough, direct values otherwise.
|
|
117
|
+
* See PRD-001 FR-20.7.
|
|
118
|
+
*/
|
|
119
|
+
transformEnvVars(resolved: ResolvedEnvVar[]): EnvVarOutput;
|
|
120
|
+
/**
|
|
121
|
+
* Transform resolved headers to OpenCode format.
|
|
122
|
+
*
|
|
123
|
+
* OpenCode uses ${VAR} syntax for passthrough, direct values otherwise.
|
|
124
|
+
* See PRD-001 FR-21.6.
|
|
125
|
+
*/
|
|
126
|
+
transformHeaders(resolved: ResolvedHeader[]): HeaderOutput;
|
|
127
|
+
/**
|
|
128
|
+
* Override installPrimitive to handle hook plugin filenames.
|
|
129
|
+
*/
|
|
130
|
+
protected installPrimitive(kitName: string, primitive: ResolvedPrimitive, resolvedPrimitives: ResolvedPrimitive[], paths: InstallationPaths, dryRun: boolean, completedOps: CompletedOperation[], scope?: InstallationScope, projectRoot?: string): Promise<{
|
|
131
|
+
destination: string;
|
|
132
|
+
existed: boolean;
|
|
133
|
+
operations: FileOperationResult[];
|
|
134
|
+
}>;
|
|
135
|
+
/**
|
|
136
|
+
* Update harness configuration for MCP servers and hooks.
|
|
137
|
+
*
|
|
138
|
+
* @param kit - Kit manifest
|
|
139
|
+
* @param resolvedPrimitives - Resolved primitives to install
|
|
140
|
+
* @param dryRun - If true, don't actually write files
|
|
141
|
+
* @param completedOps - Array to track completed operations for rollback
|
|
142
|
+
* @param scope - Installation scope
|
|
143
|
+
* @param projectRoot - Project root for project scope
|
|
144
|
+
*/
|
|
145
|
+
protected updateConfiguration(kit: KitManifest, resolvedPrimitives: ResolvedPrimitive[], dryRun: boolean, completedOps: CompletedOperation[], scope?: InstallationScope, projectRoot?: string, envResolutions?: EnvVarResolutionResult[]): Promise<{
|
|
146
|
+
operations: FileOperationResult[];
|
|
147
|
+
}>;
|
|
148
|
+
private resolveConfigPath;
|
|
149
|
+
/**
|
|
150
|
+
* Install MCP servers to configuration.
|
|
151
|
+
*/
|
|
152
|
+
private installMcpServers;
|
|
153
|
+
removeMcpServers(instanceNames: string[], scope?: InstallationScope, projectRoot?: string): Promise<string[]>;
|
|
154
|
+
removeHooks(instanceNames: string[], scope?: InstallationScope, projectRoot?: string): Promise<string[]>;
|
|
155
|
+
/**
|
|
156
|
+
* Install hooks as OpenCode plugins.
|
|
157
|
+
*/
|
|
158
|
+
private installHooks;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Create an OpenCode adapter instance.
|
|
162
|
+
*/
|
|
163
|
+
export declare function createOpencodeAdapter(): OpencodeAdapter;
|
|
164
|
+
export { detectOpencode, OPENCODE_PATHS } from "./detection.js";
|
|
165
|
+
export { opencodeToolMapping } from "./tool-mapping.js";
|
|
166
|
+
export { opencodeModelMapping } from "./model-mapping.js";
|
|
167
|
+
export * from "./installer.js";
|
|
168
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/opencode/index.ts"],"names":[],"mappings":"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"}
|