@shipit-ai/cli 1.164.2 → 1.165.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 +3 -7
- package/dist/packages/core/src/application/ports/output/services/environment-detector.service.d.ts +54 -0
- package/dist/packages/core/src/application/ports/output/services/environment-detector.service.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/environment-detector.service.js +8 -0
- package/dist/packages/core/src/application/ports/output/services/index.d.ts +1 -0
- package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/tool-metadata-service.interface.d.ts +5 -1
- package/dist/packages/core/src/application/ports/output/services/tool-metadata-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/agents/configure-agent.use-case.d.ts +1 -1
- package/dist/packages/core/src/application/use-cases/agents/configure-agent.use-case.js +1 -1
- package/dist/packages/core/src/application/use-cases/agents/stop-agent-run.use-case.d.ts +1 -1
- package/dist/packages/core/src/application/use-cases/agents/stop-agent-run.use-case.js +1 -1
- package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.d.ts +1 -1
- package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.js +1 -1
- package/dist/packages/core/src/application/use-cases/settings/detect-environment-defaults.use-case.d.ts +18 -0
- package/dist/packages/core/src/application/use-cases/settings/detect-environment-defaults.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/settings/detect-environment-defaults.use-case.js +40 -0
- package/dist/packages/core/src/application/use-cases/settings/index.d.ts +1 -0
- package/dist/packages/core/src/application/use-cases/settings/index.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/settings/index.js +1 -0
- package/dist/packages/core/src/application/use-cases/settings/initialize-settings.use-case.d.ts +10 -4
- package/dist/packages/core/src/application/use-cases/settings/initialize-settings.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/settings/initialize-settings.use-case.js +34 -7
- package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts +1 -1
- package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts +18 -2
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +16 -5
- package/dist/packages/core/src/index.d.ts +2 -2
- package/dist/packages/core/src/index.js +2 -2
- package/dist/packages/core/src/infrastructure/di/modules/services.module.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/modules/services.module.js +2 -0
- package/dist/packages/core/src/infrastructure/di/modules/use-cases.module.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/modules/use-cases.module.js +2 -0
- package/dist/packages/core/src/infrastructure/di/modules/web-tokens.module.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/modules/web-tokens.module.js +4 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/plan.fixture.d.ts +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/plan.fixture.js +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/research.fixture.d.ts +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/research.fixture.js +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/spec-analyze.fixture.d.ts +2 -2
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/spec-analyze.fixture.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/spec-analyze.fixture.js +5 -5
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/spec-requirements.fixture.d.ts +2 -2
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/spec-requirements.fixture.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/spec-requirements.fixture.js +6 -6
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/tasks.fixture.d.ts +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/tasks.fixture.js +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/evidence-prompts.js +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.js +1 -1
- package/dist/packages/core/src/infrastructure/services/environment-detector.service.d.ts +38 -0
- package/dist/packages/core/src/infrastructure/services/environment-detector.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/environment-detector.service.js +196 -0
- package/dist/packages/core/src/infrastructure/services/filesystem/shipit-ai-directory.service.d.ts +2 -2
- package/dist/packages/core/src/infrastructure/services/filesystem/shipit-ai-directory.service.js +4 -4
- package/dist/packages/core/src/infrastructure/services/git/pr-branding.d.ts +4 -4
- package/dist/packages/core/src/infrastructure/services/git/pr-branding.js +4 -4
- package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.d.ts +1 -1
- package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.js +7 -7
- package/dist/packages/core/src/infrastructure/services/port.service.d.ts +1 -1
- package/dist/packages/core/src/infrastructure/services/port.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/port.service.js +1 -1
- package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.d.ts +6 -1
- package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.js +7 -0
- package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.service.d.ts +1 -0
- package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.service.js +4 -1
- package/dist/packages/core/src/infrastructure/services/tool-installer/tools/CLAUDE.md +2 -1
- package/dist/packages/core/src/infrastructure/services/tool-installer/tools/bash.json +20 -0
- package/dist/packages/core/src/infrastructure/services/tool-installer/tools/codex-cli.json +31 -0
- package/dist/packages/core/src/infrastructure/services/tool-installer/tools/fish.json +19 -0
- package/dist/packages/core/src/infrastructure/services/tool-installer/tools/powershell.json +24 -0
- package/dist/packages/core/src/infrastructure/services/tool-installer/tools/zsh.json +19 -0
- package/dist/src/presentation/cli/commands/agent/approve.command.d.ts +1 -1
- package/dist/src/presentation/cli/commands/agent/approve.command.js +1 -1
- package/dist/src/presentation/cli/commands/agent/delete.command.d.ts +1 -1
- package/dist/src/presentation/cli/commands/agent/delete.command.js +1 -1
- package/dist/src/presentation/cli/commands/agent/index.d.ts +6 -6
- package/dist/src/presentation/cli/commands/agent/index.js +6 -6
- package/dist/src/presentation/cli/commands/agent/logs.command.d.ts +3 -3
- package/dist/src/presentation/cli/commands/agent/logs.command.js +3 -3
- package/dist/src/presentation/cli/commands/agent/ls.command.d.ts +1 -1
- package/dist/src/presentation/cli/commands/agent/ls.command.js +1 -1
- package/dist/src/presentation/cli/commands/agent/reject.command.d.ts +1 -1
- package/dist/src/presentation/cli/commands/agent/reject.command.js +1 -1
- package/dist/src/presentation/cli/commands/agent/show.command.d.ts +1 -1
- package/dist/src/presentation/cli/commands/agent/show.command.js +1 -1
- package/dist/src/presentation/cli/commands/agent/stop.command.d.ts +1 -1
- package/dist/src/presentation/cli/commands/agent/stop.command.js +1 -1
- package/dist/src/presentation/cli/commands/daemon/start-daemon.d.ts +4 -4
- package/dist/src/presentation/cli/commands/daemon/start-daemon.js +4 -4
- package/dist/src/presentation/cli/commands/daemon/stop-daemon.d.ts +5 -5
- package/dist/src/presentation/cli/commands/daemon/stop-daemon.js +5 -5
- package/dist/src/presentation/cli/commands/feat/adopt.command.d.ts +3 -3
- package/dist/src/presentation/cli/commands/feat/adopt.command.js +3 -3
- package/dist/src/presentation/cli/commands/feat/approve.command.d.ts +1 -1
- package/dist/src/presentation/cli/commands/feat/approve.command.js +1 -1
- package/dist/src/presentation/cli/commands/feat/archive.command.d.ts +3 -3
- package/dist/src/presentation/cli/commands/feat/archive.command.js +3 -3
- package/dist/src/presentation/cli/commands/feat/del.command.d.ts +5 -5
- package/dist/src/presentation/cli/commands/feat/del.command.js +5 -5
- package/dist/src/presentation/cli/commands/feat/index.d.ts +4 -4
- package/dist/src/presentation/cli/commands/feat/index.js +4 -4
- package/dist/src/presentation/cli/commands/feat/logs.command.d.ts +3 -3
- package/dist/src/presentation/cli/commands/feat/logs.command.js +3 -3
- package/dist/src/presentation/cli/commands/feat/ls.command.d.ts +3 -3
- package/dist/src/presentation/cli/commands/feat/ls.command.js +3 -3
- package/dist/src/presentation/cli/commands/feat/new.command.d.ts +3 -3
- package/dist/src/presentation/cli/commands/feat/new.command.js +4 -4
- package/dist/src/presentation/cli/commands/feat/reject.command.d.ts +1 -1
- package/dist/src/presentation/cli/commands/feat/reject.command.js +1 -1
- package/dist/src/presentation/cli/commands/feat/resume.command.d.ts +1 -1
- package/dist/src/presentation/cli/commands/feat/resume.command.js +1 -1
- package/dist/src/presentation/cli/commands/feat/review.command.d.ts +1 -1
- package/dist/src/presentation/cli/commands/feat/review.command.js +1 -1
- package/dist/src/presentation/cli/commands/feat/show.command.d.ts +1 -1
- package/dist/src/presentation/cli/commands/feat/show.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/show.command.js +4 -3
- package/dist/src/presentation/cli/commands/feat/start.command.d.ts +1 -1
- package/dist/src/presentation/cli/commands/feat/start.command.js +1 -1
- package/dist/src/presentation/cli/commands/feat/unarchive.command.d.ts +2 -2
- package/dist/src/presentation/cli/commands/feat/unarchive.command.js +2 -2
- package/dist/src/presentation/cli/commands/ide-open.command.d.ts +1 -1
- package/dist/src/presentation/cli/commands/ide-open.command.js +1 -1
- package/dist/src/presentation/cli/commands/log-viewer.d.ts +1 -1
- package/dist/src/presentation/cli/commands/log-viewer.js +1 -1
- package/dist/src/presentation/cli/commands/repo/add.command.d.ts +3 -3
- package/dist/src/presentation/cli/commands/repo/add.command.js +3 -3
- package/dist/src/presentation/cli/commands/repo/index.d.ts +4 -4
- package/dist/src/presentation/cli/commands/repo/index.js +4 -4
- package/dist/src/presentation/cli/commands/repo/ls.command.d.ts +1 -1
- package/dist/src/presentation/cli/commands/repo/ls.command.js +1 -1
- package/dist/src/presentation/cli/commands/repo/show.command.d.ts +1 -1
- package/dist/src/presentation/cli/commands/repo/show.command.js +1 -1
- package/dist/src/presentation/cli/commands/restart.command.d.ts +3 -3
- package/dist/src/presentation/cli/commands/restart.command.js +5 -5
- package/dist/src/presentation/cli/commands/run.command.d.ts +5 -5
- package/dist/src/presentation/cli/commands/run.command.js +5 -5
- package/dist/src/presentation/cli/commands/session/index.d.ts +3 -3
- package/dist/src/presentation/cli/commands/session/index.js +3 -3
- package/dist/src/presentation/cli/commands/session/ls.command.d.ts +6 -6
- package/dist/src/presentation/cli/commands/session/ls.command.js +6 -6
- package/dist/src/presentation/cli/commands/session/show.command.d.ts +3 -3
- package/dist/src/presentation/cli/commands/session/show.command.js +3 -3
- package/dist/src/presentation/cli/commands/settings/agent.command.d.ts +4 -4
- package/dist/src/presentation/cli/commands/settings/agent.command.js +7 -7
- package/dist/src/presentation/cli/commands/settings/ide.command.d.ts +3 -3
- package/dist/src/presentation/cli/commands/settings/ide.command.js +6 -6
- package/dist/src/presentation/cli/commands/settings/index.d.ts +10 -10
- package/dist/src/presentation/cli/commands/settings/index.js +10 -10
- package/dist/src/presentation/cli/commands/settings/init.command.d.ts +3 -3
- package/dist/src/presentation/cli/commands/settings/init.command.js +6 -6
- package/dist/src/presentation/cli/commands/settings/language.command.d.ts +2 -2
- package/dist/src/presentation/cli/commands/settings/language.command.js +3 -3
- package/dist/src/presentation/cli/commands/settings/model.command.d.ts +2 -2
- package/dist/src/presentation/cli/commands/settings/model.command.js +3 -3
- package/dist/src/presentation/cli/commands/settings/show.command.d.ts +4 -4
- package/dist/src/presentation/cli/commands/settings/show.command.js +7 -7
- package/dist/src/presentation/cli/commands/settings/workflow.command.d.ts +3 -3
- package/dist/src/presentation/cli/commands/settings/workflow.command.js +6 -6
- package/dist/src/presentation/cli/commands/start.command.d.ts +3 -3
- package/dist/src/presentation/cli/commands/start.command.js +5 -5
- package/dist/src/presentation/cli/commands/status.command.d.ts +4 -4
- package/dist/src/presentation/cli/commands/status.command.js +4 -4
- package/dist/src/presentation/cli/commands/stop.command.d.ts +2 -2
- package/dist/src/presentation/cli/commands/stop.command.js +2 -2
- package/dist/src/presentation/cli/commands/tools.command.d.ts +1 -1
- package/dist/src/presentation/cli/commands/tools.command.js +1 -1
- package/dist/src/presentation/cli/commands/ui.command.d.ts +4 -4
- package/dist/src/presentation/cli/commands/ui.command.js +7 -7
- package/dist/src/presentation/cli/commands/upgrade.command.d.ts +2 -2
- package/dist/src/presentation/cli/commands/upgrade.command.js +2 -2
- package/dist/src/presentation/cli/commands/version.command.d.ts +2 -2
- package/dist/src/presentation/cli/commands/version.command.js +2 -2
- package/dist/src/presentation/cli/index.d.ts +3 -3
- package/dist/src/presentation/cli/index.js +4 -4
- package/dist/src/presentation/cli/ui/index.d.ts +1 -1
- package/dist/src/presentation/cli/ui/index.js +1 -1
- package/dist/src/presentation/tui/themes/shipit-ai.theme.d.ts +4 -4
- package/dist/src/presentation/tui/themes/shipit-ai.theme.js +4 -4
- package/dist/src/presentation/web/app/actions/check-agent-auth.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/check-agent-auth.js +69 -24
- package/dist/src/presentation/web/app/actions/deploy-feature.js +2 -2
- package/dist/src/presentation/web/app/actions/deploy-repository.js +2 -2
- package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts +1 -0
- package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/get-all-agent-models.js +28 -3
- package/dist/src/presentation/web/app/actions/get-available-editors.d.ts +14 -0
- package/dist/src/presentation/web/app/actions/get-available-editors.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/get-available-editors.js +24 -0
- package/dist/src/presentation/web/app/actions/get-available-shells.d.ts +14 -0
- package/dist/src/presentation/web/app/actions/get-available-shells.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/get-available-shells.js +22 -0
- package/dist/src/presentation/web/app/actions/get-merge-review-data.js +3 -3
- package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
- package/dist/src/presentation/web/app/layout.js +4 -13
- package/dist/src/presentation/web/app/settings/page.d.ts.map +1 -1
- package/dist/src/presentation/web/app/settings/page.js +6 -2
- package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.js +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.js +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/global-chat-drawer-client.js +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.js +2 -2
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +8 -8
- package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.js +1 -1
- package/dist/src/presentation/web/components/common/inline-attachments/inline-attachments.stories.js +5 -5
- package/dist/src/presentation/web/components/common/merge-review/merge-review.stories.js +8 -8
- package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.js +1 -1
- package/dist/src/presentation/web/components/common/shipit-ai-logo/index.d.ts +2 -2
- package/dist/src/presentation/web/components/common/shipit-ai-logo/index.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/shipit-ai-logo/index.js +1 -1
- package/dist/src/presentation/web/components/common/shipit-ai-logo/{shep-logo.d.ts → shipit-ai-logo.d.ts} +1 -1
- package/dist/src/presentation/web/components/common/shipit-ai-logo/shipit-ai-logo.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/shipit-ai-logo/shipit-ai-logo.js +8 -0
- package/dist/src/presentation/web/components/common/shipit-ai-logo/{shep-logo.stories.d.ts → shipit-ai-logo.stories.d.ts} +2 -2
- package/dist/src/presentation/web/components/common/shipit-ai-logo/shipit-ai-logo.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/shipit-ai-logo/{shep-logo.stories.js → shipit-ai-logo.stories.js} +1 -1
- package/dist/src/presentation/web/components/common/version-badge/version-badge.stories.js +2 -2
- package/dist/src/presentation/web/components/features/chat/ChatSheet.js +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.js +1 -1
- package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.js +6 -1
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.stories.js +19 -19
- package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +13 -2
- package/dist/src/presentation/web/components/features/settings/database-settings-section.js +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts +5 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.js +33 -27
- package/dist/src/presentation/web/components/features/tools/tool-card.js +1 -1
- package/dist/src/presentation/web/components/features/version/version-page-client.js +1 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +3 -3
- package/dist/src/presentation/web/components/ui/sidebar.stories.js +1 -1
- package/dist/src/presentation/web/lib/session-scanner.js +2 -2
- package/dist/src/presentation/web/lib/version.d.ts +1 -1
- package/dist/src/presentation/web/lib/version.js +1 -1
- package/dist/src/presentation/web/{middleware.d.ts → proxy.d.ts} +4 -4
- package/dist/src/presentation/web/proxy.d.ts.map +1 -0
- package/dist/src/presentation/web/{middleware.js → proxy.js} +3 -3
- package/dist/src/presentation/web/types/theme.d.ts +1 -1
- package/dist/src/presentation/web/types/theme.js +1 -1
- package/dist/translations/ar/cli.json +17 -17
- package/dist/translations/ar/tui.json +2 -2
- package/dist/translations/ar/web.json +7 -5
- package/dist/translations/de/cli.json +17 -17
- package/dist/translations/de/tui.json +2 -2
- package/dist/translations/de/web.json +7 -5
- package/dist/translations/en/cli.json +17 -17
- package/dist/translations/en/tui.json +2 -2
- package/dist/translations/en/web.json +7 -5
- package/dist/translations/es/cli.json +17 -17
- package/dist/translations/es/tui.json +2 -2
- package/dist/translations/es/web.json +7 -5
- package/dist/translations/fr/cli.json +17 -17
- package/dist/translations/fr/tui.json +2 -2
- package/dist/translations/fr/web.json +7 -5
- package/dist/translations/he/cli.json +17 -17
- package/dist/translations/he/tui.json +2 -2
- package/dist/translations/he/web.json +7 -5
- package/dist/translations/pt/cli.json +17 -17
- package/dist/translations/pt/tui.json +2 -2
- package/dist/translations/pt/web.json +7 -5
- package/dist/translations/ru/cli.json +17 -17
- package/dist/translations/ru/tui.json +2 -2
- package/dist/translations/ru/web.json +7 -5
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +5 -5
- package/web/.next/fallback-build-manifest.json +3 -3
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +2 -2
- package/web/.next/required-server-files.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +2 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +2 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js +2 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +2 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +37 -37
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +2 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +2 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +2 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/chat/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/chat/page.js +2 -1
- package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/create/page.js +2 -1
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +2 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +37 -37
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +2 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/page.js +2 -1
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +2 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +2 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
- package/web/.next/server/app/_global-error.html +1 -1
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/_not-found/page.js +2 -1
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
- package/web/.next/server/app/api/attachments/upload-from-path/route.js +1 -1
- package/web/.next/server/app/api/attachments/upload-from-path/route.js.nft.json +1 -1
- package/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
- package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
- package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
- package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
- package/web/.next/server/app/settings/page/build-manifest.json +2 -2
- package/web/.next/server/app/settings/page/server-reference-manifest.json +42 -18
- package/web/.next/server/app/settings/page.js +3 -2
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/build-manifest.json +2 -2
- package/web/.next/server/app/skills/page/server-reference-manifest.json +11 -11
- package/web/.next/server/app/skills/page.js +2 -2
- package/web/.next/server/app/skills/page.js.nft.json +1 -1
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/build-manifest.json +2 -2
- package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
- package/web/.next/server/app/tools/page.js +2 -2
- package/web/.next/server/app/tools/page.js.nft.json +1 -1
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/build-manifest.json +2 -2
- package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/version/page.js +2 -1
- package/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/[externals]__11vad82._.js +3 -0
- package/web/.next/server/chunks/[externals]__11vad82._.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__0.2exzi._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__02xmnal._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__04jjtl_._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__07suer1._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__09118p2._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__0_.w-eb._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__0ip_e1x._.js.map +1 -1
- package/web/.next/server/chunks/{[root-of-the-server]__0ob3z53._.js → [root-of-the-server]__0l1p8bx._.js} +2 -2
- package/web/.next/server/chunks/{[root-of-the-server]__0ob3z53._.js.map → [root-of-the-server]__0l1p8bx._.js.map} +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__0tb~wwk._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__13ni_ow._.js +20 -0
- package/web/.next/server/chunks/[root-of-the-server]__13ni_ow._.js.map +1 -0
- package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_00~eq5i.js +3 -0
- package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_00~eq5i.js.map +1 -0
- package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_0979_c..js +3 -0
- package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_0979_c..js.map +1 -0
- package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_chat_page_actions_0dqll_1.js +3 -0
- package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_chat_page_actions_0dqll_1.js.map +1 -0
- package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js +1 -1
- package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js.map +1 -1
- package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js +2 -2
- package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js.map +1 -1
- package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js +1 -1
- package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js.map +1 -1
- package/web/.next/server/chunks/ssr/11es_next_dist_0e36~wi._.js +1 -1
- package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_global-chat-drawer-client_tsx_03s32.q._.js +1 -1
- package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_global-chat-drawer-client_tsx_03s32.q._.js.map +1 -1
- package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js +1 -1
- package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__01~y8wi._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__01~y8wi._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0np51e2._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0np51e2._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0qh.wn.._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0rv1gci._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0rv1gci._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0uxn6-j._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0uxn6-j._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0~h382a._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0~h382a._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__11-~i9u._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__11-~i9u._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__12g8h3_._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__12g8h3_._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__12qqi.~._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__12qqi.~._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_13e1_1b._.js → _0.gy.n8._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_13e1_1b._.js.map → _0.gy.n8._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_0sgeiju._.js → _01mq~sm._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_0sgeiju._.js.map → _01mq~sm._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_0e5cv3q._.js +1 -1
- package/web/.next/server/chunks/ssr/_0e5cv3q._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0ez.1o4._.js +1 -1
- package/web/.next/server/chunks/ssr/_0ez.1o4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_05h68we._.js → _0jk5q_z._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_05h68we._.js.map → _0jk5q_z._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_0jpbsh_._.js +4 -0
- package/web/.next/server/chunks/ssr/_0jpbsh_._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0n.xy38._.js +3 -0
- package/web/.next/server/chunks/ssr/_0n.xy38._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0rvaoj4._.js +3 -0
- package/web/.next/server/chunks/ssr/_0rvaoj4._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0v.yfmg._.js +1 -1
- package/web/.next/server/chunks/ssr/_0v.yfmg._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0w-_hww._.js +1 -1
- package/web/.next/server/chunks/ssr/_0w-_hww._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_11kuznh._.js +1 -1
- package/web/.next/server/chunks/ssr/_11kuznh._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_0ts70ov._.js → _13bl-l1._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_0ts70ov._.js.map → _13bl-l1._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_13euo-f._.js +1 -1
- package/web/.next/server/chunks/ssr/_13euo-f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_0.e4~xc._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_0.e4~xc._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_00dvh.m._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_00dvh.m._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_06b6~lt._.js +5 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_06b6~lt._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_08fy2mf._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_08fy2mf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_0f~udu1._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_0f~udu1._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_0qys821._.js +5 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_0qys821._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_0q~dt0o._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_0q~dt0o._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_11jrkxt._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_11jrkxt._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_1199d3x.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_1199d3x.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_0m2jqxx.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_0m2jqxx.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_0krkh_0.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_0krkh_0.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_load-settings_ts_0b8f3pf._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_load-settings_ts_0b8f3pf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_0w2wqvu._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_0w2wqvu._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_0sk2qdt._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_0sk2qdt._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_0aji.op._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_0aji.op._.js.map +1 -1
- package/web/.next/server/functions-config-manifest.json +11 -1
- package/web/.next/server/middleware/middleware-manifest.json +1 -27
- package/web/.next/server/middleware-build-manifest.js +5 -5
- package/web/.next/server/middleware-manifest.json +2 -32
- package/web/.next/server/middleware.js +5 -0
- package/web/.next/server/middleware.js.map +5 -0
- package/web/.next/server/middleware.js.nft.json +1 -0
- package/web/.next/server/pages/500.html +1 -1
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +80 -56
- package/web/.next/static/chunks/00racug7sobut.js +1 -0
- package/web/.next/static/chunks/06sdx5zm71_u5.js +1 -0
- package/web/.next/static/chunks/{122mzkbtrj4-k.js → 071_2_.sfp-im.js} +2 -2
- package/web/.next/static/chunks/{0g-so1fagegtp.js → 08iq.j3rbmhbm.js} +1 -1
- package/web/.next/static/chunks/{0bdtgeoys8bq..js → 08iuksm8rvb09.js} +1 -1
- package/web/.next/static/chunks/{01~tm1-qp0baa.js → 08se-_opmk~.7.js} +1 -1
- package/web/.next/static/chunks/{17jsatqy81xc..js → 0icjwdqytqa_8.js} +2 -2
- package/web/.next/static/chunks/0r5dju6f1-i38.css +1 -0
- package/web/.next/static/chunks/{13xg0bjtuso~r.js → 0riti1bs-erm~.js} +1 -1
- package/web/.next/static/chunks/{0.2owry_sk_ak.js → 0s-e-ekdbgoqa.js} +1 -1
- package/web/.next/static/chunks/0t_48qc0x7bhs.js +3 -0
- package/web/.next/static/chunks/{0qz02~wj25f-f.js → 0u5.s.lv2bae5.js} +1 -1
- package/web/.next/static/chunks/{12pwrbjphv3z7.js → 0vgbvqu82ac1x.js} +1 -1
- package/web/.next/static/chunks/{0vlx6s5d1~d-w.js → 0wmckrtphfa12.js} +1 -1
- package/web/.next/static/chunks/0w~84g7r9307~.js +1 -0
- package/web/.next/static/chunks/0y1nwnouroh6k.js +1 -0
- package/web/.next/static/chunks/{07lrq10rx0tp1.js → 0~er~22zwvx0i.js} +1 -1
- package/web/.next/static/chunks/{0xs4~af3nc_15.js → 15lcx-697j_3z.js} +2 -2
- package/web/.next/static/chunks/{0rnvcu2blaow4.js → 15m2wfd5k_7fj.js} +1 -1
- package/web/.next/static/chunks/{turbopack-10upsk2jydmq4.js → turbopack-0ve8f54_veg.u.js} +1 -1
- package/web/.next/static/{CJ4Fr1ggL4xWEe_fapYLv → xP_-L4TLYvd3i_sEmljLs}/_clientMiddlewareManifest.js +1 -1
- package/web/public/apple-touch-icon.png +0 -0
- package/web/public/favicon-32x32.png +0 -0
- package/web/public/icon-192.png +0 -0
- package/web/public/icon-512.png +0 -0
- package/web/public/icons/agents/openai.svg +1 -1
- package/web/public/shipit-brain.png +0 -0
- package/web/public/shipit-icon.svg +68 -0
- package/web/public/shipit-logo.png +0 -0
- package/dist/src/presentation/web/components/common/shipit-ai-logo/shep-logo.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/shipit-ai-logo/shep-logo.js +0 -5
- package/dist/src/presentation/web/components/common/shipit-ai-logo/shep-logo.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/middleware.d.ts.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0.j0ktf._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0.j0ktf._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__07m44ax._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__07m44ax._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0frgz11._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0frgz11._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0oi7r67._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0oi7r67._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0pti1a3._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0pti1a3._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0s9k_s3._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0s9k_s3._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0v-vmgt._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0v-vmgt._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0yky~xo._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0yky~xo._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__11dc42t._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__11dc42t._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0__4si~._.js +0 -4
- package/web/.next/server/chunks/ssr/_0__4si~._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0_m17kl._.js +0 -4
- package/web/.next/server/chunks/ssr/_0_m17kl._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0d4miu.._.js +0 -4
- package/web/.next/server/chunks/ssr/_0d4miu.._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0e8ern9._.js +0 -4
- package/web/.next/server/chunks/ssr/_0e8ern9._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0hovej-._.js +0 -6
- package/web/.next/server/chunks/ssr/_0hovej-._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0p3zs6p._.js +0 -3
- package/web/.next/server/chunks/ssr/_0p3zs6p._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0qpq3xl._.js +0 -3
- package/web/.next/server/chunks/ssr/_0qpq3xl._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0r.3n~3._.js +0 -4
- package/web/.next/server/chunks/ssr/_0r.3n~3._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0t59q8r._.js +0 -4
- package/web/.next/server/chunks/ssr/_0t59q8r._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0zk-h5w._.js +0 -4
- package/web/.next/server/chunks/ssr/_0zk-h5w._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0~ev6dw._.js +0 -6
- package/web/.next/server/chunks/ssr/_0~ev6dw._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1161g9x._.js +0 -4
- package/web/.next/server/chunks/ssr/_1161g9x._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js.map +0 -1
- package/web/.next/server/edge/chunks/0pax_next_dist_esm_build_templates_edge-wrapper_0atr6ca.js +0 -3
- package/web/.next/server/edge/chunks/11es_next_dist_esm_build_templates_edge-wrapper_0atr6ca.js.map +0 -1
- package/web/.next/server/edge/chunks/11es_next_dist_esm_build_templates_edge-wrapper_0xg0zx-.js +0 -3
- package/web/.next/server/edge/chunks/11es_next_dist_esm_build_templates_edge-wrapper_0xg0zx-.js.map +0 -1
- package/web/.next/server/edge/chunks/[root-of-the-server]__0m078x4._.js +0 -11
- package/web/.next/server/edge/chunks/[root-of-the-server]__0m078x4._.js.map +0 -1
- package/web/.next/static/chunks/0_9hv9_f66hur.js +0 -1
- package/web/.next/static/chunks/0dr6q94jmx86b.css +0 -1
- package/web/.next/static/chunks/0in40lx7y7f8o.js +0 -1
- package/web/.next/static/chunks/0rv6fo9ui94r9.js +0 -1
- package/web/.next/static/chunks/0t82zfhqgor5r.js +0 -1
- package/web/.next/static/chunks/0whetjaoa5y.l.js +0 -3
- package/web/public/favicon-dark.svg +0 -6
- package/web/public/favicon-light.svg +0 -6
- /package/web/.next/static/{CJ4Fr1ggL4xWEe_fapYLv → xP_-L4TLYvd3i_sEmljLs}/_buildManifest.js +0 -0
- /package/web/.next/static/{CJ4Fr1ggL4xWEe_fapYLv → xP_-L4TLYvd3i_sEmljLs}/_ssgManifest.js +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Upgrade Command
|
|
3
3
|
*
|
|
4
|
-
* Self-upgrades
|
|
4
|
+
* Self-upgrades ShipIT AI CLI to the latest published version.
|
|
5
5
|
* Checks current vs latest version before running npm install.
|
|
6
6
|
*
|
|
7
|
-
* Usage:
|
|
7
|
+
* Usage: shipit-ai upgrade
|
|
8
8
|
*/
|
|
9
9
|
import { Command } from 'commander';
|
|
10
10
|
import { spawn as defaultSpawn } from 'node:child_process';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Version Command
|
|
3
3
|
*
|
|
4
|
-
* Displays detailed version information for
|
|
4
|
+
* Displays detailed version information for ShipIT AI CLI.
|
|
5
5
|
* Provides more context than the --version flag.
|
|
6
6
|
*
|
|
7
|
-
* Usage:
|
|
7
|
+
* Usage: shipit-ai version
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
10
10
|
* $ shipit-ai version
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Version Command
|
|
3
3
|
*
|
|
4
|
-
* Displays detailed version information for
|
|
4
|
+
* Displays detailed version information for ShipIT AI CLI.
|
|
5
5
|
* Provides more context than the --version flag.
|
|
6
6
|
*
|
|
7
|
-
* Usage:
|
|
7
|
+
* Usage: shipit-ai version
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
10
10
|
* $ shipit-ai version
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* ShipIT AI CLI Entry Point
|
|
4
4
|
*
|
|
5
5
|
* Autonomous AI Native SDLC Platform - CLI Interface
|
|
6
6
|
*
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
* shipit-ai agent Manage and view agent runs
|
|
20
20
|
* shipit-ai feat Manage features through the SDLC lifecycle
|
|
21
21
|
* shipit-ai repo Manage tracked repositories
|
|
22
|
-
* shipit-ai settings Configure
|
|
23
|
-
* shipit-ai upgrade Upgrade
|
|
22
|
+
* shipit-ai settings Configure ShipIT AI settings
|
|
23
|
+
* shipit-ai upgrade Upgrade ShipIT AI CLI to the latest version
|
|
24
24
|
* shipit-ai --version Display version number only
|
|
25
25
|
*
|
|
26
26
|
* Global Options:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* ShipIT AI CLI Entry Point
|
|
4
4
|
*
|
|
5
5
|
* Autonomous AI Native SDLC Platform - CLI Interface
|
|
6
6
|
*
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
* shipit-ai agent Manage and view agent runs
|
|
20
20
|
* shipit-ai feat Manage features through the SDLC lifecycle
|
|
21
21
|
* shipit-ai repo Manage tracked repositories
|
|
22
|
-
* shipit-ai settings Configure
|
|
23
|
-
* shipit-ai upgrade Upgrade
|
|
22
|
+
* shipit-ai settings Configure ShipIT AI settings
|
|
23
|
+
* shipit-ai upgrade Upgrade ShipIT AI CLI to the latest version
|
|
24
24
|
* shipit-ai --version Display version number only
|
|
25
25
|
*
|
|
26
26
|
* Global Options:
|
|
@@ -104,7 +104,7 @@ async function bootstrap() {
|
|
|
104
104
|
// task-10: Default action starts the daemon (or shows already-running URL).
|
|
105
105
|
// The onboarding gate above (lines 82-89) ensures the wizard runs on first launch;
|
|
106
106
|
// after the gate, startDaemon() is the correct next step in both cases.
|
|
107
|
-
// Commander only fires this action when no subcommand matches, so `
|
|
107
|
+
// Commander only fires this action when no subcommand matches, so `shipit-ai start` etc.
|
|
108
108
|
// are unaffected.
|
|
109
109
|
.action(async () => {
|
|
110
110
|
await startDaemon();
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* import { colors, symbols, fmt, messages } from '../../../presentation/cli/ui/index.js';
|
|
9
9
|
*
|
|
10
10
|
* messages.success('Repository initialized');
|
|
11
|
-
* console.log(fmt.heading('
|
|
11
|
+
* console.log(fmt.heading('ShipIT AI CLI'));
|
|
12
12
|
* console.log(`${colors.muted('Version:')} ${fmt.version('0.1.0')}`);
|
|
13
13
|
*/
|
|
14
14
|
export { colors, type Colors } from './colors.js';
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* import { colors, symbols, fmt, messages } from '../../../presentation/cli/ui/index.js';
|
|
9
9
|
*
|
|
10
10
|
* messages.success('Repository initialized');
|
|
11
|
-
* console.log(fmt.heading('
|
|
11
|
+
* console.log(fmt.heading('ShipIT AI CLI'));
|
|
12
12
|
* console.log(`${colors.muted('Version:')} ${fmt.version('0.1.0')}`);
|
|
13
13
|
*/
|
|
14
14
|
export { colors } from './colors.js';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* ShipIT AI TUI Theme
|
|
3
3
|
*
|
|
4
|
-
* Custom theme for @inquirer/prompts that matches the
|
|
4
|
+
* Custom theme for @inquirer/prompts that matches the ShipIT AI CLI design system.
|
|
5
5
|
* Uses picocolors for consistent styling with the rest of the CLI.
|
|
6
6
|
*/
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* ShipIT AI-branded theme for @inquirer/prompts.
|
|
9
9
|
*
|
|
10
|
-
* Customizes the prefix icon to use the
|
|
10
|
+
* Customizes the prefix icon to use the ShipIT AI brand color (cyan)
|
|
11
11
|
* and provides consistent styling across all TUI prompts.
|
|
12
12
|
*/
|
|
13
13
|
export declare const shipitAiTheme: {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* ShipIT AI TUI Theme
|
|
3
3
|
*
|
|
4
|
-
* Custom theme for @inquirer/prompts that matches the
|
|
4
|
+
* Custom theme for @inquirer/prompts that matches the ShipIT AI CLI design system.
|
|
5
5
|
* Uses picocolors for consistent styling with the rest of the CLI.
|
|
6
6
|
*/
|
|
7
7
|
import pc from 'picocolors';
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* ShipIT AI-branded theme for @inquirer/prompts.
|
|
10
10
|
*
|
|
11
|
-
* Customizes the prefix icon to use the
|
|
11
|
+
* Customizes the prefix icon to use the ShipIT AI brand color (cyan)
|
|
12
12
|
* and provides consistent styling across all TUI prompts.
|
|
13
13
|
*/
|
|
14
14
|
export const shipitAiTheme = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-agent-auth.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/check-agent-auth.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,SAAS,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,aAAa,EAAE,OAAO,CAAC;IACvB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,0FAA0F;IAC1F,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wDAAwD;IACxD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;
|
|
1
|
+
{"version":3,"file":"check-agent-auth.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/check-agent-auth.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,SAAS,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,aAAa,EAAE,OAAO,CAAC;IACvB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,0FAA0F;IAC1F,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wDAAwD;IACxD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAgHD;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CA4H/D"}
|
|
@@ -7,7 +7,8 @@ import { IS_WINDOWS } from '../../lib/core-utils.js';
|
|
|
7
7
|
import { resolve } from '../../lib/server-container.js';
|
|
8
8
|
const AGENT_LABELS = {
|
|
9
9
|
'claude-code': 'Claude Code',
|
|
10
|
-
|
|
10
|
+
'codex-cli': 'Codex CLI',
|
|
11
|
+
cursor: 'Cursor CLI',
|
|
11
12
|
'gemini-cli': 'Gemini CLI',
|
|
12
13
|
aider: 'Aider',
|
|
13
14
|
continue: 'Continue',
|
|
@@ -15,53 +16,60 @@ const AGENT_LABELS = {
|
|
|
15
16
|
};
|
|
16
17
|
const AGENT_TOOL_MAP = {
|
|
17
18
|
'claude-code': 'claude-code',
|
|
19
|
+
'codex-cli': 'codex-cli',
|
|
18
20
|
cursor: 'cursor-cli',
|
|
19
21
|
'gemini-cli': 'gemini-cli',
|
|
20
22
|
};
|
|
21
23
|
const AGENT_BINARY_MAP = {
|
|
22
24
|
'claude-code': 'claude',
|
|
25
|
+
'codex-cli': 'codex',
|
|
23
26
|
cursor: 'cursor-agent',
|
|
24
27
|
'gemini-cli': 'gemini',
|
|
25
28
|
};
|
|
26
29
|
/**
|
|
27
30
|
* Tier 1: Instant credential/env check (~5ms, no subprocess).
|
|
28
|
-
*
|
|
31
|
+
* Distinguishes env-var auth (explicit user config, e.g. API key for a proxy)
|
|
32
|
+
* from file-based auth (may be stale, needs Tier 2 verification).
|
|
29
33
|
*/
|
|
30
34
|
function tier1AuthCheck(agentType) {
|
|
31
35
|
const home = homedir();
|
|
32
36
|
switch (agentType) {
|
|
33
37
|
case 'claude-code': {
|
|
34
38
|
if (process.env['ANTHROPIC_API_KEY'])
|
|
35
|
-
return
|
|
39
|
+
return 'env-var';
|
|
36
40
|
if (process.env['CLAUDE_CODE_USE_BEDROCK'])
|
|
37
|
-
return
|
|
41
|
+
return 'env-var';
|
|
38
42
|
if (process.env['CLAUDE_CODE_USE_VERTEX'])
|
|
39
|
-
return
|
|
43
|
+
return 'env-var';
|
|
40
44
|
if (process.env['CLAUDE_CODE_OAUTH_TOKEN'])
|
|
41
|
-
return
|
|
45
|
+
return 'env-var';
|
|
42
46
|
const credPath = join(home, '.claude', '.credentials.json');
|
|
43
|
-
return existsSync(credPath);
|
|
47
|
+
return existsSync(credPath) ? 'file' : false;
|
|
48
|
+
}
|
|
49
|
+
case 'codex-cli': {
|
|
50
|
+
if (process.env['OPENAI_API_KEY'])
|
|
51
|
+
return 'env-var';
|
|
52
|
+
return false;
|
|
44
53
|
}
|
|
45
54
|
case 'cursor': {
|
|
46
55
|
if (process.env['CURSOR_API_KEY'])
|
|
47
|
-
return
|
|
48
|
-
// Cursor Agent stores creds after `agent login` — check common locations
|
|
56
|
+
return 'env-var';
|
|
49
57
|
const cursorDir = join(home, '.cursor');
|
|
50
|
-
return existsSync(cursorDir);
|
|
58
|
+
return existsSync(cursorDir) ? 'file' : false;
|
|
51
59
|
}
|
|
52
60
|
case 'gemini-cli': {
|
|
53
61
|
if (process.env['GEMINI_API_KEY'])
|
|
54
|
-
return
|
|
62
|
+
return 'env-var';
|
|
55
63
|
if (process.env['GOOGLE_API_KEY'])
|
|
56
|
-
return
|
|
64
|
+
return 'env-var';
|
|
57
65
|
if (process.env['GOOGLE_APPLICATION_CREDENTIALS'])
|
|
58
|
-
return
|
|
66
|
+
return 'env-var';
|
|
59
67
|
const accountsPath = join(home, '.gemini', 'google_accounts.json');
|
|
60
|
-
return existsSync(accountsPath);
|
|
68
|
+
return existsSync(accountsPath) ? 'file' : false;
|
|
61
69
|
}
|
|
62
70
|
default:
|
|
63
71
|
// dev, aider, continue — assume no auth needed
|
|
64
|
-
return
|
|
72
|
+
return 'env-var';
|
|
65
73
|
}
|
|
66
74
|
}
|
|
67
75
|
/**
|
|
@@ -81,6 +89,10 @@ function tier2AuthVerify(agentType, binaryName) {
|
|
|
81
89
|
cmd = binaryName;
|
|
82
90
|
args = ['status'];
|
|
83
91
|
break;
|
|
92
|
+
case 'codex-cli':
|
|
93
|
+
// Codex CLI has no `auth status` command — cannot verify via subprocess
|
|
94
|
+
resolve(false);
|
|
95
|
+
return;
|
|
84
96
|
default:
|
|
85
97
|
// No tier 2 command available — trust tier 1
|
|
86
98
|
resolve(true);
|
|
@@ -158,31 +170,64 @@ export async function checkAgentAuth() {
|
|
|
158
170
|
authCommand: binaryName ? `Install ${label} first` : null,
|
|
159
171
|
};
|
|
160
172
|
}
|
|
161
|
-
// Tier 1: instant file/env check
|
|
173
|
+
// Tier 1: instant file/env check — fast path for known credential locations
|
|
162
174
|
const tier1 = tier1AuthCheck(agentType);
|
|
163
|
-
if (
|
|
175
|
+
if (tier1 === 'env-var') {
|
|
176
|
+
// Explicit env var auth (e.g. ANTHROPIC_API_KEY for LiteLLM proxy).
|
|
177
|
+
// Trust the user's config — skip Tier 2 subprocess check which may
|
|
178
|
+
// fail against a proxy that the CLI binary doesn't know about.
|
|
164
179
|
return {
|
|
165
180
|
agentType,
|
|
166
181
|
installed: true,
|
|
167
|
-
authenticated:
|
|
182
|
+
authenticated: true,
|
|
168
183
|
label,
|
|
169
184
|
binaryName,
|
|
170
185
|
installCommand,
|
|
171
|
-
authCommand:
|
|
186
|
+
authCommand: null,
|
|
172
187
|
};
|
|
173
188
|
}
|
|
174
|
-
|
|
175
|
-
|
|
189
|
+
if (tier1 === 'file') {
|
|
190
|
+
// Credential file found but may be stale/expired.
|
|
191
|
+
// Run Tier 2 subprocess verify to confirm tokens are still valid (~200ms).
|
|
192
|
+
let authenticated = true;
|
|
193
|
+
if (binaryName) {
|
|
194
|
+
authenticated = await tier2AuthVerify(agentType, binaryName);
|
|
195
|
+
}
|
|
196
|
+
return {
|
|
197
|
+
agentType,
|
|
198
|
+
installed: true,
|
|
199
|
+
authenticated,
|
|
200
|
+
label,
|
|
201
|
+
binaryName,
|
|
202
|
+
installCommand,
|
|
203
|
+
authCommand: authenticated ? null : binaryName,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
// Tier 1 found nothing — credentials not in expected locations.
|
|
207
|
+
// Fall through to Tier 2 because some auth methods (e.g. Claude Code OAuth
|
|
208
|
+
// via claude.ai) store credentials outside the paths Tier 1 checks.
|
|
176
209
|
if (binaryName) {
|
|
177
|
-
authenticated = await tier2AuthVerify(agentType, binaryName);
|
|
210
|
+
const authenticated = await tier2AuthVerify(agentType, binaryName);
|
|
211
|
+
if (authenticated) {
|
|
212
|
+
return {
|
|
213
|
+
agentType,
|
|
214
|
+
installed: true,
|
|
215
|
+
authenticated: true,
|
|
216
|
+
label,
|
|
217
|
+
binaryName,
|
|
218
|
+
installCommand,
|
|
219
|
+
authCommand: null,
|
|
220
|
+
};
|
|
221
|
+
}
|
|
178
222
|
}
|
|
223
|
+
// Both tiers failed — agent genuinely needs authentication
|
|
179
224
|
return {
|
|
180
225
|
agentType,
|
|
181
226
|
installed: true,
|
|
182
|
-
authenticated,
|
|
227
|
+
authenticated: false,
|
|
183
228
|
label,
|
|
184
229
|
binaryName,
|
|
185
230
|
installCommand,
|
|
186
|
-
authCommand:
|
|
231
|
+
authCommand: binaryName,
|
|
187
232
|
};
|
|
188
233
|
}
|
|
@@ -26,10 +26,10 @@ export async function deployFeature(featureId) {
|
|
|
26
26
|
return { success: false, error: `Worktree path does not exist: ${worktreePath}` };
|
|
27
27
|
}
|
|
28
28
|
if (isSameShipitAiInstance(feature.repositoryPath)) {
|
|
29
|
-
log.warn('rejected — feature belongs to the running
|
|
29
|
+
log.warn('rejected — feature belongs to the running ShipIT instance');
|
|
30
30
|
return {
|
|
31
31
|
success: false,
|
|
32
|
-
error: 'Cannot start a dev server for features of the repository
|
|
32
|
+
error: 'Cannot start a dev server for features of the repository ShipIT is running from',
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
log.info('worktree path exists, calling deploymentService.start()');
|
|
@@ -18,10 +18,10 @@ export async function deployRepository(repositoryPath) {
|
|
|
18
18
|
return { success: false, error: `Directory does not exist: ${repositoryPath}` };
|
|
19
19
|
}
|
|
20
20
|
if (isSameShipitAiInstance(repositoryPath)) {
|
|
21
|
-
log.warn('rejected — target is the running
|
|
21
|
+
log.warn('rejected — target is the running ShipIT instance');
|
|
22
22
|
return {
|
|
23
23
|
success: false,
|
|
24
|
-
error: 'Cannot start a dev server for the repository
|
|
24
|
+
error: 'Cannot start a dev server for the repository ShipIT is running from',
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
log.info('directory exists, calling deploymentService.start()');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-all-agent-models.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/get-all-agent-models.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-all-agent-models.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/get-all-agent-models.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AA8BD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAmDpE"}
|
|
@@ -16,11 +16,21 @@ const AGENT_ORDER = {
|
|
|
16
16
|
'gemini-cli': 3,
|
|
17
17
|
dev: 99,
|
|
18
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* Maps agent types to their corresponding tool IDs for availability checks.
|
|
21
|
+
* IDs match JSON file names in tool-installer/tools/.
|
|
22
|
+
*/
|
|
23
|
+
const AGENT_TOOL_IDS = {
|
|
24
|
+
'claude-code': 'claude-code',
|
|
25
|
+
'codex-cli': 'codex-cli',
|
|
26
|
+
cursor: 'cursor-cli',
|
|
27
|
+
'gemini-cli': 'gemini-cli',
|
|
28
|
+
};
|
|
19
29
|
export async function getAllAgentModels() {
|
|
20
30
|
try {
|
|
21
31
|
const factory = resolve('IAgentExecutorFactory');
|
|
22
32
|
const agents = factory.getSupportedAgents();
|
|
23
|
-
|
|
33
|
+
const groups = agents
|
|
24
34
|
.map((agentType) => ({
|
|
25
35
|
agentType: agentType,
|
|
26
36
|
label: AGENT_LABELS[agentType] ?? agentType,
|
|
@@ -42,8 +52,23 @@ export async function getAllAgentModels() {
|
|
|
42
52
|
}
|
|
43
53
|
return g;
|
|
44
54
|
})
|
|
45
|
-
.filter((g) => g.models.length > 0)
|
|
46
|
-
|
|
55
|
+
.filter((g) => g.models.length > 0);
|
|
56
|
+
// Check which agents are actually installed
|
|
57
|
+
const toolService = resolve('IToolInstallerService');
|
|
58
|
+
const groupsWithStatus = await Promise.all(groups.map(async (group) => {
|
|
59
|
+
const toolId = AGENT_TOOL_IDS[group.agentType];
|
|
60
|
+
if (!toolId || group.agentType === 'dev') {
|
|
61
|
+
return { ...group, installed: true };
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
const status = await toolService.checkAvailability(toolId);
|
|
65
|
+
return { ...group, installed: status.status === 'available' };
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return { ...group, installed: false };
|
|
69
|
+
}
|
|
70
|
+
}));
|
|
71
|
+
return groupsWithStatus.sort((a, b) => (AGENT_ORDER[a.agentType] ?? 50) - (AGENT_ORDER[b.agentType] ?? 50));
|
|
47
72
|
}
|
|
48
73
|
catch {
|
|
49
74
|
return [];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface AvailableEditor {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
available: boolean;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Returns the list of editor entries from the DI container's IEnvironmentDetectorService,
|
|
8
|
+
* with availability checks based on binary existence on the current system.
|
|
9
|
+
*
|
|
10
|
+
* Using the DI container (not a direct import) ensures the service is resolved
|
|
11
|
+
* in the correct Node.js bootstrap context where tool metadata paths resolve correctly.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getAvailableEditors(): Promise<AvailableEditor[]>;
|
|
14
|
+
//# sourceMappingURL=get-available-editors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-available-editors.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/get-available-editors.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAatE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use server';
|
|
2
|
+
import { resolve } from '../../lib/server-container.js';
|
|
3
|
+
/**
|
|
4
|
+
* Returns the list of editor entries from the DI container's IEnvironmentDetectorService,
|
|
5
|
+
* with availability checks based on binary existence on the current system.
|
|
6
|
+
*
|
|
7
|
+
* Using the DI container (not a direct import) ensures the service is resolved
|
|
8
|
+
* in the correct Node.js bootstrap context where tool metadata paths resolve correctly.
|
|
9
|
+
*/
|
|
10
|
+
export async function getAvailableEditors() {
|
|
11
|
+
try {
|
|
12
|
+
const service = resolve('IEnvironmentDetectorService');
|
|
13
|
+
return await service.listAvailableEditors();
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return [
|
|
17
|
+
{ id: 'vscode', name: 'VS Code', available: true },
|
|
18
|
+
{ id: 'cursor', name: 'Cursor', available: true },
|
|
19
|
+
{ id: 'windsurf', name: 'Windsurf', available: true },
|
|
20
|
+
{ id: 'zed', name: 'Zed', available: true },
|
|
21
|
+
{ id: 'antigravity', name: 'Antigravity', available: true },
|
|
22
|
+
];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface AvailableShell {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
available: boolean;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Returns the list of shell entries from the DI container's IEnvironmentDetectorService,
|
|
8
|
+
* with availability checks based on binary existence on the current system.
|
|
9
|
+
*
|
|
10
|
+
* Using the DI container (not a direct import) ensures the service is resolved
|
|
11
|
+
* in the correct Node.js bootstrap context where tool metadata paths resolve correctly.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getAvailableShells(): Promise<AvailableShell[]>;
|
|
14
|
+
//# sourceMappingURL=get-available-shells.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-available-shells.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/get-available-shells.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAWpE"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use server';
|
|
2
|
+
import { resolve } from '../../lib/server-container.js';
|
|
3
|
+
/**
|
|
4
|
+
* Returns the list of shell entries from the DI container's IEnvironmentDetectorService,
|
|
5
|
+
* with availability checks based on binary existence on the current system.
|
|
6
|
+
*
|
|
7
|
+
* Using the DI container (not a direct import) ensures the service is resolved
|
|
8
|
+
* in the correct Node.js bootstrap context where tool metadata paths resolve correctly.
|
|
9
|
+
*/
|
|
10
|
+
export async function getAvailableShells() {
|
|
11
|
+
try {
|
|
12
|
+
const service = resolve('IEnvironmentDetectorService');
|
|
13
|
+
return await service.listAvailableShells();
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return [
|
|
17
|
+
{ id: 'bash', name: 'Bash', available: true },
|
|
18
|
+
{ id: 'zsh', name: 'Zsh', available: true },
|
|
19
|
+
{ id: 'fish', name: 'Fish', available: true },
|
|
20
|
+
];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -5,7 +5,7 @@ import { basename, join, dirname } from 'node:path';
|
|
|
5
5
|
import { resolve } from '../../lib/server-container.js';
|
|
6
6
|
import { computeWorktreePath, getShipitAiHomeDir } from '../../lib/core-utils.js';
|
|
7
7
|
/**
|
|
8
|
-
* Compute the
|
|
8
|
+
* Compute the ShipIT evidence directory for a given repository and feature.
|
|
9
9
|
* Path: ~/.shipit-ai/repos/<sha256-hash-prefix>/evidence/<featureId>/
|
|
10
10
|
*/
|
|
11
11
|
function computeEvidenceDir(repositoryPath, featureId) {
|
|
@@ -13,11 +13,11 @@ function computeEvidenceDir(repositoryPath, featureId) {
|
|
|
13
13
|
return join(getShipitAiHomeDir(), 'repos', repoHash, 'evidence', featureId).replace(/\\/g, '/');
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
|
-
* Normalize evidence paths so they all point to the
|
|
16
|
+
* Normalize evidence paths so they all point to the ShipIT evidence directory.
|
|
17
17
|
* When commitEvidence was enabled, the manifest may contain relative paths
|
|
18
18
|
* (e.g. "specs/066-feature/evidence/file.png"). After merge the worktree is
|
|
19
19
|
* deleted so those paths no longer resolve. The evidence files were also saved
|
|
20
|
-
* to the
|
|
20
|
+
* to the ShipIT evidence dir with the same filename, so we map relative paths
|
|
21
21
|
* to absolute paths there.
|
|
22
22
|
*/
|
|
23
23
|
function normalizeEvidencePaths(evidence, evidenceDir) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/web/app/layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,6BAA6B,CAAC;AACrC,OAAO,2CAA2C,CAAC;AACnD,OAAO,eAAe,CAAC;AAYvB,sFAAsF;AACtF,eAAO,MAAM,OAAO,kBAAkB,CAAC;AAEvC,eAAO,MAAM,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/web/app/layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,6BAA6B,CAAC;AACrC,OAAO,2CAA2C,CAAC;AACnD,OAAO,eAAe,CAAC;AAYvB,sFAAsF;AACtF,eAAO,MAAM,OAAO,kBAAkB,CAAC;AAEvC,eAAO,MAAM,QAAQ,EAAE,QAStB,CAAC;AAEF,wBAA8B,UAAU,CAAC,EACvC,QAAQ,GACT,EAAE,QAAQ,CAAC;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC,oDAkCD"}
|
|
@@ -16,21 +16,12 @@ import { RouteAnnouncer } from '../components/common/route-announcer/route-annou
|
|
|
16
16
|
/** Force dynamic rendering for all pages since they depend on client-side context. */
|
|
17
17
|
export const dynamic = 'force-dynamic';
|
|
18
18
|
export const metadata = {
|
|
19
|
-
title: '
|
|
19
|
+
title: 'ShipIT AI',
|
|
20
20
|
description: 'Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy',
|
|
21
21
|
icons: [
|
|
22
|
-
{
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
type: 'image/svg+xml',
|
|
26
|
-
media: '(prefers-color-scheme: light)',
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
rel: 'icon',
|
|
30
|
-
url: '/favicon-dark.svg',
|
|
31
|
-
type: 'image/svg+xml',
|
|
32
|
-
media: '(prefers-color-scheme: dark)',
|
|
33
|
-
},
|
|
22
|
+
{ rel: 'icon', url: '/shipit-icon.svg', type: 'image/svg+xml' },
|
|
23
|
+
{ rel: 'icon', url: '/favicon-32x32.png', sizes: '32x32', type: 'image/png' },
|
|
24
|
+
{ rel: 'apple-touch-icon', url: '/apple-touch-icon.png', sizes: '180x180' },
|
|
34
25
|
],
|
|
35
26
|
};
|
|
36
27
|
export default async function RootLayout({ children, }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/settings/page.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/settings/page.tsx"],"names":[],"mappings":"AAMA,uFAAuF;AACvF,eAAO,MAAM,OAAO,kBAAkB,CAAC;AAEvC,wBAA8B,YAAY,qDAiCzC"}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { loadSettings } from '../actions/load-settings.js';
|
|
3
3
|
import { getAvailableTerminals } from '../actions/get-available-terminals.js';
|
|
4
|
+
import { getAvailableEditors } from '../actions/get-available-editors.js';
|
|
5
|
+
import { getAvailableShells } from '../actions/get-available-shells.js';
|
|
4
6
|
import { SettingsPageClient } from '../../components/features/settings/settings-page-client.js';
|
|
5
7
|
/** Skip static pre-rendering since we need runtime DI container and server context. */
|
|
6
8
|
export const dynamic = 'force-dynamic';
|
|
7
9
|
export default async function SettingsPage() {
|
|
8
|
-
const [{ settings, shipitAiHome, dbFileSize, error }, availableTerminals] = await Promise.all([
|
|
10
|
+
const [{ settings, shipitAiHome, dbFileSize, error }, availableTerminals, availableEditors, availableShells,] = await Promise.all([
|
|
9
11
|
loadSettings(),
|
|
10
12
|
getAvailableTerminals(),
|
|
13
|
+
getAvailableEditors(),
|
|
14
|
+
getAvailableShells(),
|
|
11
15
|
]);
|
|
12
16
|
if (error || !settings) {
|
|
13
17
|
return (_jsx("div", { className: "flex h-full flex-col p-6", children: _jsxs("p", { className: "text-destructive text-sm", children: ["Failed to load settings: ", error] }) }));
|
|
14
18
|
}
|
|
15
|
-
return (_jsx("div", { className: "flex h-full flex-col px-6 pb-6", children: _jsx(SettingsPageClient, { settings: settings, shipitAiHome: shipitAiHome ?? '', dbFileSize: dbFileSize ?? 'Unknown', availableTerminals: availableTerminals }) }));
|
|
19
|
+
return (_jsx("div", { className: "flex h-full flex-col px-6 pb-6", children: _jsx(SettingsPageClient, { settings: settings, shipitAiHome: shipitAiHome ?? '', dbFileSize: dbFileSize ?? 'Unknown', availableTerminals: availableTerminals, availableEditors: availableEditors, availableShells: availableShells }) }));
|
|
16
20
|
}
|
package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.js
CHANGED
|
@@ -90,7 +90,7 @@ export function AdoptBranchDrawer({ open, onClose, onSubmit, isSubmitting = fals
|
|
|
90
90
|
}
|
|
91
91
|
}, [repoOpen]);
|
|
92
92
|
const isDisabled = !branchName.trim() || !selectedRepositoryPath || isSubmitting;
|
|
93
|
-
const header = (_jsxs("div", { children: [_jsxs(DrawerTitle, { className: "flex items-center gap-2", children: [_jsx(GitBranch, { className: "h-4 w-4" }), "Adopt Branch"] }), _jsx(DrawerDescription, { className: "text-muted-foreground text-sm", children: "Import an existing git branch into
|
|
93
|
+
const header = (_jsxs("div", { children: [_jsxs(DrawerTitle, { className: "flex items-center gap-2", children: [_jsx(GitBranch, { className: "h-4 w-4" }), "Adopt Branch"] }), _jsx(DrawerDescription, { className: "text-muted-foreground text-sm", children: "Import an existing git branch into ShipIT's feature tracking" })] }));
|
|
94
94
|
return (_jsx(BaseDrawer, { open: open, onClose: handleClose, size: "sm", modal: false, header: header, "data-testid": "adopt-branch-drawer", children: _jsxs("form", { onSubmit: handleSubmit, className: "flex flex-1 flex-col", children: [_jsx("div", { className: "flex-1 overflow-y-auto p-4", children: _jsxs("div", { className: "flex flex-col gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: "Repository" }), _jsxs(Popover, { open: repoOpen, onOpenChange: setRepoOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs("button", { type: "button", role: "combobox", "aria-expanded": repoOpen, "aria-label": "Repository", disabled: isSubmitting, "data-testid": "adopt-repo-combobox", className: cn('border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50', !selectedRepo && 'text-muted-foreground'), children: [_jsx("span", { className: "truncate", children: selectedRepo ? selectedRepo.name : 'Select repository...' }), _jsx(ChevronsUpDown, { className: "ms-2 h-4 w-4 shrink-0 opacity-50" })] }) }), _jsx(PopoverContent, { className: "w-80 p-0", align: "start", "data-testid": "adopt-repo-combobox-content", children: _jsxs("div", { className: "flex flex-col", children: [_jsx("div", { className: "border-b p-2", children: _jsx(Input, { ref: repoInputRef, placeholder: "Search repositories...", value: repoQuery, onChange: (e) => setRepoQuery(e.target.value), className: "h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0", "data-testid": "adopt-repo-search" }) }), _jsx("div", { className: "max-h-48 overflow-y-auto py-1", role: "listbox", "aria-label": "Repositories", children: filteredRepos.length === 0 ? (_jsx("p", { className: "text-muted-foreground px-3 py-2 text-sm", children: "No repositories found." })) : (filteredRepos.map((r) => (_jsxs("button", { type: "button", role: "option", "aria-selected": selectedRepositoryPath === r.path, onClick: () => handleRepoSelect(r.path), className: cn('hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm', selectedRepositoryPath === r.path && 'bg-accent/50'), "data-testid": `adopt-repo-option-${r.id}`, children: [_jsx(CheckIcon, { className: cn('h-4 w-4 shrink-0', selectedRepositoryPath !== r.path && 'invisible') }), _jsxs("span", { className: "flex flex-col items-start truncate", children: [_jsx("span", { className: "truncate", children: r.name }), _jsx("span", { className: "text-muted-foreground truncate text-xs", children: r.path })] })] }, r.id)))) })] }) })] }), _jsx("p", { className: "text-muted-foreground text-xs", children: "Select the repository that contains the branch you want to adopt." })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { htmlFor: "branch-name", children: "Branch name" }), _jsxs(Popover, { open: comboboxOpen, onOpenChange: setComboboxOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: "outline", role: "combobox", "aria-expanded": comboboxOpen, "aria-invalid": !!error, "aria-describedby": error ? 'adopt-branch-error-msg' : undefined, disabled: isSubmitting || !hasRepo, className: "w-full justify-between font-normal", "data-testid": "adopt-branch-input", children: [_jsx("span", { className: "truncate", children: !hasRepo
|
|
95
95
|
? 'Select a repository first...'
|
|
96
96
|
: branchesLoading
|
|
@@ -2,7 +2,7 @@ import type { Meta, StoryObj } from '@storybook/react';
|
|
|
2
2
|
import { AdoptBranchDrawer } from './adopt-branch-drawer.js';
|
|
3
3
|
/**
|
|
4
4
|
* **AdoptBranchDrawer** is a right-side sliding drawer for importing an
|
|
5
|
-
* existing git branch into
|
|
5
|
+
* existing git branch into ShipIT's feature tracking system.
|
|
6
6
|
*
|
|
7
7
|
* ### Form
|
|
8
8
|
* - **Repository** (required) — combobox for selecting which repository to adopt from
|
|
@@ -8,7 +8,7 @@ import { Button } from '../../ui/button.js';
|
|
|
8
8
|
* ------------------------------------------------------------------------- */
|
|
9
9
|
/**
|
|
10
10
|
* **AdoptBranchDrawer** is a right-side sliding drawer for importing an
|
|
11
|
-
* existing git branch into
|
|
11
|
+
* existing git branch into ShipIT's feature tracking system.
|
|
12
12
|
*
|
|
13
13
|
* ### Form
|
|
14
14
|
* - **Repository** (required) — combobox for selecting which repository to adopt from
|