@shipit-ai/cli 1.165.0 → 1.166.1
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/LICENSE +2 -1
- package/README.md +6 -0
- package/apis/json-schema/AgentSession.yaml +1 -1
- package/apis/json-schema/AgentType.yaml +2 -0
- package/dist/eslint.config.mjs +2 -0
- package/dist/packages/core/src/application/ports/output/services/spec-initializer.interface.d.ts +1 -1
- package/dist/packages/core/src/application/ports/output/services/spec-initializer.interface.js +1 -1
- package/dist/packages/core/src/application/use-cases/agents/delete-agent-run.use-case.js +1 -1
- package/dist/packages/core/src/domain/generated/output.d.ts +3 -1
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/domain/generated/output.js +2 -0
- package/dist/packages/core/src/infrastructure/di/modules/agents.module.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/modules/agents.module.js +6 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.js +33 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/agent-validator.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/agent-validator.service.js +2 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.d.ts +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.js +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/copilot-cli-executor.service.d.ts +34 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/copilot-cli-executor.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/copilot-cli-executor.service.js +149 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.js +2 -2
- 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.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/research.fixture.js +2 -2
- 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.d.ts.map +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/common/executors/rovo-dev-executor.service.d.ts +37 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/rovo-dev-executor.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/rovo-dev-executor.service.js +150 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +1 -1
- package/dist/packages/core/src/infrastructure/services/git/merge-strategy.service.js +1 -1
- package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.js +1 -1
- package/dist/packages/core/src/infrastructure/services/notifications/notification-bus.js +1 -1
- package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.d.ts +1 -1
- package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.js +3 -3
- package/dist/packages/core/src/infrastructure/services/tool-installer/tools/copilot-cli.json +31 -0
- package/dist/packages/core/src/infrastructure/services/tool-installer/tools/rovo-dev.json +31 -0
- 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 +35 -0
- package/dist/src/presentation/web/app/actions/check-agent-tool.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/check-agent-tool.js +4 -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 +8 -2
- package/dist/src/presentation/web/components/assistant-ui/thread.js +2 -2
- package/dist/src/presentation/web/components/common/action-button/action-button.js +2 -2
- package/dist/src/presentation/web/components/common/action-button/action-button.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/action-button/action-button.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.js +3 -2
- package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.stories.js +1 -1
- package/dist/src/presentation/web/components/common/attachment-card/attachment-card.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/attachment-card/attachment-card.js +2 -2
- package/dist/src/presentation/web/components/common/attachment-card/attachment-card.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/attachment-card/attachment-card.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/attachment-card/attachment-card.stories.js +1 -1
- package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.js +2 -2
- package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.stories.js +1 -1
- package/dist/src/presentation/web/components/common/base-drawer/base-drawer.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/base-drawer/base-drawer.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/ci-status-badge/ci-status-badge.js +4 -4
- package/dist/src/presentation/web/components/common/ci-status-badge/ci-status-badge.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/ci-status-badge/ci-status-badge.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.js +3 -3
- 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.d.ts.map +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/adopt-drawer-client.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/adopt-drawer-client.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +3 -3
- package/dist/src/presentation/web/components/common/control-center-drawer/global-chat-drawer-client.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/global-chat-drawer-client.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.js +5 -5
- package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.js +2 -2
- package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.stories.js +1 -1
- package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.js +2 -2
- package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.js +2 -2
- package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.stories.js +1 -1
- package/dist/src/presentation/web/components/common/drawer-revision-input/drawer-revision-input.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/drawer-revision-input/drawer-revision-input.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/drawer-revision-input/drawer-revision-input.stories.js +1 -1
- package/dist/src/presentation/web/components/common/editor-type-icons.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/editor-type-icons.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/elapsed-time/elapsed-time.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/elapsed-time/elapsed-time.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/empty-state/empty-state.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/empty-state/empty-state.stories.d.ts.map +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.d.ts.map +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-create-drawer/parent-feature-combobox.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/parent-feature-combobox.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/prompt-section.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/prompt-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/prompt-section.stories.js +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/repository-combobox.js +2 -2
- package/dist/src/presentation/web/components/common/feature-create-drawer/repository-combobox.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/repository-combobox.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/workflow-options-section.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/workflow-options-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/workflow-options-section.stories.js +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.js +7 -7
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.js +2 -2
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.stories.js +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/event-log-viewer.js +4 -6
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/event-log-viewer.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/event-log-viewer.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +2 -2
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.js +2 -2
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.js +4 -4
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.js +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/plan-tab.js +4 -4
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/plan-tab.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/plan-tab.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +3 -3
- package/dist/src/presentation/web/components/common/feature-node/feature-node.js +5 -11
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-sessions-dropdown.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-sessions-dropdown.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-status-badges/feature-status-badges.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-status-badges/feature-status-badges.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-status-config.js +2 -2
- package/dist/src/presentation/web/components/common/feature-status-group/feature-status-group.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-status-group/feature-status-group.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.js +2 -2
- package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.stories.js +1 -1
- package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.js +3 -3
- package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.stories.js +1 -1
- package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.js +2 -2
- package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.stories.js +1 -1
- package/dist/src/presentation/web/components/common/inline-attachments/inline-attachments.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/inline-attachments/inline-attachments.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/loading-skeleton/loading-skeleton.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/loading-skeleton/loading-skeleton.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/merge-review/diff-view.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/merge-review/diff-view.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/merge-review/merge-review.js +3 -5
- package/dist/src/presentation/web/components/common/merge-review/merge-review.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/merge-review/merge-review.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/merge-review/merge-review.stories.js +1 -1
- package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.js +2 -2
- package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.stories.js +1 -1
- package/dist/src/presentation/web/components/common/page-header/page-header.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/page-header/page-header.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.js +1 -1
- package/dist/src/presentation/web/components/common/product-decisions-summary/product-decisions-summary.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/product-decisions-summary/product-decisions-summary.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/react-file-manager-dialog/react-file-manager-dialog.js +2 -2
- package/dist/src/presentation/web/components/common/react-file-manager-dialog/react-file-manager-dialog.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/react-file-manager-dialog/react-file-manager-dialog.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/react-file-manager-dialog/react-file-manager-dialog.stories.js +1 -1
- package/dist/src/presentation/web/components/common/reject-feedback-dialog/reject-feedback-dialog.js +2 -2
- package/dist/src/presentation/web/components/common/reject-feedback-dialog/reject-feedback-dialog.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/reject-feedback-dialog/reject-feedback-dialog.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/reject-feedback-dialog/reject-feedback-dialog.stories.js +1 -1
- package/dist/src/presentation/web/components/common/repo-group/repo-group.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/repo-group/repo-group.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/repository-node/repository-node.js +4 -7
- package/dist/src/presentation/web/components/common/repository-node/repository-node.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/repository-node/repository-node.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/server-log-viewer/server-log-viewer.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/server-log-viewer/server-log-viewer.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/shipit-ai-logo/shipit-ai-logo.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/shipit-ai-logo/shipit-ai-logo.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/sidebar-collapse-toggle/sidebar-collapse-toggle.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/sidebar-collapse-toggle/sidebar-collapse-toggle.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/sidebar-nav-item/sidebar-nav-item.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/sidebar-nav-item/sidebar-nav-item.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/sidebar-section-header/sidebar-section-header.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/sidebar-section-header/sidebar-section-header.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/sound-toggle/sound-toggle.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/sound-toggle/sound-toggle.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/task-progress-view/task-progress-view.js +4 -4
- package/dist/src/presentation/web/components/common/task-progress-view/task-progress-view.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/task-progress-view/task-progress-view.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.stories.js +1 -1
- package/dist/src/presentation/web/components/common/theme-toggle/theme-toggle.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/theme-toggle/theme-toggle.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/version-badge/version-badge.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/version-badge/version-badge.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.js +7 -7
- package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatComposer.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatComposer.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatComposer.stories.js +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatInput.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatInput.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatMessageList.stories.d.ts +2 -2
- package/dist/src/presentation/web/components/features/chat/ChatMessageList.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatSheet.stories.d.ts +2 -2
- package/dist/src/presentation/web/components/features/chat/ChatSheet.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatTab.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatTab.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.js +9 -13
- package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +3 -2
- package/dist/src/presentation/web/components/features/control-center/control-center-inner.stories.d.ts +2 -2
- package/dist/src/presentation/web/components/features/control-center/control-center-inner.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.js +3 -3
- package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.stories.js +1 -1
- package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.stories.d.ts +2 -2
- package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.stories.js +1 -1
- package/dist/src/presentation/web/components/features/features-canvas/dependency-edge.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/features-canvas/dependency-edge.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.stories.js +1 -4
- package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.js +1 -1
- package/dist/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.js +1 -1
- package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/ci-settings-section.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/settings/ci-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/database-settings-section.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/settings/database-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/environment-settings-section.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/settings/environment-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/fab-layout-settings-section.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/settings/fab-layout-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/interactive-agent-settings-section.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/settings/interactive-agent-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/notification-settings-section.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/settings/notification-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-section-utils.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-section-utils.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-section-utils.stories.js +1 -1
- package/dist/src/presentation/web/components/features/settings/stage-timeouts-settings-section.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/settings/stage-timeouts-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/timeout-slider.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/settings/timeout-slider.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/skills/category-filter.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/skills/category-filter.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/skills/skill-card.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/skills/skill-card.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/skills/skill-card.stories.js +3 -3
- package/dist/src/presentation/web/components/features/skills/skill-detail-drawer.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/skills/skill-detail-drawer.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/skills/skill-detail-drawer.stories.js +3 -3
- package/dist/src/presentation/web/components/features/skills/skill-list.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/skills/skill-list.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/skills/skill-list.stories.js +4 -4
- package/dist/src/presentation/web/components/features/skills/skills-page-client.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/skills/skills-page-client.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/skills/skills-page-client.stories.js +8 -8
- package/dist/src/presentation/web/components/features/tools/tool-card.js +3 -5
- package/dist/src/presentation/web/components/features/tools/tool-card.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/tools/tool-card.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/tools/tool-detail-drawer.js +3 -7
- package/dist/src/presentation/web/components/features/tools/tool-detail-drawer.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/tools/tool-detail-drawer.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/tools/tools-page-client.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/tools/tools-page-client.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/version/version-page-client.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/features/version/version-page-client.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-shell/app-shell.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/layouts/app-shell/app-shell.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/dashboard-layout/dashboard-layout.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/layouts/dashboard-layout/dashboard-layout.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/header/header.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/layouts/header/header.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/sidebar/sidebar.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/layouts/sidebar/sidebar.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/accordion.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/accordion.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/alert-dialog.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/alert-dialog.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/alert.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/alert.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/alert.stories.js +2 -2
- package/dist/src/presentation/web/components/ui/badge.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/badge.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/button.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/button.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/card.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/card.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/checkbox-group-item.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/checkbox-group-item.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/checkbox-group.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/checkbox-group.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/checkbox.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/checkbox.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/comet-spinner.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/comet-spinner.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/command.stories.d.ts +2 -2
- package/dist/src/presentation/web/components/ui/command.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/dialog.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/dialog.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/drawer.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/drawer.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/dropdown-menu.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/dropdown-menu.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/github-icon.d.ts +13 -0
- package/dist/src/presentation/web/components/ui/github-icon.d.ts.map +1 -0
- package/dist/src/presentation/web/components/ui/github-icon.js +15 -0
- package/dist/src/presentation/web/components/ui/github-icon.stories.d.ts +10 -0
- package/dist/src/presentation/web/components/ui/github-icon.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/ui/github-icon.stories.js +22 -0
- package/dist/src/presentation/web/components/ui/input.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/input.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/label.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/label.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/popover.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/popover.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/scroll-area.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/scroll-area.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/select.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/select.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/separator.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/separator.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/sheet.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/sheet.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/sidebar.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/sidebar.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/skeleton.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/skeleton.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/slider.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/slider.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/sonner.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/sonner.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/spinner.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/spinner.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/switch.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/switch.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/tabs.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/tabs.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/textarea.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/textarea.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/tooltip.stories.d.ts +2 -2
- package/dist/src/presentation/web/components/ui/tooltip.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/use-notifications.stories.d.ts +1 -1
- package/dist/src/presentation/web/hooks/use-notifications.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/use-sound-action.stories.d.ts +1 -1
- package/dist/src/presentation/web/hooks/use-sound-action.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/use-sound.stories.d.ts +1 -1
- package/dist/src/presentation/web/hooks/use-sound.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/lib/session-scanner.js +2 -2
- package/dist/src/presentation/web/lib/skills.js +2 -2
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +24 -25
- 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/react-loadable-manifest.json +3 -3
- 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.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/react-loadable-manifest.json +3 -3
- 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.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/react-loadable-manifest.json +3 -3
- 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.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/react-loadable-manifest.json +3 -3
- 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 +1 -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/react-loadable-manifest.json +3 -3
- 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 +1 -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/react-loadable-manifest.json +3 -3
- 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.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/react-loadable-manifest.json +3 -3
- 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.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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
- 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/react-loadable-manifest.json +3 -3
- 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 +1 -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/react-loadable-manifest.json +3 -3
- 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 +1 -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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
- 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/react-loadable-manifest.json +3 -3
- 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.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/react-loadable-manifest.json +3 -3
- 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.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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
- 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/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/api/sessions/route.js +2 -2
- package/web/.next/server/app/settings/page/build-manifest.json +2 -2
- package/web/.next/server/app/settings/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/settings/page/server-reference-manifest.json +11 -11
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/skills/page/server-reference-manifest.json +11 -11
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
- 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/0n.o_server_app_api_interactive_chat_[featureId]_stop_route_actions_09da~zt.js +1 -1
- package/web/.next/server/chunks/11es_next_dist_esm_build_templates_app-route_067cwst.js +1 -1
- package/web/.next/server/chunks/11es_next_dist_esm_build_templates_app-route_067cwst.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]__0_.w-eb._.js +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]__0tb~wwk._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__13ni_ow._.js +1 -1
- package/web/.next/server/chunks/ssr/{0lyk_lucide-react_dist_esm_icons_0shxsmr._.js → 08qz_lucide-react_dist_esm_icons_0_gqlce._.js} +2 -2
- package/web/.next/server/chunks/ssr/08qz_lucide-react_dist_esm_icons_0_gqlce._.js.map +1 -0
- package/web/.next/server/chunks/ssr/08qz_lucide-react_dist_esm_icons_0zwb4s4._.js +3 -0
- package/web/.next/server/chunks/ssr/08qz_lucide-react_dist_esm_icons_0zwb4s4._.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 +1 -1
- package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_00~eq5i.js.map +1 -1
- package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_0979_c..js +1 -1
- package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_0979_c..js.map +1 -1
- package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_chat_page_actions_0dqll_1.js +1 -1
- package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_chat_page_actions_0dqll_1.js.map +1 -1
- 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 +3 -3
- 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 +2 -2
- package/web/.next/server/chunks/ssr/11es_next_dist_client_components_058~c_t._.js +1 -1
- package/web/.next/server/chunks/ssr/11es_next_dist_esm_build_templates_app-page_0l-25e2.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_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]__0uxn6-j._.js → [root-of-the-server]__045sv4b._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__0uxn6-j._.js.map → [root-of-the-server]__045sv4b._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0brje6_._.js +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__0np51e2._.js → [root-of-the-server]__0d_0_fp._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__0np51e2._.js.map → [root-of-the-server]__0d_0_fp._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__0~h382a._.js → [root-of-the-server]__0l4d7e.._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__0~h382a._.js.map → [root-of-the-server]__0l4d7e.._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__0_ag.8y._.js → [root-of-the-server]__0lslgap._.js} +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0lslgap._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0o3qggc._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0o3qggc._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__01~y8wi._.js → [root-of-the-server]__0r32z03._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__01~y8wi._.js.map → [root-of-the-server]__0r32z03._.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]__122xqm6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__12g8h3_._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__12g8h3_._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_0d-pkk0._.js → _0-09vq7._.js} +2 -2
- package/web/.next/server/chunks/ssr/_0-09vq7._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0.rsra~._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_00k65h-._.js +3 -0
- package/web/.next/server/chunks/ssr/_00k65h-._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_01mq~sm._.js +2 -2
- package/web/.next/server/chunks/ssr/_01mq~sm._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_01sesw0._.js +3 -0
- package/web/.next/server/chunks/ssr/_01sesw0._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_04s_q5r._.js +1 -1
- package/web/.next/server/chunks/ssr/_04s_q5r._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_0xtds88._.js → _08i-c2n._.js} +2 -2
- package/web/.next/server/chunks/ssr/_08i-c2n._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0a-ddx-._.js +3 -0
- package/web/.next/server/chunks/ssr/_0a-ddx-._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_0jk5q_z._.js → _0e4npv~._.js} +2 -2
- package/web/.next/server/chunks/ssr/_0e4npv~._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0gdghcr._.js +3 -0
- package/web/.next/server/chunks/ssr/_0gdghcr._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0hwjfpu._.js +3 -0
- package/web/.next/server/chunks/ssr/_0hwjfpu._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0hw~zvl._.js +3 -0
- package/web/.next/server/chunks/ssr/_0hw~zvl._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0jpbsh_._.js +1 -1
- package/web/.next/server/chunks/ssr/_0jpbsh_._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_13bl-l1._.js → _0nvrqsj._.js} +2 -2
- package/web/.next/server/chunks/ssr/_0nvrqsj._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0phryzt._.js +3 -0
- package/web/.next/server/chunks/ssr/_0phryzt._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0vyfc4b._.js +3 -0
- package/web/.next/server/chunks/ssr/_0vyfc4b._.js.map +1 -0
- 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/{_0j9vx-1._.js → _0y8u4.e._.js} +3 -3
- package/web/.next/server/chunks/ssr/_0y8u4.e._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0~7lwu_._.js +3 -0
- package/web/.next/server/chunks/ssr/_0~7lwu_._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_0rvaoj4._.js → _109n-y4._.js} +2 -2
- package/web/.next/server/chunks/ssr/_109n-y4._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_09g41d0._.js → _12un22l._.js} +3 -3
- package/web/.next/server/chunks/ssr/_12un22l._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_0l8_ov3._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_0l8_ov3._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_0.e4~xc._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_0.e4~xc._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_00dvh.m._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_00dvh.m._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_05-w-~v._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_05-w-~v._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_06b6~lt._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_06b6~lt._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_08fy2mf._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_08fy2mf._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_0f~udu1._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_0f~udu1._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_0qys821._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_0qys821._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_0q~dt0o._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_0q~dt0o._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_0y11iiz._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_0y11iiz._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_11jrkxt._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_11jrkxt._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_1199d3x.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_1199d3x.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_0m2jqxx.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_0m2jqxx.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_0krkh_0.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_0krkh_0.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_load-settings_ts_0b8f3pf._.js +1 -1
- 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_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/chunks/ssr/src_presentation_web_components_ui_select_tsx_0b.-59k._.js +1 -1
- package/web/.next/server/middleware-build-manifest.js +5 -5
- 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 +49 -49
- package/web/.next/static/chunks/0-lu0b1ewsb0_.js +1 -0
- package/web/.next/static/chunks/00dg6gti40.3i.js +1 -0
- package/web/.next/static/chunks/01~dudieyb7wl.js +5 -0
- package/web/.next/static/chunks/{0riti1bs-erm~.js → 02kpdawdtqcxm.js} +1 -1
- package/web/.next/static/chunks/{0~er~22zwvx0i.js → 09_oo_kc.j.df.js} +1 -1
- package/web/.next/static/chunks/09dqgshddfxff.js +1 -0
- package/web/.next/static/chunks/0_--5mgqukm__.js +1 -0
- package/web/.next/static/chunks/0_c5~n__lz4ks.js +1 -0
- package/web/.next/static/chunks/0awttldb-.7m..js +1 -0
- package/web/.next/static/chunks/0d-2jp.f._l2e.js +1 -0
- package/web/.next/static/chunks/0fg~vc93spa9c.js +1 -0
- package/web/.next/static/chunks/{0t_48qc0x7bhs.js → 0ist7260j__0m.js} +3 -3
- package/web/.next/static/chunks/0j_0i2qsrwh-c.js +1 -0
- package/web/.next/static/chunks/{07yqyvabetyrh.js → 0l.kymg3jmf7n.js} +2 -2
- package/web/.next/static/chunks/0m5~9kij3s~81.js +1 -0
- package/web/.next/static/chunks/0njrgvmyafrod.js +1 -0
- package/web/.next/static/chunks/0nk2r-18.7g6r.js +1 -0
- package/web/.next/static/chunks/0ntgq3d_.m5el.js +5 -0
- package/web/.next/static/chunks/{0wmckrtphfa12.js → 0odlgm-ixqorl.js} +1 -1
- package/web/.next/static/chunks/0q~uf2s33.48w.js +1 -0
- package/web/.next/static/chunks/0t.pzrmeoq6th.js +7 -0
- package/web/.next/static/chunks/0t8zwgaz.d1s5.js +1 -0
- package/web/.next/static/chunks/11bi612fz8agh.js +1 -0
- package/web/.next/static/chunks/{071_2_.sfp-im.js → 14g1l3~6i5251.js} +2 -2
- package/web/.next/static/chunks/164dnpi666fv_.js +5 -0
- package/web/.next/static/chunks/{turbopack-0ve8f54_veg.u.js → turbopack-0wsav6to5abtk.js} +1 -1
- package/web/package.json +5 -5
- package/web/.next/server/chunks/ssr/0lyk_lucide-react_dist_esm_icons_06zrfq4._.js +0 -3
- package/web/.next/server/chunks/ssr/0lyk_lucide-react_dist_esm_icons_06zrfq4._.js.map +0 -1
- package/web/.next/server/chunks/ssr/0lyk_lucide-react_dist_esm_icons_0shxsmr._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0_ag.8y._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__12qqi.~._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__12qqi.~._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0.gy.n8._.js +0 -3
- package/web/.next/server/chunks/ssr/_0.gy.n8._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0.k7wl.._.js +0 -3
- package/web/.next/server/chunks/ssr/_0.k7wl.._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_09g41d0._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0aa~oer._.js +0 -3
- package/web/.next/server/chunks/ssr/_0aa~oer._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0d-pkk0._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0ez.1o4._.js +0 -3
- package/web/.next/server/chunks/ssr/_0ez.1o4._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0j9vx-1._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0jk5q_z._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0n.xy38._.js +0 -3
- package/web/.next/server/chunks/ssr/_0n.xy38._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0rvaoj4._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0v.yfmg._.js +0 -3
- package/web/.next/server/chunks/ssr/_0v.yfmg._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0vl.03w._.js +0 -3
- package/web/.next/server/chunks/ssr/_0vl.03w._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0xtds88._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_11kuznh._.js +0 -3
- package/web/.next/server/chunks/ssr/_11kuznh._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_13bl-l1._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_13euo-f._.js +0 -3
- package/web/.next/server/chunks/ssr/_13euo-f._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_0xyo1be._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules__pnpm_0xyo1be._.js.map +0 -1
- package/web/.next/static/chunks/00racug7sobut.js +0 -1
- package/web/.next/static/chunks/06sdx5zm71_u5.js +0 -1
- package/web/.next/static/chunks/08iq.j3rbmhbm.js +0 -1
- package/web/.next/static/chunks/08iuksm8rvb09.js +0 -1
- package/web/.next/static/chunks/08se-_opmk~.7.js +0 -1
- package/web/.next/static/chunks/09b2usag59_bi.js +0 -5
- package/web/.next/static/chunks/0icjwdqytqa_8.js +0 -5
- package/web/.next/static/chunks/0qjoc4x5q-aeg.js +0 -1
- package/web/.next/static/chunks/0rhzqh.-6e6k7.js +0 -1
- package/web/.next/static/chunks/0s-e-ekdbgoqa.js +0 -1
- package/web/.next/static/chunks/0u5.s.lv2bae5.js +0 -1
- package/web/.next/static/chunks/0vgbvqu82ac1x.js +0 -1
- package/web/.next/static/chunks/0w~84g7r9307~.js +0 -1
- package/web/.next/static/chunks/0y1nwnouroh6k.js +0 -1
- package/web/.next/static/chunks/0zz.xgsd83.3n.js +0 -1
- package/web/.next/static/chunks/0~wymq55b2bn3.js +0 -1
- package/web/.next/static/chunks/10wo3waalauct.js +0 -5
- package/web/.next/static/chunks/15lcx-697j_3z.js +0 -7
- package/web/.next/static/chunks/176x256xw_viv.js +0 -1
- /package/web/.next/static/{xP_-L4TLYvd3i_sEmljLs → ZpPnD_b687G9xVr2nzrds}/_buildManifest.js +0 -0
- /package/web/.next/static/{xP_-L4TLYvd3i_sEmljLs → ZpPnD_b687G9xVr2nzrds}/_clientMiddlewareManifest.js +0 -0
- /package/web/.next/static/{xP_-L4TLYvd3i_sEmljLs → ZpPnD_b687G9xVr2nzrds}/_ssgManifest.js +0 -0
|
@@ -62,7 +62,7 @@ decisions:
|
|
|
62
62
|
- title: 'Persistence Layer for Theme Preference'
|
|
63
63
|
chosen: >
|
|
64
64
|
localStorage Web API. Read on ThemeProvider mount to restore the preference;
|
|
65
|
-
write on every toggleTheme() call. Key:
|
|
65
|
+
write on every toggleTheme() call. Key: shipit-ai-theme, values: light or dark.
|
|
66
66
|
rejected:
|
|
67
67
|
- >
|
|
68
68
|
SQLite settings via backend API: requires a new settings field, API endpoint,
|
|
@@ -102,7 +102,7 @@ content: |
|
|
|
102
102
|
|
|
103
103
|
### 3. Persistence Layer
|
|
104
104
|
|
|
105
|
-
**Chosen:** localStorage (key:
|
|
105
|
+
**Chosen:** localStorage (key: shipit-ai-theme, values: light | dark)
|
|
106
106
|
|
|
107
107
|
**Rejected:**
|
|
108
108
|
- SQLite settings via API — out of scope, requires migration
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Tasks Fixture — fictional "Add dark-mode toggle to ShipIT Web UI" feature.
|
|
3
3
|
* Passes validateTasks() against plan phase IDs [phase-1, phase-2, phase-3].
|
|
4
4
|
*/
|
|
5
|
-
export declare const TASKS_FIXTURE = "name: dark-mode-toggle\nsummary: >\n 8 tasks across 3 phases: ThemeProvider context (phase-1), ThemeToggle component\n (phase-2), settings panel integration and validation (phase-3).\n\nrelatedFeatures: []\ntechnologies: []\nrelatedLinks: []\n\ntasks:\n - id: task-1\n phaseId: phase-1\n title: 'Create ThemeProvider and useTheme hook'\n description: 'ThemeProvider managing light/dark state via React context with localStorage persistence.'\n state: Todo\n dependencies: []\n acceptanceCriteria:\n - 'ThemeProvider renders children without error'\n - 'useTheme returns { theme, toggleTheme } where theme is \"light\" or \"dark\"'\n - 'toggleTheme() switches theme and toggles html element dark class'\n - 'Theme persists to localStorage key \"
|
|
5
|
+
export declare const TASKS_FIXTURE = "name: dark-mode-toggle\nsummary: >\n 8 tasks across 3 phases: ThemeProvider context (phase-1), ThemeToggle component\n (phase-2), settings panel integration and validation (phase-3).\n\nrelatedFeatures: []\ntechnologies: []\nrelatedLinks: []\n\ntasks:\n - id: task-1\n phaseId: phase-1\n title: 'Create ThemeProvider and useTheme hook'\n description: 'ThemeProvider managing light/dark state via React context with localStorage persistence.'\n state: Todo\n dependencies: []\n acceptanceCriteria:\n - 'ThemeProvider renders children without error'\n - 'useTheme returns { theme, toggleTheme } where theme is \"light\" or \"dark\"'\n - 'toggleTheme() switches theme and toggles html element dark class'\n - 'Theme persists to localStorage key \"shipit-ai-theme\" on toggle'\n tdd:\n red: ['Write test: useTheme default is \"light\" with no localStorage entry', 'Write test: toggleTheme() adds dark class to html element']\n green: ['Implement ThemeProvider reading localStorage and calling classList.toggle', 'Implement useTheme hook calling useContext(ThemeContext)']\n refactor: ['Extract THEME_KEY constant; add sanitization for non-light/dark values']\n estimatedEffort: '2h'\n\n - id: task-2\n phaseId: phase-1\n title: 'Write unit tests for ThemeProvider edge cases'\n description: 'Cover edge cases: invalid stored value, double-toggle cycle, SSR safety.'\n state: Todo\n dependencies: ['task-1']\n acceptanceCriteria:\n - 'Test: invalid localStorage value \"purple\" defaults to \"light\"'\n - 'Test: toggling twice returns to original theme'\n - 'Test: ThemeProvider handles window being undefined (SSR safety)'\n tdd:\n red: ['Write test: localStorage \"purple\" \u2192 theme defaults to \"light\"']\n green: ['Sanitization branch handles all non-light/dark values']\n refactor: ['Consolidate theme validation into isValidTheme() helper']\n estimatedEffort: '1h'\n\n - id: task-3\n phaseId: phase-2\n title: 'Create ThemeToggle component'\n description: 'shadcn/ui Switch + Label component wired to useTheme(). onClick calls toggleTheme().'\n state: Todo\n dependencies: ['task-1']\n acceptanceCriteria:\n - 'ThemeToggle renders a Switch with aria-label \"Toggle dark mode\"'\n - 'Switch checked reflects current theme (\"dark\" = checked)'\n - 'Clicking Switch calls toggleTheme() exactly once'\n - 'Component file is <= 50 lines'\n tdd:\n red: ['Write test: Switch checked is false when theme is \"light\"', 'Write test: Switch click triggers toggleTheme()']\n green: ['Implement ThemeToggle with Switch checked wired to theme === \"dark\"']\n refactor: ['Extract aria-label constant; remove any inline styles']\n estimatedEffort: '1h'\n\n - id: task-4\n phaseId: phase-2\n title: 'Create Storybook story for ThemeToggle'\n description: 'theme-toggle.stories.tsx with Default and DarkMode variants using ThemeProvider decorator.'\n state: Todo\n dependencies: ['task-3']\n acceptanceCriteria:\n - 'Story includes Default and DarkMode variants with ThemeProvider decorator'\n - 'pnpm dev:storybook runs without error for the new story'\n tdd: null\n estimatedEffort: '30min'\n\n - id: task-5\n phaseId: phase-2\n title: 'Write integration test for ThemeToggle + ThemeProvider'\n description: 'Mount ThemeProvider wrapping ThemeToggle; assert full toggle cycle including localStorage.'\n state: Todo\n dependencies: ['task-3']\n acceptanceCriteria:\n - 'After clicking Toggle: html has dark class, localStorage has \"dark\"'\n - 'After clicking Toggle again: html has no dark class, localStorage has \"light\"'\n tdd:\n red: ['Write integration test: html class and localStorage after two toggle cycles']\n green: ['Test passes with existing ThemeProvider + ThemeToggle implementations']\n refactor: ['Extract renderWithTheme() test helper for reuse']\n estimatedEffort: '45min'\n\n - id: task-6\n phaseId: phase-3\n title: 'Wrap root layout in ThemeProvider'\n description: 'Update app/layout.tsx to wrap children with ThemeProvider.'\n state: Todo\n dependencies: ['task-1']\n acceptanceCriteria:\n - 'layout.tsx imports ThemeProvider and wraps children'\n - 'Existing Playwright e2e tests continue to pass'\n tdd:\n red: ['Write e2e test: dark class persists after page reload when toggled']\n green: ['Add ThemeProvider wrapping children in layout.tsx']\n refactor: ['Ensure import order follows project eslint rules']\n estimatedEffort: '30min'\n\n - id: task-7\n phaseId: phase-3\n title: 'Add ThemeToggle to settings panel'\n description: 'Add ThemeToggle to the Appearance section of settings-panel.tsx.'\n state: Todo\n dependencies: ['task-3', 'task-6']\n acceptanceCriteria:\n - 'settings-panel.tsx imports and renders ThemeToggle in the Appearance section'\n - 'ThemeToggle is visible and functional in the running web UI'\n tdd:\n red: ['Write unit test: ThemeToggle is present in rendered SettingsPanel']\n green: ['Add import and render ThemeToggle in the Appearance section']\n refactor: ['Ensure Appearance section heading is semantically correct (h2/h3)']\n estimatedEffort: '30min'\n\n - id: task-8\n phaseId: phase-3\n title: 'Run full validation and fix any issues'\n description: 'Run pnpm validate and pnpm test; fix any failures before marking complete.'\n state: Todo\n dependencies: ['task-6', 'task-7']\n acceptanceCriteria:\n - 'pnpm lint passes with no errors'\n - 'pnpm typecheck passes with no errors'\n - 'pnpm test passes with no failures'\n - 'pnpm build completes successfully'\n tdd: null\n estimatedEffort: '30min'\n\ntotalEstimate: '7.25h'\nopenQuestions: []\n\ncontent: |\n ## Summary\n\n Phase-1 builds ThemeProvider + useTheme hook with full test coverage.\n Phase-2 creates ThemeToggle in isolation with Storybook stories and integration tests.\n Phase-3 wires the provider into the root layout, adds the toggle to the settings panel,\n then validates with pnpm validate + pnpm test.\n";
|
|
6
6
|
//# sourceMappingURL=tasks.fixture.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.fixture.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/fixtures/tasks.fixture.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"tasks.fixture.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/fixtures/tasks.fixture.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,aAAa,6mMA6IzB,CAAC"}
|
|
@@ -22,7 +22,7 @@ tasks:
|
|
|
22
22
|
- 'ThemeProvider renders children without error'
|
|
23
23
|
- 'useTheme returns { theme, toggleTheme } where theme is "light" or "dark"'
|
|
24
24
|
- 'toggleTheme() switches theme and toggles html element dark class'
|
|
25
|
-
- 'Theme persists to localStorage key "
|
|
25
|
+
- 'Theme persists to localStorage key "shipit-ai-theme" on toggle'
|
|
26
26
|
tdd:
|
|
27
27
|
red: ['Write test: useTheme default is "light" with no localStorage entry', 'Write test: toggleTheme() adds dark class to html element']
|
|
28
28
|
green: ['Implement ThemeProvider reading localStorage and calling classList.toggle', 'Implement useTheme hook calling useContext(ThemeContext)']
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rovo Dev Executor Service
|
|
3
|
+
*
|
|
4
|
+
* Infrastructure implementation of IAgentExecutor for the Atlassian Rovo Dev CLI agent.
|
|
5
|
+
* Executes prompts via the `acli rovodev run` CLI subprocess.
|
|
6
|
+
*
|
|
7
|
+
* The binary is `acli` but the subcommand `rovodev run` must be prepended
|
|
8
|
+
* before any other arguments.
|
|
9
|
+
*
|
|
10
|
+
* Uses constructor dependency injection for the spawn function
|
|
11
|
+
* to enable testability without mocking node:child_process directly.
|
|
12
|
+
*/
|
|
13
|
+
import type { AgentType, AgentFeature } from '../../../../../domain/generated/output.js';
|
|
14
|
+
import type { AgentExecutionOptions, AgentExecutionResult, AgentExecutionStreamEvent } from '../../../../../application/ports/output/agents/agent-executor.interface.js';
|
|
15
|
+
import type { SpawnFunction } from '../types.js';
|
|
16
|
+
import { ExecutorBase } from './executor-base.js';
|
|
17
|
+
/**
|
|
18
|
+
* Executor service for Atlassian Rovo Dev CLI agent.
|
|
19
|
+
* Uses subprocess spawning to interact with the `acli rovodev run` CLI.
|
|
20
|
+
*/
|
|
21
|
+
export declare class RovoDevExecutorService extends ExecutorBase {
|
|
22
|
+
readonly agentType: AgentType;
|
|
23
|
+
constructor(spawn: SpawnFunction);
|
|
24
|
+
supportsFeature(feature: AgentFeature): boolean;
|
|
25
|
+
execute(prompt: string, options?: AgentExecutionOptions): Promise<AgentExecutionResult>;
|
|
26
|
+
executeStream(prompt: string, options?: AgentExecutionOptions): AsyncIterable<AgentExecutionStreamEvent>;
|
|
27
|
+
/**
|
|
28
|
+
* Build CLI arguments for Rovo Dev execution.
|
|
29
|
+
*
|
|
30
|
+
* `acli rovodev run "prompt" [--yolo]`
|
|
31
|
+
*
|
|
32
|
+
* The binary is `acli` with `rovodev run` subcommands prepended.
|
|
33
|
+
* No --model flag exists for Rovo Dev — model selection is only via config file.
|
|
34
|
+
*/
|
|
35
|
+
private buildArgs;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=rovo-dev-executor.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rovo-dev-executor.service.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/rovo-dev-executor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,4EAA4E,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,YAAY;IACtD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAA2B;gBAE5C,KAAK,EAAE,aAAa;IAIhC,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAIzC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkEtF,aAAa,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,CAAC,yBAAyB,CAAC;IAoE3C;;;;;;;OAOG;IACH,OAAO,CAAC,SAAS;CAalB"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rovo Dev Executor Service
|
|
3
|
+
*
|
|
4
|
+
* Infrastructure implementation of IAgentExecutor for the Atlassian Rovo Dev CLI agent.
|
|
5
|
+
* Executes prompts via the `acli rovodev run` CLI subprocess.
|
|
6
|
+
*
|
|
7
|
+
* The binary is `acli` but the subcommand `rovodev run` must be prepended
|
|
8
|
+
* before any other arguments.
|
|
9
|
+
*
|
|
10
|
+
* Uses constructor dependency injection for the spawn function
|
|
11
|
+
* to enable testability without mocking node:child_process directly.
|
|
12
|
+
*/
|
|
13
|
+
import { ExecutorBase } from './executor-base.js';
|
|
14
|
+
/** Features supported by Rovo Dev */
|
|
15
|
+
const SUPPORTED_FEATURES = new Set(['streaming']);
|
|
16
|
+
/**
|
|
17
|
+
* Executor service for Atlassian Rovo Dev CLI agent.
|
|
18
|
+
* Uses subprocess spawning to interact with the `acli rovodev run` CLI.
|
|
19
|
+
*/
|
|
20
|
+
export class RovoDevExecutorService extends ExecutorBase {
|
|
21
|
+
agentType = 'rovo-dev';
|
|
22
|
+
constructor(spawn) {
|
|
23
|
+
super(spawn);
|
|
24
|
+
}
|
|
25
|
+
supportsFeature(feature) {
|
|
26
|
+
return SUPPORTED_FEATURES.has(feature);
|
|
27
|
+
}
|
|
28
|
+
async execute(prompt, options) {
|
|
29
|
+
this.silent = options?.silent ?? false;
|
|
30
|
+
const args = this.buildArgs(prompt, options);
|
|
31
|
+
const spawnOpts = this.buildSpawnOptions(options);
|
|
32
|
+
this.log(`Spawning: acli ${args.map((a) => (a.length > 80 ? `${a.slice(0, 77)}...` : a)).join(' ')}`);
|
|
33
|
+
this.log(`Spawn cwd: ${spawnOpts.cwd ?? '(inherited)'}`);
|
|
34
|
+
const proc = this.spawn('acli', args, spawnOpts);
|
|
35
|
+
this.log(`Subprocess PID: ${proc.pid ?? 'undefined (spawn may have failed)'}`);
|
|
36
|
+
this.log(`Prompt length: ${prompt.length} chars`);
|
|
37
|
+
return new Promise((resolve, reject) => {
|
|
38
|
+
let stdout = '';
|
|
39
|
+
const timeout = this.createTimeoutHandler(proc, options?.timeout);
|
|
40
|
+
const stderrHandler = this.createStderrHandler();
|
|
41
|
+
proc.stdout?.on('data', (chunk) => {
|
|
42
|
+
stdout += chunk.toString();
|
|
43
|
+
});
|
|
44
|
+
proc.stderr?.on('data', stderrHandler.handler);
|
|
45
|
+
proc.on('error', (error) => {
|
|
46
|
+
reject(this.handleProcessError(error, timeout.clear, 'Rovo Dev CLI ("acli") not found', 'Please install the Atlassian CLI: https://developer.atlassian.com/cloud/acli/'));
|
|
47
|
+
});
|
|
48
|
+
proc.on('close', (code) => {
|
|
49
|
+
const stderr = stderrHandler.getStderr();
|
|
50
|
+
this.log(`Process closed with code ${code}, stdout=${stdout.length} chars`);
|
|
51
|
+
timeout.clear();
|
|
52
|
+
if (timeout.isTimedOut()) {
|
|
53
|
+
reject(new Error('Agent execution timed out'));
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (code !== 0 && code !== null) {
|
|
57
|
+
const message = stderr.trim()
|
|
58
|
+
? `Process exited with code ${code}: ${stderr.trim()}`
|
|
59
|
+
: `Process exited with code ${code}`;
|
|
60
|
+
reject(new Error(message));
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (!stdout.trim()) {
|
|
64
|
+
reject(new Error(`Empty response from Rovo Dev CLI. stderr: ${stderr.slice(0, 300)}`));
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const result = { result: stdout.trim() };
|
|
68
|
+
resolve(result);
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
async *executeStream(prompt, options) {
|
|
73
|
+
this.silent = options?.silent ?? false;
|
|
74
|
+
const args = this.buildArgs(prompt, options);
|
|
75
|
+
const spawnOpts = this.buildSpawnOptions(options);
|
|
76
|
+
const proc = this.spawn('acli', args, spawnOpts);
|
|
77
|
+
const q = this.createStreamQueue();
|
|
78
|
+
const stderrHandler = this.createStderrHandler();
|
|
79
|
+
let timedOut = false;
|
|
80
|
+
let timeoutId;
|
|
81
|
+
let error = null;
|
|
82
|
+
if (options?.timeout) {
|
|
83
|
+
timeoutId = setTimeout(() => {
|
|
84
|
+
timedOut = true;
|
|
85
|
+
proc.kill();
|
|
86
|
+
q.enqueue({ type: 'error', content: 'Agent execution timed out', timestamp: new Date() });
|
|
87
|
+
q.enqueue(null);
|
|
88
|
+
}, options.timeout);
|
|
89
|
+
}
|
|
90
|
+
const lineBuffer = this.createLineBufferHandler((line) => {
|
|
91
|
+
q.enqueue({ type: 'progress', content: line, timestamp: new Date() });
|
|
92
|
+
});
|
|
93
|
+
proc.stdout?.on('data', lineBuffer.handler);
|
|
94
|
+
proc.stderr?.on('data', stderrHandler.handler);
|
|
95
|
+
proc.on('error', (err) => {
|
|
96
|
+
if (timeoutId)
|
|
97
|
+
clearTimeout(timeoutId);
|
|
98
|
+
error = err;
|
|
99
|
+
q.enqueue(null);
|
|
100
|
+
});
|
|
101
|
+
proc.on('close', (code) => {
|
|
102
|
+
if (timeoutId)
|
|
103
|
+
clearTimeout(timeoutId);
|
|
104
|
+
if (timedOut)
|
|
105
|
+
return; // already handled by timeout callback
|
|
106
|
+
lineBuffer.flush();
|
|
107
|
+
const stderr = stderrHandler.getStderr();
|
|
108
|
+
if (code !== 0 && code !== null) {
|
|
109
|
+
const msg = stderr.trim()
|
|
110
|
+
? `Process exited with code ${code}: ${stderr.trim()}`
|
|
111
|
+
: `Process exited with code ${code}`;
|
|
112
|
+
q.enqueue({ type: 'error', content: msg, timestamp: new Date() });
|
|
113
|
+
}
|
|
114
|
+
q.enqueue(null);
|
|
115
|
+
});
|
|
116
|
+
// Yield events as they arrive
|
|
117
|
+
while (true) {
|
|
118
|
+
await q.waitForItem();
|
|
119
|
+
const item = q.shift();
|
|
120
|
+
if (item === null || item === undefined) {
|
|
121
|
+
if (error !== null) {
|
|
122
|
+
yield {
|
|
123
|
+
type: 'error',
|
|
124
|
+
content: error.message,
|
|
125
|
+
timestamp: new Date(),
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
yield item;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Build CLI arguments for Rovo Dev execution.
|
|
135
|
+
*
|
|
136
|
+
* `acli rovodev run "prompt" [--yolo]`
|
|
137
|
+
*
|
|
138
|
+
* The binary is `acli` with `rovodev run` subcommands prepended.
|
|
139
|
+
* No --model flag exists for Rovo Dev — model selection is only via config file.
|
|
140
|
+
*/
|
|
141
|
+
buildArgs(prompt, options) {
|
|
142
|
+
const args = ['rovodev', 'run', prompt];
|
|
143
|
+
// Enable autonomous mode when all tools are allowed
|
|
144
|
+
if (options?.allowedTools?.includes('*') ||
|
|
145
|
+
(options?.allowedTools && options.allowedTools.length > 0)) {
|
|
146
|
+
args.push('--yolo');
|
|
147
|
+
}
|
|
148
|
+
return args;
|
|
149
|
+
}
|
|
150
|
+
}
|
package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts
CHANGED
|
@@ -177,7 +177,7 @@ export declare function removeSpecCommitsIfNeeded(state: FeatureAgentState, node
|
|
|
177
177
|
*/
|
|
178
178
|
export declare function executeNode(nodeName: string, executor: IAgentExecutor, buildPrompt: (state: FeatureAgentState, log: NodeLogger) => string): (state: FeatureAgentState) => Promise<Partial<FeatureAgentState>>;
|
|
179
179
|
/**
|
|
180
|
-
* Save evidence manifest to the
|
|
180
|
+
* Save evidence manifest to the shipit-ai home evidence folder so the
|
|
181
181
|
* merge review UI can read it without accessing graph state.
|
|
182
182
|
*/
|
|
183
183
|
export declare function saveEvidenceManifest(state: FeatureAgentState, evidence: Evidence[], log: ReturnType<typeof createNodeLogger>): void;
|
package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js
CHANGED
|
@@ -565,7 +565,7 @@ export function executeNode(nodeName, executor, buildPrompt) {
|
|
|
565
565
|
};
|
|
566
566
|
}
|
|
567
567
|
/**
|
|
568
|
-
* Save evidence manifest to the
|
|
568
|
+
* Save evidence manifest to the shipit-ai home evidence folder so the
|
|
569
569
|
* merge review UI can read it without accessing graph state.
|
|
570
570
|
*/
|
|
571
571
|
export function saveEvidenceManifest(state, evidence, log) {
|
|
@@ -87,7 +87,7 @@ let MergeStrategyService = class MergeStrategyService {
|
|
|
87
87
|
if (status.trim().length > 0) {
|
|
88
88
|
// Write commit message to a temp file to avoid shell splitting on Windows
|
|
89
89
|
// (DI-injected execFile uses shell: true on Windows, which splits on spaces)
|
|
90
|
-
const msgFile = join(tmpdir(), `
|
|
90
|
+
const msgFile = join(tmpdir(), `shipit-ai-merge-msg-${Date.now()}.txt`);
|
|
91
91
|
try {
|
|
92
92
|
writeFileSync(msgFile, commitMessage, 'utf8');
|
|
93
93
|
await this.execFile('git', ['commit', '--file', msgFile], { cwd });
|
package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.js
CHANGED
|
@@ -13,7 +13,7 @@ const MAX_TASKS = 30;
|
|
|
13
13
|
/** Cached CLI help text — generated once per process lifetime. */
|
|
14
14
|
let cachedCliHelp = null;
|
|
15
15
|
/**
|
|
16
|
-
* Generates the full recursive CLI help text by running `
|
|
16
|
+
* Generates the full recursive CLI help text by running `shipit-ai --help` and
|
|
17
17
|
* subcommand help for all registered commands. Cached after first call.
|
|
18
18
|
*/
|
|
19
19
|
function getCliHelpText() {
|
|
@@ -23,7 +23,7 @@ import { EventEmitter } from 'node:events';
|
|
|
23
23
|
* is shared across module boundaries (e.g., Next.js Turbopack-bundled code
|
|
24
24
|
* vs. the dev-server process running via tsx).
|
|
25
25
|
*/
|
|
26
|
-
const GLOBAL_KEY = Symbol.for('
|
|
26
|
+
const GLOBAL_KEY = Symbol.for('shipit-ai:notification-bus');
|
|
27
27
|
/**
|
|
28
28
|
* Get the notification event bus singleton.
|
|
29
29
|
* Lazily creates the bus on first access.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Spec Initializer Service
|
|
3
3
|
*
|
|
4
4
|
* Creates feature specification directories with YAML template files.
|
|
5
|
-
* Templates match exactly what /
|
|
5
|
+
* Templates match exactly what /shipit-kit:new-feature produces,
|
|
6
6
|
* enabling dogfooding — the CLI and the skill use the same spec format.
|
|
7
7
|
*/
|
|
8
8
|
import type { ISpecInitializerService, SpecInitializerResult } from '../../../application/ports/output/services/spec-initializer.interface.js';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Spec Initializer Service
|
|
3
3
|
*
|
|
4
4
|
* Creates feature specification directories with YAML template files.
|
|
5
|
-
* Templates match exactly what /
|
|
5
|
+
* Templates match exactly what /shipit-kit:new-feature produces,
|
|
6
6
|
* enabling dogfooding — the CLI and the skill use the same spec format.
|
|
7
7
|
*/
|
|
8
8
|
import { mkdir, readdir, writeFile } from 'node:fs/promises';
|
|
@@ -35,7 +35,7 @@ function applyTemplate(template, vars) {
|
|
|
35
35
|
return result;
|
|
36
36
|
}
|
|
37
37
|
// ─── YAML Templates ────────────────────────────────────────────────
|
|
38
|
-
// These match .claude/skills/
|
|
38
|
+
// These match .claude/skills/shipit-kit-new-feature/templates/ exactly.
|
|
39
39
|
const SPEC_YAML = `# Feature Specification (YAML)
|
|
40
40
|
# This is the source of truth. Markdown is auto-generated from this file.
|
|
41
41
|
|
|
@@ -242,7 +242,7 @@ const TEMPLATES = [
|
|
|
242
242
|
export class SpecInitializerService {
|
|
243
243
|
async initialize(basePath, slug, featureNumber, description, mode) {
|
|
244
244
|
// Scan existing specs/ directory for highest NNN prefix to avoid collisions
|
|
245
|
-
// (specs may have been created outside the DB, e.g., via /
|
|
245
|
+
// (specs may have been created outside the DB, e.g., via /shipit-kit:new-feature)
|
|
246
246
|
const resolvedNumber = await this.resolveNextNumber(basePath, featureNumber);
|
|
247
247
|
const nnn = padNumber(resolvedNumber);
|
|
248
248
|
const specDirName = `${nnn}-${slug}`;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "GitHub Copilot CLI",
|
|
3
|
+
"summary": "AI-powered coding agent from GitHub",
|
|
4
|
+
"description": "GitHub Copilot CLI is a full agentic coding assistant that brings AI-powered coding directly to your terminal with plan mode, autopilot, delegation, and MCP server support.",
|
|
5
|
+
"tags": ["cli-agent"],
|
|
6
|
+
"author": "GitHub",
|
|
7
|
+
"website": "https://github.com/features/copilot/cli",
|
|
8
|
+
"platforms": ["linux", "darwin", "win32"],
|
|
9
|
+
"iconUrl": "https://cdn.simpleicons.org/githubcopilot",
|
|
10
|
+
"binary": "copilot",
|
|
11
|
+
"packageManager": "npm",
|
|
12
|
+
"commands": {
|
|
13
|
+
"linux": "npm install -g @github/copilot",
|
|
14
|
+
"darwin": "brew install copilot-cli",
|
|
15
|
+
"win32": "winget install GitHub.Copilot"
|
|
16
|
+
},
|
|
17
|
+
"timeout": 300000,
|
|
18
|
+
"documentationUrl": "https://docs.github.com/en/copilot/how-tos/copilot-cli/cli-getting-started",
|
|
19
|
+
"verifyCommand": "copilot --version",
|
|
20
|
+
"autoInstall": true,
|
|
21
|
+
"openDirectory": "cd {dir} && exec copilot",
|
|
22
|
+
"spawnOptions": {
|
|
23
|
+
"shell": true,
|
|
24
|
+
"stdio": "inherit",
|
|
25
|
+
"detached": false
|
|
26
|
+
},
|
|
27
|
+
"terminalCommand": {
|
|
28
|
+
"linux": "x-terminal-emulator -e bash -c 'cd {dir} && exec copilot'",
|
|
29
|
+
"darwin": "open -a Terminal.app bash -c 'cd {dir} && exec copilot'"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Rovo Dev CLI",
|
|
3
|
+
"summary": "AI-powered coding agent from Atlassian",
|
|
4
|
+
"description": "Rovo Dev CLI is Atlassian's agentic AI coding assistant that runs in the terminal with deep Jira, Confluence, and Bitbucket integration via the Teamwork Graph.",
|
|
5
|
+
"tags": ["cli-agent"],
|
|
6
|
+
"author": "Atlassian",
|
|
7
|
+
"website": "https://www.atlassian.com/software/rovo",
|
|
8
|
+
"platforms": ["linux", "darwin", "win32"],
|
|
9
|
+
"iconUrl": "https://cdn.simpleicons.org/atlassian",
|
|
10
|
+
"binary": "acli",
|
|
11
|
+
"packageManager": "brew",
|
|
12
|
+
"commands": {
|
|
13
|
+
"linux": "curl -LO \"https://acli.atlassian.com/linux/latest/acli_linux_$(uname -m | sed 's/x86_64/amd64/' | sed 's/aarch64/arm64/')/acli\" && chmod +x ./acli && sudo mv ./acli /usr/local/bin/acli",
|
|
14
|
+
"darwin": "brew tap atlassian/homebrew-acli && brew install acli",
|
|
15
|
+
"win32": "powershell -Command \"Invoke-WebRequest -Uri https://acli.atlassian.com/windows/latest/acli_windows_amd64/acli.exe -OutFile acli.exe; Move-Item acli.exe $env:LOCALAPPDATA\\Programs\\acli\\acli.exe -Force\""
|
|
16
|
+
},
|
|
17
|
+
"timeout": 300000,
|
|
18
|
+
"documentationUrl": "https://support.atlassian.com/rovo/docs/install-and-run-rovo-dev-cli-on-your-device/",
|
|
19
|
+
"verifyCommand": "acli --version",
|
|
20
|
+
"autoInstall": true,
|
|
21
|
+
"openDirectory": "cd {dir} && exec acli rovodev run",
|
|
22
|
+
"spawnOptions": {
|
|
23
|
+
"shell": true,
|
|
24
|
+
"stdio": "inherit",
|
|
25
|
+
"detached": false
|
|
26
|
+
},
|
|
27
|
+
"terminalCommand": {
|
|
28
|
+
"linux": "x-terminal-emulator -e bash -c 'cd {dir} && exec acli rovodev run'",
|
|
29
|
+
"darwin": "open -a Terminal.app bash -c 'cd {dir} && exec acli rovodev run'"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -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;AA+ID;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CA4H/D"}
|
|
@@ -8,8 +8,10 @@ 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
|
+
'copilot-cli': 'GitHub Copilot CLI',
|
|
11
12
|
cursor: 'Cursor CLI',
|
|
12
13
|
'gemini-cli': 'Gemini CLI',
|
|
14
|
+
'rovo-dev': 'Rovo Dev CLI',
|
|
13
15
|
aider: 'Aider',
|
|
14
16
|
continue: 'Continue',
|
|
15
17
|
dev: 'Demo',
|
|
@@ -17,14 +19,18 @@ const AGENT_LABELS = {
|
|
|
17
19
|
const AGENT_TOOL_MAP = {
|
|
18
20
|
'claude-code': 'claude-code',
|
|
19
21
|
'codex-cli': 'codex-cli',
|
|
22
|
+
'copilot-cli': 'copilot-cli',
|
|
20
23
|
cursor: 'cursor-cli',
|
|
21
24
|
'gemini-cli': 'gemini-cli',
|
|
25
|
+
'rovo-dev': 'rovo-dev',
|
|
22
26
|
};
|
|
23
27
|
const AGENT_BINARY_MAP = {
|
|
24
28
|
'claude-code': 'claude',
|
|
25
29
|
'codex-cli': 'codex',
|
|
30
|
+
'copilot-cli': 'copilot',
|
|
26
31
|
cursor: 'cursor-agent',
|
|
27
32
|
'gemini-cli': 'gemini',
|
|
33
|
+
'rovo-dev': 'acli',
|
|
28
34
|
};
|
|
29
35
|
/**
|
|
30
36
|
* Tier 1: Instant credential/env check (~5ms, no subprocess).
|
|
@@ -67,6 +73,24 @@ function tier1AuthCheck(agentType) {
|
|
|
67
73
|
const accountsPath = join(home, '.gemini', 'google_accounts.json');
|
|
68
74
|
return existsSync(accountsPath) ? 'file' : false;
|
|
69
75
|
}
|
|
76
|
+
case 'copilot-cli': {
|
|
77
|
+
if (process.env['COPILOT_GITHUB_TOKEN'])
|
|
78
|
+
return 'env-var';
|
|
79
|
+
if (process.env['GH_TOKEN'])
|
|
80
|
+
return 'env-var';
|
|
81
|
+
if (process.env['GITHUB_TOKEN'])
|
|
82
|
+
return 'env-var';
|
|
83
|
+
const configPath = process.env['COPILOT_HOME']
|
|
84
|
+
? join(process.env['COPILOT_HOME'], 'config.json')
|
|
85
|
+
: join(home, '.copilot', 'config.json');
|
|
86
|
+
return existsSync(configPath) ? 'file' : false;
|
|
87
|
+
}
|
|
88
|
+
case 'rovo-dev': {
|
|
89
|
+
if (process.env['ATLASSIAN_API_TOKEN'])
|
|
90
|
+
return 'env-var';
|
|
91
|
+
const acliDir = join(home, '.acli');
|
|
92
|
+
return existsSync(acliDir) ? 'file' : false;
|
|
93
|
+
}
|
|
70
94
|
default:
|
|
71
95
|
// dev, aider, continue — assume no auth needed
|
|
72
96
|
return 'env-var';
|
|
@@ -93,6 +117,17 @@ function tier2AuthVerify(agentType, binaryName) {
|
|
|
93
117
|
// Codex CLI has no `auth status` command — cannot verify via subprocess
|
|
94
118
|
resolve(false);
|
|
95
119
|
return;
|
|
120
|
+
case 'copilot-cli':
|
|
121
|
+
// No auth status command — trust tier 1
|
|
122
|
+
resolve(true);
|
|
123
|
+
return;
|
|
124
|
+
case 'rovo-dev': {
|
|
125
|
+
const rovoOpts = IS_WINDOWS ? { timeout: 5000, windowsHide: true } : { timeout: 5000 };
|
|
126
|
+
execFile('acli', ['rovodev', 'auth', 'status'], rovoOpts, (error) => {
|
|
127
|
+
resolve(!error);
|
|
128
|
+
});
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
96
131
|
default:
|
|
97
132
|
// No tier 2 command available — trust tier 1
|
|
98
133
|
resolve(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-agent-tool.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/check-agent-tool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iEAAiE,CAAC;
|
|
1
|
+
{"version":3,"file":"check-agent-tool.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/check-agent-tool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iEAAiE,CAAC;AAuBhG,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAmBhF"}
|
|
@@ -6,14 +6,18 @@ import { resolve } from '../../lib/server-container.js';
|
|
|
6
6
|
*/
|
|
7
7
|
const AGENT_TOOL_MAP = {
|
|
8
8
|
'claude-code': 'claude-code',
|
|
9
|
+
'copilot-cli': 'copilot-cli',
|
|
9
10
|
cursor: 'cursor-cli',
|
|
10
11
|
'gemini-cli': 'gemini-cli',
|
|
12
|
+
'rovo-dev': 'rovo-dev',
|
|
11
13
|
};
|
|
12
14
|
/** CLI binary names matching the `binary` field in each tool JSON */
|
|
13
15
|
const AGENT_BINARY_MAP = {
|
|
14
16
|
'claude-code': 'claude',
|
|
17
|
+
'copilot-cli': 'copilot',
|
|
15
18
|
cursor: 'cursor',
|
|
16
19
|
'gemini-cli': 'gemini',
|
|
20
|
+
'rovo-dev': 'acli',
|
|
17
21
|
};
|
|
18
22
|
export async function checkAgentTool(agentType) {
|
|
19
23
|
const toolId = AGENT_TOOL_MAP[agentType] ?? null;
|
|
@@ -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":"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;
|
|
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;AAoCD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAmDpE"}
|
|
@@ -4,16 +4,20 @@ import { getModelMeta } from '../../lib/model-metadata.js';
|
|
|
4
4
|
const AGENT_LABELS = {
|
|
5
5
|
'claude-code': 'Claude Code',
|
|
6
6
|
'codex-cli': 'Codex CLI',
|
|
7
|
+
'copilot-cli': 'GitHub Copilot CLI',
|
|
7
8
|
cursor: 'Cursor CLI',
|
|
8
9
|
'gemini-cli': 'Gemini CLI',
|
|
10
|
+
'rovo-dev': 'Rovo Dev CLI',
|
|
9
11
|
dev: 'Demo',
|
|
10
12
|
};
|
|
11
13
|
/** Sort weight — higher = further down. Demo always last. */
|
|
12
14
|
const AGENT_ORDER = {
|
|
13
15
|
'claude-code': 0,
|
|
14
16
|
'codex-cli': 1,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
'copilot-cli': 2,
|
|
18
|
+
cursor: 3,
|
|
19
|
+
'gemini-cli': 4,
|
|
20
|
+
'rovo-dev': 5,
|
|
17
21
|
dev: 99,
|
|
18
22
|
};
|
|
19
23
|
/**
|
|
@@ -23,8 +27,10 @@ const AGENT_ORDER = {
|
|
|
23
27
|
const AGENT_TOOL_IDS = {
|
|
24
28
|
'claude-code': 'claude-code',
|
|
25
29
|
'codex-cli': 'codex-cli',
|
|
30
|
+
'copilot-cli': 'copilot-cli',
|
|
26
31
|
cursor: 'cursor-cli',
|
|
27
32
|
'gemini-cli': 'gemini-cli',
|
|
33
|
+
'rovo-dev': 'rovo-dev',
|
|
28
34
|
};
|
|
29
35
|
export async function getAllAgentModels() {
|
|
30
36
|
try {
|
|
@@ -6,7 +6,7 @@ import Markdown from 'react-markdown';
|
|
|
6
6
|
import remarkGfm from 'remark-gfm';
|
|
7
7
|
import { useTranslation } from 'react-i18next';
|
|
8
8
|
import { cn } from '../../lib/utils.js';
|
|
9
|
-
import { SendHorizontal, CircleStop, Copy, Paperclip, Bot, User, Maximize2, X, ChevronDown, ChevronUp,
|
|
9
|
+
import { SendHorizontal, CircleStop, Copy, Paperclip, Bot, User, Maximize2, X, ChevronDown, ChevronUp, LoaderCircle, } from 'lucide-react';
|
|
10
10
|
// ── Markdown components for assistant messages ──────────────────────────────
|
|
11
11
|
const markdownComponents = {
|
|
12
12
|
p: ({ children }) => _jsx("p", { className: "mb-2 leading-relaxed last:mb-0", children: children }),
|
|
@@ -118,7 +118,7 @@ function AssistantMessageText({ text }) {
|
|
|
118
118
|
return (_jsx(Markdown, { remarkPlugins: [remarkGfm], components: markdownComponents, children: text }));
|
|
119
119
|
}
|
|
120
120
|
function ActivityIndicator({ label }) {
|
|
121
|
-
return (_jsxs("span", { className: "text-muted-foreground inline-flex items-center gap-2 text-sm italic", children: [_jsx(
|
|
121
|
+
return (_jsxs("span", { className: "text-muted-foreground inline-flex items-center gap-2 text-sm italic", children: [_jsx(LoaderCircle, { className: "h-3.5 w-3.5 animate-spin" }), _jsx("span", { children: label })] }));
|
|
122
122
|
}
|
|
123
123
|
// ── Thinking indicator with cycling words ────────────────────────────────
|
|
124
124
|
const THINKING_WORDS = [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
3
|
+
import { LoaderCircle, CircleAlert } from 'lucide-react';
|
|
4
4
|
import { cn } from '../../../lib/utils.js';
|
|
5
5
|
import { Button } from '../../ui/button.js';
|
|
6
6
|
import { useSoundAction } from '../../../hooks/use-sound-action.js';
|
|
@@ -13,5 +13,5 @@ export function ActionButton({ label, onClick, loading, error, icon: Icon, iconO
|
|
|
13
13
|
return (_jsxs(Button, { variant: variant, size: size, "aria-label": label, disabled: loading, onClick: handleClick, className: cn('gap-1.5', error && 'text-destructive hover:text-destructive', !error &&
|
|
14
14
|
iconOnly &&
|
|
15
15
|
variant === 'ghost' &&
|
|
16
|
-
'text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500'), children: [loading ? (_jsx(
|
|
16
|
+
'text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500'), children: [loading ? (_jsx(LoaderCircle, { className: "size-4 animate-spin" })) : error ? (_jsx(CircleAlert, { className: "size-4" })) : (_jsx(Icon, { className: "size-4" })), iconOnly ? null : label] }));
|
|
17
17
|
}
|
package/dist/src/presentation/web/components/common/action-button/action-button.stories.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-button.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/action-button/action-button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"action-button.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/action-button/action-button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,YAAY,CAanC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,YAAY,CAAC,CAAC;AAM3C,iFAAiF;AACjF,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAEF,+BAA+B;AAC/B,eAAO,MAAM,eAAe,EAAE,KAQ7B,CAAC;AAEF,6BAA6B;AAC7B,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,YAAY,EAAE,KAO1B,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,EAAE,KAahC,CAAC;AAEF,oHAAoH;AACpH,eAAO,MAAM,mBAAmB,EAAE,KAmCjC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-repository-button.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/add-repository-button/add-repository-button.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"add-repository-button.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/add-repository-button/add-repository-button.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAE1E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;CACnD;AAED,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,wBAAwB,2CAuHzF"}
|