@shepai/cli 1.155.0-pr485.4c45fca → 1.155.0-pr486.e53674d
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/apis/json-schema/UserProfile.yaml +0 -3
- package/dist/packages/core/src/domain/generated/output.d.ts +0 -14
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/domain/generated/output.js +0 -11
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +0 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +2 -4
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +2 -3
- package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.js +1 -3
- package/dist/packages/core/src/infrastructure/services/tool-installer/tools/claude-code.json +4 -3
- package/dist/src/presentation/cli/commands/_serve.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/_serve.command.js +3 -5
- package/dist/src/presentation/cli/commands/agent/approve.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/agent/approve.command.js +4 -9
- package/dist/src/presentation/cli/commands/agent/delete.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/agent/delete.command.js +5 -9
- package/dist/src/presentation/cli/commands/agent/index.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/agent/index.js +1 -3
- package/dist/src/presentation/cli/commands/agent/logs.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/agent/logs.command.js +5 -7
- package/dist/src/presentation/cli/commands/agent/ls.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/agent/ls.command.js +10 -12
- package/dist/src/presentation/cli/commands/agent/reject.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/agent/reject.command.js +5 -10
- package/dist/src/presentation/cli/commands/agent/resolve-run.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/agent/resolve-run.js +2 -7
- package/dist/src/presentation/cli/commands/agent/show.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/agent/show.command.js +6 -8
- package/dist/src/presentation/cli/commands/agent/stop.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/agent/stop.command.js +4 -9
- package/dist/src/presentation/cli/commands/daemon/start-daemon.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/daemon/start-daemon.js +8 -10
- package/dist/src/presentation/cli/commands/daemon/stop-daemon.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/daemon/stop-daemon.js +3 -5
- package/dist/src/presentation/cli/commands/feat/adopt.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/adopt.command.js +12 -14
- package/dist/src/presentation/cli/commands/feat/approve.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/approve.command.js +6 -8
- package/dist/src/presentation/cli/commands/feat/archive.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/archive.command.js +8 -10
- package/dist/src/presentation/cli/commands/feat/del.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/del.command.js +15 -17
- package/dist/src/presentation/cli/commands/feat/index.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/index.js +1 -2
- package/dist/src/presentation/cli/commands/feat/logs.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/logs.command.js +6 -8
- package/dist/src/presentation/cli/commands/feat/ls.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/ls.command.js +12 -14
- package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/new.command.js +37 -43
- package/dist/src/presentation/cli/commands/feat/reject.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/reject.command.js +9 -11
- package/dist/src/presentation/cli/commands/feat/resolve-waiting-feature.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/resolve-waiting-feature.js +5 -12
- package/dist/src/presentation/cli/commands/feat/resume.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/resume.command.js +6 -8
- package/dist/src/presentation/cli/commands/feat/review.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/review.command.js +15 -17
- package/dist/src/presentation/cli/commands/feat/show.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/show.command.js +45 -89
- package/dist/src/presentation/cli/commands/feat/start.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/start.command.js +10 -12
- package/dist/src/presentation/cli/commands/feat/unarchive.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/unarchive.command.js +6 -8
- package/dist/src/presentation/cli/commands/ide-open.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/ide-open.command.js +5 -10
- package/dist/src/presentation/cli/commands/install.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/install.command.js +21 -29
- package/dist/src/presentation/cli/commands/log-viewer.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/log-viewer.js +3 -6
- package/dist/src/presentation/cli/commands/repo/add.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/repo/add.command.js +10 -12
- package/dist/src/presentation/cli/commands/repo/index.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/repo/index.js +1 -3
- package/dist/src/presentation/cli/commands/repo/ls.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/repo/ls.command.js +9 -11
- package/dist/src/presentation/cli/commands/repo/resolve-repository.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/repo/resolve-repository.js +2 -7
- package/dist/src/presentation/cli/commands/repo/show.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/repo/show.command.js +10 -21
- package/dist/src/presentation/cli/commands/restart.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/restart.command.js +4 -6
- package/dist/src/presentation/cli/commands/run.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/run.command.js +17 -21
- package/dist/src/presentation/cli/commands/session/index.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/session/index.js +1 -3
- package/dist/src/presentation/cli/commands/session/ls.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/session/ls.command.js +9 -11
- package/dist/src/presentation/cli/commands/session/show.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/session/show.command.js +18 -26
- package/dist/src/presentation/cli/commands/settings/agent.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/settings/agent.command.js +8 -12
- package/dist/src/presentation/cli/commands/settings/ide.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/settings/ide.command.js +7 -13
- package/dist/src/presentation/cli/commands/settings/index.d.ts +0 -1
- package/dist/src/presentation/cli/commands/settings/index.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/settings/index.js +3 -7
- package/dist/src/presentation/cli/commands/settings/init.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/settings/init.command.js +7 -8
- package/dist/src/presentation/cli/commands/settings/model.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/settings/model.command.js +6 -7
- package/dist/src/presentation/cli/commands/settings/show.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/settings/show.command.js +3 -4
- package/dist/src/presentation/cli/commands/settings/workflow.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/settings/workflow.command.js +18 -20
- package/dist/src/presentation/cli/commands/start.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/start.command.js +3 -5
- package/dist/src/presentation/cli/commands/status.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/status.command.js +24 -32
- package/dist/src/presentation/cli/commands/stop.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/stop.command.js +2 -4
- package/dist/src/presentation/cli/commands/tools.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/tools.command.js +4 -8
- package/dist/src/presentation/cli/commands/ui.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/ui.command.js +10 -12
- package/dist/src/presentation/cli/commands/upgrade.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/upgrade.command.js +13 -18
- package/dist/src/presentation/cli/commands/version.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/version.command.js +3 -5
- package/dist/src/presentation/cli/index.js +1 -13
- package/dist/src/presentation/cli/ui/install-messages.d.ts.map +1 -1
- package/dist/src/presentation/cli/ui/install-messages.js +6 -16
- package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts +31 -13
- package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts.map +1 -1
- package/dist/src/presentation/tui/prompts/agent-select.prompt.js +15 -17
- package/dist/src/presentation/tui/prompts/auth-method.prompt.d.ts +11 -7
- package/dist/src/presentation/tui/prompts/auth-method.prompt.d.ts.map +1 -1
- package/dist/src/presentation/tui/prompts/auth-method.prompt.js +5 -7
- package/dist/src/presentation/tui/prompts/ide-select.prompt.d.ts.map +1 -1
- package/dist/src/presentation/tui/prompts/ide-select.prompt.js +1 -2
- package/dist/src/presentation/tui/prompts/prd-review-summary.prompt.d.ts.map +1 -1
- package/dist/src/presentation/tui/prompts/prd-review-summary.prompt.js +6 -8
- package/dist/src/presentation/tui/wizards/agent-config.wizard.d.ts.map +1 -1
- package/dist/src/presentation/tui/wizards/agent-config.wizard.js +1 -2
- package/dist/src/presentation/tui/wizards/github-import.wizard.d.ts.map +1 -1
- package/dist/src/presentation/tui/wizards/github-import.wizard.js +11 -15
- package/dist/src/presentation/tui/wizards/merge-review.wizard.d.ts.map +1 -1
- package/dist/src/presentation/tui/wizards/merge-review.wizard.js +8 -10
- package/dist/src/presentation/tui/wizards/onboarding/onboarding.wizard.d.ts.map +1 -1
- package/dist/src/presentation/tui/wizards/onboarding/onboarding.wizard.js +7 -10
- package/dist/src/presentation/tui/wizards/onboarding/steps/workflow-defaults.step.d.ts +41 -0
- package/dist/src/presentation/tui/wizards/onboarding/steps/workflow-defaults.step.d.ts.map +1 -1
- package/dist/src/presentation/tui/wizards/onboarding/steps/workflow-defaults.step.js +15 -15
- package/dist/src/presentation/tui/wizards/plan-review.wizard.d.ts.map +1 -1
- package/dist/src/presentation/tui/wizards/plan-review.wizard.js +8 -10
- package/dist/src/presentation/tui/wizards/prd-review.wizard.d.ts.map +1 -1
- package/dist/src/presentation/tui/wizards/prd-review.wizard.js +2 -3
- package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
- package/dist/src/presentation/web/app/layout.js +2 -5
- package/dist/src/presentation/web/components/assistant-ui/thread.js +5 -5
- package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.js +1 -1
- package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +1 -1
- package/dist/src/presentation/web/components/common/ci-status-badge/ci-status-badge.js +3 -3
- package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.js +4 -4
- package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.js +1 -1
- package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.js +1 -3
- package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.js +2 -2
- package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.js +2 -2
- package/dist/src/presentation/web/components/common/empty-state/empty-state.stories.js +2 -2
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +2 -2
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.js +4 -4
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.js +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.js +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.js +1 -1
- package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.js +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +2 -2
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +22 -22
- package/dist/src/presentation/web/components/common/feature-node/feature-node.js +4 -4
- package/dist/src/presentation/web/components/common/feature-node/feature-sessions-dropdown.js +1 -1
- package/dist/src/presentation/web/components/common/feature-status-group/feature-status-group.js +1 -1
- package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.js +1 -1
- package/dist/src/presentation/web/components/common/merge-review/diff-view.js +2 -2
- package/dist/src/presentation/web/components/common/merge-review/merge-review.js +2 -2
- package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.js +3 -3
- package/dist/src/presentation/web/components/common/reject-feedback-dialog/reject-feedback-dialog.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/reject-feedback-dialog/reject-feedback-dialog.js +4 -6
- package/dist/src/presentation/web/components/common/repository-node/repository-node.js +3 -3
- package/dist/src/presentation/web/components/common/server-log-viewer/server-log-viewer.js +1 -1
- package/dist/src/presentation/web/components/common/task-progress-view/task-progress-view.js +2 -2
- package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.js +2 -2
- package/dist/src/presentation/web/components/common/version-badge/version-badge.js +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.js +4 -4
- package/dist/src/presentation/web/components/features/chat/ChatMessageList.js +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatTab.js +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.js +11 -15
- 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 -8
- package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.js +1 -3
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +2 -4
- package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +2 -2
- package/dist/src/presentation/web/components/features/settings/ModelPicker/index.js +2 -2
- package/dist/src/presentation/web/components/features/settings/agent-settings-section.js +1 -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 +77 -89
- package/dist/src/presentation/web/components/features/settings/timeout-slider.js +1 -1
- package/dist/src/presentation/web/components/features/skills/category-filter.js +1 -1
- package/dist/src/presentation/web/components/features/skills/skills-page-client.js +1 -1
- package/dist/src/presentation/web/components/features/tools/tool-card.js +1 -1
- package/dist/src/presentation/web/components/features/tools/tool-detail-drawer.js +2 -2
- 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 +4 -10
- package/dist/src/presentation/web/components/ui/alert-dialog.js +1 -1
- package/dist/src/presentation/web/components/ui/alert.js +1 -1
- package/dist/src/presentation/web/components/ui/checkbox-group.js +1 -1
- package/dist/src/presentation/web/components/ui/command.js +1 -1
- package/dist/src/presentation/web/components/ui/dialog.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/dialog.js +2 -2
- package/dist/src/presentation/web/components/ui/dialog.stories.js +1 -1
- package/dist/src/presentation/web/components/ui/drawer.js +1 -1
- package/dist/src/presentation/web/components/ui/dropdown-menu.js +6 -6
- package/dist/src/presentation/web/components/ui/scroll-area.js +1 -1
- package/dist/src/presentation/web/components/ui/select.js +1 -1
- package/dist/src/presentation/web/components/ui/sheet.js +1 -1
- package/dist/src/presentation/web/components/ui/sidebar.js +6 -6
- package/dist/src/presentation/web/hooks/use-sound-action.stories.js +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -4
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +1 -1
- package/web/.next/required-server-files.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +3 -3
- 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/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +3 -3
- 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/server-reference-manifest.json +29 -29
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js +3 -3
- 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/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +4 -4
- 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/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +4 -4
- 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/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +3 -3
- 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/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +3 -3
- 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/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/chat/page.js +3 -3
- 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/server-reference-manifest.json +29 -29
- package/web/.next/server/app/(dashboard)/create/page.js +3 -3
- 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/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +4 -4
- 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/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +4 -4
- 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/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/page.js +3 -3
- 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/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +3 -3
- 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/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +3 -3
- 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.html +2 -2
- 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/server-reference-manifest.json +5 -5
- package/web/.next/server/app/_not-found/page.js +2 -2
- 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/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/server-reference-manifest.json +8 -8
- package/web/.next/server/app/settings/page.js +2 -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/server-reference-manifest.json +10 -10
- package/web/.next/server/app/skills/page.js +4 -3
- 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/server-reference-manifest.json +10 -10
- package/web/.next/server/app/tools/page.js +4 -3
- 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/server-reference-manifest.json +5 -5
- package/web/.next/server/app/version/page.js +2 -2
- 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/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__27301e38._.js → [root-of-the-server]__17ed7ed1._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__27301e38._.js.map → [root-of-the-server]__17ed7ed1._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__8d27866c._.js → [root-of-the-server]__28d0d265._.js} +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__28d0d265._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__6fecf886._.js → [root-of-the-server]__42bf1807._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__6fecf886._.js.map → [root-of-the-server]__42bf1807._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5edfc56b._.js +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__209c9597._.js → [root-of-the-server]__88f7e8e6._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__209c9597._.js.map → [root-of-the-server]__88f7e8e6._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e91ffd5e._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e91ffd5e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__9f3504c7._.js → [root-of-the-server]__f80bfc75._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__9f3504c7._.js.map → [root-of-the-server]__f80bfc75._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__25ee8d4c._.js → [root-of-the-server]__f8dd4422._.js} +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f8dd4422._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_3a0b989f._.js +2 -2
- package/web/.next/server/chunks/ssr/_3a0b989f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_41633e32._.js +3 -0
- package/web/.next/server/chunks/ssr/{_28e7429c._.js.map → _41633e32._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_4b432739._.js +3 -0
- package/web/.next/server/chunks/ssr/_4b432739._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_b9ba2473._.js → _507a8382._.js} +2 -2
- package/web/.next/server/chunks/ssr/_507a8382._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_7773b2dc._.js → _59d0f988._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_7773b2dc._.js.map → _59d0f988._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_5f69c13f._.js +1 -1
- package/web/.next/server/chunks/ssr/_5f69c13f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_3bcda5d7._.js → _67104d9e._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_3bcda5d7._.js.map → _67104d9e._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_7c5b97c6._.js +1 -1
- package/web/.next/server/chunks/ssr/_7c5b97c6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_813095ef._.js +4 -0
- package/web/.next/server/chunks/ssr/_813095ef._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_8219712a._.js +3 -0
- package/web/.next/server/chunks/ssr/_8219712a._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_82c57f10._.js +1 -1
- package/web/.next/server/chunks/ssr/_82c57f10._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_8b57edb8._.js +1 -1
- package/web/.next/server/chunks/ssr/_8b57edb8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_9495d50b._.js +1 -1
- package/web/.next/server/chunks/ssr/_9495d50b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_a0e3f7e4._.js +1 -1
- package/web/.next/server/chunks/ssr/_a0e3f7e4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_ac4a3873._.js +1 -1
- package/web/.next/server/chunks/ssr/_ac4a3873._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_ca0aa7f0._.js +1 -1
- package/web/.next/server/chunks/ssr/_ca0aa7f0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_cb5a021e._.js +1 -1
- package/web/.next/server/chunks/ssr/_cb5a021e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_cfbd1d7e._.js +1 -1
- package/web/.next/server/chunks/ssr/_cfbd1d7e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d4b20e29._.js +1 -1
- package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d86175ae._.js +1 -1
- package/web/.next/server/chunks/ssr/_d86175ae._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d8bedf13._.js +1 -1
- package/web/.next/server/chunks/ssr/_d8bedf13._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_e9a73a63._.js +9 -0
- package/web/.next/server/chunks/ssr/_e9a73a63._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_fa7efce3._.js +2 -2
- package/web/.next/server/chunks/ssr/_fa7efce3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_324a47da._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_324a47da._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js.map +1 -1
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +45 -45
- package/web/.next/static/chunks/{47477ed4c5871747.js → 11091b676d1b3bd4.js} +1 -1
- package/web/.next/static/chunks/125b250c28113507.js +1 -0
- package/web/.next/static/chunks/{74db65fa7bfb80bd.js → 22c459f1877b1e4f.js} +1 -1
- package/web/.next/static/chunks/2817c3b9d560aaeb.js +1 -0
- package/web/.next/static/chunks/{24d5e151f7de6b4c.js → 42e9d0c76e624005.js} +1 -1
- package/web/.next/static/chunks/{e4e358c4f67366fd.js → 4b2c4a5c35ebb70d.js} +1 -1
- package/web/.next/static/chunks/{d6e702c209c413ce.js → 5ae60a052ab5f437.js} +2 -2
- package/web/.next/static/chunks/{3deefc76ea55047c.js → 688971d5bad5dc7c.js} +1 -1
- package/web/.next/static/chunks/{1c07a9270515f2e3.js → 6e6cd6218f76e404.js} +2 -2
- package/web/.next/static/chunks/7a1a68bdc20f0428.js +1 -0
- package/web/.next/static/chunks/8590bd2e69b24b9e.css +1 -0
- package/web/.next/static/chunks/{536afd754a63da39.js → 902c670cb337840c.js} +1 -1
- package/web/.next/static/chunks/{4978be67c4e6498f.js → a676d236e8214de3.js} +3 -3
- package/web/.next/static/chunks/a7c1cddd7d406fb8.js +7 -0
- package/web/.next/static/chunks/b3be394b3cc24151.js +1 -0
- package/web/.next/static/chunks/b4080e40597d7f8e.js +1 -0
- package/web/.next/static/chunks/{bfdb66301af07da1.js → b4cde06eff374c59.js} +2 -2
- package/web/.next/static/chunks/cd54b758f58061d0.js +1 -0
- package/web/.next/static/chunks/da980f1c277bafcb.js +2 -0
- package/web/.next/static/chunks/{b674bc11b321a5ee.js → ea823175bb410162.js} +1 -1
- package/apis/json-schema/Language.yaml +0 -13
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-language-preference.d.ts +0 -14
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-language-preference.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-language-preference.js +0 -19
- package/dist/src/presentation/cli/commands/settings/language.command.d.ts +0 -14
- package/dist/src/presentation/cli/commands/settings/language.command.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/settings/language.command.js +0 -79
- package/dist/src/presentation/cli/i18n.d.ts +0 -41
- package/dist/src/presentation/cli/i18n.d.ts.map +0 -1
- package/dist/src/presentation/cli/i18n.js +0 -100
- package/dist/src/presentation/tui/i18n.d.ts +0 -24
- package/dist/src/presentation/tui/i18n.d.ts.map +0 -1
- package/dist/src/presentation/tui/i18n.js +0 -48
- package/dist/src/presentation/web/components/features/settings/language-settings-section.d.ts +0 -5
- package/dist/src/presentation/web/components/features/settings/language-settings-section.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/settings/language-settings-section.js +0 -54
- package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.d.ts +0 -18
- package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.js +0 -36
- package/dist/src/presentation/web/components/providers/i18n-provider.d.ts +0 -17
- package/dist/src/presentation/web/components/providers/i18n-provider.d.ts.map +0 -1
- package/dist/src/presentation/web/components/providers/i18n-provider.js +0 -36
- package/dist/src/presentation/web/lib/i18n.d.ts +0 -15
- package/dist/src/presentation/web/lib/i18n.d.ts.map +0 -1
- package/dist/src/presentation/web/lib/i18n.js +0 -46
- package/dist/src/presentation/web/lib/language.d.ts +0 -23
- package/dist/src/presentation/web/lib/language.d.ts.map +0 -1
- package/dist/src/presentation/web/lib/language.js +0 -37
- package/dist/src/presentation/web/lib/rtl-fonts.d.ts +0 -19
- package/dist/src/presentation/web/lib/rtl-fonts.d.ts.map +0 -1
- package/dist/src/presentation/web/lib/rtl-fonts.js +0 -51
- package/dist/translations/ar/cli.json +0 -613
- package/dist/translations/ar/common.json +0 -55
- package/dist/translations/ar/tui.json +0 -130
- package/dist/translations/ar/web.json +0 -320
- package/dist/translations/de/cli.json +0 -613
- package/dist/translations/de/common.json +0 -55
- package/dist/translations/de/tui.json +0 -109
- package/dist/translations/de/web.json +0 -306
- package/dist/translations/en/cli.json +0 -613
- package/dist/translations/en/common.json +0 -55
- package/dist/translations/en/tui.json +0 -130
- package/dist/translations/en/web.json +0 -320
- package/dist/translations/es/cli.json +0 -613
- package/dist/translations/es/common.json +0 -55
- package/dist/translations/es/tui.json +0 -130
- package/dist/translations/es/web.json +0 -320
- package/dist/translations/fr/cli.json +0 -613
- package/dist/translations/fr/common.json +0 -55
- package/dist/translations/fr/tui.json +0 -130
- package/dist/translations/fr/web.json +0 -320
- package/dist/translations/he/cli.json +0 -613
- package/dist/translations/he/common.json +0 -55
- package/dist/translations/he/tui.json +0 -130
- package/dist/translations/he/web.json +0 -320
- package/dist/translations/pt/cli.json +0 -613
- package/dist/translations/pt/common.json +0 -55
- package/dist/translations/pt/tui.json +0 -130
- package/dist/translations/pt/web.json +0 -320
- package/dist/translations/ru/cli.json +0 -613
- package/dist/translations/ru/common.json +0 -55
- package/dist/translations/ru/tui.json +0 -130
- package/dist/translations/ru/web.json +0 -320
- package/web/.next/server/chunks/ssr/[root-of-the-server]__25ee8d4c._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8d27866c._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dffa13c5._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dffa13c5._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0cd9ca53._.js +0 -3
- package/web/.next/server/chunks/ssr/_0cd9ca53._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_28e7429c._.js +0 -3
- package/web/.next/server/chunks/ssr/_470e90f4._.js +0 -9
- package/web/.next/server/chunks/ssr/_470e90f4._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_5bfcc8de._.js +0 -4
- package/web/.next/server/chunks/ssr/_5bfcc8de._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_b9ba2473._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_d90b0a06._.js +0 -3
- package/web/.next/server/chunks/ssr/_d90b0a06._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_55cf6695._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules__pnpm_55cf6695._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +0 -1
- package/web/.next/static/chunks/05c9ed792a1d9056.js +0 -1
- package/web/.next/static/chunks/2aada437f51df3e6.js +0 -1
- package/web/.next/static/chunks/2eeee9bcbf660a4b.js +0 -1
- package/web/.next/static/chunks/4a399ee2a9942a1b.js +0 -1
- package/web/.next/static/chunks/70390bd89521bc19.js +0 -1
- package/web/.next/static/chunks/8fd082719935d5e6.js +0 -1
- package/web/.next/static/chunks/91927044df8e28bb.js +0 -7
- package/web/.next/static/chunks/b1b5b0bf84caabd4.js +0 -1
- package/web/.next/static/chunks/b68b16b4c3528979.js +0 -2
- package/web/.next/static/chunks/d58e68d03d055a9b.css +0 -1
- /package/web/.next/static/{Uqo91vsr2HsZrCKrZOYMZ → _5yY0q7bqEA7bwlEo729P}/_buildManifest.js +0 -0
- /package/web/.next/static/{Uqo91vsr2HsZrCKrZOYMZ → _5yY0q7bqEA7bwlEo729P}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{Uqo91vsr2HsZrCKrZOYMZ → _5yY0q7bqEA7bwlEo729P}/_ssgManifest.js +0 -0
|
@@ -16,7 +16,6 @@ import { createIdeSelectConfig } from '../../../tui/prompts/ide-select.prompt.js
|
|
|
16
16
|
import { getSettings, resetSettings, initializeSettings, } from '../../../../../packages/core/src/infrastructure/services/settings.service.js';
|
|
17
17
|
import { getIdeEntries } from '../../../../../packages/core/src/infrastructure/services/tool-installer/tool-metadata.js';
|
|
18
18
|
import { messages } from '../../ui/index.js';
|
|
19
|
-
import { getCliI18n } from '../../i18n.js';
|
|
20
19
|
/** Valid IDE tool IDs derived from JSON metadata. */
|
|
21
20
|
const VALID_EDITORS = new Set(getIdeEntries().map(([id]) => id));
|
|
22
21
|
/**
|
|
@@ -24,10 +23,8 @@ const VALID_EDITORS = new Set(getIdeEntries().map(([id]) => id));
|
|
|
24
23
|
*/
|
|
25
24
|
export function createIdeCommand() {
|
|
26
25
|
return new Command('ide')
|
|
27
|
-
.description(
|
|
28
|
-
.option('--editor <name>',
|
|
29
|
-
editors: [...VALID_EDITORS].join(', '),
|
|
30
|
-
}))
|
|
26
|
+
.description('Configure preferred IDE/editor')
|
|
27
|
+
.option('--editor <name>', `IDE/editor name (${[...VALID_EDITORS].join(', ')})`)
|
|
31
28
|
.addHelpText('after', `
|
|
32
29
|
Examples:
|
|
33
30
|
$ shep settings ide Interactive selection
|
|
@@ -38,10 +35,7 @@ Examples:
|
|
|
38
35
|
let editorValue;
|
|
39
36
|
if (options.editor !== undefined) {
|
|
40
37
|
if (!VALID_EDITORS.has(options.editor)) {
|
|
41
|
-
messages.error(
|
|
42
|
-
editor: options.editor,
|
|
43
|
-
validEditors: [...VALID_EDITORS].join(', '),
|
|
44
|
-
}), new Error(`Unknown editor: ${options.editor}`));
|
|
38
|
+
messages.error(`Unknown editor "${options.editor}". Valid: ${[...VALID_EDITORS].join(', ')}`, new Error(`Unknown editor: ${options.editor}`));
|
|
45
39
|
process.exitCode = 1;
|
|
46
40
|
return;
|
|
47
41
|
}
|
|
@@ -54,7 +48,7 @@ Examples:
|
|
|
54
48
|
const ideLauncher = container.resolve('IIdeLauncherService');
|
|
55
49
|
const available = await ideLauncher.checkAvailability(editorValue);
|
|
56
50
|
if (!available) {
|
|
57
|
-
messages.warning(
|
|
51
|
+
messages.warning(`Editor '${editorValue}' not found in PATH. The editor will still be saved.`);
|
|
58
52
|
}
|
|
59
53
|
// Persist settings
|
|
60
54
|
const settings = getSettings();
|
|
@@ -64,15 +58,15 @@ Examples:
|
|
|
64
58
|
// Refresh in-memory singleton
|
|
65
59
|
resetSettings();
|
|
66
60
|
initializeSettings(updatedSettings);
|
|
67
|
-
messages.success(
|
|
61
|
+
messages.success(`Default editor set to: ${editorValue}`);
|
|
68
62
|
}
|
|
69
63
|
catch (error) {
|
|
70
64
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
71
65
|
if (err.message.includes('force closed') || err.message.includes('User force closed')) {
|
|
72
|
-
messages.info(
|
|
66
|
+
messages.info('Configuration cancelled.');
|
|
73
67
|
return;
|
|
74
68
|
}
|
|
75
|
-
messages.error(
|
|
69
|
+
messages.error('Failed to configure IDE', err);
|
|
76
70
|
process.exitCode = 1;
|
|
77
71
|
}
|
|
78
72
|
});
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
* shep settings ide # Configure preferred IDE
|
|
13
13
|
* shep settings workflow # Configure workflow defaults
|
|
14
14
|
* shep settings model # Configure default LLM model
|
|
15
|
-
* shep settings language # Configure display language
|
|
16
15
|
*/
|
|
17
16
|
import { Command } from 'commander';
|
|
18
17
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/settings/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/settings/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAsB/C"}
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
* shep settings ide # Configure preferred IDE
|
|
13
13
|
* shep settings workflow # Configure workflow defaults
|
|
14
14
|
* shep settings model # Configure default LLM model
|
|
15
|
-
* shep settings language # Configure display language
|
|
16
15
|
*/
|
|
17
16
|
import { Command } from 'commander';
|
|
18
17
|
import { createShowCommand } from './show.command.js';
|
|
@@ -21,23 +20,20 @@ import { createAgentCommand } from './agent.command.js';
|
|
|
21
20
|
import { createIdeCommand } from './ide.command.js';
|
|
22
21
|
import { createWorkflowCommand } from './workflow.command.js';
|
|
23
22
|
import { createModelCommand } from './model.command.js';
|
|
24
|
-
import { createLanguageCommand } from './language.command.js';
|
|
25
23
|
import { onboardingWizard } from '../../../tui/wizards/onboarding/onboarding.wizard.js';
|
|
26
24
|
import { messages } from '../../ui/index.js';
|
|
27
|
-
import { getCliI18n } from '../../i18n.js';
|
|
28
25
|
/**
|
|
29
26
|
* Create the settings command group
|
|
30
27
|
*/
|
|
31
28
|
export function createSettingsCommand() {
|
|
32
29
|
const cmd = new Command('settings')
|
|
33
|
-
.description(
|
|
30
|
+
.description('Manage Shep global settings')
|
|
34
31
|
.addCommand(createShowCommand())
|
|
35
32
|
.addCommand(createInitCommand())
|
|
36
33
|
.addCommand(createAgentCommand())
|
|
37
34
|
.addCommand(createIdeCommand())
|
|
38
35
|
.addCommand(createWorkflowCommand())
|
|
39
|
-
.addCommand(createModelCommand())
|
|
40
|
-
.addCommand(createLanguageCommand());
|
|
36
|
+
.addCommand(createModelCommand());
|
|
41
37
|
// Default action: launch the full setup wizard when no subcommand is given
|
|
42
38
|
cmd.action(async () => {
|
|
43
39
|
try {
|
|
@@ -45,7 +41,7 @@ export function createSettingsCommand() {
|
|
|
45
41
|
}
|
|
46
42
|
catch (error) {
|
|
47
43
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
48
|
-
messages.error(
|
|
44
|
+
messages.error('Settings wizard failed', err);
|
|
49
45
|
process.exitCode = 1;
|
|
50
46
|
}
|
|
51
47
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.command.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/settings/init.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.command.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/settings/init.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmCpC;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAkD3C"}
|
|
@@ -13,7 +13,6 @@ import { createDefaultSettings } from '../../../../../packages/core/src/domain/f
|
|
|
13
13
|
import { resetSettings, initializeSettings } from '../../../../../packages/core/src/infrastructure/services/settings.service.js';
|
|
14
14
|
import { container } from '../../../../../packages/core/src/infrastructure/di/container.js';
|
|
15
15
|
import { messages } from '../../ui/index.js';
|
|
16
|
-
import { getCliI18n } from '../../i18n.js';
|
|
17
16
|
/**
|
|
18
17
|
* Prompt user for yes/no confirmation.
|
|
19
18
|
* Returns false on EOF (no stdin) to prevent silent modifications.
|
|
@@ -42,8 +41,8 @@ function confirm(message) {
|
|
|
42
41
|
*/
|
|
43
42
|
export function createInitCommand() {
|
|
44
43
|
return new Command('init')
|
|
45
|
-
.description(
|
|
46
|
-
.option('-f, --force',
|
|
44
|
+
.description('Initialize settings to defaults')
|
|
45
|
+
.option('-f, --force', 'Skip confirmation prompt')
|
|
47
46
|
.addHelpText('after', `
|
|
48
47
|
Examples:
|
|
49
48
|
$ shep settings init Prompt for confirmation before reset
|
|
@@ -52,10 +51,10 @@ Examples:
|
|
|
52
51
|
.action(async (options) => {
|
|
53
52
|
try {
|
|
54
53
|
if (!options.force) {
|
|
55
|
-
messages.warning(
|
|
56
|
-
const confirmed = await confirm(
|
|
54
|
+
messages.warning('This will reset all settings to defaults. Consider backing up ~/.shep/data first.');
|
|
55
|
+
const confirmed = await confirm('Are you sure? (y/N): ');
|
|
57
56
|
if (!confirmed) {
|
|
58
|
-
messages.info(
|
|
57
|
+
messages.info('Operation cancelled.');
|
|
59
58
|
return;
|
|
60
59
|
}
|
|
61
60
|
}
|
|
@@ -74,11 +73,11 @@ Examples:
|
|
|
74
73
|
// Update in-memory singleton
|
|
75
74
|
resetSettings();
|
|
76
75
|
initializeSettings(newSettings);
|
|
77
|
-
messages.success(
|
|
76
|
+
messages.success('Settings initialized to defaults.');
|
|
78
77
|
}
|
|
79
78
|
catch (error) {
|
|
80
79
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
81
|
-
messages.error(
|
|
80
|
+
messages.error('Failed to initialize settings', err);
|
|
82
81
|
process.exitCode = 1;
|
|
83
82
|
}
|
|
84
83
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.command.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/settings/model.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"model.command.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/settings/model.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAqD5C"}
|
|
@@ -15,13 +15,12 @@ import { container } from '../../../../../packages/core/src/infrastructure/di/co
|
|
|
15
15
|
import { UpdateSettingsUseCase } from '../../../../../packages/core/src/application/use-cases/settings/update-settings.use-case.js';
|
|
16
16
|
import { getSettings, resetSettings, initializeSettings, } from '../../../../../packages/core/src/infrastructure/services/settings.service.js';
|
|
17
17
|
import { messages } from '../../ui/index.js';
|
|
18
|
-
import { getCliI18n } from '../../i18n.js';
|
|
19
18
|
/**
|
|
20
19
|
* Create the model configuration command.
|
|
21
20
|
*/
|
|
22
21
|
export function createModelCommand() {
|
|
23
22
|
return new Command('model')
|
|
24
|
-
.description(
|
|
23
|
+
.description('Configure the default LLM model for agent runs')
|
|
25
24
|
.addHelpText('after', `
|
|
26
25
|
Examples:
|
|
27
26
|
$ shep settings model Interactive model picker`)
|
|
@@ -32,12 +31,12 @@ Examples:
|
|
|
32
31
|
const agentType = settings.agent.type;
|
|
33
32
|
const supportedModels = factory.getSupportedModels(agentType);
|
|
34
33
|
if (supportedModels.length === 0) {
|
|
35
|
-
messages.info(
|
|
34
|
+
messages.info(`No models available for agent "${agentType}". Configure a different agent with: shep settings agent`);
|
|
36
35
|
return;
|
|
37
36
|
}
|
|
38
37
|
const currentModel = settings.models.default;
|
|
39
38
|
const selectedModel = await select({
|
|
40
|
-
message:
|
|
39
|
+
message: 'Select default LLM model',
|
|
41
40
|
choices: supportedModels.map((m) => ({ name: m, value: m })),
|
|
42
41
|
default: currentModel,
|
|
43
42
|
});
|
|
@@ -48,15 +47,15 @@ Examples:
|
|
|
48
47
|
// Refresh in-memory singleton
|
|
49
48
|
resetSettings();
|
|
50
49
|
initializeSettings(updatedSettings);
|
|
51
|
-
messages.success(
|
|
50
|
+
messages.success(`Model configured: ${selectedModel}`);
|
|
52
51
|
}
|
|
53
52
|
catch (error) {
|
|
54
53
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
55
54
|
if (err.message.includes('force closed') || err.message.includes('User force closed')) {
|
|
56
|
-
messages.info(
|
|
55
|
+
messages.info('Configuration cancelled.');
|
|
57
56
|
return;
|
|
58
57
|
}
|
|
59
|
-
messages.error(
|
|
58
|
+
messages.error('Failed to configure model', err);
|
|
60
59
|
process.exitCode = 1;
|
|
61
60
|
}
|
|
62
61
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"show.command.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/settings/show.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"show.command.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/settings/show.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAO5C;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CA+B3C"}
|
|
@@ -14,14 +14,13 @@ import { getShepDbPath } from '../../../../../packages/core/src/infrastructure/s
|
|
|
14
14
|
import { getSettings } from '../../../../../packages/core/src/infrastructure/services/settings.service.js';
|
|
15
15
|
import { statSync } from 'node:fs';
|
|
16
16
|
import { messages } from '../../ui/index.js';
|
|
17
|
-
import { getCliI18n } from '../../i18n.js';
|
|
18
17
|
/**
|
|
19
18
|
* Create the show settings command
|
|
20
19
|
*/
|
|
21
20
|
export function createShowCommand() {
|
|
22
21
|
return new Command('show')
|
|
23
|
-
.description(
|
|
24
|
-
.addOption(new Option('-o, --output <format>',
|
|
22
|
+
.description('Display current settings')
|
|
23
|
+
.addOption(new Option('-o, --output <format>', 'Output format: table|json|yaml')
|
|
25
24
|
.choices(['table', 'json', 'yaml'])
|
|
26
25
|
.default('table'))
|
|
27
26
|
.addHelpText('after', `
|
|
@@ -39,7 +38,7 @@ Examples:
|
|
|
39
38
|
}
|
|
40
39
|
catch (error) {
|
|
41
40
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
42
|
-
messages.error(
|
|
41
|
+
messages.error('Failed to load settings', err);
|
|
43
42
|
process.exitCode = 1;
|
|
44
43
|
}
|
|
45
44
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.command.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/settings/workflow.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow.command.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/settings/workflow.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CA4G/C"}
|
|
@@ -14,21 +14,20 @@ import { UpdateSettingsUseCase } from '../../../../../packages/core/src/applicat
|
|
|
14
14
|
import { runWorkflowDefaultsStep } from '../../../tui/wizards/onboarding/steps/workflow-defaults.step.js';
|
|
15
15
|
import { getSettings, resetSettings, initializeSettings, } from '../../../../../packages/core/src/infrastructure/services/settings.service.js';
|
|
16
16
|
import { messages } from '../../ui/index.js';
|
|
17
|
-
import { getCliI18n } from '../../i18n.js';
|
|
18
17
|
/**
|
|
19
18
|
* Create the workflow configuration command.
|
|
20
19
|
*/
|
|
21
20
|
export function createWorkflowCommand() {
|
|
22
21
|
return new Command('workflow')
|
|
23
|
-
.description(
|
|
24
|
-
.option('--allow-prd',
|
|
25
|
-
.option('--allow-plan',
|
|
26
|
-
.option('--allow-merge',
|
|
27
|
-
.option('--allow-all',
|
|
28
|
-
.option('--push',
|
|
29
|
-
.option('--no-push',
|
|
30
|
-
.option('--pr',
|
|
31
|
-
.option('--no-pr',
|
|
22
|
+
.description('Configure default workflow behavior for new features')
|
|
23
|
+
.option('--allow-prd', 'Auto-approve requirements phase')
|
|
24
|
+
.option('--allow-plan', 'Auto-approve planning phase')
|
|
25
|
+
.option('--allow-merge', 'Auto-approve and auto-merge after implementation')
|
|
26
|
+
.option('--allow-all', 'Enable all approval gates')
|
|
27
|
+
.option('--push', 'Push branch to remote on completion')
|
|
28
|
+
.option('--no-push', 'Do not push branch on completion')
|
|
29
|
+
.option('--pr', 'Open PR on completion')
|
|
30
|
+
.option('--no-pr', 'Do not open PR on completion')
|
|
32
31
|
.addHelpText('after', `
|
|
33
32
|
Examples:
|
|
34
33
|
$ shep settings workflow Interactive wizard
|
|
@@ -94,24 +93,23 @@ Examples:
|
|
|
94
93
|
// Refresh in-memory singleton
|
|
95
94
|
resetSettings();
|
|
96
95
|
initializeSettings(updatedSettings);
|
|
97
|
-
const t = getCliI18n().t;
|
|
98
96
|
const enabled = [
|
|
99
|
-
workflowDefaults.allowPrd &&
|
|
100
|
-
workflowDefaults.allowPlan &&
|
|
101
|
-
workflowDefaults.allowMerge &&
|
|
102
|
-
workflowDefaults.pushOnImplementationComplete &&
|
|
103
|
-
workflowDefaults.openPrOnImplementationComplete &&
|
|
97
|
+
workflowDefaults.allowPrd && 'Allow PRD',
|
|
98
|
+
workflowDefaults.allowPlan && 'Allow Plan',
|
|
99
|
+
workflowDefaults.allowMerge && 'Allow Merge',
|
|
100
|
+
workflowDefaults.pushOnImplementationComplete && 'Push',
|
|
101
|
+
workflowDefaults.openPrOnImplementationComplete && 'PR',
|
|
104
102
|
].filter(Boolean);
|
|
105
|
-
const summary = enabled.length > 0 ? enabled.join(', ') :
|
|
106
|
-
messages.success(
|
|
103
|
+
const summary = enabled.length > 0 ? enabled.join(', ') : 'none';
|
|
104
|
+
messages.success(`Workflow defaults updated: ${summary}`);
|
|
107
105
|
}
|
|
108
106
|
catch (error) {
|
|
109
107
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
110
108
|
if (err.message.includes('force closed') || err.message.includes('User force closed')) {
|
|
111
|
-
messages.info(
|
|
109
|
+
messages.info('Configuration cancelled.');
|
|
112
110
|
return;
|
|
113
111
|
}
|
|
114
|
-
messages.error(
|
|
112
|
+
messages.error('Failed to configure workflow defaults', err);
|
|
115
113
|
process.exitCode = 1;
|
|
116
114
|
}
|
|
117
115
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.command.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/cli/commands/start.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"start.command.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/cli/commands/start.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;AAW1D;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAc5C"}
|
|
@@ -9,11 +9,10 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { Command, InvalidArgumentError } from 'commander';
|
|
11
11
|
import { startDaemon } from './daemon/start-daemon.js';
|
|
12
|
-
import { getCliI18n } from '../i18n.js';
|
|
13
12
|
function parsePort(value) {
|
|
14
13
|
const port = parseInt(value, 10);
|
|
15
14
|
if (isNaN(port) || port < 1024 || port > 65535) {
|
|
16
|
-
throw new InvalidArgumentError(
|
|
15
|
+
throw new InvalidArgumentError('Port must be an integer between 1024 and 65535');
|
|
17
16
|
}
|
|
18
17
|
return port;
|
|
19
18
|
}
|
|
@@ -21,10 +20,9 @@ function parsePort(value) {
|
|
|
21
20
|
* Create the start command.
|
|
22
21
|
*/
|
|
23
22
|
export function createStartCommand() {
|
|
24
|
-
const t = getCliI18n().t;
|
|
25
23
|
return new Command('start')
|
|
26
|
-
.description(
|
|
27
|
-
.option('-p, --port <number>',
|
|
24
|
+
.description('Start the Shep web UI as a background daemon')
|
|
25
|
+
.option('-p, --port <number>', 'Port number (1024-65535)', parsePort)
|
|
28
26
|
.addHelpText('after', `
|
|
29
27
|
Examples:
|
|
30
28
|
$ shep start Start on default port (4050)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.command.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/cli/commands/status.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"status.command.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/cli/commands/status.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkKpC;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAoG7C"}
|
|
@@ -27,7 +27,6 @@ import { watch } from 'node:fs';
|
|
|
27
27
|
import { container } from '../../../../packages/core/src/infrastructure/di/container.js';
|
|
28
28
|
import { getShepHomeDir, getShepDbPath, getDaemonStatePath, getDaemonLogPath, } from '../../../../packages/core/src/infrastructure/services/filesystem/shep-directory.service.js';
|
|
29
29
|
import { renderDetailView, messages, colors } from '../ui/index.js';
|
|
30
|
-
import { getCliI18n } from '../i18n.js';
|
|
31
30
|
const PS_TIMEOUT_MS = 2000;
|
|
32
31
|
const DEFAULT_LOG_LINES = 50;
|
|
33
32
|
/**
|
|
@@ -157,19 +156,18 @@ function followFile(filePath) {
|
|
|
157
156
|
* Create the status command.
|
|
158
157
|
*/
|
|
159
158
|
export function createStatusCommand() {
|
|
160
|
-
const t = getCliI18n().t;
|
|
161
159
|
return new Command('status')
|
|
162
|
-
.description(
|
|
163
|
-
.option('--logs [lines]',
|
|
164
|
-
.option('-f, --follow',
|
|
160
|
+
.description('Show the status of the Shep web UI daemon')
|
|
161
|
+
.option('--logs [lines]', 'Show last N lines of daemon log (default 50)')
|
|
162
|
+
.option('-f, --follow', 'Follow daemon log output in real-time')
|
|
165
163
|
.action(async (options) => {
|
|
166
164
|
const logPath = getDaemonLogPath();
|
|
167
165
|
// Handle --logs flag
|
|
168
166
|
if (options.logs !== undefined || options.follow) {
|
|
169
167
|
if (!existsSync(logPath)) {
|
|
170
168
|
messages.newline();
|
|
171
|
-
messages.info(
|
|
172
|
-
messages.info(
|
|
169
|
+
messages.info('No daemon log file found.');
|
|
170
|
+
messages.info(`Expected at: ${logPath}`);
|
|
173
171
|
messages.newline();
|
|
174
172
|
return;
|
|
175
173
|
}
|
|
@@ -182,11 +180,11 @@ export function createStatusCommand() {
|
|
|
182
180
|
console.log(lines.join('\n'));
|
|
183
181
|
}
|
|
184
182
|
else {
|
|
185
|
-
messages.info(
|
|
183
|
+
messages.info('Log file is empty.');
|
|
186
184
|
}
|
|
187
185
|
// Follow mode
|
|
188
186
|
if (options.follow) {
|
|
189
|
-
console.log(colors.muted(
|
|
187
|
+
console.log(colors.muted('--- following daemon.log (Ctrl+C to stop) ---'));
|
|
190
188
|
followFile(logPath);
|
|
191
189
|
return; // Block forever (followFile handles SIGINT)
|
|
192
190
|
}
|
|
@@ -196,8 +194,8 @@ export function createStatusCommand() {
|
|
|
196
194
|
const state = await daemonService.read();
|
|
197
195
|
if (!state || !daemonService.isAlive(state.pid)) {
|
|
198
196
|
messages.newline();
|
|
199
|
-
messages.info(
|
|
200
|
-
messages.info(
|
|
197
|
+
messages.info('Shep daemon is not running.');
|
|
198
|
+
messages.info('Run `shep start` to launch it.');
|
|
201
199
|
messages.newline();
|
|
202
200
|
return;
|
|
203
201
|
}
|
|
@@ -216,37 +214,31 @@ export function createStatusCommand() {
|
|
|
216
214
|
// Version service not available
|
|
217
215
|
}
|
|
218
216
|
renderDetailView({
|
|
219
|
-
title:
|
|
217
|
+
title: 'Shep Daemon Status',
|
|
220
218
|
sections: [
|
|
221
219
|
{
|
|
222
220
|
fields: [
|
|
223
|
-
{ label:
|
|
224
|
-
{ label:
|
|
225
|
-
{ label:
|
|
221
|
+
{ label: 'PID', value: String(pid) },
|
|
222
|
+
{ label: 'Port', value: String(port) },
|
|
223
|
+
{ label: 'URL', value: url },
|
|
224
|
+
{ label: 'Started', value: new Date(startedAt).toLocaleString() },
|
|
225
|
+
{ label: 'Uptime', value: uptime },
|
|
226
|
+
{ label: 'CPU %', value: cpu === 'unavailable' ? 'unavailable' : `${cpu}%` },
|
|
226
227
|
{
|
|
227
|
-
label:
|
|
228
|
-
value: new Date(startedAt).toLocaleString(),
|
|
229
|
-
},
|
|
230
|
-
{ label: t('cli:commands.status.uptimeLabel'), value: uptime },
|
|
231
|
-
{
|
|
232
|
-
label: t('cli:commands.status.cpuLabel'),
|
|
233
|
-
value: cpu === 'unavailable' ? 'unavailable' : `${cpu}%`,
|
|
234
|
-
},
|
|
235
|
-
{
|
|
236
|
-
label: t('cli:commands.status.memoryLabel'),
|
|
228
|
+
label: 'Memory (RSS)',
|
|
237
229
|
value: rssMb === 'unavailable' ? 'unavailable' : `${rssMb} MB`,
|
|
238
230
|
},
|
|
239
231
|
],
|
|
240
232
|
},
|
|
241
233
|
{
|
|
242
|
-
title:
|
|
234
|
+
title: 'Environment',
|
|
243
235
|
fields: [
|
|
244
|
-
{ label:
|
|
245
|
-
{ label:
|
|
246
|
-
{ label:
|
|
247
|
-
{ label:
|
|
248
|
-
{ label:
|
|
249
|
-
{ label:
|
|
236
|
+
{ label: 'Shep Home', value: getShepHomeDir() },
|
|
237
|
+
{ label: 'CLI Version', value: cliVersion },
|
|
238
|
+
{ label: 'Node Version', value: process.version },
|
|
239
|
+
{ label: 'DB Path', value: getShepDbPath() },
|
|
240
|
+
{ label: 'Log File', value: logPath },
|
|
241
|
+
{ label: 'Daemon Config', value: getDaemonStatePath() },
|
|
250
242
|
],
|
|
251
243
|
},
|
|
252
244
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.command.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/cli/commands/stop.command.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"stop.command.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/cli/commands/stop.command.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAc3C"}
|
|
@@ -10,19 +10,17 @@ import { Command } from 'commander';
|
|
|
10
10
|
import { container } from '../../../../packages/core/src/infrastructure/di/container.js';
|
|
11
11
|
import { messages } from '../ui/index.js';
|
|
12
12
|
import { stopDaemon } from './daemon/stop-daemon.js';
|
|
13
|
-
import { getCliI18n } from '../i18n.js';
|
|
14
13
|
/**
|
|
15
14
|
* Create the stop command.
|
|
16
15
|
*/
|
|
17
16
|
export function createStopCommand() {
|
|
18
|
-
|
|
19
|
-
return new Command('stop').description(t('cli:commands.stop.description')).action(async () => {
|
|
17
|
+
return new Command('stop').description('Stop the running Shep web UI daemon').action(async () => {
|
|
20
18
|
const daemonService = container.resolve('IDaemonService');
|
|
21
19
|
const state = await daemonService.read();
|
|
22
20
|
// Print a user-facing message when no daemon state is recorded at all.
|
|
23
21
|
// The alive-but-stale case (state exists, PID dead) is handled silently by stopDaemon.
|
|
24
22
|
if (!state) {
|
|
25
|
-
messages.info(
|
|
23
|
+
messages.info('No Shep daemon is running.');
|
|
26
24
|
}
|
|
27
25
|
await stopDaemon(daemonService);
|
|
28
26
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.command.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/cli/commands/tools.command.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.command.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/cli/commands/tools.command.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAuB5C"}
|
|
@@ -9,30 +9,26 @@
|
|
|
9
9
|
import { Command } from 'commander';
|
|
10
10
|
import { container } from '../../../../packages/core/src/infrastructure/di/container.js';
|
|
11
11
|
import { ListToolsUseCase } from '../../../../packages/core/src/application/use-cases/tools/list-tools.use-case.js';
|
|
12
|
-
import { getCliI18n } from '../i18n.js';
|
|
13
12
|
/**
|
|
14
13
|
* Create the tools command group
|
|
15
14
|
*/
|
|
16
15
|
export function createToolsCommand() {
|
|
17
|
-
const
|
|
18
|
-
const tools = new Command('tools').description(t('cli:commands.tools.description'));
|
|
16
|
+
const tools = new Command('tools').description('Manage development tools');
|
|
19
17
|
tools
|
|
20
18
|
.command('list')
|
|
21
|
-
.description(
|
|
19
|
+
.description('List all available tools with their installed status')
|
|
22
20
|
.action(async () => {
|
|
23
21
|
try {
|
|
24
22
|
const listToolsUseCase = container.resolve(ListToolsUseCase);
|
|
25
23
|
const result = await listToolsUseCase.execute();
|
|
26
24
|
for (const tool of result) {
|
|
27
|
-
const statusLabel = tool.status.status === 'available'
|
|
28
|
-
? t('cli:commands.tools.list.installed')
|
|
29
|
-
: t('cli:commands.tools.list.missing');
|
|
25
|
+
const statusLabel = tool.status.status === 'available' ? 'installed' : 'missing';
|
|
30
26
|
console.log(`[${statusLabel}] ${tool.id} ${tool.name}`);
|
|
31
27
|
}
|
|
32
28
|
}
|
|
33
29
|
catch (error) {
|
|
34
30
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
35
|
-
console.error(
|
|
31
|
+
console.error(`Error listing tools: ${err.message}`);
|
|
36
32
|
process.exitCode = 1;
|
|
37
33
|
}
|
|
38
34
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.command.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/cli/commands/ui.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"ui.command.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/cli/commands/ui.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;AAiC1D;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CA4FzC"}
|
|
@@ -24,11 +24,10 @@ import { initializePrSyncWatcher, getPrSyncWatcher, } from '../../../../packages
|
|
|
24
24
|
import { getExistingConnection } from '../../../../packages/core/src/infrastructure/persistence/sqlite/connection.js';
|
|
25
25
|
import { BrowserOpenerService } from '../../../../packages/core/src/infrastructure/services/browser-opener.service.js';
|
|
26
26
|
import { colors, fmt, messages } from '../ui/index.js';
|
|
27
|
-
import { getCliI18n } from '../i18n.js';
|
|
28
27
|
function parsePort(value) {
|
|
29
28
|
const port = parseInt(value, 10);
|
|
30
29
|
if (isNaN(port) || port < 1024 || port > 65535) {
|
|
31
|
-
throw new InvalidArgumentError(
|
|
30
|
+
throw new InvalidArgumentError('Port must be an integer between 1024 and 65535');
|
|
32
31
|
}
|
|
33
32
|
return port;
|
|
34
33
|
}
|
|
@@ -36,11 +35,10 @@ function parsePort(value) {
|
|
|
36
35
|
* Create the ui command
|
|
37
36
|
*/
|
|
38
37
|
export function createUiCommand() {
|
|
39
|
-
const t = getCliI18n().t;
|
|
40
38
|
return new Command('ui')
|
|
41
|
-
.description(
|
|
42
|
-
.option('-p, --port <number>',
|
|
43
|
-
.option('--no-open',
|
|
39
|
+
.description('Start the Shep web UI')
|
|
40
|
+
.option('-p, --port <number>', 'Port number (1024-65535)', parsePort)
|
|
41
|
+
.option('--no-open', 'Do not auto-open browser')
|
|
44
42
|
.addHelpText('after', `
|
|
45
43
|
Examples:
|
|
46
44
|
$ shep ui Start on default port (4050)
|
|
@@ -55,8 +53,8 @@ Examples:
|
|
|
55
53
|
const versionService = container.resolve('IVersionService');
|
|
56
54
|
setVersionEnvVars(versionService.getVersion());
|
|
57
55
|
messages.newline();
|
|
58
|
-
console.log(fmt.heading(
|
|
59
|
-
console.log(colors.muted(dev ?
|
|
56
|
+
console.log(fmt.heading('Shep Web UI'));
|
|
57
|
+
console.log(colors.muted(`Starting web server${dev ? ' (dev mode)' : ''}...`));
|
|
60
58
|
messages.newline();
|
|
61
59
|
const service = container.resolve('IWebServerService');
|
|
62
60
|
await service.start(port, dir, dev);
|
|
@@ -74,8 +72,8 @@ Examples:
|
|
|
74
72
|
initializePrSyncWatcher(featureRepo, runRepo, gitPrService, notificationService, undefined, db, gitForkService);
|
|
75
73
|
getPrSyncWatcher().start();
|
|
76
74
|
const url = `http://localhost:${port}`;
|
|
77
|
-
messages.success(
|
|
78
|
-
messages.info(
|
|
75
|
+
messages.success(`Server ready at ${fmt.code(url)}`);
|
|
76
|
+
messages.info('Press Ctrl+C to stop');
|
|
79
77
|
messages.newline();
|
|
80
78
|
// Auto-open browser (unless --no-open)
|
|
81
79
|
if (options.open !== false) {
|
|
@@ -90,7 +88,7 @@ Examples:
|
|
|
90
88
|
return;
|
|
91
89
|
isShuttingDown = true;
|
|
92
90
|
messages.newline();
|
|
93
|
-
messages.info(
|
|
91
|
+
messages.info('Shutting down...');
|
|
94
92
|
// Force exit after 5s if graceful shutdown stalls
|
|
95
93
|
const forceExit = setTimeout(() => process.exit(0), 5000);
|
|
96
94
|
forceExit.unref();
|
|
@@ -104,7 +102,7 @@ Examples:
|
|
|
104
102
|
}
|
|
105
103
|
catch (error) {
|
|
106
104
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
107
|
-
messages.error(
|
|
105
|
+
messages.error('Failed to start web UI', err);
|
|
108
106
|
process.exitCode = 1;
|
|
109
107
|
}
|
|
110
108
|
});
|