@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,273 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool reference templating system.
|
|
3
|
+
*
|
|
4
|
+
* Primitives often reference harness tools by name in their instructional content.
|
|
5
|
+
* Because tool names differ across harnesses (e.g., Claude Code's "Bash" vs
|
|
6
|
+
* Gemini CLI's "run_shell_command"), this module provides a templating system
|
|
7
|
+
* to make primitives truly harness-agnostic.
|
|
8
|
+
*
|
|
9
|
+
* Template syntax:
|
|
10
|
+
* - Basic: {{tool:shell}} -> resolves to harness-specific tool name
|
|
11
|
+
* - With fallback: {{tool:websearch:fallback="Search the web for"}} -> uses fallback if tool unavailable
|
|
12
|
+
*/
|
|
13
|
+
import { CANONICAL_TOOLS } from "./types.js";
|
|
14
|
+
/**
|
|
15
|
+
* Regular expression for matching tool templates.
|
|
16
|
+
*
|
|
17
|
+
* Matches:
|
|
18
|
+
* - {{tool:shell}} - basic reference
|
|
19
|
+
* - {{tool:websearch:fallback="Search the web for"}} - with fallback
|
|
20
|
+
*/
|
|
21
|
+
const TOOL_TEMPLATE_REGEX = /\{\{tool:(\w+)(?::fallback="([^"]*)")?\}\}/g;
|
|
22
|
+
/**
|
|
23
|
+
* Parse a tool template string and extract its components.
|
|
24
|
+
*
|
|
25
|
+
* @param template - The template string (e.g., '{{tool:shell}}')
|
|
26
|
+
* @returns Parsed template or null if invalid
|
|
27
|
+
*/
|
|
28
|
+
export function parseToolTemplate(template) {
|
|
29
|
+
const regex = /^\{\{tool:(\w+)(?::fallback="([^"]*)")?\}\}$/;
|
|
30
|
+
const match = regex.exec(template);
|
|
31
|
+
if (!match) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
const result = {
|
|
35
|
+
fullMatch: match[0],
|
|
36
|
+
canonicalId: match[1],
|
|
37
|
+
};
|
|
38
|
+
if (match[2] !== undefined) {
|
|
39
|
+
result.fallback = match[2];
|
|
40
|
+
}
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Find all tool templates in a string.
|
|
45
|
+
*
|
|
46
|
+
* @param content - The content to search
|
|
47
|
+
* @returns Array of parsed templates with their positions
|
|
48
|
+
*/
|
|
49
|
+
export function findToolTemplates(content) {
|
|
50
|
+
const templates = [];
|
|
51
|
+
const regex = new RegExp(TOOL_TEMPLATE_REGEX.source, "g");
|
|
52
|
+
let match;
|
|
53
|
+
while ((match = regex.exec(content)) !== null) {
|
|
54
|
+
const template = {
|
|
55
|
+
fullMatch: match[0],
|
|
56
|
+
canonicalId: match[1],
|
|
57
|
+
index: match.index,
|
|
58
|
+
};
|
|
59
|
+
if (match[2] !== undefined) {
|
|
60
|
+
template.fallback = match[2];
|
|
61
|
+
}
|
|
62
|
+
templates.push(template);
|
|
63
|
+
}
|
|
64
|
+
return templates;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Check if a canonical tool ID is valid.
|
|
68
|
+
*
|
|
69
|
+
* @param id - The tool ID to check
|
|
70
|
+
*/
|
|
71
|
+
export function isValidCanonicalToolId(id) {
|
|
72
|
+
return id in CANONICAL_TOOLS;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Process tool templates in content using the provided tool mapping.
|
|
76
|
+
*
|
|
77
|
+
* Template processing rules:
|
|
78
|
+
* 1. If the adapter has a mapping for the canonical ID, replace with harness-specific name
|
|
79
|
+
* 2. If no mapping exists and fallback text is provided, use fallback text
|
|
80
|
+
* 3. If no mapping and no fallback, render as "<canonical-id> tool" and track as unresolved
|
|
81
|
+
*
|
|
82
|
+
* @param content - The content containing tool templates
|
|
83
|
+
* @param toolMapping - The harness-specific tool mapping
|
|
84
|
+
* @returns Processing result with transformed content and resolution details
|
|
85
|
+
*/
|
|
86
|
+
export function processToolTemplates(content, toolMapping) {
|
|
87
|
+
const resolvedMap = new Map();
|
|
88
|
+
const unresolvedMap = new Map();
|
|
89
|
+
const processedContent = content.replace(TOOL_TEMPLATE_REGEX, (match, canonicalId, fallback) => {
|
|
90
|
+
const harnessToolName = toolMapping[canonicalId];
|
|
91
|
+
if (harnessToolName !== undefined && harnessToolName !== null) {
|
|
92
|
+
// Tool is mapped - use harness-specific name
|
|
93
|
+
const existing = resolvedMap.get(canonicalId);
|
|
94
|
+
if (existing) {
|
|
95
|
+
existing.occurrences++;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
resolvedMap.set(canonicalId, {
|
|
99
|
+
canonicalId,
|
|
100
|
+
harnessToolName,
|
|
101
|
+
occurrences: 1,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
return harnessToolName;
|
|
105
|
+
}
|
|
106
|
+
else if (fallback !== undefined) {
|
|
107
|
+
// Tool not mapped but fallback provided
|
|
108
|
+
const existing = unresolvedMap.get(canonicalId);
|
|
109
|
+
if (existing) {
|
|
110
|
+
existing.occurrences++;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
unresolvedMap.set(canonicalId, {
|
|
114
|
+
canonicalId,
|
|
115
|
+
fallbackUsed: true,
|
|
116
|
+
fallbackText: fallback,
|
|
117
|
+
occurrences: 1,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
return fallback;
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
// Tool not mapped and no fallback - use generic text
|
|
124
|
+
const existing = unresolvedMap.get(canonicalId);
|
|
125
|
+
if (existing) {
|
|
126
|
+
existing.occurrences++;
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
unresolvedMap.set(canonicalId, {
|
|
130
|
+
canonicalId,
|
|
131
|
+
fallbackUsed: false,
|
|
132
|
+
occurrences: 1,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
return `${canonicalId} tool`;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
return {
|
|
139
|
+
content: processedContent,
|
|
140
|
+
resolvedTools: Array.from(resolvedMap.values()),
|
|
141
|
+
unresolvedTools: Array.from(unresolvedMap.values()),
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Check if content contains any tool templates.
|
|
146
|
+
*
|
|
147
|
+
* @param content - The content to check
|
|
148
|
+
*/
|
|
149
|
+
export function hasToolTemplates(content) {
|
|
150
|
+
return TOOL_TEMPLATE_REGEX.test(content);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Count the number of tool templates in content.
|
|
154
|
+
*
|
|
155
|
+
* @param content - The content to search
|
|
156
|
+
*/
|
|
157
|
+
export function countToolTemplates(content) {
|
|
158
|
+
const regex = new RegExp(TOOL_TEMPLATE_REGEX.source, "g");
|
|
159
|
+
const matches = content.match(regex);
|
|
160
|
+
return matches ? matches.length : 0;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Get all unique canonical tool IDs referenced in content.
|
|
164
|
+
*
|
|
165
|
+
* @param content - The content to search
|
|
166
|
+
*/
|
|
167
|
+
export function getReferencedToolIds(content) {
|
|
168
|
+
const templates = findToolTemplates(content);
|
|
169
|
+
const ids = new Set(templates.map((t) => t.canonicalId));
|
|
170
|
+
return Array.from(ids);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Validate that all tool templates reference valid canonical IDs.
|
|
174
|
+
*
|
|
175
|
+
* @param content - The content to validate
|
|
176
|
+
* @returns Array of invalid tool IDs found
|
|
177
|
+
*/
|
|
178
|
+
export function validateToolTemplates(content) {
|
|
179
|
+
const templates = findToolTemplates(content);
|
|
180
|
+
const invalidIds = [];
|
|
181
|
+
for (const template of templates) {
|
|
182
|
+
if (!isValidCanonicalToolId(template.canonicalId)) {
|
|
183
|
+
if (!invalidIds.includes(template.canonicalId)) {
|
|
184
|
+
invalidIds.push(template.canonicalId);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return invalidIds;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Create a tool template string.
|
|
192
|
+
*
|
|
193
|
+
* @param canonicalId - The canonical tool ID
|
|
194
|
+
* @param fallback - Optional fallback text
|
|
195
|
+
*/
|
|
196
|
+
export function createToolTemplate(canonicalId, fallback) {
|
|
197
|
+
if (fallback !== undefined) {
|
|
198
|
+
return `{{tool:${canonicalId}:fallback="${fallback}"}}`;
|
|
199
|
+
}
|
|
200
|
+
return `{{tool:${canonicalId}}}`;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Default tool mappings for common harnesses.
|
|
204
|
+
* These are provided as reference; actual adapters may have different mappings.
|
|
205
|
+
*/
|
|
206
|
+
export const DEFAULT_TOOL_MAPPINGS = {
|
|
207
|
+
"claude-code": {
|
|
208
|
+
shell: "Bash",
|
|
209
|
+
read: "Read",
|
|
210
|
+
write: "Write",
|
|
211
|
+
edit: "Edit",
|
|
212
|
+
grep: "Grep",
|
|
213
|
+
glob: "Glob",
|
|
214
|
+
list: "LS",
|
|
215
|
+
webfetch: "WebFetch",
|
|
216
|
+
websearch: "WebSearch",
|
|
217
|
+
todo: "TodoWrite",
|
|
218
|
+
ask: "AskUserQuestion",
|
|
219
|
+
},
|
|
220
|
+
codex: {
|
|
221
|
+
shell: "shell",
|
|
222
|
+
read: "read_file",
|
|
223
|
+
write: "write_file",
|
|
224
|
+
edit: "apply_patch",
|
|
225
|
+
grep: null,
|
|
226
|
+
glob: null,
|
|
227
|
+
list: null,
|
|
228
|
+
webfetch: null,
|
|
229
|
+
websearch: null,
|
|
230
|
+
todo: "update_plan",
|
|
231
|
+
ask: null,
|
|
232
|
+
},
|
|
233
|
+
"gemini-cli": {
|
|
234
|
+
shell: "run_shell_command",
|
|
235
|
+
read: "read_file",
|
|
236
|
+
write: "write_file",
|
|
237
|
+
edit: "edit",
|
|
238
|
+
grep: "SearchText",
|
|
239
|
+
glob: "FindFiles",
|
|
240
|
+
list: "ReadFolder",
|
|
241
|
+
webfetch: "web_fetch",
|
|
242
|
+
websearch: "google_web_search",
|
|
243
|
+
todo: "write_todos",
|
|
244
|
+
ask: null,
|
|
245
|
+
},
|
|
246
|
+
"github-copilot": {
|
|
247
|
+
shell: null,
|
|
248
|
+
read: null,
|
|
249
|
+
write: null,
|
|
250
|
+
edit: null,
|
|
251
|
+
grep: null,
|
|
252
|
+
glob: null,
|
|
253
|
+
list: null,
|
|
254
|
+
webfetch: "web_fetch",
|
|
255
|
+
websearch: null,
|
|
256
|
+
todo: null,
|
|
257
|
+
ask: null,
|
|
258
|
+
},
|
|
259
|
+
opencode: {
|
|
260
|
+
shell: "bash",
|
|
261
|
+
read: "read",
|
|
262
|
+
write: "write",
|
|
263
|
+
edit: "edit",
|
|
264
|
+
grep: "grep",
|
|
265
|
+
glob: "glob",
|
|
266
|
+
list: "list",
|
|
267
|
+
webfetch: "webfetch",
|
|
268
|
+
websearch: null,
|
|
269
|
+
todo: "todowrite",
|
|
270
|
+
ask: "question",
|
|
271
|
+
},
|
|
272
|
+
};
|
|
273
|
+
//# sourceMappingURL=tool-templating.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-templating.js","sourceRoot":"","sources":["../../src/adapters/tool-templating.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapter type definitions.
|
|
3
|
+
*
|
|
4
|
+
* These types define the adapter interface and supporting structures
|
|
5
|
+
* for translating kits to harness-native configurations.
|
|
6
|
+
*/
|
|
7
|
+
import type { PrimitiveType, KitManifest, ResolvedPrimitive, CommandMetadata, SkillMetadata, SubagentMetadata, McpServerConfig, HookProgramConfig, HookBinding, InstallationScope, EnvVarResolutionResult, ResolvedEnvVar, ResolvedHeader, EnvVarOutput, HeaderOutput } from "../core/types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Installation paths for file-based primitives.
|
|
10
|
+
* Paths use ~ for home directory expansion.
|
|
11
|
+
*/
|
|
12
|
+
export interface InstallationPaths {
|
|
13
|
+
commands: string;
|
|
14
|
+
skills: string;
|
|
15
|
+
subagents?: string;
|
|
16
|
+
hooks?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Configuration file locations for a harness.
|
|
20
|
+
*/
|
|
21
|
+
export interface ConfigLocations {
|
|
22
|
+
primary: string;
|
|
23
|
+
mcp?: string;
|
|
24
|
+
format: "json" | "toml" | "yaml";
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Scope-specific primitive support.
|
|
28
|
+
* Some harnesses have primitives that are only available at certain scopes.
|
|
29
|
+
*/
|
|
30
|
+
export interface ScopedPrimitiveSupport {
|
|
31
|
+
global: PrimitiveType[];
|
|
32
|
+
project: PrimitiveType[];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Scope-specific installation paths.
|
|
36
|
+
*/
|
|
37
|
+
export interface ScopedInstallationPaths {
|
|
38
|
+
global: InstallationPaths;
|
|
39
|
+
project: InstallationPaths;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Scope-specific configuration locations.
|
|
43
|
+
*/
|
|
44
|
+
export interface ScopedConfigLocations {
|
|
45
|
+
global: ConfigLocations;
|
|
46
|
+
project: ConfigLocations;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Result of harness detection.
|
|
50
|
+
*/
|
|
51
|
+
export interface DetectionResult {
|
|
52
|
+
detected: boolean;
|
|
53
|
+
version?: string;
|
|
54
|
+
configPath?: string;
|
|
55
|
+
globalConfigExists: boolean;
|
|
56
|
+
mcpConfigExists?: boolean;
|
|
57
|
+
installationPathsExist: {
|
|
58
|
+
commands: boolean;
|
|
59
|
+
skills: boolean;
|
|
60
|
+
subagents?: boolean;
|
|
61
|
+
hooks?: boolean;
|
|
62
|
+
};
|
|
63
|
+
error?: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Result of kit compatibility check.
|
|
67
|
+
*/
|
|
68
|
+
export interface CompatibilityResult {
|
|
69
|
+
compatible: boolean;
|
|
70
|
+
missingPrimitives: PrimitiveType[];
|
|
71
|
+
experimentalPrimitives: PrimitiveType[];
|
|
72
|
+
message?: string;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Options for kit installation.
|
|
76
|
+
*/
|
|
77
|
+
export interface InstallOptions {
|
|
78
|
+
scope?: InstallationScope;
|
|
79
|
+
projectRoot?: string;
|
|
80
|
+
dryRun?: boolean;
|
|
81
|
+
force?: boolean;
|
|
82
|
+
backup?: boolean;
|
|
83
|
+
createDirs?: boolean;
|
|
84
|
+
onProgress?: (progress: InstallProgress) => void;
|
|
85
|
+
envResolutions?: EnvVarResolutionResult[];
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Progress update during installation.
|
|
89
|
+
*/
|
|
90
|
+
export interface InstallProgress {
|
|
91
|
+
scope: InstallationScope;
|
|
92
|
+
phase: "file" | "config" | "manifest";
|
|
93
|
+
operation: string;
|
|
94
|
+
primitive?: string;
|
|
95
|
+
destination?: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Status of a primitive installation.
|
|
99
|
+
*/
|
|
100
|
+
export interface PrimitiveInstallStatus {
|
|
101
|
+
type: PrimitiveType;
|
|
102
|
+
name: string;
|
|
103
|
+
namespacedName: string;
|
|
104
|
+
ref?: string;
|
|
105
|
+
resolvedVersion?: string;
|
|
106
|
+
status: "installed" | "updated" | "unchanged";
|
|
107
|
+
destination: string;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Result of a file operation.
|
|
111
|
+
*/
|
|
112
|
+
export interface FileOperationResult {
|
|
113
|
+
operation: "copy" | "transform" | "mkdir" | "merge";
|
|
114
|
+
source?: string;
|
|
115
|
+
destination: string;
|
|
116
|
+
success: boolean;
|
|
117
|
+
error?: string;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Result of kit installation.
|
|
121
|
+
*/
|
|
122
|
+
export interface InstallResult {
|
|
123
|
+
success: boolean;
|
|
124
|
+
scope: InstallationScope;
|
|
125
|
+
projectRoot?: string;
|
|
126
|
+
installedPrimitives: PrimitiveInstallStatus[];
|
|
127
|
+
fileOperations: FileOperationResult[];
|
|
128
|
+
configPath: string;
|
|
129
|
+
backupPath?: string;
|
|
130
|
+
error?: string;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Options for kit uninstallation.
|
|
134
|
+
*/
|
|
135
|
+
export interface UninstallOptions {
|
|
136
|
+
scope?: InstallationScope;
|
|
137
|
+
projectRoot?: string;
|
|
138
|
+
dryRun?: boolean;
|
|
139
|
+
removeEmptyDirs?: boolean;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Result of kit uninstallation.
|
|
143
|
+
*/
|
|
144
|
+
export interface UninstallResult {
|
|
145
|
+
success: boolean;
|
|
146
|
+
removedPrimitives: string[];
|
|
147
|
+
removedFiles: string[];
|
|
148
|
+
configPath: string;
|
|
149
|
+
error?: string;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Information about an installed kit.
|
|
153
|
+
*/
|
|
154
|
+
export interface InstalledKitInfo {
|
|
155
|
+
name: string;
|
|
156
|
+
version: string;
|
|
157
|
+
installedAt: string;
|
|
158
|
+
primitives: {
|
|
159
|
+
type: PrimitiveType;
|
|
160
|
+
name: string;
|
|
161
|
+
namespacedName: string;
|
|
162
|
+
ref?: string;
|
|
163
|
+
resolvedVersion?: string;
|
|
164
|
+
location: string;
|
|
165
|
+
}[];
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Result of content transformation.
|
|
169
|
+
*/
|
|
170
|
+
export interface TransformResult {
|
|
171
|
+
content: string;
|
|
172
|
+
format: "markdown" | "toml" | "json" | "yaml";
|
|
173
|
+
additionalFiles?: {
|
|
174
|
+
path: string;
|
|
175
|
+
content: string;
|
|
176
|
+
}[];
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Parsed command frontmatter from canonical format.
|
|
180
|
+
*
|
|
181
|
+
* Canonical command format:
|
|
182
|
+
* ```markdown
|
|
183
|
+
* ---
|
|
184
|
+
* description: Brief description (required)
|
|
185
|
+
* argumentHint: [OPTIONAL_ARGS] (optional)
|
|
186
|
+
* ---
|
|
187
|
+
*
|
|
188
|
+
* Command prompt content here.
|
|
189
|
+
* ```
|
|
190
|
+
*/
|
|
191
|
+
export interface CommandFrontmatter {
|
|
192
|
+
/**
|
|
193
|
+
* Required description of the command's purpose.
|
|
194
|
+
*/
|
|
195
|
+
description: string;
|
|
196
|
+
/**
|
|
197
|
+
* Optional hint showing expected arguments.
|
|
198
|
+
* In YAML this is `argumentHint` (camelCase).
|
|
199
|
+
*/
|
|
200
|
+
argumentHint?: string;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Files and config for hook installation.
|
|
204
|
+
*/
|
|
205
|
+
export interface HookInstallation {
|
|
206
|
+
files?: FileOperation[];
|
|
207
|
+
config?: Record<string, unknown>;
|
|
208
|
+
pluginCode?: string;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Input for hook installation/transformation.
|
|
212
|
+
*/
|
|
213
|
+
export interface HookInstallationInput {
|
|
214
|
+
instanceName: string;
|
|
215
|
+
program: HookProgramConfig;
|
|
216
|
+
binding: HookBinding;
|
|
217
|
+
programDir: string;
|
|
218
|
+
entryPath: string;
|
|
219
|
+
targetDir: string;
|
|
220
|
+
targetPath: string;
|
|
221
|
+
scope: InstallationScope;
|
|
222
|
+
projectRoot?: string;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* File operation specification.
|
|
226
|
+
*/
|
|
227
|
+
export interface FileOperation {
|
|
228
|
+
type: "copy" | "transform" | "mkdir" | "merge";
|
|
229
|
+
source?: string;
|
|
230
|
+
destination: string;
|
|
231
|
+
transform?: (content: string) => string;
|
|
232
|
+
mergeStrategy?: "replace" | "deep-merge";
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Result of kit validation.
|
|
236
|
+
*/
|
|
237
|
+
export interface ValidationResult {
|
|
238
|
+
valid: boolean;
|
|
239
|
+
errors: ValidationError[];
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Validation error details.
|
|
243
|
+
*/
|
|
244
|
+
export interface ValidationError {
|
|
245
|
+
primitive?: string;
|
|
246
|
+
field: string;
|
|
247
|
+
message: string;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Canonical tool identifier to harness-specific name mapping.
|
|
251
|
+
*/
|
|
252
|
+
export interface ToolMapping {
|
|
253
|
+
[canonicalId: string]: string | null;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Canonical model tier identifiers.
|
|
257
|
+
*/
|
|
258
|
+
export declare const CANONICAL_MODEL_TIERS: {
|
|
259
|
+
readonly fast: "fast";
|
|
260
|
+
readonly standard: "standard";
|
|
261
|
+
readonly power: "power";
|
|
262
|
+
readonly auto: "auto";
|
|
263
|
+
readonly inherit: "inherit";
|
|
264
|
+
};
|
|
265
|
+
export type ModelTier = keyof typeof CANONICAL_MODEL_TIERS;
|
|
266
|
+
/**
|
|
267
|
+
* Canonical model tier to harness-specific model mapping.
|
|
268
|
+
*/
|
|
269
|
+
export type ModelMapping = Partial<Record<ModelTier, string | null>>;
|
|
270
|
+
/**
|
|
271
|
+
* Resolved tool information.
|
|
272
|
+
*/
|
|
273
|
+
export interface ResolvedTool {
|
|
274
|
+
canonicalId: string;
|
|
275
|
+
harnessToolName: string;
|
|
276
|
+
occurrences: number;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Unresolved tool information.
|
|
280
|
+
*/
|
|
281
|
+
export interface UnresolvedTool {
|
|
282
|
+
canonicalId: string;
|
|
283
|
+
fallbackUsed: boolean;
|
|
284
|
+
fallbackText?: string;
|
|
285
|
+
occurrences: number;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Result of tool template processing.
|
|
289
|
+
*/
|
|
290
|
+
export interface TemplateProcessingResult {
|
|
291
|
+
content: string;
|
|
292
|
+
resolvedTools: ResolvedTool[];
|
|
293
|
+
unresolvedTools: UnresolvedTool[];
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Canonical tool identifiers.
|
|
297
|
+
*/
|
|
298
|
+
export declare const CANONICAL_TOOLS: {
|
|
299
|
+
readonly shell: "shell";
|
|
300
|
+
readonly read: "read";
|
|
301
|
+
readonly write: "write";
|
|
302
|
+
readonly edit: "edit";
|
|
303
|
+
readonly grep: "grep";
|
|
304
|
+
readonly glob: "glob";
|
|
305
|
+
readonly list: "list";
|
|
306
|
+
readonly webfetch: "webfetch";
|
|
307
|
+
readonly websearch: "websearch";
|
|
308
|
+
readonly todo: "todo";
|
|
309
|
+
readonly ask: "ask";
|
|
310
|
+
};
|
|
311
|
+
export type CanonicalToolId = keyof typeof CANONICAL_TOOLS;
|
|
312
|
+
/**
|
|
313
|
+
* Kit adapter interface.
|
|
314
|
+
*
|
|
315
|
+
* All harness-specific adapters must implement this interface to enable
|
|
316
|
+
* kit installation and configuration.
|
|
317
|
+
*/
|
|
318
|
+
export interface KitAdapter {
|
|
319
|
+
readonly name: string;
|
|
320
|
+
readonly displayName: string;
|
|
321
|
+
readonly version: string;
|
|
322
|
+
readonly supportedHarnessVersions: string;
|
|
323
|
+
getSupportedScopes(): InstallationScope[];
|
|
324
|
+
getSupportedPrimitives(scope?: InstallationScope): PrimitiveType[];
|
|
325
|
+
getInstallationPaths(scope?: InstallationScope): InstallationPaths;
|
|
326
|
+
getConfigLocations(scope?: InstallationScope): ConfigLocations;
|
|
327
|
+
detect(): Promise<DetectionResult>;
|
|
328
|
+
checkCompatibility(kit: KitManifest, scope?: InstallationScope): CompatibilityResult;
|
|
329
|
+
install(kit: KitManifest, resolvedPrimitives: ResolvedPrimitive[], options: InstallOptions): Promise<InstallResult>;
|
|
330
|
+
uninstall(kitName: string, options: UninstallOptions): Promise<UninstallResult>;
|
|
331
|
+
list(scope?: InstallationScope): Promise<InstalledKitInfo[]>;
|
|
332
|
+
removeMcpServers?(instanceNames: string[], scope?: InstallationScope, projectRoot?: string): Promise<string[]>;
|
|
333
|
+
removeHooks?(instanceNames: string[], scope?: InstallationScope, projectRoot?: string): Promise<string[]>;
|
|
334
|
+
transformCommand(content: string, metadata: CommandMetadata): TransformResult;
|
|
335
|
+
transformSkill(skillDir: string, metadata: SkillMetadata): TransformResult;
|
|
336
|
+
transformSubagent(content: string, metadata: SubagentMetadata): TransformResult;
|
|
337
|
+
transformMcpServer(config: McpServerConfig): Record<string, unknown>;
|
|
338
|
+
transformHook(hook: HookInstallationInput): HookInstallation;
|
|
339
|
+
transformEnvVars(resolved: ResolvedEnvVar[]): EnvVarOutput;
|
|
340
|
+
transformHeaders(resolved: ResolvedHeader[]): HeaderOutput;
|
|
341
|
+
getToolMapping(): ToolMapping;
|
|
342
|
+
processToolTemplates(content: string): TemplateProcessingResult;
|
|
343
|
+
getModelMapping(): ModelMapping;
|
|
344
|
+
getNamespacedName(kitName: string, primitiveName: string): string;
|
|
345
|
+
validate(kit: KitManifest): ValidationResult;
|
|
346
|
+
}
|
|
347
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapter type definitions.
|
|
3
|
+
*
|
|
4
|
+
* These types define the adapter interface and supporting structures
|
|
5
|
+
* for translating kits to harness-native configurations.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Canonical model tier identifiers.
|
|
9
|
+
*/
|
|
10
|
+
export const CANONICAL_MODEL_TIERS = {
|
|
11
|
+
fast: "fast",
|
|
12
|
+
standard: "standard",
|
|
13
|
+
power: "power",
|
|
14
|
+
auto: "auto",
|
|
15
|
+
inherit: "inherit",
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Canonical tool identifiers.
|
|
19
|
+
*/
|
|
20
|
+
export const CANONICAL_TOOLS = {
|
|
21
|
+
shell: "shell",
|
|
22
|
+
read: "read",
|
|
23
|
+
write: "write",
|
|
24
|
+
edit: "edit",
|
|
25
|
+
grep: "grep",
|
|
26
|
+
glob: "glob",
|
|
27
|
+
list: "list",
|
|
28
|
+
webfetch: "webfetch",
|
|
29
|
+
websearch: "websearch",
|
|
30
|
+
todo: "todo",
|
|
31
|
+
ask: "ask",
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgSH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;CACV,CAAC;AAqCX;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2RH;;GAEG;AACH,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAKzC"}
|