@shepai/cli 1.4.0 → 1.6.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 +1 -1
- package/dist/src/application/ports/output/agent-validator.interface.d.ts +37 -0
- package/dist/src/application/ports/output/agent-validator.interface.d.ts.map +1 -0
- package/dist/src/application/ports/output/agent-validator.interface.js +11 -0
- package/dist/src/application/ports/output/index.d.ts +1 -0
- package/dist/src/application/ports/output/index.d.ts.map +1 -1
- package/dist/src/application/use-cases/agents/configure-agent.use-case.d.ts +47 -0
- package/dist/src/application/use-cases/agents/configure-agent.use-case.d.ts.map +1 -0
- package/dist/src/application/use-cases/agents/configure-agent.use-case.js +82 -0
- package/dist/src/application/use-cases/agents/validate-agent-auth.use-case.d.ts +31 -0
- package/dist/src/application/use-cases/agents/validate-agent-auth.use-case.d.ts.map +1 -0
- package/dist/src/application/use-cases/agents/validate-agent-auth.use-case.js +51 -0
- package/dist/src/domain/factories/settings-defaults.factory.d.ts +1 -0
- package/dist/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
- package/dist/src/domain/factories/settings-defaults.factory.js +17 -0
- package/dist/src/domain/generated/output.d.ts +32 -0
- package/dist/src/domain/generated/output.d.ts.map +1 -1
- package/dist/src/domain/generated/output.js +13 -0
- package/dist/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/src/infrastructure/di/container.js +12 -0
- package/dist/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +3 -0
- package/dist/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
- package/dist/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +10 -0
- package/dist/src/infrastructure/persistence/sqlite/migrations.d.ts.map +1 -1
- package/dist/src/infrastructure/persistence/sqlite/migrations.js +4 -1
- package/dist/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
- package/dist/src/infrastructure/repositories/sqlite-settings.repository.js +11 -6
- package/dist/src/infrastructure/services/agents/agent-validator.service.d.ts +43 -0
- package/dist/src/infrastructure/services/agents/agent-validator.service.d.ts.map +1 -0
- package/dist/src/infrastructure/services/agents/agent-validator.service.js +62 -0
- package/dist/src/infrastructure/services/port.service.d.ts +20 -0
- package/dist/src/infrastructure/services/port.service.d.ts.map +1 -0
- package/dist/src/infrastructure/services/port.service.js +47 -0
- package/dist/src/infrastructure/services/web-server.service.d.ts +43 -0
- package/dist/src/infrastructure/services/web-server.service.d.ts.map +1 -0
- package/dist/src/infrastructure/services/web-server.service.js +95 -0
- package/dist/src/presentation/cli/commands/settings/agent.command.d.ts +16 -0
- package/dist/src/presentation/cli/commands/settings/agent.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/settings/agent.command.js +75 -0
- package/dist/src/presentation/cli/commands/settings/index.d.ts +1 -0
- package/dist/src/presentation/cli/commands/settings/index.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/settings/index.js +4 -1
- package/dist/src/presentation/cli/commands/ui.command.d.ts +22 -0
- package/dist/src/presentation/cli/commands/ui.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/ui.command.js +74 -0
- package/dist/src/presentation/cli/index.d.ts +1 -0
- package/dist/src/presentation/cli/index.d.ts.map +1 -1
- package/dist/src/presentation/cli/index.js +3 -0
- package/dist/src/presentation/tui/index.d.ts +3 -0
- package/dist/src/presentation/tui/index.d.ts.map +1 -0
- package/dist/src/presentation/tui/index.js +2 -0
- package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts +48 -0
- package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts.map +1 -0
- package/dist/src/presentation/tui/prompts/agent-select.prompt.js +47 -0
- package/dist/src/presentation/tui/prompts/auth-method.prompt.d.ts +36 -0
- package/dist/src/presentation/tui/prompts/auth-method.prompt.d.ts.map +1 -0
- package/dist/src/presentation/tui/prompts/auth-method.prompt.js +32 -0
- package/dist/src/presentation/tui/themes/shep.theme.d.ts +23 -0
- package/dist/src/presentation/tui/themes/shep.theme.d.ts.map +1 -0
- package/dist/src/presentation/tui/themes/shep.theme.js +23 -0
- package/dist/src/presentation/tui/wizards/agent-config.wizard.d.ts +27 -0
- package/dist/src/presentation/tui/wizards/agent-config.wizard.d.ts.map +1 -0
- package/dist/src/presentation/tui/wizards/agent-config.wizard.js +38 -0
- package/dist/src/presentation/web/components/ui/button.d.ts +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +6 -3
- package/web/.next/BUILD_ID +1 -0
- package/web/.next/app-path-routes-manifest.json +6 -0
- package/web/.next/build/chunks/[root-of-the-server]__0f2e5b60._.js +207 -0
- package/web/.next/build/chunks/[root-of-the-server]__0f2e5b60._.js.map +8 -0
- package/web/.next/build/chunks/[root-of-the-server]__52e8dcc7._.js +500 -0
- package/web/.next/build/chunks/[root-of-the-server]__52e8dcc7._.js.map +11 -0
- package/web/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_4ffac355._.js +13 -0
- package/web/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_4ffac355._.js.map +5 -0
- package/web/.next/build/chunks/[turbopack]_runtime.js +795 -0
- package/web/.next/build/chunks/[turbopack]_runtime.js.map +10 -0
- package/web/.next/build/chunks/node_modules__pnpm_806d01c0._.js +6758 -0
- package/web/.next/build/chunks/node_modules__pnpm_806d01c0._.js.map +47 -0
- package/web/.next/build/package.json +1 -0
- package/web/.next/build/postcss.js +6 -0
- package/web/.next/build/postcss.js.map +5 -0
- package/web/.next/build-manifest.json +20 -0
- package/web/.next/cache/.previewinfo +1 -0
- package/web/.next/cache/.rscinfo +1 -0
- package/web/.next/cache/.tsbuildinfo +1 -0
- package/web/.next/cache/config.json +7 -0
- package/web/.next/diagnostics/build-diagnostics.json +6 -0
- package/web/.next/diagnostics/framework.json +1 -0
- package/web/.next/export-marker.json +6 -0
- package/web/.next/fallback-build-manifest.json +12 -0
- package/web/.next/images-manifest.json +67 -0
- package/web/.next/next-minimal-server.js.nft.json +1 -0
- package/web/.next/next-server.js.nft.json +1 -0
- package/web/.next/package.json +1 -0
- package/web/.next/prerender-manifest.json +109 -0
- package/web/.next/required-server-files.js +320 -0
- package/web/.next/required-server-files.json +320 -0
- package/web/.next/routes-manifest.json +68 -0
- package/web/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/_global-error/page/build-manifest.json +17 -0
- package/web/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
- package/web/.next/server/app/_global-error/page.js +10 -0
- package/web/.next/server/app/_global-error/page.js.map +5 -0
- package/web/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/web/.next/server/app/_global-error/page_client-reference-manifest.js +2 -0
- package/web/.next/server/app/_global-error.html +2 -0
- package/web/.next/server/app/_global-error.meta +15 -0
- package/web/.next/server/app/_global-error.rsc +12 -0
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +12 -0
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +4 -0
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/web/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/_not-found/page/build-manifest.json +17 -0
- package/web/.next/server/app/_not-found/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
- package/web/.next/server/app/_not-found/page.js +13 -0
- package/web/.next/server/app/_not-found/page.js.map +5 -0
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +2 -0
- package/web/.next/server/app/_not-found.html +11 -0
- package/web/.next/server/app/_not-found.meta +16 -0
- package/web/.next/server/app/_not-found.rsc +13 -0
- package/web/.next/server/app/_not-found.segments/_full.segment.rsc +13 -0
- package/web/.next/server/app/_not-found.segments/_head.segment.rsc +5 -0
- package/web/.next/server/app/_not-found.segments/_index.segment.rsc +5 -0
- package/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
- package/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +4 -0
- package/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -0
- package/web/.next/server/app/index.html +11 -0
- package/web/.next/server/app/index.meta +14 -0
- package/web/.next/server/app/index.rsc +14 -0
- package/web/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -0
- package/web/.next/server/app/index.segments/_full.segment.rsc +14 -0
- package/web/.next/server/app/index.segments/_head.segment.rsc +5 -0
- package/web/.next/server/app/index.segments/_index.segment.rsc +5 -0
- package/web/.next/server/app/index.segments/_tree.segment.rsc +2 -0
- package/web/.next/server/app/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/page/build-manifest.json +17 -0
- package/web/.next/server/app/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/page/server-reference-manifest.json +4 -0
- package/web/.next/server/app/page.js +16 -0
- package/web/.next/server/app/page.js.map +5 -0
- package/web/.next/server/app/page.js.nft.json +1 -0
- package/web/.next/server/app/page_client-reference-manifest.js +2 -0
- package/web/.next/server/app/version/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/version/page/build-manifest.json +17 -0
- package/web/.next/server/app/version/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/version/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/version/page/server-reference-manifest.json +4 -0
- package/web/.next/server/app/version/page.js +15 -0
- package/web/.next/server/app/version/page.js.map +5 -0
- package/web/.next/server/app/version/page.js.nft.json +1 -0
- package/web/.next/server/app/version/page_client-reference-manifest.js +2 -0
- package/web/.next/server/app/version.html +11 -0
- package/web/.next/server/app/version.meta +15 -0
- package/web/.next/server/app/version.rsc +17 -0
- package/web/.next/server/app/version.segments/_full.segment.rsc +17 -0
- package/web/.next/server/app/version.segments/_head.segment.rsc +5 -0
- package/web/.next/server/app/version.segments/_index.segment.rsc +5 -0
- package/web/.next/server/app/version.segments/_tree.segment.rsc +2 -0
- package/web/.next/server/app/version.segments/version/__PAGE__.segment.rsc +9 -0
- package/web/.next/server/app/version.segments/version.segment.rsc +4 -0
- package/web/.next/server/app-paths-manifest.json +6 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_2ff794b1._.js +6 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_2ff794b1._.js.map +1 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_6c821c12._.js +4 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_6c821c12._.js.map +1 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_client_components_44deecdf._.js +3 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_client_components_44deecdf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_client_components_builtin_global-error_5fefc4d7.js +3 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_client_components_builtin_global-error_5fefc4d7.js.map +1 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_client_components_builtin_unauthorized_a2906ebd.js +3 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_client_components_builtin_unauthorized_a2906ebd.js.map +1 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_dbf21e04.js +4 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_dbf21e04.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__01b8cb62._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__01b8cb62._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__205a2636._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__205a2636._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5aff3b12._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5aff3b12._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7b98fb96._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7b98fb96._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8297ff30._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8297ff30._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c3694f82._.js +10 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c3694f82._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d6257aad._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d6257aad._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d81095d0._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d81095d0._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[turbopack]_runtime.js +795 -0
- package/web/.next/server/chunks/ssr/[turbopack]_runtime.js.map +10 -0
- package/web/.next/server/chunks/ssr/_0f02ab66._.js +3 -0
- package/web/.next/server/chunks/ssr/_0f02ab66._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_884ddade._.js +4 -0
- package/web/.next/server/chunks/ssr/_884ddade._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_90bc0c33._.js +3 -0
- package/web/.next/server/chunks/ssr/_90bc0c33._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_c536147b._.js +3 -0
- package/web/.next/server/chunks/ssr/_c536147b._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_c5d377cc._.js +4 -0
- package/web/.next/server/chunks/ssr/_c5d377cc._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_e519e92f._.js +3 -0
- package/web/.next/server/chunks/ssr/_e519e92f._.js.map +1 -0
- package/web/.next/server/chunks/ssr/b1a17_presentation_web__next-internal_server_app__global-error_page_actions_4fe4770f.js +3 -0
- package/web/.next/server/chunks/ssr/b1a17_presentation_web__next-internal_server_app__global-error_page_actions_4fe4770f.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_03635e2b._.js +4 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_03635e2b._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_522e4103._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_522e4103._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_a836bb2a.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_a836bb2a.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_page_actions_a4e3cb6f.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_page_actions_a4e3cb6f.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_ea925032.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_ea925032.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_app_layout_tsx_aa3a06bd._.js +13 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_app_layout_tsx_aa3a06bd._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_app_not-found_tsx_64b86c46._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_app_not-found_tsx_64b86c46._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_app_version_page_tsx_1bab7370._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_app_version_page_tsx_1bab7370._.js.map +1 -0
- package/web/.next/server/functions-config-manifest.json +4 -0
- package/web/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/web/.next/server/middleware-build-manifest.js +21 -0
- package/web/.next/server/middleware-manifest.json +6 -0
- package/web/.next/server/next-font-manifest.js +1 -0
- package/web/.next/server/next-font-manifest.json +6 -0
- package/web/.next/server/pages/404.html +11 -0
- package/web/.next/server/pages/500.html +2 -0
- package/web/.next/server/pages-manifest.json +4 -0
- package/web/.next/server/server-reference-manifest.js +1 -0
- package/web/.next/server/server-reference-manifest.json +5 -0
- package/web/.next/static/KEXMk8lvSdd16ntuo5U2V/_buildManifest.js +11 -0
- package/web/.next/static/KEXMk8lvSdd16ntuo5U2V/_clientMiddlewareManifest.json +1 -0
- package/web/.next/static/KEXMk8lvSdd16ntuo5U2V/_ssgManifest.js +1 -0
- package/web/.next/static/chunks/4d6504b9f2ca7e4d.js +1 -0
- package/web/.next/static/chunks/51816495a9eb288c.css +1 -0
- package/web/.next/static/chunks/52a5aeb86329ee2e.js +1 -0
- package/web/.next/static/chunks/70993ebedee7eab0.js +2 -0
- package/web/.next/static/chunks/71462f20e38a4262.js +4 -0
- package/web/.next/static/chunks/86484b9b4aa9f859.js +1 -0
- package/web/.next/static/chunks/a6dad97d9634a72d.js +1 -0
- package/web/.next/static/chunks/a6dad97d9634a72d.js.map +1 -0
- package/web/.next/static/chunks/ab02eec995295bef.js +1 -0
- package/web/.next/static/chunks/b3cc49b27e09fa39.js +1 -0
- package/web/.next/static/chunks/f3b4460b1496ef52.js +1 -0
- package/web/.next/static/chunks/turbopack-76ba02c6b131eee4.js +4 -0
- package/web/.next/trace +1 -0
- package/web/.next/trace-build +1 -0
- package/web/.next/turbopack +0 -0
- package/web/.next/types/link.d.ts +163 -0
- package/web/.next/types/routes.d.ts +58 -0
- package/web/.next/types/validator.ts +70 -0
- package/web/next.config.ts +14 -0
- package/web/package.json +38 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Select Prompt Configuration
|
|
3
|
+
*
|
|
4
|
+
* Configuration for the @inquirer/select prompt that lets users
|
|
5
|
+
* choose their AI coding agent.
|
|
6
|
+
*/
|
|
7
|
+
import { AgentType } from '@/domain/generated/output.js';
|
|
8
|
+
import { shepTheme } from '../themes/shep.theme.js';
|
|
9
|
+
/**
|
|
10
|
+
* Creates the @inquirer/select configuration for selecting an AI coding agent.
|
|
11
|
+
*
|
|
12
|
+
* Only Claude Code is currently available. Other agents are shown as
|
|
13
|
+
* disabled with a "Coming Soon" badge.
|
|
14
|
+
*/
|
|
15
|
+
export function createAgentSelectConfig() {
|
|
16
|
+
return {
|
|
17
|
+
message: 'Select your AI coding agent',
|
|
18
|
+
choices: [
|
|
19
|
+
{
|
|
20
|
+
name: 'Claude Code',
|
|
21
|
+
value: AgentType.ClaudeCode,
|
|
22
|
+
description: 'Anthropic Claude Code CLI',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
name: 'Gemini CLI',
|
|
26
|
+
value: AgentType.GeminiCli,
|
|
27
|
+
disabled: '(Coming Soon)',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: 'Aider',
|
|
31
|
+
value: AgentType.Aider,
|
|
32
|
+
disabled: '(Coming Soon)',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: 'Continue',
|
|
36
|
+
value: AgentType.Continue,
|
|
37
|
+
disabled: '(Coming Soon)',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: 'Cursor',
|
|
41
|
+
value: AgentType.Cursor,
|
|
42
|
+
disabled: '(Coming Soon)',
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
theme: shepTheme,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth Method Prompt Configuration
|
|
3
|
+
*
|
|
4
|
+
* Configuration for the @inquirer/select prompt that lets users
|
|
5
|
+
* choose their authentication method for the selected agent.
|
|
6
|
+
*/
|
|
7
|
+
import { AgentAuthMethod } from '@/domain/generated/output.js';
|
|
8
|
+
/**
|
|
9
|
+
* Creates the @inquirer/select configuration for selecting an authentication method.
|
|
10
|
+
*
|
|
11
|
+
* Users can choose between session-based auth (built into the agent CLI)
|
|
12
|
+
* or token-based auth (providing an API key).
|
|
13
|
+
*/
|
|
14
|
+
export declare function createAuthMethodConfig(): {
|
|
15
|
+
readonly message: "Select authentication method";
|
|
16
|
+
readonly choices: readonly [{
|
|
17
|
+
readonly name: "Use existing session";
|
|
18
|
+
readonly value: AgentAuthMethod.Session;
|
|
19
|
+
readonly description: "Use Claude Code built-in authentication";
|
|
20
|
+
}, {
|
|
21
|
+
readonly name: "Use API token";
|
|
22
|
+
readonly value: AgentAuthMethod.Token;
|
|
23
|
+
readonly description: "Provide an Anthropic API key";
|
|
24
|
+
}];
|
|
25
|
+
readonly theme: {
|
|
26
|
+
readonly prefix: {
|
|
27
|
+
readonly idle: string;
|
|
28
|
+
readonly done: string;
|
|
29
|
+
};
|
|
30
|
+
readonly style: {
|
|
31
|
+
readonly highlight: import("picocolors/types.js").Formatter;
|
|
32
|
+
readonly answer: import("picocolors/types.js").Formatter;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=auth-method.prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-method.prompt.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/tui/prompts/auth-method.prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D;;;;;GAKG;AACH,wBAAgB,sBAAsB;;;;;;;;;;;;;;;;;;;;;EAiBrC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth Method Prompt Configuration
|
|
3
|
+
*
|
|
4
|
+
* Configuration for the @inquirer/select prompt that lets users
|
|
5
|
+
* choose their authentication method for the selected agent.
|
|
6
|
+
*/
|
|
7
|
+
import { AgentAuthMethod } from '@/domain/generated/output.js';
|
|
8
|
+
import { shepTheme } from '../themes/shep.theme.js';
|
|
9
|
+
/**
|
|
10
|
+
* Creates the @inquirer/select configuration for selecting an authentication method.
|
|
11
|
+
*
|
|
12
|
+
* Users can choose between session-based auth (built into the agent CLI)
|
|
13
|
+
* or token-based auth (providing an API key).
|
|
14
|
+
*/
|
|
15
|
+
export function createAuthMethodConfig() {
|
|
16
|
+
return {
|
|
17
|
+
message: 'Select authentication method',
|
|
18
|
+
choices: [
|
|
19
|
+
{
|
|
20
|
+
name: 'Use existing session',
|
|
21
|
+
value: AgentAuthMethod.Session,
|
|
22
|
+
description: 'Use Claude Code built-in authentication',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
name: 'Use API token',
|
|
26
|
+
value: AgentAuthMethod.Token,
|
|
27
|
+
description: 'Provide an Anthropic API key',
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
theme: shepTheme,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shep TUI Theme
|
|
3
|
+
*
|
|
4
|
+
* Custom theme for @inquirer/prompts that matches the Shep CLI design system.
|
|
5
|
+
* Uses picocolors for consistent styling with the rest of the CLI.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Shep-branded theme for @inquirer/prompts.
|
|
9
|
+
*
|
|
10
|
+
* Customizes the prefix icon to use the Shep brand color (cyan)
|
|
11
|
+
* and provides consistent styling across all TUI prompts.
|
|
12
|
+
*/
|
|
13
|
+
export declare const shepTheme: {
|
|
14
|
+
readonly prefix: {
|
|
15
|
+
readonly idle: string;
|
|
16
|
+
readonly done: string;
|
|
17
|
+
};
|
|
18
|
+
readonly style: {
|
|
19
|
+
readonly highlight: import("picocolors/types").Formatter;
|
|
20
|
+
readonly answer: import("picocolors/types").Formatter;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=shep.theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shep.theme.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/tui/themes/shep.theme.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;GAKG;AACH,eAAO,MAAM,SAAS;;;;;;;;;CASZ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shep TUI Theme
|
|
3
|
+
*
|
|
4
|
+
* Custom theme for @inquirer/prompts that matches the Shep CLI design system.
|
|
5
|
+
* Uses picocolors for consistent styling with the rest of the CLI.
|
|
6
|
+
*/
|
|
7
|
+
import pc from 'picocolors';
|
|
8
|
+
/**
|
|
9
|
+
* Shep-branded theme for @inquirer/prompts.
|
|
10
|
+
*
|
|
11
|
+
* Customizes the prefix icon to use the Shep brand color (cyan)
|
|
12
|
+
* and provides consistent styling across all TUI prompts.
|
|
13
|
+
*/
|
|
14
|
+
export const shepTheme = {
|
|
15
|
+
prefix: {
|
|
16
|
+
idle: pc.cyan('?'),
|
|
17
|
+
done: pc.green('\u2714'),
|
|
18
|
+
},
|
|
19
|
+
style: {
|
|
20
|
+
highlight: pc.cyan,
|
|
21
|
+
answer: pc.cyan,
|
|
22
|
+
},
|
|
23
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Configuration Wizard
|
|
3
|
+
*
|
|
4
|
+
* Interactive TUI wizard that guides users through selecting
|
|
5
|
+
* an AI coding agent and configuring authentication.
|
|
6
|
+
*/
|
|
7
|
+
import { AgentAuthMethod, type AgentType } from '@/domain/generated/output.js';
|
|
8
|
+
/**
|
|
9
|
+
* Result returned by the agent configuration wizard.
|
|
10
|
+
*/
|
|
11
|
+
export interface AgentConfigResult {
|
|
12
|
+
type: AgentType;
|
|
13
|
+
authMethod: AgentAuthMethod;
|
|
14
|
+
token?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Runs the interactive agent configuration wizard.
|
|
18
|
+
*
|
|
19
|
+
* Steps:
|
|
20
|
+
* 1. Select an AI coding agent (only Claude Code is currently enabled)
|
|
21
|
+
* 2. Select an authentication method (session or token)
|
|
22
|
+
* 3. If token auth is selected, prompt for the API key
|
|
23
|
+
*
|
|
24
|
+
* @returns The selected agent configuration
|
|
25
|
+
*/
|
|
26
|
+
export declare function agentConfigWizard(): Promise<AgentConfigResult>;
|
|
27
|
+
//# sourceMappingURL=agent-config.wizard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-config.wizard.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/tui/wizards/agent-config.wizard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAK/E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,eAAe,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAoBpE"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Configuration Wizard
|
|
3
|
+
*
|
|
4
|
+
* Interactive TUI wizard that guides users through selecting
|
|
5
|
+
* an AI coding agent and configuring authentication.
|
|
6
|
+
*/
|
|
7
|
+
import { select, password } from '@inquirer/prompts';
|
|
8
|
+
import { AgentAuthMethod } from '@/domain/generated/output.js';
|
|
9
|
+
import { createAgentSelectConfig } from '../prompts/agent-select.prompt.js';
|
|
10
|
+
import { createAuthMethodConfig } from '../prompts/auth-method.prompt.js';
|
|
11
|
+
import { shepTheme } from '../themes/shep.theme.js';
|
|
12
|
+
/**
|
|
13
|
+
* Runs the interactive agent configuration wizard.
|
|
14
|
+
*
|
|
15
|
+
* Steps:
|
|
16
|
+
* 1. Select an AI coding agent (only Claude Code is currently enabled)
|
|
17
|
+
* 2. Select an authentication method (session or token)
|
|
18
|
+
* 3. If token auth is selected, prompt for the API key
|
|
19
|
+
*
|
|
20
|
+
* @returns The selected agent configuration
|
|
21
|
+
*/
|
|
22
|
+
export async function agentConfigWizard() {
|
|
23
|
+
const agentType = await select(createAgentSelectConfig());
|
|
24
|
+
const authMethod = await select(createAuthMethodConfig());
|
|
25
|
+
const result = {
|
|
26
|
+
type: agentType,
|
|
27
|
+
authMethod,
|
|
28
|
+
};
|
|
29
|
+
if (authMethod === AgentAuthMethod.Token) {
|
|
30
|
+
const token = await password({
|
|
31
|
+
message: 'Enter your Anthropic API key',
|
|
32
|
+
mask: '*',
|
|
33
|
+
theme: shepTheme,
|
|
34
|
+
});
|
|
35
|
+
result.token = token;
|
|
36
|
+
}
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { type VariantProps } from 'class-variance-authority';
|
|
3
3
|
declare const buttonVariants: (props?: ({
|
|
4
4
|
variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
5
|
-
size?: "default" | "
|
|
5
|
+
size?: "default" | "icon" | "sm" | "lg" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
7
|
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
8
8
|
asChild?: boolean;
|