@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,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scope selection screen.
|
|
3
|
+
*
|
|
4
|
+
* Prompts user to select installation scope (global or project)
|
|
5
|
+
* and provides explanations of each scope.
|
|
6
|
+
*/
|
|
7
|
+
import type { InstallationScope } from "../core/types.js";
|
|
8
|
+
import type { SelectOption } from "./types.js";
|
|
9
|
+
/**
|
|
10
|
+
* Scope selection result.
|
|
11
|
+
*/
|
|
12
|
+
export interface ScopeSelectionResult {
|
|
13
|
+
cancelled: boolean;
|
|
14
|
+
scope?: InstallationScope;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create select options for scope selection.
|
|
18
|
+
*/
|
|
19
|
+
export declare function createScopeOptions(): SelectOption<InstallationScope>[];
|
|
20
|
+
/**
|
|
21
|
+
* Display scope descriptions.
|
|
22
|
+
*/
|
|
23
|
+
export declare function displayScopeInfo(): void;
|
|
24
|
+
/**
|
|
25
|
+
* Prompt user to select installation scope.
|
|
26
|
+
*
|
|
27
|
+
* @param options - Selection options
|
|
28
|
+
*/
|
|
29
|
+
export declare function selectScope(options?: {
|
|
30
|
+
showInfo?: boolean;
|
|
31
|
+
message?: string;
|
|
32
|
+
}): Promise<ScopeSelectionResult>;
|
|
33
|
+
/**
|
|
34
|
+
* Format scope for display.
|
|
35
|
+
*
|
|
36
|
+
* @param scope - Installation scope
|
|
37
|
+
*/
|
|
38
|
+
export declare function formatScope(scope: InstallationScope): string;
|
|
39
|
+
/**
|
|
40
|
+
* Format scope with description for display.
|
|
41
|
+
*
|
|
42
|
+
* @param scope - Installation scope
|
|
43
|
+
*/
|
|
44
|
+
export declare function formatScopeWithDescription(scope: InstallationScope): string;
|
|
45
|
+
/**
|
|
46
|
+
* Get scope path description.
|
|
47
|
+
*
|
|
48
|
+
* @param scope - Installation scope
|
|
49
|
+
* @param projectRoot - Project root path (for project scope display)
|
|
50
|
+
*/
|
|
51
|
+
export declare function getScopePathDescription(scope: InstallationScope, projectRoot?: string): string;
|
|
52
|
+
/**
|
|
53
|
+
* Display selected scope confirmation.
|
|
54
|
+
*
|
|
55
|
+
* @param scope - Selected installation scope
|
|
56
|
+
* @param projectRoot - Project root path (for project scope)
|
|
57
|
+
*/
|
|
58
|
+
export declare function displayScopeConfirmation(scope: InstallationScope, projectRoot?: string): void;
|
|
59
|
+
/**
|
|
60
|
+
* Display selected scope with action text.
|
|
61
|
+
*
|
|
62
|
+
* @param scope - Selected installation scope
|
|
63
|
+
* @param projectRoot - Project root path (for project scope)
|
|
64
|
+
* @param actionLabel - Action label (e.g. "Installing to", "Uninstalling from")
|
|
65
|
+
*/
|
|
66
|
+
export declare function displayScopeAction(scope: InstallationScope, projectRoot: string | undefined, actionLabel: string): void;
|
|
67
|
+
//# sourceMappingURL=scope-select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-select.d.ts","sourceRoot":"","sources":["../../src/tui/scope-select.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAAC,iBAAiB,CAAC,EAAE,CAatE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAYvC;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAqChC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAI3E;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ9F;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAE7F;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,iBAAiB,EACxB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,WAAW,EAAE,MAAM,GAClB,IAAI,CAIN"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scope selection screen.
|
|
3
|
+
*
|
|
4
|
+
* Prompts user to select installation scope (global or project)
|
|
5
|
+
* and provides explanations of each scope.
|
|
6
|
+
*/
|
|
7
|
+
import * as clack from "@clack/prompts";
|
|
8
|
+
import pc from "picocolors";
|
|
9
|
+
/**
|
|
10
|
+
* Create select options for scope selection.
|
|
11
|
+
*/
|
|
12
|
+
export function createScopeOptions() {
|
|
13
|
+
return [
|
|
14
|
+
{
|
|
15
|
+
value: "global",
|
|
16
|
+
label: "Global (user-level)",
|
|
17
|
+
hint: "Available in all projects",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
value: "project",
|
|
21
|
+
label: "Project (current directory)",
|
|
22
|
+
hint: "Version-controllable",
|
|
23
|
+
},
|
|
24
|
+
];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Display scope descriptions.
|
|
28
|
+
*/
|
|
29
|
+
export function displayScopeInfo() {
|
|
30
|
+
clack.log.info("Installation scope:");
|
|
31
|
+
const scopeLines = [
|
|
32
|
+
`${pc.bold("Global")} - Installs to user-level directories`,
|
|
33
|
+
pc.dim(" ~/.claude/, ~/.gemini/, ~/.codex/, etc."),
|
|
34
|
+
pc.dim(" Available in all projects on this machine"),
|
|
35
|
+
"",
|
|
36
|
+
`${pc.bold("Project")} - Installs to current directory`,
|
|
37
|
+
pc.dim(" .claude/, .gemini/, .codex/, etc."),
|
|
38
|
+
pc.dim(" Version-controllable, shared with team"),
|
|
39
|
+
];
|
|
40
|
+
clack.log.message(scopeLines.join("\n"));
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Prompt user to select installation scope.
|
|
44
|
+
*
|
|
45
|
+
* @param options - Selection options
|
|
46
|
+
*/
|
|
47
|
+
export async function selectScope(options) {
|
|
48
|
+
// Show scope information if requested
|
|
49
|
+
if (options?.showInfo !== false) {
|
|
50
|
+
displayScopeInfo();
|
|
51
|
+
}
|
|
52
|
+
// Create options for selection
|
|
53
|
+
const selectOptions = createScopeOptions();
|
|
54
|
+
// Convert to clack format
|
|
55
|
+
const clackOptions = selectOptions.map((opt) => {
|
|
56
|
+
const base = {
|
|
57
|
+
value: opt.value,
|
|
58
|
+
label: opt.label,
|
|
59
|
+
};
|
|
60
|
+
if (opt.hint !== undefined) {
|
|
61
|
+
base.hint = opt.hint;
|
|
62
|
+
}
|
|
63
|
+
return base;
|
|
64
|
+
});
|
|
65
|
+
const defaultMessage = `Where would you like to install selected kits?\n${pc.gray("│")} `;
|
|
66
|
+
const selected = await clack.select({
|
|
67
|
+
message: options?.message ?? defaultMessage,
|
|
68
|
+
options: clackOptions,
|
|
69
|
+
});
|
|
70
|
+
if (clack.isCancel(selected)) {
|
|
71
|
+
return {
|
|
72
|
+
cancelled: true,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
cancelled: false,
|
|
77
|
+
scope: selected,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Format scope for display.
|
|
82
|
+
*
|
|
83
|
+
* @param scope - Installation scope
|
|
84
|
+
*/
|
|
85
|
+
export function formatScope(scope) {
|
|
86
|
+
return scope === "global" ? "Global" : "Project";
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Format scope with description for display.
|
|
90
|
+
*
|
|
91
|
+
* @param scope - Installation scope
|
|
92
|
+
*/
|
|
93
|
+
export function formatScopeWithDescription(scope) {
|
|
94
|
+
return scope === "global"
|
|
95
|
+
? `${pc.bold("Global")} ${pc.dim("(user-level)")}`
|
|
96
|
+
: `${pc.bold("Project")} ${pc.dim("(current directory)")}`;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Get scope path description.
|
|
100
|
+
*
|
|
101
|
+
* @param scope - Installation scope
|
|
102
|
+
* @param projectRoot - Project root path (for project scope display)
|
|
103
|
+
*/
|
|
104
|
+
export function getScopePathDescription(scope, projectRoot) {
|
|
105
|
+
if (scope === "global") {
|
|
106
|
+
return "~/.agents/";
|
|
107
|
+
}
|
|
108
|
+
if (projectRoot) {
|
|
109
|
+
return `${projectRoot}/.agents/`;
|
|
110
|
+
}
|
|
111
|
+
return ".agents/";
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Display selected scope confirmation.
|
|
115
|
+
*
|
|
116
|
+
* @param scope - Selected installation scope
|
|
117
|
+
* @param projectRoot - Project root path (for project scope)
|
|
118
|
+
*/
|
|
119
|
+
export function displayScopeConfirmation(scope, projectRoot) {
|
|
120
|
+
displayScopeAction(scope, projectRoot, "Installing to");
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Display selected scope with action text.
|
|
124
|
+
*
|
|
125
|
+
* @param scope - Selected installation scope
|
|
126
|
+
* @param projectRoot - Project root path (for project scope)
|
|
127
|
+
* @param actionLabel - Action label (e.g. "Installing to", "Uninstalling from")
|
|
128
|
+
*/
|
|
129
|
+
export function displayScopeAction(scope, projectRoot, actionLabel) {
|
|
130
|
+
const scopeLabel = formatScopeWithDescription(scope);
|
|
131
|
+
const pathDesc = scope === "project" && projectRoot ? pc.dim(` (${projectRoot})`) : "";
|
|
132
|
+
clack.log.info(`${actionLabel} ${scopeLabel}${pathDesc}`);
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=scope-select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-select.js","sourceRoot":"","sources":["../../src/tui/scope-select.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spinner utilities for TUI progress indicators.
|
|
3
|
+
*
|
|
4
|
+
* Wraps @clack/prompts spinner for consistent progress display.
|
|
5
|
+
*/
|
|
6
|
+
import * as clack from "@clack/prompts";
|
|
7
|
+
/**
|
|
8
|
+
* Spinner instance type from clack.
|
|
9
|
+
*/
|
|
10
|
+
export type Spinner = ReturnType<typeof clack.spinner>;
|
|
11
|
+
/**
|
|
12
|
+
* Create and start a spinner with the given message.
|
|
13
|
+
*/
|
|
14
|
+
export declare function startSpinner(message: string): Spinner;
|
|
15
|
+
/**
|
|
16
|
+
* Stop a spinner with a success message.
|
|
17
|
+
*/
|
|
18
|
+
export declare function stopSpinnerSuccess(spinner: Spinner, message: string): void;
|
|
19
|
+
/**
|
|
20
|
+
* Stop a spinner with a failure message.
|
|
21
|
+
*/
|
|
22
|
+
export declare function stopSpinnerError(spinner: Spinner, message: string): void;
|
|
23
|
+
/**
|
|
24
|
+
* Stop a spinner with a warning message.
|
|
25
|
+
*/
|
|
26
|
+
export declare function stopSpinnerWarning(spinner: Spinner, message: string): void;
|
|
27
|
+
/**
|
|
28
|
+
* Stop a spinner with a neutral message.
|
|
29
|
+
*/
|
|
30
|
+
export declare function stopSpinner(spinner: Spinner, message: string): void;
|
|
31
|
+
/**
|
|
32
|
+
* Update spinner message while running.
|
|
33
|
+
*/
|
|
34
|
+
export declare function updateSpinner(spinner: Spinner, message: string): void;
|
|
35
|
+
/**
|
|
36
|
+
* Execute an async operation with spinner feedback.
|
|
37
|
+
*/
|
|
38
|
+
export declare function withSpinner<T>(startMessage: string, operation: () => Promise<T>, options?: {
|
|
39
|
+
successMessage?: string | ((result: T) => string);
|
|
40
|
+
errorMessage?: string | ((error: Error) => string);
|
|
41
|
+
}): Promise<T>;
|
|
42
|
+
/**
|
|
43
|
+
* Spinner for source fetching.
|
|
44
|
+
*/
|
|
45
|
+
export declare function createFetchSpinner(source: string): Spinner;
|
|
46
|
+
/**
|
|
47
|
+
* Spinner for kit scanning.
|
|
48
|
+
*/
|
|
49
|
+
export declare function createScanSpinner(): Spinner;
|
|
50
|
+
/**
|
|
51
|
+
* Spinner for harness detection.
|
|
52
|
+
*/
|
|
53
|
+
export declare function createDetectionSpinner(): Spinner;
|
|
54
|
+
/**
|
|
55
|
+
* Spinner for primitive resolution.
|
|
56
|
+
*/
|
|
57
|
+
export declare function createResolutionSpinner(): Spinner;
|
|
58
|
+
/**
|
|
59
|
+
* Spinner for installation.
|
|
60
|
+
*/
|
|
61
|
+
export declare function createInstallSpinner(harnessName: string): Spinner;
|
|
62
|
+
/**
|
|
63
|
+
* Spinner for upgrade checking.
|
|
64
|
+
*/
|
|
65
|
+
export declare function createUpgradeCheckSpinner(): Spinner;
|
|
66
|
+
/**
|
|
67
|
+
* Spinner for manifest update.
|
|
68
|
+
*/
|
|
69
|
+
export declare function createManifestSpinner(): Spinner;
|
|
70
|
+
/**
|
|
71
|
+
* Format count with proper pluralization.
|
|
72
|
+
*/
|
|
73
|
+
export declare function formatCount(count: number, singular: string, plural?: string): string;
|
|
74
|
+
/**
|
|
75
|
+
* Format a source name for display.
|
|
76
|
+
*/
|
|
77
|
+
export declare function formatSource(source: string): string;
|
|
78
|
+
/**
|
|
79
|
+
* Format a kit name for display.
|
|
80
|
+
*/
|
|
81
|
+
export declare function formatKit(name: string, version?: string): string;
|
|
82
|
+
/**
|
|
83
|
+
* Format a harness name for display.
|
|
84
|
+
*/
|
|
85
|
+
export declare function formatHarness(displayName: string, version?: string): string;
|
|
86
|
+
/**
|
|
87
|
+
* Format a path for display.
|
|
88
|
+
*/
|
|
89
|
+
export declare function formatPath(path: string): string;
|
|
90
|
+
/**
|
|
91
|
+
* Format a version for display.
|
|
92
|
+
*/
|
|
93
|
+
export declare function formatVersion(version: string): string;
|
|
94
|
+
/**
|
|
95
|
+
* Format a primitive type for display.
|
|
96
|
+
*/
|
|
97
|
+
export declare function formatPrimitiveType(type: string): string;
|
|
98
|
+
/**
|
|
99
|
+
* Format an error message.
|
|
100
|
+
*/
|
|
101
|
+
export declare function formatError(message: string): string;
|
|
102
|
+
/**
|
|
103
|
+
* Format a warning message.
|
|
104
|
+
*/
|
|
105
|
+
export declare function formatWarning(message: string): string;
|
|
106
|
+
/**
|
|
107
|
+
* Format a success message.
|
|
108
|
+
*/
|
|
109
|
+
export declare function formatSuccess(message: string): string;
|
|
110
|
+
/**
|
|
111
|
+
* Format a dim/subtle message.
|
|
112
|
+
*/
|
|
113
|
+
export declare function formatDim(message: string): string;
|
|
114
|
+
//# sourceMappingURL=spinner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/tui/spinner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spinner utilities for TUI progress indicators.
|
|
3
|
+
*
|
|
4
|
+
* Wraps @clack/prompts spinner for consistent progress display.
|
|
5
|
+
*/
|
|
6
|
+
import * as clack from "@clack/prompts";
|
|
7
|
+
import pc from "picocolors";
|
|
8
|
+
/**
|
|
9
|
+
* Create and start a spinner with the given message.
|
|
10
|
+
*/
|
|
11
|
+
export function startSpinner(message) {
|
|
12
|
+
const spinner = clack.spinner();
|
|
13
|
+
spinner.start(message);
|
|
14
|
+
return spinner;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Stop a spinner with a success message.
|
|
18
|
+
*/
|
|
19
|
+
export function stopSpinnerSuccess(spinner, message) {
|
|
20
|
+
spinner.stop(`${message} ${pc.green("✓")}`);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Stop a spinner with a failure message.
|
|
24
|
+
*/
|
|
25
|
+
export function stopSpinnerError(spinner, message) {
|
|
26
|
+
spinner.stop(`${message} ${pc.red("✗")}`);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Stop a spinner with a warning message.
|
|
30
|
+
*/
|
|
31
|
+
export function stopSpinnerWarning(spinner, message) {
|
|
32
|
+
spinner.stop(`${message} ${pc.yellow("⚠")}`);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Stop a spinner with a neutral message.
|
|
36
|
+
*/
|
|
37
|
+
export function stopSpinner(spinner, message) {
|
|
38
|
+
spinner.stop(message);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Update spinner message while running.
|
|
42
|
+
*/
|
|
43
|
+
export function updateSpinner(spinner, message) {
|
|
44
|
+
spinner.message(message);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Execute an async operation with spinner feedback.
|
|
48
|
+
*/
|
|
49
|
+
export async function withSpinner(startMessage, operation, options) {
|
|
50
|
+
const spinner = startSpinner(startMessage);
|
|
51
|
+
try {
|
|
52
|
+
const result = await operation();
|
|
53
|
+
const successMsg = options?.successMessage
|
|
54
|
+
? typeof options.successMessage === "function"
|
|
55
|
+
? options.successMessage(result)
|
|
56
|
+
: options.successMessage
|
|
57
|
+
: startMessage.replace(/\.\.\.$/, "");
|
|
58
|
+
stopSpinnerSuccess(spinner, successMsg);
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
const errorMsg = options?.errorMessage
|
|
63
|
+
? typeof options.errorMessage === "function"
|
|
64
|
+
? options.errorMessage(error)
|
|
65
|
+
: options.errorMessage
|
|
66
|
+
: `Failed: ${error.message}`;
|
|
67
|
+
stopSpinnerError(spinner, errorMsg);
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Spinner for source fetching.
|
|
73
|
+
*/
|
|
74
|
+
export function createFetchSpinner(source) {
|
|
75
|
+
return startSpinner(`Fetching ${pc.cyan(source)}...`);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Spinner for kit scanning.
|
|
79
|
+
*/
|
|
80
|
+
export function createScanSpinner() {
|
|
81
|
+
return startSpinner("Scanning for kits...");
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Spinner for harness detection.
|
|
85
|
+
*/
|
|
86
|
+
export function createDetectionSpinner() {
|
|
87
|
+
return startSpinner("Detecting AI harnesses...");
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Spinner for primitive resolution.
|
|
91
|
+
*/
|
|
92
|
+
export function createResolutionSpinner() {
|
|
93
|
+
return startSpinner("Resolving primitive references...");
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Spinner for installation.
|
|
97
|
+
*/
|
|
98
|
+
export function createInstallSpinner(harnessName) {
|
|
99
|
+
return startSpinner(`Installing to ${pc.cyan(harnessName)}...`);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Spinner for upgrade checking.
|
|
103
|
+
*/
|
|
104
|
+
export function createUpgradeCheckSpinner() {
|
|
105
|
+
return startSpinner("Checking for available upgrades...");
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Spinner for manifest update.
|
|
109
|
+
*/
|
|
110
|
+
export function createManifestSpinner() {
|
|
111
|
+
return startSpinner("Updating installation manifest...");
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Format count with proper pluralization.
|
|
115
|
+
*/
|
|
116
|
+
export function formatCount(count, singular, plural) {
|
|
117
|
+
const word = count === 1 ? singular : (plural ?? `${singular}s`);
|
|
118
|
+
return `${pc.bold(String(count))} ${word}`;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Format a source name for display.
|
|
122
|
+
*/
|
|
123
|
+
export function formatSource(source) {
|
|
124
|
+
return pc.cyan(source);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Format a kit name for display.
|
|
128
|
+
*/
|
|
129
|
+
export function formatKit(name, version) {
|
|
130
|
+
if (version) {
|
|
131
|
+
return `${pc.bold(name)} ${pc.dim(`v${version}`)}`;
|
|
132
|
+
}
|
|
133
|
+
return pc.bold(name);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Format a harness name for display.
|
|
137
|
+
*/
|
|
138
|
+
export function formatHarness(displayName, version) {
|
|
139
|
+
if (version) {
|
|
140
|
+
return `${displayName} ${pc.dim(`v${version}`)}`;
|
|
141
|
+
}
|
|
142
|
+
return displayName;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Format a path for display.
|
|
146
|
+
*/
|
|
147
|
+
export function formatPath(path) {
|
|
148
|
+
return pc.dim(path);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Format a version for display.
|
|
152
|
+
*/
|
|
153
|
+
export function formatVersion(version) {
|
|
154
|
+
return pc.dim(`v${version}`);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Format a primitive type for display.
|
|
158
|
+
*/
|
|
159
|
+
export function formatPrimitiveType(type) {
|
|
160
|
+
return pc.cyan(type);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Format an error message.
|
|
164
|
+
*/
|
|
165
|
+
export function formatError(message) {
|
|
166
|
+
return pc.red(message);
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Format a warning message.
|
|
170
|
+
*/
|
|
171
|
+
export function formatWarning(message) {
|
|
172
|
+
return pc.yellow(message);
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Format a success message.
|
|
176
|
+
*/
|
|
177
|
+
export function formatSuccess(message) {
|
|
178
|
+
return pc.green(message);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Format a dim/subtle message.
|
|
182
|
+
*/
|
|
183
|
+
export function formatDim(message) {
|
|
184
|
+
return pc.dim(message);
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=spinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/tui/spinner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Installation summary display.
|
|
3
|
+
*
|
|
4
|
+
* Shows success/error summary after installation completes,
|
|
5
|
+
* listing installed primitives and next steps.
|
|
6
|
+
*/
|
|
7
|
+
import type { HarnessName, InstallationScope } from "../core/types.js";
|
|
8
|
+
import type { InstallResult as AdapterInstallResult } from "../adapters/types.js";
|
|
9
|
+
import type { InstallSummary, SkippedInstallEntry } from "./types.js";
|
|
10
|
+
/**
|
|
11
|
+
* Display installation plan summary before proceeding.
|
|
12
|
+
*/
|
|
13
|
+
export declare function displayInstallPlanSummary(kits: {
|
|
14
|
+
name: string;
|
|
15
|
+
version: string;
|
|
16
|
+
}[], harnesses: {
|
|
17
|
+
displayName: string;
|
|
18
|
+
}[], scope: InstallationScope): void;
|
|
19
|
+
/**
|
|
20
|
+
* Prompt to proceed with installation.
|
|
21
|
+
*/
|
|
22
|
+
export declare function confirmInstallPlan(): Promise<{
|
|
23
|
+
cancelled: boolean;
|
|
24
|
+
proceed: boolean;
|
|
25
|
+
}>;
|
|
26
|
+
/**
|
|
27
|
+
* Build installation summary from results.
|
|
28
|
+
*/
|
|
29
|
+
export declare function buildInstallSummary(results: {
|
|
30
|
+
harness: HarnessName;
|
|
31
|
+
harnessDisplayName: string;
|
|
32
|
+
kit: string;
|
|
33
|
+
kitVersion: string;
|
|
34
|
+
result: AdapterInstallResult;
|
|
35
|
+
}[], skipped: SkippedInstallEntry[]): InstallSummary;
|
|
36
|
+
/**
|
|
37
|
+
* Display installation summary.
|
|
38
|
+
*/
|
|
39
|
+
export declare function displayInstallSummary(summary: InstallSummary, options?: {
|
|
40
|
+
verbose?: boolean;
|
|
41
|
+
}): void;
|
|
42
|
+
/**
|
|
43
|
+
* Display dry run summary.
|
|
44
|
+
*/
|
|
45
|
+
export declare function displayDryRunSummary(kits: {
|
|
46
|
+
name: string;
|
|
47
|
+
version: string;
|
|
48
|
+
}[], harnesses: {
|
|
49
|
+
name: HarnessName;
|
|
50
|
+
displayName: string;
|
|
51
|
+
}[], options?: {
|
|
52
|
+
scope?: InstallationScope;
|
|
53
|
+
projectRoot?: string;
|
|
54
|
+
}): void;
|
|
55
|
+
/**
|
|
56
|
+
* Display installation failure summary.
|
|
57
|
+
*/
|
|
58
|
+
export declare function displayInstallFailure(error: string, context?: {
|
|
59
|
+
harness?: string;
|
|
60
|
+
kit?: string;
|
|
61
|
+
operation?: string;
|
|
62
|
+
}): void;
|
|
63
|
+
/**
|
|
64
|
+
* Display total counts summary.
|
|
65
|
+
*/
|
|
66
|
+
export declare function displayTotalsSummary(summary: InstallSummary): void;
|
|
67
|
+
/**
|
|
68
|
+
* Convert summary to JSON output format.
|
|
69
|
+
*/
|
|
70
|
+
export declare function summaryToJson(summary: InstallSummary, source: string): Record<string, unknown>;
|
|
71
|
+
//# sourceMappingURL=summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/tui/summary.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAiB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,EAA0B,aAAa,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,KAAK,EACV,cAAc,EAEd,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAUpB;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,EACzC,SAAS,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,EAAE,EACpC,KAAK,EAAE,iBAAiB,GACvB,IAAI,CAmBN;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAY5F;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE;IACP,OAAO,EAAE,WAAW,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,oBAAoB,CAAC;CAC9B,EAAE,EACH,OAAO,EAAE,mBAAmB,EAAE,GAC7B,cAAc,CA4EhB;AAuED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9B,IAAI,CA2DN;AAaD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,EACzC,SAAS,EAAE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAAE,EACvD,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5D,IAAI,CAuBN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,IAAI,CAkBN;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,cAAc,GACtB,IAAI,CAuBN;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6CzB"}
|