@shepai/cli 1.183.0-pr554.2632d62 → 1.183.0-pr555.e53ab0e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apis/json-schema/Application.yaml +0 -22
- package/apis/json-schema/Feature.yaml +3 -0
- package/apis/json-schema/NotificationEventConfig.yaml +0 -4
- package/apis/json-schema/NotificationEventType.yaml +0 -1
- package/apis/json-schema/Plugin.yaml +86 -0
- package/apis/json-schema/PluginHealthStatus.yaml +9 -0
- package/apis/json-schema/PluginTransport.yaml +7 -0
- package/apis/json-schema/PluginType.yaml +8 -0
- package/apis/json-schema/RecordBoolean.yaml +6 -0
- package/apis/json-schema/ToolGroup.yaml +18 -0
- package/dist/eslint.config.mjs +0 -19
- package/dist/packages/core/src/application/ports/output/agents/agent-executor.interface.d.ts +7 -0
- package/dist/packages/core/src/application/ports/output/agents/agent-executor.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/agents/index.d.ts +0 -1
- package/dist/packages/core/src/application/ports/output/agents/index.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/repositories/application-repository.interface.d.ts +1 -1
- package/dist/packages/core/src/application/ports/output/repositories/application-repository.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/repositories/index.d.ts +1 -0
- package/dist/packages/core/src/application/ports/output/repositories/index.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/repositories/plugin-repository.interface.d.ts +60 -0
- package/dist/packages/core/src/application/ports/output/repositories/plugin-repository.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/repositories/plugin-repository.interface.js +11 -0
- package/dist/packages/core/src/application/ports/output/services/index.d.ts +2 -5
- package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/mcp-server-manager.interface.d.ts +66 -0
- package/dist/packages/core/src/application/ports/output/services/mcp-server-manager.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/mcp-server-manager.interface.js +12 -0
- package/dist/packages/core/src/application/ports/output/services/plugin-health-checker.interface.d.ts +49 -0
- package/dist/packages/core/src/application/ports/output/services/plugin-health-checker.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/plugin-health-checker.interface.js +12 -0
- package/dist/packages/core/src/application/services/agents/agent-session-repository.registry.d.ts +24 -0
- package/dist/packages/core/src/application/services/agents/agent-session-repository.registry.d.ts.map +1 -0
- package/dist/packages/core/src/{infrastructure → application}/services/agents/agent-session-repository.registry.js +5 -10
- package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts +1 -5
- package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.js +6 -10
- package/dist/packages/core/src/application/use-cases/agents/check-agent-auth.use-case.d.ts +1 -3
- package/dist/packages/core/src/application/use-cases/agents/check-agent-auth.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/agents/check-agent-auth.use-case.js +4 -10
- package/dist/packages/core/src/application/use-cases/agents/get-agent-session.use-case.d.ts +2 -4
- package/dist/packages/core/src/application/use-cases/agents/get-agent-session.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/agents/get-agent-session.use-case.js +8 -15
- package/dist/packages/core/src/application/use-cases/agents/list-agent-sessions.use-case.d.ts +2 -4
- package/dist/packages/core/src/application/use-cases/agents/list-agent-sessions.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/agents/list-agent-sessions.use-case.js +8 -15
- package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.d.ts +1 -7
- package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.js +8 -15
- package/dist/packages/core/src/application/use-cases/agents/stop-agent-run.use-case.d.ts +1 -3
- package/dist/packages/core/src/application/use-cases/agents/stop-agent-run.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/agents/stop-agent-run.use-case.js +5 -7
- package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.d.ts +1 -3
- package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.js +7 -12
- package/dist/packages/core/src/application/use-cases/applications/delete-application.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/applications/delete-application.use-case.js +1 -2
- package/dist/packages/core/src/application/use-cases/applications/list-applications.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/applications/list-applications.use-case.js +1 -2
- package/dist/packages/core/src/application/use-cases/applications/resume-application-workflow.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/applications/resume-application-workflow.use-case.js +2 -3
- package/dist/packages/core/src/application/use-cases/deployments/start-feature-deployment.use-case.d.ts +1 -3
- package/dist/packages/core/src/application/use-cases/deployments/start-feature-deployment.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/deployments/start-feature-deployment.use-case.js +4 -7
- package/dist/packages/core/src/application/use-cases/features/cleanup-feature-worktree.use-case.d.ts +1 -3
- package/dist/packages/core/src/application/use-cases/features/cleanup-feature-worktree.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/cleanup-feature-worktree.use-case.js +10 -17
- package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts +2 -10
- package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +10 -20
- package/dist/packages/core/src/application/use-cases/features/create/types.d.ts +2 -0
- package/dist/packages/core/src/application/use-cases/features/create/types.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/get-feature-artifact.use-case.d.ts +1 -3
- package/dist/packages/core/src/application/use-cases/features/get-feature-artifact.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/get-feature-artifact.use-case.js +4 -6
- package/dist/packages/core/src/application/use-cases/features/get-plan-artifact.use-case.d.ts +1 -3
- package/dist/packages/core/src/application/use-cases/features/get-plan-artifact.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/get-plan-artifact.use-case.js +4 -6
- package/dist/packages/core/src/application/use-cases/features/get-research-artifact.use-case.d.ts +1 -3
- package/dist/packages/core/src/application/use-cases/features/get-research-artifact.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/get-research-artifact.use-case.js +4 -6
- package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.d.ts +2 -2
- package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.js +2 -2
- package/dist/packages/core/src/application/use-cases/ide/launch-ide.use-case.d.ts +1 -3
- package/dist/packages/core/src/application/use-cases/ide/launch-ide.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/ide/launch-ide.use-case.js +4 -8
- package/dist/packages/core/src/application/use-cases/plugins/add-plugin.use-case.d.ts +35 -0
- package/dist/packages/core/src/application/use-cases/plugins/add-plugin.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/plugins/add-plugin.use-case.js +106 -0
- package/dist/packages/core/src/application/use-cases/plugins/check-plugin-health.use-case.d.ts +20 -0
- package/dist/packages/core/src/application/use-cases/plugins/check-plugin-health.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/plugins/check-plugin-health.use-case.js +72 -0
- package/dist/packages/core/src/application/use-cases/plugins/configure-plugin.use-case.d.ts +22 -0
- package/dist/packages/core/src/application/use-cases/plugins/configure-plugin.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/plugins/configure-plugin.use-case.js +59 -0
- package/dist/packages/core/src/application/use-cases/plugins/disable-plugin.use-case.d.ts +18 -0
- package/dist/packages/core/src/application/use-cases/plugins/disable-plugin.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/{cloud-deploy/ensure-gh-authenticated.use-case.js → plugins/disable-plugin.use-case.js} +31 -12
- package/dist/packages/core/src/application/use-cases/plugins/enable-plugin.use-case.d.ts +18 -0
- package/dist/packages/core/src/application/use-cases/plugins/enable-plugin.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/{cloud-deploy/select-cloud-provider.use-case.js → plugins/enable-plugin.use-case.js} +31 -17
- package/dist/packages/core/src/application/use-cases/plugins/get-plugin-catalog.use-case.d.ts +21 -0
- package/dist/packages/core/src/application/use-cases/plugins/get-plugin-catalog.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/plugins/get-plugin-catalog.use-case.js +45 -0
- package/dist/packages/core/src/application/use-cases/plugins/list-plugins.use-case.d.ts +22 -0
- package/dist/packages/core/src/application/use-cases/plugins/list-plugins.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/plugins/list-plugins.use-case.js +50 -0
- package/dist/packages/core/src/application/use-cases/plugins/remove-plugin.use-case.d.ts +21 -0
- package/dist/packages/core/src/application/use-cases/plugins/remove-plugin.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/plugins/remove-plugin.use-case.js +50 -0
- package/dist/packages/core/src/application/use-cases/repositories/add-repository.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/repositories/add-repository.use-case.js +11 -1
- package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.js +9 -1
- package/dist/packages/core/src/application/use-cases/settings/check-onboarding-status.use-case.d.ts +2 -6
- package/dist/packages/core/src/application/use-cases/settings/check-onboarding-status.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/settings/check-onboarding-status.use-case.js +7 -30
- package/dist/packages/core/src/application/use-cases/tools/launch-tool.use-case.d.ts +1 -3
- package/dist/packages/core/src/application/use-cases/tools/launch-tool.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/tools/launch-tool.use-case.js +4 -6
- package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts +1 -3
- package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.js +4 -6
- package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.d.ts +2 -4
- package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.js +4 -8
- package/dist/packages/core/src/application/workflows/application-creation.workflow.d.ts.map +1 -0
- package/dist/packages/core/src/domain/factories/index.d.ts +1 -0
- package/dist/packages/core/src/domain/factories/index.d.ts.map +1 -1
- package/dist/packages/core/src/domain/factories/index.js +1 -0
- package/dist/packages/core/src/domain/factories/spec-yaml-parser.d.ts +29 -0
- package/dist/packages/core/src/domain/factories/spec-yaml-parser.d.ts.map +1 -0
- package/dist/packages/core/src/domain/factories/spec-yaml-parser.js +134 -0
- package/dist/packages/core/src/domain/generated/output.d.ts +113 -41
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/domain/generated/output.js +18 -25
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +679 -32
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.d.ts +0 -7
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.js +6 -23
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.js +8 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/plugin.mapper.d.ts +61 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/plugin.mapper.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/plugin.mapper.js +91 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/060-create-plugins-table.d.ts +13 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/060-create-plugins-table.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/060-create-plugins-table.js +51 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/061-add-active-plugins-to-features.d.ts +12 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/061-add-active-plugins-to-features.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/061-add-active-plugins-to-features.js +17 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.d.ts +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.js +2 -40
- package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +3 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-plugin.repository.d.ts +24 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-plugin.repository.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-plugin.repository.js +114 -0
- package/dist/packages/core/src/infrastructure/services/agents/analyze-repo/analyze-repository-graph.d.ts +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.js +2 -0
- package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.service.d.ts +1 -2
- package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts +6 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +18 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +12 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +1 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/plugin-startup.d.ts +23 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/plugin-startup.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/plugin-startup.js +53 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts +1 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.js +5 -0
- package/dist/packages/core/src/infrastructure/services/attachment-storage.service.d.ts +5 -3
- package/dist/packages/core/src/infrastructure/services/attachment-storage.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/notifications/notification.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/notifications/notification.service.js +0 -1
- package/dist/packages/core/src/infrastructure/services/plugin/mcp-server-manager.service.d.ts +51 -0
- package/dist/packages/core/src/infrastructure/services/plugin/mcp-server-manager.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/plugin/mcp-server-manager.service.js +206 -0
- package/dist/packages/core/src/infrastructure/services/plugin/plugin-catalog.d.ts +52 -0
- package/dist/packages/core/src/infrastructure/services/plugin/plugin-catalog.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/plugin/plugin-catalog.js +86 -0
- package/dist/packages/core/src/infrastructure/services/plugin/plugin-health-checker.service.d.ts +28 -0
- package/dist/packages/core/src/infrastructure/services/plugin/plugin-health-checker.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/plugin/plugin-health-checker.service.js +95 -0
- package/dist/src/presentation/cli/commands/app/index.d.ts +4 -10
- package/dist/src/presentation/cli/commands/app/index.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/app/index.js +5 -17
- package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/new.command.js +1 -2
- package/dist/src/presentation/cli/commands/plugin/add.command.d.ts +12 -0
- package/dist/src/presentation/cli/commands/plugin/add.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/plugin/add.command.js +75 -0
- package/dist/src/presentation/cli/commands/plugin/catalog.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/plugin/catalog.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/plugin/catalog.command.js +46 -0
- package/dist/src/presentation/cli/commands/plugin/configure.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/plugin/configure.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/plugin/configure.command.js +37 -0
- package/dist/src/presentation/cli/commands/plugin/disable.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/plugin/disable.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/plugin/disable.command.js +31 -0
- package/dist/src/presentation/cli/commands/plugin/enable.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/plugin/enable.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/plugin/enable.command.js +31 -0
- package/dist/src/presentation/cli/commands/plugin/index.d.ts +22 -0
- package/dist/src/presentation/cli/commands/plugin/index.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/plugin/index.js +41 -0
- package/dist/src/presentation/cli/commands/plugin/list.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/plugin/list.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/plugin/list.command.js +63 -0
- package/dist/src/presentation/cli/commands/plugin/remove.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/plugin/remove.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/plugin/remove.command.js +31 -0
- package/dist/src/presentation/cli/commands/plugin/status.command.d.ts +12 -0
- package/dist/src/presentation/cli/commands/plugin/status.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/plugin/status.command.js +126 -0
- package/dist/src/presentation/cli/index.js +2 -0
- package/dist/src/presentation/web/app/(dashboard)/@drawer/create/page.d.ts.map +1 -1
- package/dist/src/presentation/web/app/(dashboard)/@drawer/create/page.js +9 -2
- package/dist/src/presentation/web/app/actions/add-plugin.d.ts +7 -0
- package/dist/src/presentation/web/app/actions/add-plugin.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/add-plugin.js +15 -0
- package/dist/src/presentation/web/app/actions/check-plugin-health.d.ts +7 -0
- package/dist/src/presentation/web/app/actions/check-plugin-health.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/check-plugin-health.js +15 -0
- package/dist/src/presentation/web/app/actions/configure-plugin.d.ts +7 -0
- package/dist/src/presentation/web/app/actions/configure-plugin.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/configure-plugin.js +15 -0
- package/dist/src/presentation/web/app/actions/create-feature.d.ts +2 -0
- package/dist/src/presentation/web/app/actions/create-feature.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/create-feature.js +3 -1
- package/dist/src/presentation/web/app/actions/deploy-application.d.ts +9 -8
- package/dist/src/presentation/web/app/actions/deploy-application.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/deploy-application.js +38 -22
- package/dist/src/presentation/web/app/actions/get-plugin-catalog.d.ts +7 -0
- package/dist/src/presentation/web/app/actions/get-plugin-catalog.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/get-plugin-catalog.js +13 -0
- package/dist/src/presentation/web/app/actions/list-plugins.d.ts +7 -0
- package/dist/src/presentation/web/app/actions/list-plugins.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/list-plugins.js +13 -0
- package/dist/src/presentation/web/app/actions/remove-plugin.d.ts +7 -0
- package/dist/src/presentation/web/app/actions/remove-plugin.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/remove-plugin.js +15 -0
- package/dist/src/presentation/web/app/actions/toggle-plugin.d.ts +7 -0
- package/dist/src/presentation/web/app/actions/toggle-plugin.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/toggle-plugin.js +23 -0
- package/dist/src/presentation/web/app/api/agent-events/route.d.ts +12 -17
- package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
- package/dist/src/presentation/web/app/api/agent-events/route.js +331 -58
- package/dist/src/presentation/web/app/api/applications/[id]/route.d.ts.map +1 -1
- package/dist/src/presentation/web/app/api/applications/[id]/route.js +1 -4
- package/dist/src/presentation/web/app/api/deployment-logs/route.d.ts.map +1 -1
- package/dist/src/presentation/web/app/api/deployment-logs/route.js +2 -4
- package/dist/src/presentation/web/app/build-graph-nodes.d.ts.map +1 -1
- package/dist/src/presentation/web/app/build-graph-nodes.js +1 -2
- package/dist/src/presentation/web/app/plugins/page.d.ts +4 -0
- package/dist/src/presentation/web/app/plugins/page.d.ts.map +1 -0
- package/dist/src/presentation/web/app/plugins/page.js +24 -0
- package/dist/src/presentation/web/app/plugins/plugins-page-client.d.ts +8 -0
- package/dist/src/presentation/web/app/plugins/plugins-page-client.d.ts.map +1 -0
- package/dist/src/presentation/web/app/plugins/plugins-page-client.js +61 -0
- package/dist/src/presentation/web/components/common/application-node/application-node.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/application-node/application-node.js +1 -2
- package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.d.ts +6 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.js +2 -2
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts +9 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +15 -3
- package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +0 -4
- package/dist/src/presentation/web/components/common/plugin-catalog/index.d.ts +2 -0
- package/dist/src/presentation/web/components/common/plugin-catalog/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/plugin-catalog/index.js +1 -0
- package/dist/src/presentation/web/components/common/plugin-catalog/plugin-catalog.d.ts +7 -0
- package/dist/src/presentation/web/components/common/plugin-catalog/plugin-catalog.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/plugin-catalog/plugin-catalog.js +32 -0
- package/dist/src/presentation/web/components/common/plugin-catalog/plugin-catalog.stories.d.ts +16 -0
- package/dist/src/presentation/web/components/common/plugin-catalog/plugin-catalog.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/plugin-catalog/plugin-catalog.stories.js +87 -0
- package/dist/src/presentation/web/components/common/plugin-list/index.d.ts +2 -0
- package/dist/src/presentation/web/components/common/plugin-list/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/plugin-list/index.js +1 -0
- package/dist/src/presentation/web/components/common/plugin-list/plugin-list.d.ts +9 -0
- package/dist/src/presentation/web/components/common/plugin-list/plugin-list.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/plugin-list/plugin-list.js +77 -0
- package/dist/src/presentation/web/components/common/plugin-list/plugin-list.stories.d.ts +17 -0
- package/dist/src/presentation/web/components/common/plugin-list/plugin-list.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/plugin-list/plugin-list.stories.js +114 -0
- package/dist/src/presentation/web/components/features/application-page/application-page.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/application-page/application-page.js +306 -17
- package/dist/src/presentation/web/components/features/applications/application-card.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/applications/application-card.js +1 -2
- package/dist/src/presentation/web/components/features/chat/workflow-placeholder.d.ts +1 -1
- package/dist/src/presentation/web/components/features/chat/workflow-placeholder.js +1 -1
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +1 -2
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +2 -2
- package/dist/src/presentation/web/hooks/deployment-status-provider.js +3 -4
- package/dist/translations/ar/cli.json +82 -0
- package/dist/translations/ar/web.json +2 -1
- package/dist/translations/de/cli.json +82 -0
- package/dist/translations/de/web.json +2 -1
- package/dist/translations/en/cli.json +82 -0
- package/dist/translations/en/web.json +2 -1
- package/dist/translations/es/cli.json +82 -0
- package/dist/translations/es/web.json +2 -1
- package/dist/translations/fr/cli.json +82 -0
- package/dist/translations/fr/web.json +2 -1
- package/dist/translations/he/cli.json +82 -0
- package/dist/translations/he/web.json +2 -1
- package/dist/translations/pt/cli.json +82 -0
- package/dist/translations/pt/web.json +2 -1
- package/dist/translations/ru/cli.json +82 -0
- package/dist/translations/ru/web.json +2 -1
- package/dist/translations/uk/cli.json +82 -0
- package/dist/translations/uk/web.json +2 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +1 -8
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +1 -1
- package/web/.next/required-server-files.json +1 -1
- package/web/.next/routes-manifest.json +6 -58
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +32 -32
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +33 -33
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +41 -41
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +41 -41
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +31 -31
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/chat/page.js +3 -3
- package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +33 -33
- package/web/.next/server/app/(dashboard)/create/page.js +3 -3
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +41 -41
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +4 -4
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +41 -41
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +4 -4
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/page.js +3 -3
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +31 -31
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +3 -3
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +3 -3
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error/page.js +1 -1
- package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +7 -7
- package/web/.next/server/app/_not-found/page.js +2 -2
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/agent-events/route.js +2 -1
- package/web/.next/server/app/api/agent-events/route.js.nft.json +1 -1
- package/web/.next/server/app/api/applications/[id]/route.js +1 -1
- package/web/.next/server/app/api/applications/[id]/route.js.nft.json +1 -1
- package/web/.next/server/app/api/attachments/preview/route.js +1 -1
- package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
- package/web/.next/server/app/api/attachments/upload-from-path/route.js +1 -1
- package/web/.next/server/app/api/attachments/upload-from-path/route.js.nft.json +1 -1
- package/web/.next/server/app/api/evidence/route.js +1 -1
- package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
- package/web/.next/server/app/api/feature-logs/route.js +1 -1
- package/web/.next/server/app/api/feature-logs/route.js.nft.json +1 -1
- package/web/.next/server/app/api/graph-data/route.js +2 -2
- 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 +1 -1
- package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
- package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +40 -70
- package/web/.next/server/app/application/[id]/page.js +3 -3
- package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
- package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/applications/page/server-reference-manifest.json +15 -15
- package/web/.next/server/app/applications/page.js +3 -3
- package/web/.next/server/app/applications/page.js.nft.json +1 -1
- package/web/.next/server/app/applications/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/features/page/server-reference-manifest.json +7 -7
- package/web/.next/server/app/features/page.js +2 -2
- package/web/.next/server/app/features/page.js.nft.json +1 -1
- package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/plugins/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/plugins/page/build-manifest.json +18 -0
- package/web/.next/server/app/plugins/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/plugins/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/plugins/page/server-reference-manifest.json +170 -0
- package/web/.next/server/app/plugins/page.js +19 -0
- package/web/.next/server/app/plugins/page.js.nft.json +1 -0
- package/web/.next/server/app/plugins/page_client-reference-manifest.js +2 -0
- package/web/.next/server/app/settings/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/settings/page.js +3 -3
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +15 -15
- package/web/.next/server/app/skills/page.js +3 -3
- package/web/.next/server/app/skills/page.js.nft.json +1 -1
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/server-reference-manifest.json +13 -13
- package/web/.next/server/app/tools/page.js +3 -3
- package/web/.next/server/app/tools/page.js.nft.json +1 -1
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +7 -7
- package/web/.next/server/app/version/page.js +2 -2
- package/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app-paths-manifest.json +1 -8
- package/web/.next/server/chunks/{[root-of-the-server]__582ebd78._.js → [root-of-the-server]__0702fed9._.js} +2 -2
- package/web/.next/server/chunks/[root-of-the-server]__10e976f3._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__3f7e7be1._.js +2 -2
- package/web/.next/server/chunks/[root-of-the-server]__3f7e7be1._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__7a2ddaea._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__7a2ddaea._.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__84fede21._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__84fede21._.js.map +1 -0
- package/web/.next/server/chunks/{[root-of-the-server]__76a92098._.js → [root-of-the-server]__88c71186._.js} +2 -2
- package/web/.next/server/chunks/{[root-of-the-server]__7de24eaf._.js → [root-of-the-server]__8b6abaa3._.js} +2 -2
- package/web/.next/server/chunks/[root-of-the-server]__aabea727._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__aabea727._.js.map +1 -0
- package/web/.next/server/chunks/{[root-of-the-server]__6af3863d._.js → [root-of-the-server]__cfba7146._.js} +2 -2
- package/web/.next/server/chunks/{[root-of-the-server]__6af3863d._.js.map → [root-of-the-server]__cfba7146._.js.map} +1 -1
- package/web/.next/server/chunks/{[root-of-the-server]__1133b25d._.js → [root-of-the-server]__dbb420e4._.js} +2 -2
- package/web/.next/server/chunks/d9f3b_next_dist_esm_build_templates_app-route_4faf694b.js +12 -0
- package/web/.next/server/chunks/d9f3b_next_dist_esm_build_templates_app-route_4faf694b.js.map +1 -0
- package/web/.next/server/chunks/d9f3b_next_dist_esm_build_templates_app-route_fc401c5d.js +1 -1
- package/web/.next/server/chunks/d9f3b_next_dist_esm_build_templates_app-route_fc401c5d.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4f9eef62.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4f9eef62.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_ffa16a22.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_ffa16a22.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_a1a998f9.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_a1a998f9.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__269765de._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__269765de._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__ec85e47f._.js → [root-of-the-server]__288ffaa6._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__ec85e47f._.js.map → [root-of-the-server]__288ffaa6._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4101a4a8._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4101a4a8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__7ea16f3a._.js → [root-of-the-server]__46dd2baf._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__7ea16f3a._.js.map → [root-of-the-server]__46dd2baf._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__538580df._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__538580df._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__58043de2._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__58043de2._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__5193e3ce._.js → [root-of-the-server]__5c5de261._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__5193e3ce._.js.map → [root-of-the-server]__5c5de261._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__638955bc._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__87d5ff6e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__87d5ff6e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9b0e14ee._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9b0e14ee._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__93be3301._.js → [root-of-the-server]__ac9ab3c5._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__93be3301._.js.map → [root-of-the-server]__ac9ab3c5._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c3d233f3._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c3d233f3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c6dba2b8._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c6dba2b8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__de3991d8._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__de3991d8._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e4fac430._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e4fac430._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__eacd32e9._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__eacd32e9._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__494cf0fb._.js → [root-of-the-server]__ef0b8905._.js} +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ef0b8905._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__7198dce9._.js → [root-of-the-server]__f94e4165._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__7198dce9._.js.map → [root-of-the-server]__f94e4165._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__149d89d9._.js → [root-of-the-server]__ff5a5243._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__149d89d9._.js.map → [root-of-the-server]__ff5a5243._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_0f41c049._.js +3 -0
- package/web/.next/server/chunks/ssr/_0f41c049._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_33a243dd._.js +1 -1
- package/web/.next/server/chunks/ssr/_33a243dd._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_5bf2415e._.js → _34113cf8._.js} +2 -2
- package/web/.next/server/chunks/ssr/_34113cf8._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_519d77a9._.js +3 -0
- package/web/.next/server/chunks/ssr/_519d77a9._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_563be831._.js +3 -0
- package/web/.next/server/chunks/ssr/_563be831._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_57643324._.js +3 -0
- package/web/.next/server/chunks/ssr/_57643324._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_6a252f90._.js +3 -0
- package/web/.next/server/chunks/ssr/_6a252f90._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_6b254164._.js +1 -1
- package/web/.next/server/chunks/ssr/_6b254164._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_6cc2c4f7._.js +3 -0
- package/web/.next/server/chunks/ssr/_6cc2c4f7._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_6cc4c05b._.js +3 -0
- package/web/.next/server/chunks/ssr/_6cc4c05b._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_6fd324a3._.js +3 -0
- package/web/.next/server/chunks/ssr/_6fd324a3._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_82baa7c1._.js → _828a0b9c._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_82baa7c1._.js.map → _828a0b9c._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_8757ce67._.js +4 -0
- package/web/.next/server/chunks/ssr/_8757ce67._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_8e101e0b._.js +12 -12
- package/web/.next/server/chunks/ssr/_8e101e0b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_93002ccf._.js +3 -0
- package/web/.next/server/chunks/ssr/_93002ccf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_9f191a54._.js +3 -0
- package/web/.next/server/chunks/ssr/_9f191a54._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_d6ba4d64._.js +3 -0
- package/web/.next/server/chunks/ssr/_d6ba4d64._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_e225a49c._.js +3 -0
- package/web/.next/server/chunks/ssr/_e225a49c._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_e28c6144._.js +3 -0
- package/web/.next/server/chunks/ssr/_e28c6144._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_e65abbd1._.js +3 -0
- package/web/.next/server/chunks/ssr/_e65abbd1._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_ebd74417._.js +9 -0
- package/web/.next/server/chunks/ssr/_ebd74417._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_750b8cfe._.js → _f39276bf._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_750b8cfe._.js.map → _f39276bf._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_f86fc1bf._.js +1 -1
- package/web/.next/server/chunks/ssr/_f86fc1bf._.js.map +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_28388798._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_28388798._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_72cc0c05._.js → node_modules__pnpm_632deb2b._.js} +2 -2
- package/web/.next/server/chunks/ssr/node_modules__pnpm_632deb2b._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_47181610._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_47181610._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_5d3f4199._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_5d3f4199._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_61d96ba8._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_61d96ba8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6994959a._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6994959a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_77dadf68._.js +3 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_77dadf68._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_c3f6f57e.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_c3f6f57e.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_8514dfcd._.js +3 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_8514dfcd._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b95ed206._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b95ed206._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_bade80bd._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_bade80bd._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_c543cf3e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_c543cf3e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_bb8735f7._.js → src_presentation_web_components_ui_dropdown-menu_tsx_229332e3._.js} +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_dropdown-menu_tsx_229332e3._.js.map +1 -0
- package/web/.next/server/chunks/ssr/translations_1562ae1a._.js +1 -1
- package/web/.next/server/chunks/ssr/translations_1562ae1a._.js.map +1 -1
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +165 -86
- package/web/.next/static/chunks/{113f38481fc14902.js → 08fd591b02975483.js} +12 -12
- package/web/.next/static/chunks/{74d3f880029b266f.js → 0b974caf7e3c6fea.js} +1 -1
- package/web/.next/static/chunks/116e8d2a69619e48.js +1 -0
- package/web/.next/static/chunks/1b72915af68bd327.js +1 -0
- package/web/.next/static/chunks/{e0f33f0d6cb8cf21.js → 1f2f77dd2f63f257.js} +1 -1
- package/web/.next/static/chunks/3031618bf02ecd26.js +1 -0
- package/web/.next/static/chunks/{d770f7a879b2f43a.js → 3caa2489e09df522.js} +1 -1
- package/web/.next/static/chunks/463c8dd86ed296c9.js +1 -0
- package/web/.next/static/chunks/{6bac882ad18c881c.js → 534c414bd5e096af.js} +2 -2
- package/web/.next/static/chunks/59e96a965c1cc25b.js +7 -0
- package/web/.next/static/chunks/5a2f5a3c29c6c3dd.js +1 -0
- package/web/.next/static/chunks/616760ae36cf397f.js +1 -0
- package/web/.next/static/chunks/{6512133101a3eb85.js → 6aa8cfb9a0673778.js} +3 -3
- package/web/.next/static/chunks/772f87225f881091.css +1 -0
- package/web/.next/static/chunks/854d1bb6e05cadeb.js +1 -0
- package/web/.next/static/chunks/86ce4c6dcb228907.js +1 -0
- package/web/.next/static/chunks/86e9d633379e74e8.js +5 -0
- package/web/.next/static/chunks/88aa4f96ec9e8349.js +1 -0
- package/web/.next/static/chunks/{7f25b508e717b00c.js → a3ea2afcbac5ac67.js} +1 -1
- package/web/.next/static/chunks/{270528435203323f.js → b58faaa9802033ff.js} +1 -1
- package/web/.next/static/chunks/b9102b4bbe2f64f9.js +1 -0
- package/web/.next/static/chunks/b944b65ad181b84d.js +1 -0
- package/web/.next/static/chunks/c77489661f071f47.js +1 -0
- package/web/.next/static/chunks/cadb8f07b3c1e864.js +1 -0
- package/web/.next/static/chunks/d3224741c62e8767.js +1 -0
- package/web/.next/static/chunks/d51b987a73d58809.js +1 -0
- package/web/.next/static/chunks/e99459f76df95a70.js +1 -0
- package/web/.next/static/chunks/{9c4c03206c46abd2.js → f318341087d1415a.js} +1 -1
- package/web/.next/static/chunks/f76f1155e5d0d296.js +1 -0
- package/web/.next/static/chunks/fc5dbf92b25edf22.js +1 -0
- package/apis/json-schema/CloudDeploymentProvider.yaml +0 -10
- package/apis/json-schema/CloudDeploymentStatus.yaml +0 -11
- package/apis/json-schema/InteractiveSessionEventType.yaml +0 -9
- package/dist/packages/core/src/application/ports/output/agents/agent-session-repository-registry.interface.d.ts +0 -23
- package/dist/packages/core/src/application/ports/output/agents/agent-session-repository-registry.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/agents/agent-session-repository-registry.interface.js +0 -12
- package/dist/packages/core/src/application/ports/output/repositories/cloud-provider-tokens.repository.interface.d.ts +0 -29
- package/dist/packages/core/src/application/ports/output/repositories/cloud-provider-tokens.repository.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/repositories/cloud-provider-tokens.repository.interface.js +0 -9
- package/dist/packages/core/src/application/ports/output/services/attachment-storage.interface.d.ts +0 -31
- package/dist/packages/core/src/application/ports/output/services/attachment-storage.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/attachment-storage.interface.js +0 -9
- package/dist/packages/core/src/application/ports/output/services/cloud-deployment-event-bus.interface.d.ts +0 -23
- package/dist/packages/core/src/application/ports/output/services/cloud-deployment-event-bus.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/cloud-deployment-event-bus.interface.js +0 -8
- package/dist/packages/core/src/application/ports/output/services/cloud-deployment-provider-registry.interface.d.ts +0 -30
- package/dist/packages/core/src/application/ports/output/services/cloud-deployment-provider-registry.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/cloud-deployment-provider-registry.interface.js +0 -9
- package/dist/packages/core/src/application/ports/output/services/cloud-deployment-provider.interface.d.ts +0 -54
- package/dist/packages/core/src/application/ports/output/services/cloud-deployment-provider.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/cloud-deployment-provider.interface.js +0 -10
- package/dist/packages/core/src/application/ports/output/services/conflict-resolution.interface.d.ts +0 -36
- package/dist/packages/core/src/application/ports/output/services/conflict-resolution.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/conflict-resolution.interface.js +0 -8
- package/dist/packages/core/src/application/ports/output/services/git-commit.service.interface.d.ts +0 -47
- package/dist/packages/core/src/application/ports/output/services/git-commit.service.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/git-commit.service.interface.js +0 -19
- package/dist/packages/core/src/application/ports/output/services/git-remote.service.interface.d.ts +0 -41
- package/dist/packages/core/src/application/ports/output/services/git-remote.service.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/git-remote.service.interface.js +0 -18
- package/dist/packages/core/src/application/ports/output/services/logger.interface.d.ts +0 -14
- package/dist/packages/core/src/application/ports/output/services/logger.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/logger.interface.js +0 -8
- package/dist/packages/core/src/application/ports/output/services/node-helpers.interface.d.ts +0 -28
- package/dist/packages/core/src/application/ports/output/services/node-helpers.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/node-helpers.interface.js +0 -8
- package/dist/packages/core/src/application/ports/output/services/phase-timing-context.interface.d.ts +0 -25
- package/dist/packages/core/src/application/ports/output/services/phase-timing-context.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/phase-timing-context.interface.js +0 -9
- package/dist/packages/core/src/application/ports/output/services/process-liveness.interface.d.ts +0 -20
- package/dist/packages/core/src/application/ports/output/services/process-liveness.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/process-liveness.interface.js +0 -12
- package/dist/packages/core/src/application/ports/output/services/spec-artifact-parser.interface.d.ts +0 -37
- package/dist/packages/core/src/application/ports/output/services/spec-artifact-parser.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/spec-artifact-parser.interface.js +0 -14
- package/dist/packages/core/src/application/ports/output/services/tool-metadata-provider.interface.d.ts +0 -85
- package/dist/packages/core/src/application/ports/output/services/tool-metadata-provider.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/tool-metadata-provider.interface.js +0 -9
- package/dist/packages/core/src/application/ports/output/services/worktree-path-provider.interface.d.ts +0 -22
- package/dist/packages/core/src/application/ports/output/services/worktree-path-provider.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/worktree-path-provider.interface.js +0 -9
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-feature-deltas.d.ts +0 -19
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-feature-deltas.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-feature-deltas.js +0 -74
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-phase-completion-deltas.d.ts +0 -17
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-phase-completion-deltas.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-phase-completion-deltas.js +0 -31
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-pr-deltas.d.ts +0 -18
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-pr-deltas.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-pr-deltas.js +0 -43
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-session-deltas.d.ts +0 -20
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-session-deltas.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-session-deltas.js +0 -51
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-status-deltas.d.ts +0 -22
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-status-deltas.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-status-deltas.js +0 -59
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/stream-agent-events.types.d.ts +0 -73
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/stream-agent-events.types.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/stream-agent-events.types.js +0 -63
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events.use-case.d.ts +0 -79
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/agents/stream-agent-events.use-case.js +0 -291
- package/dist/packages/core/src/application/use-cases/applications/application-creation.workflow.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/applications/commit-and-push-application-changes.use-case.d.ts +0 -22
- package/dist/packages/core/src/application/use-cases/applications/commit-and-push-application-changes.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/applications/commit-and-push-application-changes.use-case.js +0 -63
- package/dist/packages/core/src/application/use-cases/applications/commit-application-changes.use-case.d.ts +0 -21
- package/dist/packages/core/src/application/use-cases/applications/commit-application-changes.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/applications/commit-application-changes.use-case.js +0 -61
- package/dist/packages/core/src/application/use-cases/cloud-deploy/connect-cloud-provider.use-case.d.ts +0 -14
- package/dist/packages/core/src/application/use-cases/cloud-deploy/connect-cloud-provider.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/cloud-deploy/connect-cloud-provider.use-case.js +0 -38
- package/dist/packages/core/src/application/use-cases/cloud-deploy/create-git-remote.use-case.d.ts +0 -12
- package/dist/packages/core/src/application/use-cases/cloud-deploy/create-git-remote.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/cloud-deploy/create-git-remote.use-case.js +0 -41
- package/dist/packages/core/src/application/use-cases/cloud-deploy/ensure-gh-authenticated.use-case.d.ts +0 -9
- package/dist/packages/core/src/application/use-cases/cloud-deploy/ensure-gh-authenticated.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/cloud-deploy/get-cloud-deployment-status.use-case.d.ts +0 -17
- package/dist/packages/core/src/application/use-cases/cloud-deploy/get-cloud-deployment-status.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/cloud-deploy/get-cloud-deployment-status.use-case.js +0 -44
- package/dist/packages/core/src/application/use-cases/cloud-deploy/initiate-cloud-deployment.use-case.d.ts +0 -27
- package/dist/packages/core/src/application/use-cases/cloud-deploy/initiate-cloud-deployment.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/cloud-deploy/initiate-cloud-deployment.use-case.js +0 -120
- package/dist/packages/core/src/application/use-cases/cloud-deploy/list-cloud-providers.use-case.d.ts +0 -16
- package/dist/packages/core/src/application/use-cases/cloud-deploy/list-cloud-providers.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/cloud-deploy/list-cloud-providers.use-case.js +0 -38
- package/dist/packages/core/src/application/use-cases/cloud-deploy/select-cloud-provider.use-case.d.ts +0 -12
- package/dist/packages/core/src/application/use-cases/cloud-deploy/select-cloud-provider.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/deployments/start-application-deployment.use-case.d.ts +0 -48
- package/dist/packages/core/src/application/use-cases/deployments/start-application-deployment.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/deployments/start-application-deployment.use-case.js +0 -99
- package/dist/packages/core/src/domain/errors/application-not-found.error.d.ts +0 -12
- package/dist/packages/core/src/domain/errors/application-not-found.error.d.ts.map +0 -1
- package/dist/packages/core/src/domain/errors/application-not-found.error.js +0 -16
- package/dist/packages/core/src/domain/errors/application-not-ready.error.d.ts +0 -12
- package/dist/packages/core/src/domain/errors/application-not-ready.error.d.ts.map +0 -1
- package/dist/packages/core/src/domain/errors/application-not-ready.error.js +0 -16
- package/dist/packages/core/src/domain/errors/application-repository-not-on-disk.error.d.ts +0 -15
- package/dist/packages/core/src/domain/errors/application-repository-not-on-disk.error.d.ts.map +0 -1
- package/dist/packages/core/src/domain/errors/application-repository-not-on-disk.error.js +0 -20
- package/dist/packages/core/src/domain/errors/build-output-not-found.error.d.ts +0 -13
- package/dist/packages/core/src/domain/errors/build-output-not-found.error.d.ts.map +0 -1
- package/dist/packages/core/src/domain/errors/build-output-not-found.error.js +0 -17
- package/dist/packages/core/src/domain/errors/cannot-deploy-self.error.d.ts +0 -14
- package/dist/packages/core/src/domain/errors/cannot-deploy-self.error.d.ts.map +0 -1
- package/dist/packages/core/src/domain/errors/cannot-deploy-self.error.js +0 -18
- package/dist/packages/core/src/domain/errors/cloud-provider-not-connected.error.d.ts +0 -12
- package/dist/packages/core/src/domain/errors/cloud-provider-not-connected.error.d.ts.map +0 -1
- package/dist/packages/core/src/domain/errors/cloud-provider-not-connected.error.js +0 -16
- package/dist/packages/core/src/domain/errors/no-provider-selected.error.d.ts +0 -13
- package/dist/packages/core/src/domain/errors/no-provider-selected.error.d.ts.map +0 -1
- package/dist/packages/core/src/domain/errors/no-provider-selected.error.js +0 -17
- package/dist/packages/core/src/domain/errors/provider-not-implemented.error.d.ts +0 -12
- package/dist/packages/core/src/domain/errors/provider-not-implemented.error.d.ts.map +0 -1
- package/dist/packages/core/src/domain/errors/provider-not-implemented.error.js +0 -16
- package/dist/packages/core/src/domain/shared/feature-id.d.ts +0 -25
- package/dist/packages/core/src/domain/shared/feature-id.d.ts.map +0 -1
- package/dist/packages/core/src/domain/shared/feature-id.js +0 -33
- package/dist/packages/core/src/domain/shared/normalize-path.d.ts +0 -21
- package/dist/packages/core/src/domain/shared/normalize-path.d.ts.map +0 -1
- package/dist/packages/core/src/domain/shared/normalize-path.js +0 -29
- package/dist/packages/core/src/domain/shared/sdlc-lifecycle-mapping.d.ts +0 -25
- package/dist/packages/core/src/domain/shared/sdlc-lifecycle-mapping.d.ts.map +0 -1
- package/dist/packages/core/src/domain/shared/sdlc-lifecycle-mapping.js +0 -40
- package/dist/packages/core/src/infrastructure/di/modules/register-agents.d.ts +0 -8
- package/dist/packages/core/src/infrastructure/di/modules/register-agents.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/di/modules/register-agents.js +0 -100
- package/dist/packages/core/src/infrastructure/di/modules/register-cloud-deploy.d.ts +0 -9
- package/dist/packages/core/src/infrastructure/di/modules/register-cloud-deploy.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/di/modules/register-cloud-deploy.js +0 -82
- package/dist/packages/core/src/infrastructure/di/modules/register-deployment.d.ts +0 -7
- package/dist/packages/core/src/infrastructure/di/modules/register-deployment.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/di/modules/register-deployment.js +0 -38
- package/dist/packages/core/src/infrastructure/di/modules/register-interactive.d.ts +0 -10
- package/dist/packages/core/src/infrastructure/di/modules/register-interactive.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/di/modules/register-interactive.js +0 -41
- package/dist/packages/core/src/infrastructure/di/modules/register-repositories.d.ts +0 -8
- package/dist/packages/core/src/infrastructure/di/modules/register-repositories.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/di/modules/register-repositories.js +0 -70
- package/dist/packages/core/src/infrastructure/di/modules/register-services.d.ts +0 -10
- package/dist/packages/core/src/infrastructure/di/modules/register-services.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/di/modules/register-services.js +0 -113
- package/dist/packages/core/src/infrastructure/di/modules/register-tools.d.ts +0 -7
- package/dist/packages/core/src/infrastructure/di/modules/register-tools.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/di/modules/register-tools.js +0 -16
- package/dist/packages/core/src/infrastructure/di/modules/register-use-cases.d.ts +0 -12
- package/dist/packages/core/src/infrastructure/di/modules/register-use-cases.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/di/modules/register-use-cases.js +0 -327
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/060-add-cloud-deploy-columns-to-applications.d.ts +0 -5
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/060-add-cloud-deploy-columns-to-applications.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/060-add-cloud-deploy-columns-to-applications.js +0 -36
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/061-create-cloud-provider-tokens-table.d.ts +0 -5
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/061-create-cloud-provider-tokens-table.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/061-create-cloud-provider-tokens-table.js +0 -20
- package/dist/packages/core/src/infrastructure/repositories/sqlite-cloud-provider-tokens.repository.d.ts +0 -20
- package/dist/packages/core/src/infrastructure/repositories/sqlite-cloud-provider-tokens.repository.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-cloud-provider-tokens.repository.js +0 -75
- package/dist/packages/core/src/infrastructure/services/agents/agent-session-repository.registry.d.ts +0 -30
- package/dist/packages/core/src/infrastructure/services/agents/agent-session-repository.registry.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.adapter.d.ts +0 -14
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.adapter.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.adapter.js +0 -28
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/phase-timing-context.adapter.d.ts +0 -14
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/phase-timing-context.adapter.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/phase-timing-context.adapter.js +0 -25
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/aws-amplify.provider.stub.d.ts +0 -7
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/aws-amplify.provider.stub.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/aws-amplify.provider.stub.js +0 -17
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/base-provider-stub.d.ts +0 -21
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/base-provider-stub.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/base-provider-stub.js +0 -22
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloud-deployment-errors.d.ts +0 -24
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloud-deployment-errors.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloud-deployment-errors.js +0 -25
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloud-deployment-provider.registry.d.ts +0 -19
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloud-deployment-provider.registry.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloud-deployment-provider.registry.js +0 -48
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloudflare-pages.provider.d.ts +0 -52
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloudflare-pages.provider.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloudflare-pages.provider.js +0 -208
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/gcp-cloud-run.provider.stub.d.ts +0 -7
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/gcp-cloud-run.provider.stub.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/gcp-cloud-run.provider.stub.js +0 -17
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/netlify.provider.stub.d.ts +0 -7
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/netlify.provider.stub.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/netlify.provider.stub.js +0 -17
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/vercel.provider.stub.d.ts +0 -7
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/vercel.provider.stub.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/cloud-deploy/vercel.provider.stub.js +0 -17
- package/dist/packages/core/src/infrastructure/services/crypto/local-secret-box.d.ts +0 -29
- package/dist/packages/core/src/infrastructure/services/crypto/local-secret-box.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/crypto/local-secret-box.js +0 -48
- package/dist/packages/core/src/infrastructure/services/crypto/secret-key-file.d.ts +0 -23
- package/dist/packages/core/src/infrastructure/services/crypto/secret-key-file.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/crypto/secret-key-file.js +0 -46
- package/dist/packages/core/src/infrastructure/services/events/in-memory-cloud-deployment-event-bus.d.ts +0 -14
- package/dist/packages/core/src/infrastructure/services/events/in-memory-cloud-deployment-event-bus.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/events/in-memory-cloud-deployment-event-bus.js +0 -37
- package/dist/packages/core/src/infrastructure/services/git/git-commit.service.d.ts +0 -20
- package/dist/packages/core/src/infrastructure/services/git/git-commit.service.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/git/git-commit.service.js +0 -99
- package/dist/packages/core/src/infrastructure/services/git/git-remote.service.d.ts +0 -23
- package/dist/packages/core/src/infrastructure/services/git/git-remote.service.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/git/git-remote.service.js +0 -131
- package/dist/packages/core/src/infrastructure/services/ide-launchers/worktree-path.provider.d.ts +0 -12
- package/dist/packages/core/src/infrastructure/services/ide-launchers/worktree-path.provider.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/ide-launchers/worktree-path.provider.js +0 -24
- package/dist/packages/core/src/infrastructure/services/logging/console-logger.d.ts +0 -14
- package/dist/packages/core/src/infrastructure/services/logging/console-logger.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/logging/console-logger.js +0 -53
- package/dist/packages/core/src/infrastructure/services/process/process-liveness.adapter.d.ts +0 -11
- package/dist/packages/core/src/infrastructure/services/process/process-liveness.adapter.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/process/process-liveness.adapter.js +0 -23
- package/dist/packages/core/src/infrastructure/services/spec/spec-yaml-parser.service.d.ts +0 -24
- package/dist/packages/core/src/infrastructure/services/spec/spec-yaml-parser.service.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/spec/spec-yaml-parser.service.js +0 -124
- package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.provider.d.ts +0 -17
- package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.provider.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.provider.js +0 -31
- package/dist/src/presentation/cli/commands/app/cloud-providers/connect.command.d.ts +0 -10
- package/dist/src/presentation/cli/commands/app/cloud-providers/connect.command.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/app/cloud-providers/connect.command.js +0 -62
- package/dist/src/presentation/cli/commands/app/cloud-providers/github-login.command.d.ts +0 -10
- package/dist/src/presentation/cli/commands/app/cloud-providers/github-login.command.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/app/cloud-providers/github-login.command.js +0 -52
- package/dist/src/presentation/cli/commands/app/cloud-providers/index.d.ts +0 -10
- package/dist/src/presentation/cli/commands/app/cloud-providers/index.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/app/cloud-providers/index.js +0 -18
- package/dist/src/presentation/cli/commands/app/cloud-providers/ls.command.d.ts +0 -8
- package/dist/src/presentation/cli/commands/app/cloud-providers/ls.command.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/app/cloud-providers/ls.command.js +0 -40
- package/dist/src/presentation/cli/commands/app/deploy/index.d.ts +0 -8
- package/dist/src/presentation/cli/commands/app/deploy/index.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/app/deploy/index.js +0 -14
- package/dist/src/presentation/cli/commands/app/deploy/initiate.command.d.ts +0 -10
- package/dist/src/presentation/cli/commands/app/deploy/initiate.command.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/app/deploy/initiate.command.js +0 -86
- package/dist/src/presentation/cli/commands/app/deploy/status.command.d.ts +0 -8
- package/dist/src/presentation/cli/commands/app/deploy/status.command.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/app/deploy/status.command.js +0 -49
- package/dist/src/presentation/cli/commands/app/git/create-remote.command.d.ts +0 -10
- package/dist/src/presentation/cli/commands/app/git/create-remote.command.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/app/git/create-remote.command.js +0 -49
- package/dist/src/presentation/cli/commands/app/git/index.d.ts +0 -9
- package/dist/src/presentation/cli/commands/app/git/index.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/app/git/index.js +0 -13
- package/dist/src/presentation/web/app/actions/applications/commit-and-push-application-changes.d.ts +0 -11
- package/dist/src/presentation/web/app/actions/applications/commit-and-push-application-changes.d.ts.map +0 -1
- package/dist/src/presentation/web/app/actions/applications/commit-and-push-application-changes.js +0 -22
- package/dist/src/presentation/web/app/actions/applications/commit-application-changes.d.ts +0 -10
- package/dist/src/presentation/web/app/actions/applications/commit-application-changes.d.ts.map +0 -1
- package/dist/src/presentation/web/app/actions/applications/commit-application-changes.js +0 -22
- package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/initiate/route.d.ts +0 -19
- package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/initiate/route.d.ts.map +0 -1
- package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/initiate/route.js +0 -43
- package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/select-provider/route.d.ts +0 -16
- package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/select-provider/route.d.ts.map +0 -1
- package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/select-provider/route.js +0 -35
- package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/status/route.d.ts +0 -16
- package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/status/route.d.ts.map +0 -1
- package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/status/route.js +0 -23
- package/dist/src/presentation/web/app/api/applications/[id]/git/create-remote/route.d.ts +0 -20
- package/dist/src/presentation/web/app/api/applications/[id]/git/create-remote/route.d.ts.map +0 -1
- package/dist/src/presentation/web/app/api/applications/[id]/git/create-remote/route.js +0 -31
- package/dist/src/presentation/web/app/api/cloud-providers/[provider]/connect/route.d.ts +0 -18
- package/dist/src/presentation/web/app/api/cloud-providers/[provider]/connect/route.d.ts.map +0 -1
- package/dist/src/presentation/web/app/api/cloud-providers/[provider]/connect/route.js +0 -38
- package/dist/src/presentation/web/app/api/cloud-providers/github/auth-login/route.d.ts +0 -11
- package/dist/src/presentation/web/app/api/cloud-providers/github/auth-login/route.d.ts.map +0 -1
- package/dist/src/presentation/web/app/api/cloud-providers/github/auth-login/route.js +0 -24
- package/dist/src/presentation/web/app/api/cloud-providers/github/auth-status/route.d.ts +0 -9
- package/dist/src/presentation/web/app/api/cloud-providers/github/auth-status/route.d.ts.map +0 -1
- package/dist/src/presentation/web/app/api/cloud-providers/github/auth-status/route.js +0 -18
- package/dist/src/presentation/web/app/api/cloud-providers/route.d.ts +0 -10
- package/dist/src/presentation/web/app/api/cloud-providers/route.d.ts.map +0 -1
- package/dist/src/presentation/web/app/api/cloud-providers/route.js +0 -19
- package/dist/src/presentation/web/components/features/application-page/app-top-bar.d.ts +0 -27
- package/dist/src/presentation/web/components/features/application-page/app-top-bar.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/app-top-bar.js +0 -24
- package/dist/src/presentation/web/components/features/application-page/app-top-bar.stories.d.ts +0 -9
- package/dist/src/presentation/web/components/features/application-page/app-top-bar.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/app-top-bar.stories.js +0 -79
- package/dist/src/presentation/web/components/features/application-page/application-page-loader.stories.d.ts +0 -8
- package/dist/src/presentation/web/components/features/application-page/application-page-loader.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/application-page-loader.stories.js +0 -63
- package/dist/src/presentation/web/components/features/application-page/cloud-provider-icons.d.ts +0 -22
- package/dist/src/presentation/web/components/features/application-page/cloud-provider-icons.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/cloud-provider-icons.js +0 -28
- package/dist/src/presentation/web/components/features/application-page/connect-provider-modal.d.ts +0 -8
- package/dist/src/presentation/web/components/features/application-page/connect-provider-modal.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/connect-provider-modal.js +0 -61
- package/dist/src/presentation/web/components/features/application-page/connect-provider-modal.stories.d.ts +0 -10
- package/dist/src/presentation/web/components/features/application-page/connect-provider-modal.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/connect-provider-modal.stories.js +0 -40
- package/dist/src/presentation/web/components/features/application-page/copy-prompt-button.d.ts +0 -5
- package/dist/src/presentation/web/components/features/application-page/copy-prompt-button.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/copy-prompt-button.js +0 -37
- package/dist/src/presentation/web/components/features/application-page/copy-prompt-button.stories.d.ts +0 -8
- package/dist/src/presentation/web/components/features/application-page/copy-prompt-button.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/copy-prompt-button.stories.js +0 -13
- package/dist/src/presentation/web/components/features/application-page/create-github-repo-button.d.ts +0 -9
- package/dist/src/presentation/web/components/features/application-page/create-github-repo-button.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/create-github-repo-button.js +0 -85
- package/dist/src/presentation/web/components/features/application-page/create-github-repo-button.stories.d.ts +0 -9
- package/dist/src/presentation/web/components/features/application-page/create-github-repo-button.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/create-github-repo-button.stories.js +0 -19
- package/dist/src/presentation/web/components/features/application-page/delete-button.d.ts +0 -6
- package/dist/src/presentation/web/components/features/application-page/delete-button.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/delete-button.js +0 -24
- package/dist/src/presentation/web/components/features/application-page/delete-button.stories.d.ts +0 -8
- package/dist/src/presentation/web/components/features/application-page/delete-button.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/delete-button.stories.js +0 -16
- package/dist/src/presentation/web/components/features/application-page/deploy-button.d.ts +0 -8
- package/dist/src/presentation/web/components/features/application-page/deploy-button.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/deploy-button.js +0 -94
- package/dist/src/presentation/web/components/features/application-page/deploy-button.stories.d.ts +0 -11
- package/dist/src/presentation/web/components/features/application-page/deploy-button.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/deploy-button.stories.js +0 -53
- package/dist/src/presentation/web/components/features/application-page/git-status-cluster.d.ts +0 -13
- package/dist/src/presentation/web/components/features/application-page/git-status-cluster.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/git-status-cluster.js +0 -113
- package/dist/src/presentation/web/components/features/application-page/git-status-cluster.stories.d.ts +0 -8
- package/dist/src/presentation/web/components/features/application-page/git-status-cluster.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/git-status-cluster.stories.js +0 -19
- package/dist/src/presentation/web/components/features/application-page/path-cluster.d.ts +0 -6
- package/dist/src/presentation/web/components/features/application-page/path-cluster.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/path-cluster.js +0 -32
- package/dist/src/presentation/web/components/features/application-page/path-cluster.stories.d.ts +0 -8
- package/dist/src/presentation/web/components/features/application-page/path-cluster.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/path-cluster.stories.js +0 -19
- package/dist/src/presentation/web/components/features/application-page/provider-dropdown.d.ts +0 -26
- package/dist/src/presentation/web/components/features/application-page/provider-dropdown.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/provider-dropdown.js +0 -30
- package/dist/src/presentation/web/components/features/application-page/provider-dropdown.stories.d.ts +0 -10
- package/dist/src/presentation/web/components/features/application-page/provider-dropdown.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/provider-dropdown.stories.js +0 -80
- package/dist/src/presentation/web/components/features/application-page/resizable-split.d.ts +0 -7
- package/dist/src/presentation/web/components/features/application-page/resizable-split.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/resizable-split.js +0 -30
- package/dist/src/presentation/web/components/features/application-page/resizable-split.stories.d.ts +0 -8
- package/dist/src/presentation/web/components/features/application-page/resizable-split.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/resizable-split.stories.js +0 -23
- package/dist/src/presentation/web/components/features/application-page/run-dev-button.stories.d.ts +0 -12
- package/dist/src/presentation/web/components/features/application-page/run-dev-button.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/run-dev-button.stories.js +0 -53
- package/dist/src/presentation/web/components/features/application-page/session-chip.d.ts +0 -9
- package/dist/src/presentation/web/components/features/application-page/session-chip.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/session-chip.js +0 -38
- package/dist/src/presentation/web/components/features/application-page/session-chip.stories.d.ts +0 -8
- package/dist/src/presentation/web/components/features/application-page/session-chip.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/session-chip.stories.js +0 -16
- package/dist/src/presentation/web/components/features/application-page/status-pill.d.ts +0 -8
- package/dist/src/presentation/web/components/features/application-page/status-pill.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/status-pill.js +0 -16
- package/dist/src/presentation/web/components/features/application-page/status-pill.stories.d.ts +0 -8
- package/dist/src/presentation/web/components/features/application-page/status-pill.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/status-pill.stories.js +0 -22
- package/dist/src/presentation/web/components/features/application-page/terminal-tab.stories.d.ts +0 -15
- package/dist/src/presentation/web/components/features/application-page/terminal-tab.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/terminal-tab.stories.js +0 -31
- package/dist/src/presentation/web/components/features/application-page/use-dev-server-coordinator.d.ts +0 -14
- package/dist/src/presentation/web/components/features/application-page/use-dev-server-coordinator.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/use-dev-server-coordinator.js +0 -82
- package/dist/src/presentation/web/components/features/application-page/view-body.d.ts +0 -17
- package/dist/src/presentation/web/components/features/application-page/view-body.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/view-body.js +0 -25
- package/dist/src/presentation/web/components/features/application-page/view-body.stories.d.ts +0 -8
- package/dist/src/presentation/web/components/features/application-page/view-body.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/view-body.stories.js +0 -42
- package/dist/src/presentation/web/components/features/application-page/view-switcher.d.ts +0 -10
- package/dist/src/presentation/web/components/features/application-page/view-switcher.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/view-switcher.js +0 -18
- package/dist/src/presentation/web/components/features/application-page/view-switcher.stories.d.ts +0 -8
- package/dist/src/presentation/web/components/features/application-page/view-switcher.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/view-switcher.stories.js +0 -13
- package/dist/src/presentation/web/components/features/application-page/web-preview-tab.stories.d.ts +0 -10
- package/dist/src/presentation/web/components/features/application-page/web-preview-tab.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/application-page/web-preview-tab.stories.js +0 -49
- package/dist/src/presentation/web/hooks/use-cloud-deploy-action.d.ts +0 -20
- package/dist/src/presentation/web/hooks/use-cloud-deploy-action.d.ts.map +0 -1
- package/dist/src/presentation/web/hooks/use-cloud-deploy-action.js +0 -120
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/initiate/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/initiate/route/build-manifest.json +0 -11
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/initiate/route/server-reference-manifest.json +0 -4
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/initiate/route.js +0 -7
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/initiate/route.js.nft.json +0 -1
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/initiate/route_client-reference-manifest.js +0 -2
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route/build-manifest.json +0 -11
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route/server-reference-manifest.json +0 -4
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route.js +0 -7
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route.js.map +0 -5
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route.js.nft.json +0 -1
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route_client-reference-manifest.js +0 -2
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route/build-manifest.json +0 -11
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route/server-reference-manifest.json +0 -4
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route.js +0 -7
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route.js.map +0 -5
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route.js.nft.json +0 -1
- package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route_client-reference-manifest.js +0 -2
- package/web/.next/server/app/api/applications/[id]/git/create-remote/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/api/applications/[id]/git/create-remote/route/build-manifest.json +0 -11
- package/web/.next/server/app/api/applications/[id]/git/create-remote/route/server-reference-manifest.json +0 -4
- package/web/.next/server/app/api/applications/[id]/git/create-remote/route.js +0 -7
- package/web/.next/server/app/api/applications/[id]/git/create-remote/route.js.map +0 -5
- package/web/.next/server/app/api/applications/[id]/git/create-remote/route.js.nft.json +0 -1
- package/web/.next/server/app/api/applications/[id]/git/create-remote/route_client-reference-manifest.js +0 -2
- package/web/.next/server/app/api/cloud-providers/[provider]/connect/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/api/cloud-providers/[provider]/connect/route/build-manifest.json +0 -11
- package/web/.next/server/app/api/cloud-providers/[provider]/connect/route/server-reference-manifest.json +0 -4
- package/web/.next/server/app/api/cloud-providers/[provider]/connect/route.js +0 -7
- package/web/.next/server/app/api/cloud-providers/[provider]/connect/route.js.map +0 -5
- package/web/.next/server/app/api/cloud-providers/[provider]/connect/route.js.nft.json +0 -1
- package/web/.next/server/app/api/cloud-providers/[provider]/connect/route_client-reference-manifest.js +0 -2
- package/web/.next/server/app/api/cloud-providers/github/auth-login/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/api/cloud-providers/github/auth-login/route/build-manifest.json +0 -11
- package/web/.next/server/app/api/cloud-providers/github/auth-login/route/server-reference-manifest.json +0 -4
- package/web/.next/server/app/api/cloud-providers/github/auth-login/route.js +0 -7
- package/web/.next/server/app/api/cloud-providers/github/auth-login/route.js.map +0 -5
- package/web/.next/server/app/api/cloud-providers/github/auth-login/route.js.nft.json +0 -1
- package/web/.next/server/app/api/cloud-providers/github/auth-login/route_client-reference-manifest.js +0 -2
- package/web/.next/server/app/api/cloud-providers/github/auth-status/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/api/cloud-providers/github/auth-status/route/build-manifest.json +0 -11
- package/web/.next/server/app/api/cloud-providers/github/auth-status/route/server-reference-manifest.json +0 -4
- package/web/.next/server/app/api/cloud-providers/github/auth-status/route.js +0 -7
- package/web/.next/server/app/api/cloud-providers/github/auth-status/route.js.map +0 -5
- package/web/.next/server/app/api/cloud-providers/github/auth-status/route.js.nft.json +0 -1
- package/web/.next/server/app/api/cloud-providers/github/auth-status/route_client-reference-manifest.js +0 -2
- package/web/.next/server/app/api/cloud-providers/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/api/cloud-providers/route/build-manifest.json +0 -11
- package/web/.next/server/app/api/cloud-providers/route/server-reference-manifest.json +0 -4
- package/web/.next/server/app/api/cloud-providers/route.js +0 -7
- package/web/.next/server/app/api/cloud-providers/route.js.map +0 -5
- package/web/.next/server/app/api/cloud-providers/route.js.nft.json +0 -1
- package/web/.next/server/app/api/cloud-providers/route_client-reference-manifest.js +0 -2
- package/web/.next/server/chunks/20c8b_app_api_applications_[id]_cloud-deploy_select-provider_route_actions_0b41b3f7.js +0 -3
- package/web/.next/server/chunks/20c8b_app_api_applications_[id]_cloud-deploy_select-provider_route_actions_0b41b3f7.js.map +0 -1
- package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_cloud-providers_route_actions_b29d775a.js +0 -3
- package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_cloud-providers_route_actions_b29d775a.js.map +0 -1
- package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_cloud-deploy_initiate_route_actions_b4867bc6.js +0 -3
- package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_cloud-deploy_initiate_route_actions_b4867bc6.js.map +0 -1
- package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_cloud-deploy_status_route_actions_9a3b876b.js +0 -3
- package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_cloud-deploy_status_route_actions_9a3b876b.js.map +0 -1
- package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_git_create-remote_route_actions_41c42379.js +0 -3
- package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_git_create-remote_route_actions_41c42379.js.map +0 -1
- package/web/.next/server/chunks/8ba4b_server_app_api_cloud-providers_[provider]_connect_route_actions_a0ca54c4.js +0 -3
- package/web/.next/server/chunks/8ba4b_server_app_api_cloud-providers_[provider]_connect_route_actions_a0ca54c4.js.map +0 -1
- package/web/.next/server/chunks/8ba4b_server_app_api_cloud-providers_github_auth-login_route_actions_7bef847d.js +0 -3
- package/web/.next/server/chunks/8ba4b_server_app_api_cloud-providers_github_auth-login_route_actions_7bef847d.js.map +0 -1
- package/web/.next/server/chunks/8ba4b_server_app_api_cloud-providers_github_auth-status_route_actions_8cdaeffc.js +0 -3
- package/web/.next/server/chunks/8ba4b_server_app_api_cloud-providers_github_auth-status_route_actions_8cdaeffc.js.map +0 -1
- package/web/.next/server/chunks/[root-of-the-server]__2c15d675._.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__2c15d675._.js.map +0 -1
- package/web/.next/server/chunks/[root-of-the-server]__3b3b8980._.js +0 -9
- package/web/.next/server/chunks/[root-of-the-server]__3b3b8980._.js.map +0 -1
- package/web/.next/server/chunks/[root-of-the-server]__631f5bbe._.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__631f5bbe._.js.map +0 -1
- package/web/.next/server/chunks/[root-of-the-server]__770c0c09._.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__770c0c09._.js.map +0 -1
- package/web/.next/server/chunks/[root-of-the-server]__83e9501d._.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__83e9501d._.js.map +0 -1
- package/web/.next/server/chunks/[root-of-the-server]__9017bfe4._.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__9017bfe4._.js.map +0 -1
- package/web/.next/server/chunks/[root-of-the-server]__90eb0e51._.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__90eb0e51._.js.map +0 -1
- package/web/.next/server/chunks/[root-of-the-server]__9bf8eb9d._.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__9bf8eb9d._.js.map +0 -1
- package/web/.next/server/chunks/[root-of-the-server]__b78eeb4f._.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__b78eeb4f._.js.map +0 -1
- package/web/.next/server/chunks/[root-of-the-server]__cac531cb._.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__cac531cb._.js.map +0 -1
- package/web/.next/server/chunks/[root-of-the-server]__e7e98696._.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__e7e98696._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__01559f4c._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__01559f4c._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0f0865b6._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0f0865b6._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__494cf0fb._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__78e103c3._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__78e103c3._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_15173081._.js +0 -3
- package/web/.next/server/chunks/ssr/_15173081._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1da7af78._.js +0 -3
- package/web/.next/server/chunks/ssr/_1da7af78._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_22d60ea8._.js +0 -3
- package/web/.next/server/chunks/ssr/_22d60ea8._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_28d8fc85._.js +0 -3
- package/web/.next/server/chunks/ssr/_28d8fc85._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_35b56ded._.js +0 -3
- package/web/.next/server/chunks/ssr/_35b56ded._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_4b57bcc3._.js +0 -9
- package/web/.next/server/chunks/ssr/_4b57bcc3._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_5b868d9b._.js +0 -3
- package/web/.next/server/chunks/ssr/_5b868d9b._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_5bf2415e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_6401fcb4._.js +0 -3
- package/web/.next/server/chunks/ssr/_6401fcb4._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_66d02826._.js +0 -3
- package/web/.next/server/chunks/ssr/_66d02826._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_68befcc0._.js +0 -3
- package/web/.next/server/chunks/ssr/_68befcc0._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_72cc0c05._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_82c47cc2._.js +0 -3
- package/web/.next/server/chunks/ssr/_82c47cc2._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_bb8735f7._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_e9a4c41e._.js +0 -3
- package/web/.next/server/chunks/ssr/_e9a4c41e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_ef697bcb._.js +0 -3
- package/web/.next/server/chunks/ssr/_ef697bcb._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_03825509._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules__pnpm_03825509._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_747b43ac._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules__pnpm_747b43ac._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_b4a5d907._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules__pnpm_b4a5d907._.js.map +0 -1
- package/web/.next/static/chunks/0412f29f896ee09c.js +0 -1
- package/web/.next/static/chunks/0b7fc927918d27b7.js +0 -1
- package/web/.next/static/chunks/0de93c756f719ec3.js +0 -1
- package/web/.next/static/chunks/19327577e3a31a12.js +0 -1
- package/web/.next/static/chunks/21122562afc22707.js +0 -1
- package/web/.next/static/chunks/4f09cbb36f0ee7bc.js +0 -1
- package/web/.next/static/chunks/4fdc8e750df8ca80.js +0 -1
- package/web/.next/static/chunks/544aff2bfab6627d.js +0 -1
- package/web/.next/static/chunks/5a686ebc9fc2add1.js +0 -1
- package/web/.next/static/chunks/63b0b9bd3d9e77c1.js +0 -1
- package/web/.next/static/chunks/693bac34da5f5767.js +0 -1
- package/web/.next/static/chunks/6a7d6f15d3366b65.js +0 -1
- package/web/.next/static/chunks/6d56af6ae0a033a6.js +0 -5
- package/web/.next/static/chunks/8a44ba83aaeb4b83.js +0 -1
- package/web/.next/static/chunks/9b34d8c773ee0165.js +0 -1
- package/web/.next/static/chunks/abe2a450d1e2f77d.js +0 -1
- package/web/.next/static/chunks/b7c8bf8006038a6c.js +0 -1
- package/web/.next/static/chunks/c6011887cf4bc18e.js +0 -1
- package/web/.next/static/chunks/c7659438d8afcb6b.js +0 -1
- package/web/.next/static/chunks/d9ca1010cff1e77d.css +0 -1
- package/web/.next/static/chunks/f7677be24e542028.js +0 -7
- package/web/.next/static/chunks/fb0dc8b38808eaae.js +0 -1
- /package/dist/packages/core/src/application/{use-cases/applications → workflows}/application-creation.workflow.d.ts +0 -0
- /package/dist/packages/core/src/application/{use-cases/applications → workflows}/application-creation.workflow.js +0 -0
- /package/web/.next/server/app/{api/applications/[id]/cloud-deploy/initiate/route.js.map → plugins/page.js.map} +0 -0
- /package/web/.next/server/chunks/{[root-of-the-server]__582ebd78._.js.map → [root-of-the-server]__0702fed9._.js.map} +0 -0
- /package/web/.next/server/chunks/{[root-of-the-server]__76a92098._.js.map → [root-of-the-server]__88c71186._.js.map} +0 -0
- /package/web/.next/server/chunks/{[root-of-the-server]__7de24eaf._.js.map → [root-of-the-server]__8b6abaa3._.js.map} +0 -0
- /package/web/.next/server/chunks/{[root-of-the-server]__1133b25d._.js.map → [root-of-the-server]__dbb420e4._.js.map} +0 -0
- /package/web/.next/static/{FRWpPK0Bg6IM4rVnqge0Z → H1ozIesERGbwQQ6nOO8UC}/_buildManifest.js +0 -0
- /package/web/.next/static/{FRWpPK0Bg6IM4rVnqge0Z → H1ozIesERGbwQQ6nOO8UC}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{FRWpPK0Bg6IM4rVnqge0Z → H1ozIesERGbwQQ6nOO8UC}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/presentation/web/app/build-feature-node-data.ts","../../../../../../../src/presentation/web/app/actions/approve-feature.ts","../../../../../../../src/presentation/web/app/actions/reject-feature.ts","../../../../../../../src/presentation/web/app/actions/get-feature-artifact.ts","../../../../../../../src/presentation/web/app/actions/get-research-artifact.ts","../../../../../../../src/presentation/web/app/actions/get-merge-review-data.ts","../../../../../../../src/presentation/web/app/actions/get-feature-phase-timings.ts","../../../../../../../src/presentation/web/app/actions/get-feature-plan.ts","../../../../../../../src/presentation/web/app/actions/rebase-feature.ts","../../../../../../../src/presentation/web/app/actions/get-feature-drawer-data.ts","../../../../../../../src/presentation/web/app/actions/get-branch-sync-status.ts","../../../../../../../src/presentation/web/app/actions/update-feature-pinned-config.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/%40drawer/feature/%5BfeatureId%5D/%5Btab%5D/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["import type { Feature, AgentRun } from '@shepai/core/domain/generated/output';\nimport { AgentRunStatus } from '@shepai/core/domain/generated/output';\nimport {\n deriveNodeState,\n deriveProgress,\n deriveLifecycle,\n} from '@/components/common/feature-node/derive-feature-state';\nimport { isProcessAlive } from '@shepai/core/infrastructure/services/process/is-process-alive';\nimport { computeWorktreePath } from '@shepai/core/infrastructure/services/ide-launchers/compute-worktree-path';\nimport type { FeatureNodeData } from '@/components/common/feature-node';\n\nexport interface BuildFeatureNodeDataOptions {\n baseBranch?: string;\n repositoryName?: string;\n /** AI-generated one-liner from FeatureArtifact */\n oneLiner?: string;\n /** Remote URL for the repository (HTTPS) */\n remoteUrl?: string;\n /** Whether evidence collection is enabled (global workflow setting) */\n enableEvidence?: boolean;\n /** Whether evidence is committed to the PR body (global workflow setting) */\n commitEvidence?: boolean;\n /** Whether CI watch/fix loop is enabled (global workflow setting) */\n ciWatchEnabled?: boolean;\n /** Whether to hide CI status badges from UI (global workflow setting) */\n hideCiStatus?: boolean;\n}\n\n/**\n * Builds a FeatureNodeData object from a Feature entity and optional AgentRun.\n * This is the single-feature version of the logic in `buildGraphNodes`.\n */\nexport function buildFeatureNodeData(\n feature: Feature,\n run: AgentRun | null,\n options?: BuildFeatureNodeDataOptions\n): FeatureNodeData {\n // Detect crashed agents: DB says running/pending but PID is dead\n const isActive = run?.status === AgentRunStatus.running || run?.status === AgentRunStatus.pending;\n const pidAlive = isActive && run?.pid ? isProcessAlive(run.pid) : undefined;\n\n return {\n name: feature.name,\n description: feature.description ?? feature.slug,\n featureId: feature.id,\n lifecycle: deriveLifecycle(feature, run),\n repositoryPath: feature.repositoryPath,\n branch: feature.branch,\n worktreePath:\n feature.worktreePath ?? computeWorktreePath(feature.repositoryPath, feature.branch),\n specPath: feature.specPath,\n state: deriveNodeState(\n feature,\n run,\n pidAlive !== undefined ? { isPidAlive: pidAlive } : undefined\n ),\n progress: deriveProgress(feature),\n summary: feature.description,\n userQuery: feature.userQuery,\n createdAt: feature.createdAt instanceof Date ? feature.createdAt.getTime() : feature.createdAt,\n ...(feature.fast && { fastMode: true }),\n approvalGates: feature.approvalGates,\n push: feature.push,\n openPr: feature.openPr,\n forkAndPr: feature.forkAndPr,\n commitSpecs: feature.commitSpecs,\n enableEvidence: feature.enableEvidence ?? options?.enableEvidence ?? false,\n commitEvidence: feature.commitEvidence ?? options?.commitEvidence ?? false,\n ciWatchEnabled: feature.ciWatchEnabled ?? options?.ciWatchEnabled ?? true,\n ...(options?.hideCiStatus != null && { hideCiStatus: options.hideCiStatus }),\n ...(options?.repositoryName && { repositoryName: options.repositoryName }),\n ...(options?.baseBranch && { baseBranch: options.baseBranch }),\n ...(options?.oneLiner && { oneLiner: options.oneLiner }),\n ...(options?.remoteUrl && { remoteUrl: options.remoteUrl }),\n ...(run?.agentType && { agentType: run.agentType as FeatureNodeData['agentType'] }),\n ...(run?.modelId && { modelId: run.modelId }),\n ...(run?.error && { errorMessage: run.error }),\n ...(feature.agentRunId != null && { hasAgentRun: true }),\n ...(feature.plan != null && { hasPlan: true }),\n ...(feature.injectSkills && { injectSkills: true }),\n ...(feature.injectedSkills?.length && { injectedSkills: feature.injectedSkills }),\n ...(feature.pr && {\n pr: {\n url: feature.pr.url,\n number: feature.pr.number,\n status: feature.pr.status,\n ciStatus: feature.pr.ciStatus,\n commitHash: feature.pr.commitHash,\n mergeable: feature.pr.mergeable,\n },\n }),\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ApproveAgentRunUseCase } from '@shepai/core/application/use-cases/agents/approve-agent-run.use-case';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\nimport type { PrdApprovalPayload } from '@shepai/core/domain/generated/output';\n\nexport async function approveFeature(\n featureId: string,\n payload?: PrdApprovalPayload\n): Promise<{ approved: boolean; error?: string }> {\n if (!featureId.trim()) {\n return { approved: false, error: 'Feature id is required' };\n }\n\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n\n if (!feature) {\n return { approved: false, error: 'Feature not found' };\n }\n\n if (!feature.agentRunId) {\n return { approved: false, error: 'Feature has no agent run' };\n }\n\n // Always use ApproveAgentRunUseCase — it handles waitingApproval, failed,\n // and interrupted statuses. This ensures approval is propagated via\n // Command({update: {_approvalAction: 'approved'}}) so the graph node\n // receives it on resume.\n const approveUseCase = resolve<ApproveAgentRunUseCase>('ApproveAgentRunUseCase');\n const result = await approveUseCase.execute(feature.agentRunId, payload);\n\n if (!result.approved) {\n return { approved: false, error: result.reason };\n }\n\n return { approved: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to approve feature';\n return { approved: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { RejectAgentRunUseCase } from '@shepai/core/application/use-cases/agents/reject-agent-run.use-case';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\n\nexport async function rejectFeature(\n featureId: string,\n feedback: string,\n attachments?: string[]\n): Promise<{\n rejected: boolean;\n iteration?: number;\n iterationWarning?: boolean;\n error?: string;\n}> {\n if (!featureId.trim()) {\n return { rejected: false, error: 'Feature id is required' };\n }\n\n if (!feedback.trim()) {\n return { rejected: false, error: 'Feedback is required' };\n }\n\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n\n if (!feature) {\n return { rejected: false, error: 'Feature not found' };\n }\n\n if (!feature.agentRunId) {\n return { rejected: false, error: 'Feature has no agent run' };\n }\n\n // Always use RejectAgentRunUseCase — it handles waitingApproval, failed,\n // and interrupted statuses. This ensures rejection feedback is propagated\n // via Command({update: {_approvalAction, _rejectionFeedback}}) so the\n // graph node receives the feedback on resume.\n const rejectUseCase = resolve<RejectAgentRunUseCase>('RejectAgentRunUseCase');\n const result = await rejectUseCase.execute(feature.agentRunId, feedback, attachments);\n\n if (!result.rejected) {\n return { rejected: false, error: result.reason };\n }\n\n return {\n rejected: true,\n iteration: result.iteration,\n iterationWarning: result.iterationWarning,\n };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to reject feature';\n return { rejected: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetFeatureArtifactUseCase } from '@shepai/core/application/use-cases/features/get-feature-artifact.use-case';\nimport type { FeatureArtifact } from '@shepai/core/domain/generated/output';\nimport type { PrdQuestionnaireData } from '@shepai/core/domain/generated/output';\nimport type { ProductDecisionsSummaryData } from '@/components/common/product-decisions-summary';\n\ninterface GetFeatureArtifactResult {\n questionnaire?: PrdQuestionnaireData;\n productDecisions?: ProductDecisionsSummaryData;\n artifact?: FeatureArtifact;\n error?: string;\n}\n\n/**\n * Map FeatureArtifact openQuestions into the PrdQuestionnaireData shape\n * expected by the PrdQuestionnaireDrawer component.\n */\nfunction toQuestionnaireData(artifact: FeatureArtifact): PrdQuestionnaireData {\n return {\n question: 'Goal',\n context: artifact.oneLiner,\n questions: artifact.openQuestions.map((oq, idx) => ({\n id: `q-${idx}`,\n question: oq.question,\n type: 'select' as const,\n options: (oq.options ?? []).map((opt, optIdx) => ({\n id: `q-${idx}-opt-${optIdx}`,\n label: opt.option,\n rationale: opt.description,\n ...(opt.selected ? { recommended: true } : {}),\n })),\n })),\n finalAction: {\n id: 'approve-reqs',\n label: 'Approve Requirements',\n description: 'Finalize and lock the requirements for implementation',\n },\n };\n}\n\n/**\n * Map FeatureArtifact openQuestions into a read-only summary for the\n * Product Decisions tab in the tech review drawer.\n */\nfunction toProductDecisionsData(artifact: FeatureArtifact): ProductDecisionsSummaryData {\n return {\n question: 'Goal',\n context: artifact.oneLiner,\n questions: artifact.openQuestions\n .filter((oq) => oq.resolved)\n .map((oq) => {\n const selected = oq.options?.find((o) => o.selected);\n return {\n question: oq.question,\n selectedOption: selected?.option ?? oq.answer ?? 'N/A',\n rationale: oq.selectionRationale ?? selected?.description ?? '',\n wasRecommended: false,\n };\n }),\n };\n}\n\nexport async function getFeatureArtifact(featureId: string): Promise<GetFeatureArtifactResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<GetFeatureArtifactUseCase>('GetFeatureArtifactUseCase');\n const artifact = await useCase.execute(featureId);\n const questionnaire = toQuestionnaireData(artifact);\n const productDecisions = toProductDecisionsData(artifact);\n return { questionnaire, productDecisions, artifact };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load feature artifact';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetResearchArtifactUseCase } from '@shepai/core/application/use-cases/features/get-research-artifact.use-case';\nimport type { ResearchArtifact, TechDecision } from '@shepai/core/domain/generated/output';\n\nexport interface TechDecisionsReviewData {\n name: string;\n summary: string;\n decisions: TechDecision[];\n technologies: string[];\n}\n\ninterface GetResearchArtifactResult {\n techDecisions?: TechDecisionsReviewData;\n error?: string;\n}\n\nfunction toTechDecisionsData(artifact: ResearchArtifact): TechDecisionsReviewData {\n return {\n name: artifact.name,\n summary: artifact.summary,\n decisions: artifact.decisions,\n technologies: artifact.technologies,\n };\n}\n\nexport async function getResearchArtifact(featureId: string): Promise<GetResearchArtifactResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<GetResearchArtifactUseCase>('GetResearchArtifactUseCase');\n const artifact = await useCase.execute(featureId);\n const techDecisions = toTechDecisionsData(artifact);\n return { techDecisions };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load research artifact';\n return { error: message };\n }\n}\n","'use server';\n\nimport { createHash } from 'node:crypto';\nimport { readFileSync, existsSync } from 'node:fs';\nimport { basename, join, dirname } from 'node:path';\nimport { resolve } from '@/lib/server-container';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\nimport type { IGitPrService } from '@shepai/core/application/ports/output/services/git-pr-service.interface';\nimport type {\n MergeReviewData,\n MergeReviewEvidence,\n} from '@/components/common/merge-review/merge-review-config';\nimport { computeWorktreePath } from '@shepai/core/infrastructure/services/ide-launchers/compute-worktree-path';\nimport { getShepHomeDir } from '@shepai/core/infrastructure/services/filesystem/shep-directory.service';\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\n\ntype GetMergeReviewDataResult = MergeReviewData | { error: string };\n\n/**\n * Compute the shep evidence directory for a given repository and feature.\n * Path: ~/.shep/repos/<sha256-hash-prefix>/evidence/<featureId>/\n */\nfunction computeEvidenceDir(repositoryPath: string, featureId: string): string {\n const repoHash = createHash('sha256').update(repositoryPath).digest('hex').slice(0, 16);\n return join(getShepHomeDir(), 'repos', repoHash, 'evidence', featureId).replace(/\\\\/g, '/');\n}\n\n/**\n * Normalize evidence paths so they all point to the shep evidence directory.\n * When commitEvidence was enabled, the manifest may contain relative paths\n * (e.g. \"specs/066-feature/evidence/file.png\"). After merge the worktree is\n * deleted so those paths no longer resolve. The evidence files were also saved\n * to the shep evidence dir with the same filename, so we map relative paths\n * to absolute paths there.\n */\nfunction normalizeEvidencePaths(\n evidence: MergeReviewEvidence[],\n evidenceDir: string\n): MergeReviewEvidence[] {\n return evidence.map((e) => {\n if (e.relativePath.startsWith('/')) {\n // Already absolute — check if the file exists; if not, try the evidence dir\n if (existsSync(e.relativePath)) return e;\n const fallback = join(evidenceDir, basename(e.relativePath)).replace(/\\\\/g, '/');\n if (existsSync(fallback)) return { ...e, relativePath: fallback };\n return e;\n }\n // Relative path — resolve to evidence dir using the filename\n const absolutePath = join(evidenceDir, basename(e.relativePath)).replace(/\\\\/g, '/');\n return { ...e, relativePath: absolutePath };\n });\n}\n\nexport async function getMergeReviewData(featureId: string): Promise<GetMergeReviewDataResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n\n if (!feature) {\n return { error: 'Feature not found' };\n }\n\n const { workflow } = getSettings();\n\n const pr = feature.pr\n ? {\n url: feature.pr.url,\n number: feature.pr.number,\n status: feature.pr.status,\n commitHash: feature.pr.commitHash,\n ciStatus: feature.pr.ciStatus,\n mergeable: feature.pr.mergeable,\n }\n : undefined;\n\n const worktreePath =\n feature.worktreePath ??\n (feature.repositoryPath && feature.branch\n ? computeWorktreePath(feature.repositoryPath, feature.branch)\n : null);\n\n // Detect the actual default branch (main, master, etc.) for diff comparison.\n const gitPrService = resolve<IGitPrService>('IGitPrService');\n const diffCwd = worktreePath ?? feature.repositoryPath ?? null;\n let defaultBranch = 'main';\n if (diffCwd) {\n try {\n defaultBranch = await gitPrService.getDefaultBranch(diffCwd);\n } catch {\n // Fall back to 'main' if detection fails\n }\n }\n\n const branch = feature.branch ? { source: feature.branch, target: defaultBranch } : undefined;\n\n // Load evidence manifest (best-effort).\n // Evidence is stored independently of the worktree at:\n // ~/.shep/repos/<hash>/evidence/<featureId>/manifest.json\n // We compute this path from repositoryPath so evidence is accessible\n // even after the worktree has been deleted post-merge.\n let evidence: MergeReviewEvidence[] | undefined;\n const evidenceDir = feature.repositoryPath\n ? computeEvidenceDir(feature.repositoryPath, featureId)\n : worktreePath\n ? join(dirname(dirname(worktreePath)), 'evidence', featureId).replace(/\\\\/g, '/')\n : null;\n\n if (evidenceDir) {\n try {\n const manifestPath = join(evidenceDir, 'manifest.json');\n if (existsSync(manifestPath)) {\n const raw: MergeReviewEvidence[] = JSON.parse(readFileSync(manifestPath, 'utf-8'));\n const normalized = normalizeEvidencePaths(raw, evidenceDir);\n // Deduplicate: same type + relativePath means the same evidence entry\n const seen = new Set<string>();\n evidence = normalized.filter((e) => {\n const key = `${e.type}:${e.relativePath}`;\n if (seen.has(key)) return false;\n seen.add(key);\n return true;\n });\n }\n } catch {\n // Evidence unavailable — not critical\n }\n }\n\n if (!worktreePath) {\n return {\n pr,\n branch,\n evidence,\n warning: pr ? undefined : 'No PR or diff data available',\n hideCiStatus: workflow.hideCiStatus,\n };\n }\n\n try {\n const [diffSummary, fileDiffs] = await Promise.all([\n gitPrService.getPrDiffSummary(worktreePath, defaultBranch),\n gitPrService.getFileDiffs(worktreePath, defaultBranch).catch(() => undefined),\n ]);\n return { pr, branch, diffSummary, fileDiffs, evidence, hideCiStatus: workflow.hideCiStatus };\n } catch {\n return {\n pr,\n branch,\n evidence,\n warning: 'Diff statistics unavailable',\n hideCiStatus: workflow.hideCiStatus,\n };\n }\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load merge review data';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IPhaseTimingRepository } from '@shepai/core/application/ports/output/agents/phase-timing-repository.interface';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\n\nexport interface PhaseTimingData {\n agentRunId: string;\n phase: string;\n startedAt: string;\n completedAt?: string;\n durationMs?: number;\n waitingApprovalAt?: string;\n approvalWaitMs?: number;\n inputTokens?: number;\n outputTokens?: number;\n cacheCreationInputTokens?: number;\n cacheReadInputTokens?: number;\n costUsd?: number;\n numTurns?: number;\n durationApiMs?: number;\n exitCode?: string;\n errorMessage?: string;\n prompt?: string;\n}\n\nexport interface RejectionFeedbackData {\n iteration: number;\n message: string;\n phase?: string;\n timestamp?: string;\n attachments?: string[];\n}\n\ntype GetPhaseTimingsResult =\n | { timings: PhaseTimingData[]; rejectionFeedback: RejectionFeedbackData[] }\n | { error: string };\n\nexport async function getFeaturePhaseTimings(featureId: string): Promise<GetPhaseTimingsResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const repo = resolve<IPhaseTimingRepository>('IPhaseTimingRepository');\n const phaseTimings = await repo.findByFeatureId(featureId);\n\n const timings: PhaseTimingData[] = phaseTimings.map((t) => ({\n agentRunId: t.agentRunId,\n phase: t.phase,\n startedAt: t.startedAt,\n completedAt: t.completedAt,\n durationMs: t.durationMs != null ? Number(t.durationMs) : undefined,\n waitingApprovalAt: t.waitingApprovalAt,\n approvalWaitMs: t.approvalWaitMs != null ? Number(t.approvalWaitMs) : undefined,\n inputTokens: t.inputTokens != null ? Number(t.inputTokens) : undefined,\n outputTokens: t.outputTokens != null ? Number(t.outputTokens) : undefined,\n cacheCreationInputTokens:\n t.cacheCreationInputTokens != null ? Number(t.cacheCreationInputTokens) : undefined,\n cacheReadInputTokens:\n t.cacheReadInputTokens != null ? Number(t.cacheReadInputTokens) : undefined,\n costUsd: t.costUsd != null ? Number(t.costUsd) : undefined,\n numTurns: t.numTurns ?? undefined,\n durationApiMs: t.durationApiMs != null ? Number(t.durationApiMs) : undefined,\n exitCode: t.exitCode ?? undefined,\n errorMessage: t.errorMessage ?? undefined,\n prompt: t.prompt ?? undefined,\n }));\n\n // Read rejection feedback from spec.yaml\n const rejectionFeedback = await readRejectionFeedback(featureId);\n\n return { timings, rejectionFeedback };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load phase timings';\n return { error: message };\n }\n}\n\nasync function readRejectionFeedback(featureId: string): Promise<RejectionFeedbackData[]> {\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n if (!feature?.specPath) return [];\n\n const { readFileSync } = await import('node:fs');\n const { join } = await import('node:path');\n const yaml = (await import('js-yaml')).default;\n\n const specContent = readFileSync(join(feature.specPath, 'spec.yaml'), 'utf-8');\n const spec = yaml.load(specContent) as Record<string, unknown>;\n\n if (!Array.isArray(spec?.rejectionFeedback)) return [];\n\n return (spec.rejectionFeedback as Record<string, unknown>[]).map((entry) => ({\n iteration: Number(entry.iteration ?? 1),\n message: String(entry.message ?? ''),\n phase: entry.phase ? String(entry.phase) : undefined,\n timestamp: entry.timestamp ? String(entry.timestamp) : undefined,\n attachments: Array.isArray(entry.attachments)\n ? (entry.attachments as unknown[]).map(String)\n : undefined,\n }));\n } catch {\n return [];\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\n\nexport interface AcceptanceCriterionData {\n description: string;\n verified: boolean;\n}\n\nexport interface ActionItemData {\n name: string;\n description: string;\n acceptanceCriteria: AcceptanceCriterionData[];\n}\n\nexport interface PlanTaskData {\n title: string;\n description: string;\n state: string;\n actionItems: ActionItemData[];\n}\n\nexport interface PlanData {\n state: string;\n overview: string;\n tasks: PlanTaskData[];\n}\n\ntype GetPlanResult = { plan: PlanData | undefined } | { error: string };\n\nexport async function getFeaturePlan(featureId: string): Promise<GetPlanResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const repo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await repo.findById(featureId);\n\n if (!feature) {\n return { error: 'Feature not found' };\n }\n\n if (!feature.plan) {\n return { plan: undefined };\n }\n\n const plan: PlanData = {\n state: feature.plan.state,\n overview: feature.plan.overview,\n tasks: feature.plan.tasks.map((t) => ({\n title: t.title ?? '',\n description: t.description ?? '',\n state: t.state,\n actionItems: (t.actionItems ?? []).map((ai) => ({\n name: ai.name,\n description: ai.description,\n acceptanceCriteria: (ai.acceptanceCriteria ?? []).map((ac) => ({\n description: ac.description,\n verified: ac.verified,\n })),\n })),\n })),\n };\n\n return { plan };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load feature plan';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { RebaseFeatureOnMainUseCase } from '@shepai/core/application/use-cases/features/rebase-feature-on-main.use-case';\n\nexport async function rebaseFeature(\n featureId: string\n): Promise<{ success: boolean; error?: string }> {\n if (!featureId?.trim()) {\n return { success: false, error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<RebaseFeatureOnMainUseCase>('RebaseFeatureOnMainUseCase');\n await useCase.execute(featureId);\n return { success: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to rebase feature';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\nimport type { IAgentRunRepository } from '@shepai/core/application/ports/output/agents/agent-run-repository.interface';\nimport type { IRepositoryRepository } from '@shepai/core/application/ports/output/repositories/repository-repository.interface';\nimport type { IGitPrService } from '@shepai/core/application/ports/output/services/git-pr-service.interface';\nimport type { GetFeatureArtifactUseCase } from '@shepai/core/application/use-cases/features/get-feature-artifact.use-case';\nimport { buildFeatureNodeData } from '@/app/build-feature-node-data';\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\nimport type { FeatureNodeData } from '@/components/common/feature-node';\n\n/**\n * Fetches full FeatureNodeData for a given feature ID.\n * Used by the drawer for targeted data syncing without triggering\n * a full router.refresh() / server component re-render.\n *\n * CI status and mergeable status are read from the DB (already updated\n * by PrSyncWatcherService) instead of making duplicate GitHub API calls.\n */\nexport async function getFeatureDrawerData(featureId: string): Promise<FeatureNodeData | null> {\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const agentRunRepo = resolve<IAgentRunRepository>('IAgentRunRepository');\n const repoRepo = resolve<IRepositoryRepository>('IRepositoryRepository');\n const gitPrService = resolve<IGitPrService>('IGitPrService');\n const getArtifact = resolve<GetFeatureArtifactUseCase>('GetFeatureArtifactUseCase');\n\n const feature = await featureRepo.findById(featureId);\n if (!feature) return null;\n\n const run = feature.agentRunId ? await agentRunRepo.findById(feature.agentRunId) : null;\n\n // CI status and mergeable status are read from the feature record (updated by\n // PrSyncWatcherService every 30s) — no duplicate GitHub API calls needed.\n // Only getDefaultBranch and getRemoteUrl are kept as they are local git operations.\n const [repo, baseBranch, artifact, remoteUrl] = await Promise.all([\n repoRepo.findByPath(feature.repositoryPath).catch(() => null),\n gitPrService.getDefaultBranch(feature.repositoryPath).catch(() => 'main'),\n getArtifact.execute(featureId).catch(() => null),\n gitPrService.getRemoteUrl(feature.repositoryPath).catch(() => null),\n ]);\n\n const { workflow } = getSettings();\n\n return buildFeatureNodeData(feature, run, {\n repositoryName: repo?.name,\n baseBranch,\n oneLiner: artifact?.oneLiner,\n remoteUrl: remoteUrl ?? undefined,\n enableEvidence: workflow.enableEvidence,\n commitEvidence: workflow.commitEvidence,\n hideCiStatus: workflow.hideCiStatus,\n });\n } catch {\n return null;\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetBranchSyncStatusUseCase } from '@shepai/core/application/use-cases/features/get-branch-sync-status.use-case';\n\nexport async function getBranchSyncStatus(featureId: string): Promise<{\n success: boolean;\n data?: { ahead: number; behind: number; baseBranch: string; checkedAt: string };\n error?: string;\n}> {\n if (!featureId?.trim()) {\n return { success: false, error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<GetBranchSyncStatusUseCase>('GetBranchSyncStatusUseCase');\n const result = await useCase.execute(featureId);\n return {\n success: true,\n data: {\n ...result,\n checkedAt: new Date().toISOString(),\n },\n };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to get branch sync status';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { UpdateFeaturePinnedConfigUseCase } from '@shepai/core/application/use-cases/features/update-feature-pinned-config.use-case';\n\nexport async function updateFeaturePinnedConfig(\n featureId: string,\n agentType: string,\n modelId: string\n): Promise<{ ok: boolean; error?: string }> {\n const normalizedFeatureId = featureId.trim();\n if (!normalizedFeatureId) {\n return { ok: false, error: 'Feature id is required' };\n }\n\n const normalizedAgentType = agentType.trim();\n if (!normalizedAgentType) {\n return { ok: false, error: 'Agent type is required' };\n }\n\n const normalizedModelId = modelId.trim();\n if (!normalizedModelId) {\n return { ok: false, error: 'Model id is required' };\n }\n\n try {\n const useCase = resolve<UpdateFeaturePinnedConfigUseCase>('UpdateFeaturePinnedConfigUseCase');\n await useCase.execute({\n featureId: normalizedFeatureId,\n agentType: normalizedAgentType,\n modelId: normalizedModelId,\n });\n return { ok: true };\n } catch (error: unknown) {\n const message =\n error instanceof Error ? error.message : 'Failed to update feature pinned config';\n return { ok: false, error: message };\n }\n}\n","export {getAllAgentModels as '00e58c190532f4f50a563fe350b5346d8a7fe34107'} from 'ACTIONS_MODULE0'\nexport {checkAllAgentsStatus as '0051115904c7c48c39887ceb6a80a41b51f5fc6b9f'} from 'ACTIONS_MODULE1'\nexport {updateAgentAndModel as '606d13f3bd634e57be02843508a61d20c7f83dd854'} from 'ACTIONS_MODULE2'\nexport {pickFolder as '0026d01a354f61d318a336fbe2eaa3f03edc9f91b0'} from 'ACTIONS_MODULE3'\nexport {listGitHubRepositories as '40978ff740f2484d7f08bafd677da4d039256d0089'} from 'ACTIONS_MODULE4'\nexport {listGitHubOrganizations as '00ceb168cfa95261f0ad5acf0245521784c59f91d1'} from 'ACTIONS_MODULE5'\nexport {importGitHubRepository as '402046d017b7878c27edecd35df9b66f617c5c35b1'} from 'ACTIONS_MODULE6'\nexport {deployFeature as '40026de899f93ce7cd1fdf1a0ee013dad77cdc4f03'} from 'ACTIONS_MODULE7'\nexport {deployRepository as '40108be7384990f668028a97284b5ae9db570b1965'} from 'ACTIONS_MODULE8'\nexport {deployApplication as '406e6f424ebf1e3b734864e08e09226a559105f605'} from 'ACTIONS_MODULE9'\nexport {stopDeployment as '40425dc4804963cdc2f5af0bdc1e7594e877baaf11'} from 'ACTIONS_MODULE10'\nexport {getDeploymentStatus as '40eb5c7ddaa143cbe9dc2c73f7bb19a5d89b533a7d'} from 'ACTIONS_MODULE11'\nexport {openIde as '405ba36a174454edd8c4884fea71908131dbb28deb'} from 'ACTIONS_MODULE12'\nexport {openShell as '4003e1e65aa50b5b09a38599cdccb3e32c2878486d'} from 'ACTIONS_MODULE13'\nexport {openFolder as '40185e494ec9965b5eb897ead254f405942feddbe4'} from 'ACTIONS_MODULE14'\nexport {syncRepository as '407933e29bdf31a817ba00ca0205380ff0931b74cc'} from 'ACTIONS_MODULE15'\nexport {getDeploymentLogs as '402bc18b44955b04712cc126ca0b646a9d335ef665'} from 'ACTIONS_MODULE16'\nexport {createProjectAndFeature as '40309517ef69e6981b73668a01296bf84986387c4b'} from 'ACTIONS_MODULE17'\nexport {createApplication as '4040af9db3d92788388c71955f66fe089bc00af285'} from 'ACTIONS_MODULE18'\nexport {createProjectFolder as '4093a1859c212ac80e0abd7242ba7d97cc71d682c4'} from 'ACTIONS_MODULE19'\nexport {archiveFeature as '407d6cc5e3c1b63788f6895294bfa6e220c2db5e3d'} from 'ACTIONS_MODULE20'\nexport {deleteFeature as '78695170351180afd4c389fd260300eaa50553dff4'} from 'ACTIONS_MODULE21'\nexport {resumeFeature as '4068aa4314db3f10ca9083bde9fd0a6dc02db26611'} from 'ACTIONS_MODULE22'\nexport {startFeature as '406ab339771a114a1501034cb03daface929b6416e'} from 'ACTIONS_MODULE23'\nexport {stopFeature as '40056e511672e2b15b007420d6caf2a4ecbe84f7d2'} from 'ACTIONS_MODULE24'\nexport {unarchiveFeature as '40752429db6c2affbe28371b2d29f2df6d2f82ce8f'} from 'ACTIONS_MODULE25'\nexport {addRepository as '40c41b1d78b1db31bd74b6dd3d00b9372445a9200b'} from 'ACTIONS_MODULE26'\nexport {deleteRepository as '60e55dd72100553b711e44566fae95c8eca7f9f4b0'} from 'ACTIONS_MODULE27'\nexport {deleteApplication as '4022e99fd1109ed481cdbf922bc4f6eca754e5c8cc'} from 'ACTIONS_MODULE28'\nexport {getFeatureMetadata as '403c68c0fb3149fa66e2f1bf3cdafce602c03d178a'} from 'ACTIONS_MODULE29'\nexport {approveFeature as '60dcd9f29e8aa91d30e5ff74e0013d96d53d3563cb'} from 'ACTIONS_MODULE30'\nexport {rejectFeature as '700a9f9e3c894048286175d7e1ca7cc647dd251990'} from 'ACTIONS_MODULE31'\nexport {getFeatureArtifact as '4023489daf45f55ef4760a1c2d450e6e8eaff69594'} from 'ACTIONS_MODULE32'\nexport {getResearchArtifact as '40ca342ae6e559524b654c7b7f5b1d3e9fa9d9a496'} from 'ACTIONS_MODULE33'\nexport {getMergeReviewData as '40670f22a1c4db97ae9f171dcd8004a65cae51514f'} from 'ACTIONS_MODULE34'\nexport {getFeaturePhaseTimings as '40a1dfeb0c4028e2fd78b414b460a3dbc7e55cb352'} from 'ACTIONS_MODULE35'\nexport {getFeaturePlan as '407cb06522d71e8556a0cafd8a422db8fd0248e5c4'} from 'ACTIONS_MODULE36'\nexport {rebaseFeature as '40667e8d83be8f127aa2626401e1fa11b92d8cc936'} from 'ACTIONS_MODULE37'\nexport {getFeatureDrawerData as '4075b67f1214e01b53f2842773cf564661ab200239'} from 'ACTIONS_MODULE38'\nexport {getBranchSyncStatus as '40659eeeeea8ce11631b5b7eaee4d1d4f4eb0767bc'} from 'ACTIONS_MODULE39'\nexport {updateFeaturePinnedConfig as '70ba4514b0233187cbee4eb7e07d7f2d333c411b24'} from 'ACTIONS_MODULE40'\n"],"names":[],"mappings":"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QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/presentation/web/app/build-feature-node-data.ts","../../../../../../../src/presentation/web/app/actions/approve-feature.ts","../../../../../../../src/presentation/web/app/actions/reject-feature.ts","../../../../../../../src/presentation/web/app/actions/get-feature-artifact.ts","../../../../../../../src/presentation/web/app/actions/get-research-artifact.ts","../../../../../../../src/presentation/web/app/actions/get-merge-review-data.ts","../../../../../../../src/presentation/web/app/actions/get-feature-phase-timings.ts","../../../../../../../src/presentation/web/app/actions/get-feature-plan.ts","../../../../../../../src/presentation/web/app/actions/rebase-feature.ts","../../../../../../../src/presentation/web/app/actions/get-feature-drawer-data.ts","../../../../../../../src/presentation/web/app/actions/get-branch-sync-status.ts","../../../../../../../src/presentation/web/app/actions/update-feature-pinned-config.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/%40drawer/feature/%5BfeatureId%5D/%5Btab%5D/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["import type { Feature, AgentRun } from '@shepai/core/domain/generated/output';\nimport { AgentRunStatus } from '@shepai/core/domain/generated/output';\nimport {\n deriveNodeState,\n deriveProgress,\n deriveLifecycle,\n} from '@/components/common/feature-node/derive-feature-state';\nimport { isProcessAlive } from '@shepai/core/infrastructure/services/process/is-process-alive';\nimport { computeWorktreePath } from '@shepai/core/infrastructure/services/ide-launchers/compute-worktree-path';\nimport type { FeatureNodeData } from '@/components/common/feature-node';\n\nexport interface BuildFeatureNodeDataOptions {\n baseBranch?: string;\n repositoryName?: string;\n /** AI-generated one-liner from FeatureArtifact */\n oneLiner?: string;\n /** Remote URL for the repository (HTTPS) */\n remoteUrl?: string;\n /** Whether evidence collection is enabled (global workflow setting) */\n enableEvidence?: boolean;\n /** Whether evidence is committed to the PR body (global workflow setting) */\n commitEvidence?: boolean;\n /** Whether CI watch/fix loop is enabled (global workflow setting) */\n ciWatchEnabled?: boolean;\n /** Whether to hide CI status badges from UI (global workflow setting) */\n hideCiStatus?: boolean;\n}\n\n/**\n * Builds a FeatureNodeData object from a Feature entity and optional AgentRun.\n * This is the single-feature version of the logic in `buildGraphNodes`.\n */\nexport function buildFeatureNodeData(\n feature: Feature,\n run: AgentRun | null,\n options?: BuildFeatureNodeDataOptions\n): FeatureNodeData {\n // Detect crashed agents: DB says running/pending but PID is dead\n const isActive = run?.status === AgentRunStatus.running || run?.status === AgentRunStatus.pending;\n const pidAlive = isActive && run?.pid ? isProcessAlive(run.pid) : undefined;\n\n return {\n name: feature.name,\n description: feature.description ?? feature.slug,\n featureId: feature.id,\n lifecycle: deriveLifecycle(feature, run),\n repositoryPath: feature.repositoryPath,\n branch: feature.branch,\n worktreePath:\n feature.worktreePath ?? computeWorktreePath(feature.repositoryPath, feature.branch),\n specPath: feature.specPath,\n state: deriveNodeState(\n feature,\n run,\n pidAlive !== undefined ? { isPidAlive: pidAlive } : undefined\n ),\n progress: deriveProgress(feature),\n summary: feature.description,\n userQuery: feature.userQuery,\n createdAt: feature.createdAt instanceof Date ? feature.createdAt.getTime() : feature.createdAt,\n ...(feature.fast && { fastMode: true }),\n approvalGates: feature.approvalGates,\n push: feature.push,\n openPr: feature.openPr,\n forkAndPr: feature.forkAndPr,\n commitSpecs: feature.commitSpecs,\n enableEvidence: feature.enableEvidence ?? options?.enableEvidence ?? false,\n commitEvidence: feature.commitEvidence ?? options?.commitEvidence ?? false,\n ciWatchEnabled: feature.ciWatchEnabled ?? options?.ciWatchEnabled ?? true,\n ...(options?.hideCiStatus != null && { hideCiStatus: options.hideCiStatus }),\n ...(options?.repositoryName && { repositoryName: options.repositoryName }),\n ...(options?.baseBranch && { baseBranch: options.baseBranch }),\n ...(options?.oneLiner && { oneLiner: options.oneLiner }),\n ...(options?.remoteUrl && { remoteUrl: options.remoteUrl }),\n ...(run?.agentType && { agentType: run.agentType as FeatureNodeData['agentType'] }),\n ...(run?.modelId && { modelId: run.modelId }),\n ...(run?.error && { errorMessage: run.error }),\n ...(feature.agentRunId != null && { hasAgentRun: true }),\n ...(feature.plan != null && { hasPlan: true }),\n ...(feature.injectSkills && { injectSkills: true }),\n ...(feature.injectedSkills?.length && { injectedSkills: feature.injectedSkills }),\n ...(feature.pr && {\n pr: {\n url: feature.pr.url,\n number: feature.pr.number,\n status: feature.pr.status,\n ciStatus: feature.pr.ciStatus,\n commitHash: feature.pr.commitHash,\n mergeable: feature.pr.mergeable,\n },\n }),\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ApproveAgentRunUseCase } from '@shepai/core/application/use-cases/agents/approve-agent-run.use-case';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\nimport type { PrdApprovalPayload } from '@shepai/core/domain/generated/output';\n\nexport async function approveFeature(\n featureId: string,\n payload?: PrdApprovalPayload\n): Promise<{ approved: boolean; error?: string }> {\n if (!featureId.trim()) {\n return { approved: false, error: 'Feature id is required' };\n }\n\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n\n if (!feature) {\n return { approved: false, error: 'Feature not found' };\n }\n\n if (!feature.agentRunId) {\n return { approved: false, error: 'Feature has no agent run' };\n }\n\n // Always use ApproveAgentRunUseCase — it handles waitingApproval, failed,\n // and interrupted statuses. This ensures approval is propagated via\n // Command({update: {_approvalAction: 'approved'}}) so the graph node\n // receives it on resume.\n const approveUseCase = resolve<ApproveAgentRunUseCase>('ApproveAgentRunUseCase');\n const result = await approveUseCase.execute(feature.agentRunId, payload);\n\n if (!result.approved) {\n return { approved: false, error: result.reason };\n }\n\n return { approved: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to approve feature';\n return { approved: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { RejectAgentRunUseCase } from '@shepai/core/application/use-cases/agents/reject-agent-run.use-case';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\n\nexport async function rejectFeature(\n featureId: string,\n feedback: string,\n attachments?: string[]\n): Promise<{\n rejected: boolean;\n iteration?: number;\n iterationWarning?: boolean;\n error?: string;\n}> {\n if (!featureId.trim()) {\n return { rejected: false, error: 'Feature id is required' };\n }\n\n if (!feedback.trim()) {\n return { rejected: false, error: 'Feedback is required' };\n }\n\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n\n if (!feature) {\n return { rejected: false, error: 'Feature not found' };\n }\n\n if (!feature.agentRunId) {\n return { rejected: false, error: 'Feature has no agent run' };\n }\n\n // Always use RejectAgentRunUseCase — it handles waitingApproval, failed,\n // and interrupted statuses. This ensures rejection feedback is propagated\n // via Command({update: {_approvalAction, _rejectionFeedback}}) so the\n // graph node receives the feedback on resume.\n const rejectUseCase = resolve<RejectAgentRunUseCase>('RejectAgentRunUseCase');\n const result = await rejectUseCase.execute(feature.agentRunId, feedback, attachments);\n\n if (!result.rejected) {\n return { rejected: false, error: result.reason };\n }\n\n return {\n rejected: true,\n iteration: result.iteration,\n iterationWarning: result.iterationWarning,\n };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to reject feature';\n return { rejected: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetFeatureArtifactUseCase } from '@shepai/core/application/use-cases/features/get-feature-artifact.use-case';\nimport type { FeatureArtifact } from '@shepai/core/domain/generated/output';\nimport type { PrdQuestionnaireData } from '@shepai/core/domain/generated/output';\nimport type { ProductDecisionsSummaryData } from '@/components/common/product-decisions-summary';\n\ninterface GetFeatureArtifactResult {\n questionnaire?: PrdQuestionnaireData;\n productDecisions?: ProductDecisionsSummaryData;\n artifact?: FeatureArtifact;\n error?: string;\n}\n\n/**\n * Map FeatureArtifact openQuestions into the PrdQuestionnaireData shape\n * expected by the PrdQuestionnaireDrawer component.\n */\nfunction toQuestionnaireData(artifact: FeatureArtifact): PrdQuestionnaireData {\n return {\n question: 'Goal',\n context: artifact.oneLiner,\n questions: artifact.openQuestions.map((oq, idx) => ({\n id: `q-${idx}`,\n question: oq.question,\n type: 'select' as const,\n options: (oq.options ?? []).map((opt, optIdx) => ({\n id: `q-${idx}-opt-${optIdx}`,\n label: opt.option,\n rationale: opt.description,\n ...(opt.selected ? { recommended: true } : {}),\n })),\n })),\n finalAction: {\n id: 'approve-reqs',\n label: 'Approve Requirements',\n description: 'Finalize and lock the requirements for implementation',\n },\n };\n}\n\n/**\n * Map FeatureArtifact openQuestions into a read-only summary for the\n * Product Decisions tab in the tech review drawer.\n */\nfunction toProductDecisionsData(artifact: FeatureArtifact): ProductDecisionsSummaryData {\n return {\n question: 'Goal',\n context: artifact.oneLiner,\n questions: artifact.openQuestions\n .filter((oq) => oq.resolved)\n .map((oq) => {\n const selected = oq.options?.find((o) => o.selected);\n return {\n question: oq.question,\n selectedOption: selected?.option ?? oq.answer ?? 'N/A',\n rationale: oq.selectionRationale ?? selected?.description ?? '',\n wasRecommended: false,\n };\n }),\n };\n}\n\nexport async function getFeatureArtifact(featureId: string): Promise<GetFeatureArtifactResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<GetFeatureArtifactUseCase>('GetFeatureArtifactUseCase');\n const artifact = await useCase.execute(featureId);\n const questionnaire = toQuestionnaireData(artifact);\n const productDecisions = toProductDecisionsData(artifact);\n return { questionnaire, productDecisions, artifact };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load feature artifact';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetResearchArtifactUseCase } from '@shepai/core/application/use-cases/features/get-research-artifact.use-case';\nimport type { ResearchArtifact, TechDecision } from '@shepai/core/domain/generated/output';\n\nexport interface TechDecisionsReviewData {\n name: string;\n summary: string;\n decisions: TechDecision[];\n technologies: string[];\n}\n\ninterface GetResearchArtifactResult {\n techDecisions?: TechDecisionsReviewData;\n error?: string;\n}\n\nfunction toTechDecisionsData(artifact: ResearchArtifact): TechDecisionsReviewData {\n return {\n name: artifact.name,\n summary: artifact.summary,\n decisions: artifact.decisions,\n technologies: artifact.technologies,\n };\n}\n\nexport async function getResearchArtifact(featureId: string): Promise<GetResearchArtifactResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<GetResearchArtifactUseCase>('GetResearchArtifactUseCase');\n const artifact = await useCase.execute(featureId);\n const techDecisions = toTechDecisionsData(artifact);\n return { techDecisions };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load research artifact';\n return { error: message };\n }\n}\n","'use server';\n\nimport { createHash } from 'node:crypto';\nimport { readFileSync, existsSync } from 'node:fs';\nimport { basename, join, dirname } from 'node:path';\nimport { resolve } from '@/lib/server-container';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\nimport type { IGitPrService } from '@shepai/core/application/ports/output/services/git-pr-service.interface';\nimport type {\n MergeReviewData,\n MergeReviewEvidence,\n} from '@/components/common/merge-review/merge-review-config';\nimport { computeWorktreePath } from '@shepai/core/infrastructure/services/ide-launchers/compute-worktree-path';\nimport { getShepHomeDir } from '@shepai/core/infrastructure/services/filesystem/shep-directory.service';\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\n\ntype GetMergeReviewDataResult = MergeReviewData | { error: string };\n\n/**\n * Compute the shep evidence directory for a given repository and feature.\n * Path: ~/.shep/repos/<sha256-hash-prefix>/evidence/<featureId>/\n */\nfunction computeEvidenceDir(repositoryPath: string, featureId: string): string {\n const repoHash = createHash('sha256').update(repositoryPath).digest('hex').slice(0, 16);\n return join(getShepHomeDir(), 'repos', repoHash, 'evidence', featureId).replace(/\\\\/g, '/');\n}\n\n/**\n * Normalize evidence paths so they all point to the shep evidence directory.\n * When commitEvidence was enabled, the manifest may contain relative paths\n * (e.g. \"specs/066-feature/evidence/file.png\"). After merge the worktree is\n * deleted so those paths no longer resolve. The evidence files were also saved\n * to the shep evidence dir with the same filename, so we map relative paths\n * to absolute paths there.\n */\nfunction normalizeEvidencePaths(\n evidence: MergeReviewEvidence[],\n evidenceDir: string\n): MergeReviewEvidence[] {\n return evidence.map((e) => {\n if (e.relativePath.startsWith('/')) {\n // Already absolute — check if the file exists; if not, try the evidence dir\n if (existsSync(e.relativePath)) return e;\n const fallback = join(evidenceDir, basename(e.relativePath)).replace(/\\\\/g, '/');\n if (existsSync(fallback)) return { ...e, relativePath: fallback };\n return e;\n }\n // Relative path — resolve to evidence dir using the filename\n const absolutePath = join(evidenceDir, basename(e.relativePath)).replace(/\\\\/g, '/');\n return { ...e, relativePath: absolutePath };\n });\n}\n\nexport async function getMergeReviewData(featureId: string): Promise<GetMergeReviewDataResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n\n if (!feature) {\n return { error: 'Feature not found' };\n }\n\n const { workflow } = getSettings();\n\n const pr = feature.pr\n ? {\n url: feature.pr.url,\n number: feature.pr.number,\n status: feature.pr.status,\n commitHash: feature.pr.commitHash,\n ciStatus: feature.pr.ciStatus,\n mergeable: feature.pr.mergeable,\n }\n : undefined;\n\n const worktreePath =\n feature.worktreePath ??\n (feature.repositoryPath && feature.branch\n ? computeWorktreePath(feature.repositoryPath, feature.branch)\n : null);\n\n // Detect the actual default branch (main, master, etc.) for diff comparison.\n const gitPrService = resolve<IGitPrService>('IGitPrService');\n const diffCwd = worktreePath ?? feature.repositoryPath ?? null;\n let defaultBranch = 'main';\n if (diffCwd) {\n try {\n defaultBranch = await gitPrService.getDefaultBranch(diffCwd);\n } catch {\n // Fall back to 'main' if detection fails\n }\n }\n\n const branch = feature.branch ? { source: feature.branch, target: defaultBranch } : undefined;\n\n // Load evidence manifest (best-effort).\n // Evidence is stored independently of the worktree at:\n // ~/.shep/repos/<hash>/evidence/<featureId>/manifest.json\n // We compute this path from repositoryPath so evidence is accessible\n // even after the worktree has been deleted post-merge.\n let evidence: MergeReviewEvidence[] | undefined;\n const evidenceDir = feature.repositoryPath\n ? computeEvidenceDir(feature.repositoryPath, featureId)\n : worktreePath\n ? join(dirname(dirname(worktreePath)), 'evidence', featureId).replace(/\\\\/g, '/')\n : null;\n\n if (evidenceDir) {\n try {\n const manifestPath = join(evidenceDir, 'manifest.json');\n if (existsSync(manifestPath)) {\n const raw: MergeReviewEvidence[] = JSON.parse(readFileSync(manifestPath, 'utf-8'));\n const normalized = normalizeEvidencePaths(raw, evidenceDir);\n // Deduplicate: same type + relativePath means the same evidence entry\n const seen = new Set<string>();\n evidence = normalized.filter((e) => {\n const key = `${e.type}:${e.relativePath}`;\n if (seen.has(key)) return false;\n seen.add(key);\n return true;\n });\n }\n } catch {\n // Evidence unavailable — not critical\n }\n }\n\n if (!worktreePath) {\n return {\n pr,\n branch,\n evidence,\n warning: pr ? undefined : 'No PR or diff data available',\n hideCiStatus: workflow.hideCiStatus,\n };\n }\n\n try {\n const [diffSummary, fileDiffs] = await Promise.all([\n gitPrService.getPrDiffSummary(worktreePath, defaultBranch),\n gitPrService.getFileDiffs(worktreePath, defaultBranch).catch(() => undefined),\n ]);\n return { pr, branch, diffSummary, fileDiffs, evidence, hideCiStatus: workflow.hideCiStatus };\n } catch {\n return {\n pr,\n branch,\n evidence,\n warning: 'Diff statistics unavailable',\n hideCiStatus: workflow.hideCiStatus,\n };\n }\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load merge review data';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IPhaseTimingRepository } from '@shepai/core/application/ports/output/agents/phase-timing-repository.interface';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\n\nexport interface PhaseTimingData {\n agentRunId: string;\n phase: string;\n startedAt: string;\n completedAt?: string;\n durationMs?: number;\n waitingApprovalAt?: string;\n approvalWaitMs?: number;\n inputTokens?: number;\n outputTokens?: number;\n cacheCreationInputTokens?: number;\n cacheReadInputTokens?: number;\n costUsd?: number;\n numTurns?: number;\n durationApiMs?: number;\n exitCode?: string;\n errorMessage?: string;\n prompt?: string;\n}\n\nexport interface RejectionFeedbackData {\n iteration: number;\n message: string;\n phase?: string;\n timestamp?: string;\n attachments?: string[];\n}\n\ntype GetPhaseTimingsResult =\n | { timings: PhaseTimingData[]; rejectionFeedback: RejectionFeedbackData[] }\n | { error: string };\n\nexport async function getFeaturePhaseTimings(featureId: string): Promise<GetPhaseTimingsResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const repo = resolve<IPhaseTimingRepository>('IPhaseTimingRepository');\n const phaseTimings = await repo.findByFeatureId(featureId);\n\n const timings: PhaseTimingData[] = phaseTimings.map((t) => ({\n agentRunId: t.agentRunId,\n phase: t.phase,\n startedAt: t.startedAt,\n completedAt: t.completedAt,\n durationMs: t.durationMs != null ? Number(t.durationMs) : undefined,\n waitingApprovalAt: t.waitingApprovalAt,\n approvalWaitMs: t.approvalWaitMs != null ? Number(t.approvalWaitMs) : undefined,\n inputTokens: t.inputTokens != null ? Number(t.inputTokens) : undefined,\n outputTokens: t.outputTokens != null ? Number(t.outputTokens) : undefined,\n cacheCreationInputTokens:\n t.cacheCreationInputTokens != null ? Number(t.cacheCreationInputTokens) : undefined,\n cacheReadInputTokens:\n t.cacheReadInputTokens != null ? Number(t.cacheReadInputTokens) : undefined,\n costUsd: t.costUsd != null ? Number(t.costUsd) : undefined,\n numTurns: t.numTurns ?? undefined,\n durationApiMs: t.durationApiMs != null ? Number(t.durationApiMs) : undefined,\n exitCode: t.exitCode ?? undefined,\n errorMessage: t.errorMessage ?? undefined,\n prompt: t.prompt ?? undefined,\n }));\n\n // Read rejection feedback from spec.yaml\n const rejectionFeedback = await readRejectionFeedback(featureId);\n\n return { timings, rejectionFeedback };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load phase timings';\n return { error: message };\n }\n}\n\nasync function readRejectionFeedback(featureId: string): Promise<RejectionFeedbackData[]> {\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n if (!feature?.specPath) return [];\n\n const { readFileSync } = await import('node:fs');\n const { join } = await import('node:path');\n const yaml = (await import('js-yaml')).default;\n\n const specContent = readFileSync(join(feature.specPath, 'spec.yaml'), 'utf-8');\n const spec = yaml.load(specContent) as Record<string, unknown>;\n\n if (!Array.isArray(spec?.rejectionFeedback)) return [];\n\n return (spec.rejectionFeedback as Record<string, unknown>[]).map((entry) => ({\n iteration: Number(entry.iteration ?? 1),\n message: String(entry.message ?? ''),\n phase: entry.phase ? String(entry.phase) : undefined,\n timestamp: entry.timestamp ? String(entry.timestamp) : undefined,\n attachments: Array.isArray(entry.attachments)\n ? (entry.attachments as unknown[]).map(String)\n : undefined,\n }));\n } catch {\n return [];\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\n\nexport interface AcceptanceCriterionData {\n description: string;\n verified: boolean;\n}\n\nexport interface ActionItemData {\n name: string;\n description: string;\n acceptanceCriteria: AcceptanceCriterionData[];\n}\n\nexport interface PlanTaskData {\n title: string;\n description: string;\n state: string;\n actionItems: ActionItemData[];\n}\n\nexport interface PlanData {\n state: string;\n overview: string;\n tasks: PlanTaskData[];\n}\n\ntype GetPlanResult = { plan: PlanData | undefined } | { error: string };\n\nexport async function getFeaturePlan(featureId: string): Promise<GetPlanResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const repo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await repo.findById(featureId);\n\n if (!feature) {\n return { error: 'Feature not found' };\n }\n\n if (!feature.plan) {\n return { plan: undefined };\n }\n\n const plan: PlanData = {\n state: feature.plan.state,\n overview: feature.plan.overview,\n tasks: feature.plan.tasks.map((t) => ({\n title: t.title ?? '',\n description: t.description ?? '',\n state: t.state,\n actionItems: (t.actionItems ?? []).map((ai) => ({\n name: ai.name,\n description: ai.description,\n acceptanceCriteria: (ai.acceptanceCriteria ?? []).map((ac) => ({\n description: ac.description,\n verified: ac.verified,\n })),\n })),\n })),\n };\n\n return { plan };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load feature plan';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { RebaseFeatureOnMainUseCase } from '@shepai/core/application/use-cases/features/rebase-feature-on-main.use-case';\n\nexport async function rebaseFeature(\n featureId: string\n): Promise<{ success: boolean; error?: string }> {\n if (!featureId?.trim()) {\n return { success: false, error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<RebaseFeatureOnMainUseCase>('RebaseFeatureOnMainUseCase');\n await useCase.execute(featureId);\n return { success: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to rebase feature';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\nimport type { IAgentRunRepository } from '@shepai/core/application/ports/output/agents/agent-run-repository.interface';\nimport type { IRepositoryRepository } from '@shepai/core/application/ports/output/repositories/repository-repository.interface';\nimport type { IGitPrService } from '@shepai/core/application/ports/output/services/git-pr-service.interface';\nimport type { GetFeatureArtifactUseCase } from '@shepai/core/application/use-cases/features/get-feature-artifact.use-case';\nimport { buildFeatureNodeData } from '@/app/build-feature-node-data';\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\nimport type { FeatureNodeData } from '@/components/common/feature-node';\n\n/**\n * Fetches full FeatureNodeData for a given feature ID.\n * Used by the drawer for targeted data syncing without triggering\n * a full router.refresh() / server component re-render.\n *\n * CI status and mergeable status are read from the DB (already updated\n * by PrSyncWatcherService) instead of making duplicate GitHub API calls.\n */\nexport async function getFeatureDrawerData(featureId: string): Promise<FeatureNodeData | null> {\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const agentRunRepo = resolve<IAgentRunRepository>('IAgentRunRepository');\n const repoRepo = resolve<IRepositoryRepository>('IRepositoryRepository');\n const gitPrService = resolve<IGitPrService>('IGitPrService');\n const getArtifact = resolve<GetFeatureArtifactUseCase>('GetFeatureArtifactUseCase');\n\n const feature = await featureRepo.findById(featureId);\n if (!feature) return null;\n\n const run = feature.agentRunId ? await agentRunRepo.findById(feature.agentRunId) : null;\n\n // CI status and mergeable status are read from the feature record (updated by\n // PrSyncWatcherService every 30s) — no duplicate GitHub API calls needed.\n // Only getDefaultBranch and getRemoteUrl are kept as they are local git operations.\n const [repo, baseBranch, artifact, remoteUrl] = await Promise.all([\n repoRepo.findByPath(feature.repositoryPath).catch(() => null),\n gitPrService.getDefaultBranch(feature.repositoryPath).catch(() => 'main'),\n getArtifact.execute(featureId).catch(() => null),\n gitPrService.getRemoteUrl(feature.repositoryPath).catch(() => null),\n ]);\n\n const { workflow } = getSettings();\n\n return buildFeatureNodeData(feature, run, {\n repositoryName: repo?.name,\n baseBranch,\n oneLiner: artifact?.oneLiner,\n remoteUrl: remoteUrl ?? undefined,\n enableEvidence: workflow.enableEvidence,\n commitEvidence: workflow.commitEvidence,\n hideCiStatus: workflow.hideCiStatus,\n });\n } catch {\n return null;\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetBranchSyncStatusUseCase } from '@shepai/core/application/use-cases/features/get-branch-sync-status.use-case';\n\nexport async function getBranchSyncStatus(featureId: string): Promise<{\n success: boolean;\n data?: { ahead: number; behind: number; baseBranch: string; checkedAt: string };\n error?: string;\n}> {\n if (!featureId?.trim()) {\n return { success: false, error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<GetBranchSyncStatusUseCase>('GetBranchSyncStatusUseCase');\n const result = await useCase.execute(featureId);\n return {\n success: true,\n data: {\n ...result,\n checkedAt: new Date().toISOString(),\n },\n };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to get branch sync status';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { UpdateFeaturePinnedConfigUseCase } from '@shepai/core/application/use-cases/features/update-feature-pinned-config.use-case';\n\nexport async function updateFeaturePinnedConfig(\n featureId: string,\n agentType: string,\n modelId: string\n): Promise<{ ok: boolean; error?: string }> {\n const normalizedFeatureId = featureId.trim();\n if (!normalizedFeatureId) {\n return { ok: false, error: 'Feature id is required' };\n }\n\n const normalizedAgentType = agentType.trim();\n if (!normalizedAgentType) {\n return { ok: false, error: 'Agent type is required' };\n }\n\n const normalizedModelId = modelId.trim();\n if (!normalizedModelId) {\n return { ok: false, error: 'Model id is required' };\n }\n\n try {\n const useCase = resolve<UpdateFeaturePinnedConfigUseCase>('UpdateFeaturePinnedConfigUseCase');\n await useCase.execute({\n featureId: normalizedFeatureId,\n agentType: normalizedAgentType,\n modelId: normalizedModelId,\n });\n return { ok: true };\n } catch (error: unknown) {\n const message =\n error instanceof Error ? error.message : 'Failed to update feature pinned config';\n return { ok: false, error: message };\n }\n}\n","export {getAllAgentModels as '00584ba29510fd7c0be9b91334a285c4d817194eee'} from 'ACTIONS_MODULE0'\nexport {checkAllAgentsStatus as '0043cd6e19253a2d16dc67a5901ebb633d69833ade'} from 'ACTIONS_MODULE1'\nexport {updateAgentAndModel as '60ab01fde7b0ffd0ac818e50594ad0b7c627cd268c'} from 'ACTIONS_MODULE2'\nexport {pickFolder as '0078bc13465fe3668327a14d98f99dfd5eac466eb4'} from 'ACTIONS_MODULE3'\nexport {listGitHubRepositories as '40b0bc115ee7a3a83ed1f51d0a66b3aecb322030f7'} from 'ACTIONS_MODULE4'\nexport {listGitHubOrganizations as '00aab2d6cd7bcd302a4b0575332c7db62ad6f979f6'} from 'ACTIONS_MODULE5'\nexport {importGitHubRepository as '4098baf238aae59bad95dd063affbe654d081aab4a'} from 'ACTIONS_MODULE6'\nexport {deployFeature as '40c2dfc201f60c6eb2d188c775421d5a1c1d27d360'} from 'ACTIONS_MODULE7'\nexport {deployRepository as '40f83bf51a8dc854a30d415481bc43400636d47e4c'} from 'ACTIONS_MODULE8'\nexport {deployApplication as '40fb405850076189f008c5fef22d2c4477ff0c3acb'} from 'ACTIONS_MODULE9'\nexport {stopDeployment as '4035404c565ec563e53bb087f3016ac724f18641b7'} from 'ACTIONS_MODULE10'\nexport {getDeploymentStatus as '40679858f1700b41394164126537b7015593462023'} from 'ACTIONS_MODULE11'\nexport {openIde as '40eb302a54ace31f960436e310a81d3a716383aac2'} from 'ACTIONS_MODULE12'\nexport {openShell as '40a48198cf82b00b42c5eeda0cf538d8e321863415'} from 'ACTIONS_MODULE13'\nexport {openFolder as '4035f16d1d7200978f71b7365fbaa43488da78aab0'} from 'ACTIONS_MODULE14'\nexport {syncRepository as '402e4106a7cb1ea8fce516e1b8d65d3ea4881bea76'} from 'ACTIONS_MODULE15'\nexport {getDeploymentLogs as '407cf2682ef5cf2e45d4a60c03fd11a3ab8e6764d3'} from 'ACTIONS_MODULE16'\nexport {createProjectAndFeature as '40cd2327774da4281c3bc9ec254c5afd33df989a47'} from 'ACTIONS_MODULE17'\nexport {createApplication as '40630a38df580440120c7d9746bf2041ac6b44ef6e'} from 'ACTIONS_MODULE18'\nexport {createProjectFolder as '40d6b3c68d920910e1ff11f6b80cb1f4bfab991213'} from 'ACTIONS_MODULE19'\nexport {archiveFeature as '40ef55ae5a133449ecbb070c35bd64baad0c1041ea'} from 'ACTIONS_MODULE20'\nexport {deleteFeature as '78959196d172cdd983f97bcaad2724697698d2c806'} from 'ACTIONS_MODULE21'\nexport {resumeFeature as '406950082d9d1673e9728cfd703cce027b3df3384d'} from 'ACTIONS_MODULE22'\nexport {startFeature as '40244bfc95e7a17826b27ab71a3c04594ccb269273'} from 'ACTIONS_MODULE23'\nexport {stopFeature as '404d5c2ef2d3edbb30c8a6f7615e4e6bcb1d83defc'} from 'ACTIONS_MODULE24'\nexport {unarchiveFeature as '40d3dcaa40abac063f9155e8cac718b752ea116d6a'} from 'ACTIONS_MODULE25'\nexport {addRepository as '40463bec95ad46672c677da03586c1c32b51cc3275'} from 'ACTIONS_MODULE26'\nexport {deleteRepository as '605838af0c239df955e6df9a4f0dcb4bc74c6e3c64'} from 'ACTIONS_MODULE27'\nexport {deleteApplication as '40f071462c1f272b773937160004afa67c7eebc4f4'} from 'ACTIONS_MODULE28'\nexport {getFeatureMetadata as '40bb5d3a23e65df083ac89710c30eb7ca870be47ab'} from 'ACTIONS_MODULE29'\nexport {approveFeature as '6053f84a219b8c99f7ebb5eabef86a425b5e5149d9'} from 'ACTIONS_MODULE30'\nexport {rejectFeature as '70b4322ba34d8e68eeacb638e2489033505c6d95d8'} from 'ACTIONS_MODULE31'\nexport {getFeatureArtifact as '40f670b423ffbc6b2b087c0e9ce3ee4e17ba74b8f4'} from 'ACTIONS_MODULE32'\nexport {getResearchArtifact as '406db17873ab09320dfffe3615dfd82d6138b90f6a'} from 'ACTIONS_MODULE33'\nexport {getMergeReviewData as '40b8e6ea94b5f9944be0a3f24f5393c0f684eadf42'} from 'ACTIONS_MODULE34'\nexport {getFeaturePhaseTimings as '40205af8575897c3ce74dfd3db8318e5a1ce64e132'} from 'ACTIONS_MODULE35'\nexport {getFeaturePlan as '40ac64c983f1ab164e5dd0b685b39ca9eeef1ec260'} from 'ACTIONS_MODULE36'\nexport {rebaseFeature as '409a7947e211955f1160024012f48f4684761e684c'} from 'ACTIONS_MODULE37'\nexport {getFeatureDrawerData as '401e329acf6c49d95da3ade673b0eff06b35e94ec8'} from 'ACTIONS_MODULE38'\nexport {getBranchSyncStatus as '402e64b65e7f76b351417907f61364af51a68cbb31'} from 'ACTIONS_MODULE39'\nexport {updateFeaturePinnedConfig as '704913f0c24873a17276e2c49ce4d5abbf2563dc6f'} from 'ACTIONS_MODULE40'\n"],"names":[],"mappings":"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QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},647407,a=>{a.n(a.i(805983))},859975,a=>{a.n(a.i(572884))},81719,a=>{a.n(a.i(639838))},917780,a=>{a.n(a.i(333238))},158555,a=>{a.n(a.i(888589))},532459,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(39873).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/src/presentation/web/components/features/version/version-page-client.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/version/version-page-client.tsx <module evaluation>","default")},693933,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(39873).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/src/presentation/web/components/features/version/version-page-client.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/version/version-page-client.tsx","default")},67651,a=>{"use strict";a.i(532459);var b=a.i(693933);a.n(b)},77048,a=>{"use strict";var b=a.i(282469),c=a.i(660526),d=a.i(996380),e=a.i(67651);function f(){let a=function(){try{let{version:a,name:b,description:c}=(0,d.resolve)("IVersionService").getVersion();return{version:a,name:b,description:c,branch:"HEAD",commitHash:"
|
|
1
|
+
module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},647407,a=>{a.n(a.i(805983))},859975,a=>{a.n(a.i(572884))},81719,a=>{a.n(a.i(639838))},917780,a=>{a.n(a.i(333238))},158555,a=>{a.n(a.i(888589))},532459,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(39873).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/src/presentation/web/components/features/version/version-page-client.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/version/version-page-client.tsx <module evaluation>","default")},693933,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(39873).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/src/presentation/web/components/features/version/version-page-client.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/version/version-page-client.tsx","default")},67651,a=>{"use strict";a.i(532459);var b=a.i(693933);a.n(b)},77048,a=>{"use strict";var b=a.i(282469),c=a.i(660526),d=a.i(996380),e=a.i(67651);function f(){let a=function(){try{let{version:a,name:b,description:c}=(0,d.resolve)("IVersionService").getVersion();return{version:a,name:b,description:c,branch:"HEAD",commitHash:"e53ab0e58d5464fac4a684d77007a8d00113bacf"}}catch{return{version:"1.183.0",name:"@shepai/cli",description:"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy",branch:"HEAD",commitHash:"e53ab0e58d5464fac4a684d77007a8d00113bacf"}}}(),f={nodeVersion:process.version,platform:(0,c.platform)(),arch:(0,c.arch)()};return(0,b.jsx)(e.default,{versionInfo:a,systemInfo:f})}a.s(["default",()=>f],77048)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__638955bc._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},647407,a=>{a.n(a.i(805983))},859975,a=>{a.n(a.i(572884))},81719,a=>{a.n(a.i(639838))},917780,a=>{a.n(a.i(333238))},158555,a=>{a.n(a.i(888589))},727559,a=>{a.n(a.i(719981))},886093,a=>{a.n(a.i(815406))},773717,a=>{a.n(a.i(73461))},58080,a=>{"use strict";a.s(["CreateDrawerClient",()=>b]);let b=(0,a.i(39873).registerClientReference)(function(){throw Error("Attempted to call CreateDrawerClient() from the server but CreateDrawerClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/common/control-center-drawer/create-drawer-client.tsx <module evaluation>","CreateDrawerClient")},963771,a=>{"use strict";a.s(["CreateDrawerClient",()=>b]);let b=(0,a.i(39873).registerClientReference)(function(){throw Error("Attempted to call CreateDrawerClient() from the server but CreateDrawerClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/common/control-center-drawer/create-drawer-client.tsx","CreateDrawerClient")},703396,a=>{"use strict";a.i(58080);var b=a.i(963771);a.n(b)},73461,a=>{"use strict";var b=a.i(282469),c=a.i(996380),d=a.i(633244),e=a.i(524860),f=a.i(719720),g=a.i(703396);async function h({searchParams:a}){let{repo:h,parent:i,prompt:j}=await a,k=(0,c.resolve)("ListFeaturesUseCase"),l=(0,c.resolve)("ListRepositoriesUseCase"),m=(0,d.getSettings)(),[
|
|
1
|
+
module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},647407,a=>{a.n(a.i(805983))},859975,a=>{a.n(a.i(572884))},81719,a=>{a.n(a.i(639838))},917780,a=>{a.n(a.i(333238))},158555,a=>{a.n(a.i(888589))},727559,a=>{a.n(a.i(719981))},886093,a=>{a.n(a.i(815406))},773717,a=>{a.n(a.i(73461))},58080,a=>{"use strict";a.s(["CreateDrawerClient",()=>b]);let b=(0,a.i(39873).registerClientReference)(function(){throw Error("Attempted to call CreateDrawerClient() from the server but CreateDrawerClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/common/control-center-drawer/create-drawer-client.tsx <module evaluation>","CreateDrawerClient")},963771,a=>{"use strict";a.s(["CreateDrawerClient",()=>b]);let b=(0,a.i(39873).registerClientReference)(function(){throw Error("Attempted to call CreateDrawerClient() from the server but CreateDrawerClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/common/control-center-drawer/create-drawer-client.tsx","CreateDrawerClient")},703396,a=>{"use strict";a.i(58080);var b=a.i(963771);a.n(b)},73461,a=>{"use strict";var b=a.i(282469),c=a.i(996380),d=a.i(633244),e=a.i(524860),f=a.i(719720),g=a.i(703396);async function h({searchParams:a}){let{repo:h,parent:i,prompt:j}=await a,k=(0,c.resolve)("ListFeaturesUseCase"),l=(0,c.resolve)("ListRepositoriesUseCase"),m=(0,c.resolve)("ListPluginsUseCase"),n=(0,d.getSettings)(),[o,p,q,r,s]=await Promise.all([k.execute(),l.execute().catch(()=>[]),(0,e.getWorkflowDefaults)().catch(()=>void 0),h?(0,f.getViewerPermission)(h).catch(()=>({canPushDirectly:!1})):Promise.resolve({canPushDirectly:!1}),m.execute().catch(()=>[])]),t=o.map(a=>({id:a.id,name:a.name})).filter(a=>a.id&&!a.id.startsWith("#")),u=p.map(a=>({id:a.id,name:a.name,path:a.path})),v=s.map(a=>({name:a.name,displayName:a.displayName??a.name,enabled:a.enabled}));return(0,b.jsx)(g.CreateDrawerClient,{repositoryPath:h??"",initialParentId:i,initialDescription:j,features:t,repositories:u,workflowDefaults:q,currentAgentType:n.agent.type,currentModel:n.models.default,canPushDirectly:r.canPushDirectly,installedPlugins:v})}a.s(["default",()=>h,"dynamic",0,"force-dynamic"])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__87d5ff6e._.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/presentation/web/components/common/control-center-drawer/create-drawer-client.tsx/__nextjs-internal-proxy.mjs","../../../../../../../src/presentation/web/app/%28dashboard%29/%40drawer/create/page.tsx"],"sourcesContent":["// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const CreateDrawerClient = registerClientReference(\n function() { throw new Error(\"Attempted to call CreateDrawerClient() from the server but CreateDrawerClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/src/presentation/web/components/common/control-center-drawer/create-drawer-client.tsx\",\n \"CreateDrawerClient\",\n);\n","import { resolve } from '@/lib/server-container';\nimport type { ListFeaturesUseCase } from '@shepai/core/application/use-cases/features/list-features.use-case';\nimport type { ListRepositoriesUseCase } from '@shepai/core/application/use-cases/repositories/list-repositories.use-case';\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\nimport { getWorkflowDefaults } from '@/app/actions/get-workflow-defaults';\nimport { getViewerPermission } from '@/app/actions/get-viewer-permission';\nimport { CreateDrawerClient } from '@/components/common/control-center-drawer/create-drawer-client';\n\n/** Skip static pre-rendering since we need runtime DI container. */\nexport const dynamic = 'force-dynamic';\n\ninterface CreateDrawerPageProps {\n searchParams: Promise<{ repo?: string; parent?: string; prompt?: string }>;\n}\n\nexport default async function CreateDrawerPage({ searchParams }: CreateDrawerPageProps) {\n const { repo, parent, prompt } = await searchParams;\n\n const listFeatures = resolve<ListFeaturesUseCase>('ListFeaturesUseCase');\n const listRepos = resolve<ListRepositoriesUseCase>('ListRepositoriesUseCase');\n const settings = getSettings();\n\n const [features, repositories, workflowDefaults, viewerPerm] = await Promise.all([\n listFeatures.execute(),\n listRepos.execute().catch(() => []),\n getWorkflowDefaults().catch(() => undefined),\n repo\n ? getViewerPermission(repo).catch(() => ({ canPushDirectly: false }))\n : Promise.resolve({ canPushDirectly: false }),\n ]);\n\n const featureOptions = features\n .map((f) => ({ id: f.id, name: f.name }))\n .filter((f) => f.id && !f.id.startsWith('#'));\n\n const repositoryOptions = repositories.map((r) => ({\n id: r.id,\n name: r.name,\n path: r.path,\n }));\n\n return (\n <CreateDrawerClient\n repositoryPath={repo ?? ''}\n initialParentId={parent}\n initialDescription={prompt}\n features={featureOptions}\n repositories={repositoryOptions}\n workflowDefaults={workflowDefaults}\n currentAgentType={settings.agent.type}\n currentModel={settings.models.default}\n canPushDirectly={viewerPerm.canPushDirectly}\n />\n );\n}\n"],"names":[],"mappings":"ucAEO,IAAM,EAAqB,CAAA,EAAA,AADlC,EAAA,CAAA,CAAA,OACkC,uBAAA,AAAuB,EACrD,WAAa,MAAM,AAAI,MAAM,kPAAoP,EACjR,sHACA,iFAHG,IAAM,EAAqB,CAAA,
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/presentation/web/components/common/control-center-drawer/create-drawer-client.tsx/__nextjs-internal-proxy.mjs","../../../../../../../src/presentation/web/app/%28dashboard%29/%40drawer/create/page.tsx"],"sourcesContent":["// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const CreateDrawerClient = registerClientReference(\n function() { throw new Error(\"Attempted to call CreateDrawerClient() from the server but CreateDrawerClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/src/presentation/web/components/common/control-center-drawer/create-drawer-client.tsx\",\n \"CreateDrawerClient\",\n);\n","import { resolve } from '@/lib/server-container';\nimport type { ListFeaturesUseCase } from '@shepai/core/application/use-cases/features/list-features.use-case';\nimport type { ListRepositoriesUseCase } from '@shepai/core/application/use-cases/repositories/list-repositories.use-case';\nimport type { ListPluginsUseCase } from '@shepai/core/application/use-cases/plugins/list-plugins.use-case';\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\nimport { getWorkflowDefaults } from '@/app/actions/get-workflow-defaults';\nimport { getViewerPermission } from '@/app/actions/get-viewer-permission';\nimport { CreateDrawerClient } from '@/components/common/control-center-drawer/create-drawer-client';\n\n/** Skip static pre-rendering since we need runtime DI container. */\nexport const dynamic = 'force-dynamic';\n\ninterface CreateDrawerPageProps {\n searchParams: Promise<{ repo?: string; parent?: string; prompt?: string }>;\n}\n\nexport default async function CreateDrawerPage({ searchParams }: CreateDrawerPageProps) {\n const { repo, parent, prompt } = await searchParams;\n\n const listFeatures = resolve<ListFeaturesUseCase>('ListFeaturesUseCase');\n const listRepos = resolve<ListRepositoriesUseCase>('ListRepositoriesUseCase');\n const listPlugins = resolve<ListPluginsUseCase>('ListPluginsUseCase');\n const settings = getSettings();\n\n const [features, repositories, workflowDefaults, viewerPerm, plugins] = await Promise.all([\n listFeatures.execute(),\n listRepos.execute().catch(() => []),\n getWorkflowDefaults().catch(() => undefined),\n repo\n ? getViewerPermission(repo).catch(() => ({ canPushDirectly: false }))\n : Promise.resolve({ canPushDirectly: false }),\n listPlugins.execute().catch(() => []),\n ]);\n\n const featureOptions = features\n .map((f) => ({ id: f.id, name: f.name }))\n .filter((f) => f.id && !f.id.startsWith('#'));\n\n const repositoryOptions = repositories.map((r) => ({\n id: r.id,\n name: r.name,\n path: r.path,\n }));\n\n const installedPlugins = plugins.map((p) => ({\n name: p.name,\n displayName: p.displayName ?? p.name,\n enabled: p.enabled,\n }));\n\n return (\n <CreateDrawerClient\n repositoryPath={repo ?? ''}\n initialParentId={parent}\n initialDescription={prompt}\n features={featureOptions}\n repositories={repositoryOptions}\n workflowDefaults={workflowDefaults}\n currentAgentType={settings.agent.type}\n currentModel={settings.models.default}\n canPushDirectly={viewerPerm.canPushDirectly}\n installedPlugins={installedPlugins}\n />\n );\n}\n"],"names":[],"mappings":"ucAEO,IAAM,EAAqB,CAAA,EAAA,AADlC,EAAA,CAAA,CAAA,OACkC,uBAAA,AAAuB,EACrD,WAAa,MAAM,AAAI,MAAM,kPAAoP,EACjR,sHACA,iFAHG,IAAM,EAAqB,CAAA,EAAA,AADlC,EAAA,CAAA,CAAA,OACkC,uBAAA,AAAuB,EACrD,WAAa,MAAM,AAAI,MAAM,kPAAoP,EACjR,kGACA,6HCLJ,EAAA,EAAA,CAAA,CAAA,QAIA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QASe,eAAe,EAAiB,cAAE,CAAY,CAAyB,EACpF,GAAM,MAAE,CAAI,QAAE,CAAM,QAAE,CAAM,CAAE,CAAG,MAAM,EAEjC,EAAe,CAAA,EAAA,EAAA,OAAO,AAAP,EAA6B,uBAC5C,EAAY,CAAA,EAAA,EAAA,OAAA,AAAO,EAA0B,2BAC7C,EAAc,CAAA,EAAA,EAAA,OAAA,AAAO,EAAqB,sBAC1C,EAAW,CAAA,EAAA,EAAA,WAAA,AAAW,IAEtB,CAAC,EAAU,EAAc,EAAkB,EAAY,EAAQ,CAAG,MAAM,QAAQ,GAAG,CAAC,CACxF,EAAa,OAAO,GACpB,EAAU,OAAO,GAAG,KAAK,CAAC,IAAM,EAAE,EAClC,CAAA,EAAA,EAAA,mBAAA,AAAmB,IAAG,KAAK,CAAC,SAAM,GAClC,EACI,CAAA,EAAA,EAAA,mBAAA,AAAmB,EAAC,GAAM,KAAK,CAAC,IAAM,CAAC,CAAE,iBAAiB,EAAM,CAAC,EACjE,QAAQ,OAAO,CAAC,CAAE,iBAAiB,CAAM,GAC7C,EAAY,OAAO,GAAG,KAAK,CAAC,IAAM,EAAE,EACrC,EAEK,EAAiB,EACpB,GAAG,CAAC,AAAC,IAAM,AAAC,CAAE,GAAI,EAAE,EAAE,CAAE,KAAM,EAAE,IAAI,CAAC,CAAC,EACtC,MAAM,CAAE,AAAD,GAAO,EAAE,EAAE,EAAI,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,MAEpC,EAAoB,EAAa,GAAG,CAAE,AAAD,GAAQ,CAAD,CAChD,GAAI,EAAE,EAAE,CACR,KAAM,EAAE,IAAI,CACZ,KAAM,EAAE,IAAI,CACd,CAAC,EAEK,EAAmB,EAAQ,GAAG,CAAC,AAAC,IAAM,AAAC,CAC3C,KAAM,EAAE,IAAI,CACZ,YAAa,EAAE,WAAW,EAAI,EAAE,IAAI,CACpC,QAAS,EAAE,OAAO,CACpB,CAAC,EAED,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,kBAAkB,CAAA,CACjB,eAAgB,GAAQ,GACxB,gBAAiB,EACjB,mBAAoB,EACpB,SAAU,EACV,aAAc,EACd,iBAAkB,EAClB,iBAAkB,EAAS,KAAK,CAAC,IAAI,CACrC,aAAc,EAAS,MAAM,CAAC,OAAO,CACrC,gBAAiB,EAAW,eAAe,CAC3C,iBAAkB,GAGxB,kCAtDuB","ignoreList":[0]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},647407,a=>{a.n(a.i(805983))},859975,a=>{a.n(a.i(572884))},81719,a=>{a.n(a.i(639838))},917780,a=>{a.n(a.i(333238))},158555,a=>{a.n(a.i(888589))},119102,a=>{"use strict";a.s(["PluginsPageClient",()=>b]);let b=(0,a.i(39873).registerClientReference)(function(){throw Error("Attempted to call PluginsPageClient() from the server but PluginsPageClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/app/plugins/plugins-page-client.tsx <module evaluation>","PluginsPageClient")},738254,a=>{"use strict";a.s(["PluginsPageClient",()=>b]);let b=(0,a.i(39873).registerClientReference)(function(){throw Error("Attempted to call PluginsPageClient() from the server but PluginsPageClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/app/plugins/plugins-page-client.tsx","PluginsPageClient")},671260,a=>{"use strict";a.i(119102);var b=a.i(738254);a.n(b)},668031,a=>{"use strict";var b=a.i(282469),c=a.i(996380),d=a.i(671260);async function e(){let a=[],e=[];try{let b=(0,c.resolve)("ListPluginsUseCase");a=await b.execute()}catch{}try{let a=(0,c.resolve)("GetPluginCatalogUseCase");e=await a.execute()}catch{}return(0,b.jsx)("div",{className:"flex h-full flex-col p-6",children:(0,b.jsx)(d.PluginsPageClient,{plugins:a,catalog:e})})}a.s(["default",()=>e,"dynamic",0,"force-dynamic"])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__9b0e14ee._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/presentation/web/app/plugins/plugins-page-client.tsx/__nextjs-internal-proxy.mjs","../../../../../../../src/presentation/web/app/plugins/page.tsx"],"sourcesContent":["// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const PluginsPageClient = registerClientReference(\n function() { throw new Error(\"Attempted to call PluginsPageClient() from the server but PluginsPageClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/src/presentation/web/app/plugins/plugins-page-client.tsx\",\n \"PluginsPageClient\",\n);\n","import { resolve } from '@/lib/server-container';\nimport type { ListPluginsUseCase } from '@shepai/core/application/use-cases/plugins/list-plugins.use-case';\nimport type {\n GetPluginCatalogUseCase,\n CatalogEntryWithStatus,\n} from '@shepai/core/application/use-cases/plugins/get-plugin-catalog.use-case';\nimport type { Plugin } from '@shepai/core/domain/generated/output';\nimport { PluginsPageClient } from './plugins-page-client';\n\n/** Skip static pre-rendering since we need runtime DI container. */\nexport const dynamic = 'force-dynamic';\n\nexport default async function PluginsPage() {\n let plugins: Plugin[] = [];\n let catalog: CatalogEntryWithStatus[] = [];\n\n try {\n const listUseCase = resolve<ListPluginsUseCase>('ListPluginsUseCase');\n plugins = await listUseCase.execute();\n } catch {\n // DI container may not be available during build\n }\n\n try {\n const catalogUseCase = resolve<GetPluginCatalogUseCase>('GetPluginCatalogUseCase');\n catalog = await catalogUseCase.execute();\n } catch {\n // DI container may not be available during build\n }\n\n return (\n <div className=\"flex h-full flex-col p-6\">\n <PluginsPageClient plugins={plugins} catalog={catalog} />\n </div>\n );\n}\n"],"names":[],"mappings":"iXAEO,IAAM,EAAoB,CAAA,EAAA,AADjC,EAAA,CAAA,CAAA,OACiC,uBAAA,AAAuB,EACpD,WAAa,MAAM,AAAI,MAAM,gPAAkP,EAC/Q,yFACA,+EAHG,IAAM,EAAoB,CAAA,EADjC,AACiC,EADjC,CAAA,CAAA,OACiC,uBAAA,AAAuB,EACpD,WAAa,MAAU,AAAJ,MAAU,gPAAkP,EAC/Q,qEACA,8HCLJ,EAAA,EAAA,CAAA,CAAA,QAOA,EAAA,EAAA,CAAA,CAAA,QAKe,eAAe,IAC5B,IAAI,EAAoB,EAAE,CACtB,EAAoC,EAAE,CAE1C,GAAI,CACF,IAAM,EAAc,CAAA,EAAA,EAAA,OAAO,AAAP,EAA4B,sBAChD,EAAU,MAAM,EAAY,OAAO,EACrC,CAAE,KAAM,CAER,CAEA,GAAI,CACF,IAAM,EAAiB,CAAA,EAAA,EAAA,OAAA,AAAO,EAA0B,2BACxD,EAAU,MAAM,EAAe,OAAO,EACxC,CAAE,KAAM,CAER,CAEA,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,oCACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,iBAAiB,CAAA,CAAC,QAAS,EAAS,QAAS,KAGpD,kCAzBuB","ignoreList":[0]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[874533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},996380,a=>{"use strict";function b(a){let b=globalThis.__shepContainer;if(!b)throw Error("DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.");return b.resolve(a)}a.s(["resolve",()=>b])},237705,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(39873)},701904,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},723504,408115,827900,912513,673101,654775,265324,a=>{"use strict";var b=a.i(237705),c=a.i(996380);let d={"claude-opus-4-6":{displayName:"Opus 4.6",description:"Most capable, complex tasks"},"claude-sonnet-4-6":{displayName:"Sonnet 4.6",description:"Fast & balanced"},"claude-haiku-4-5":{displayName:"Haiku 4.5",description:"Lightweight & quick"},"gemini-3.1-pro":{displayName:"Gemini 3.1 Pro",description:"Advanced reasoning"},"gemini-3-flash":{displayName:"Gemini 3 Flash",description:"Ultra-fast responses"},"gemini-2.5-pro":{displayName:"Gemini 2.5 Pro",description:"Reliable workhorse"},"gemini-2.5-flash":{displayName:"Gemini 2.5 Flash",description:"Speed-optimized"},"gpt-5.4-high":{displayName:"GPT-5.4",description:"Latest reasoning model"},"gpt-5.2":{displayName:"GPT-5.2",description:"Flagship model"},"gpt-5.3-codex":{displayName:"GPT-5.3 Codex",description:"Code specialist"},"composer-1.5":{displayName:"Composer 1.5",description:"Multi-file editing"},"grok-code":{displayName:"Grok Code",description:"xAI code model"},"gpt-8":{displayName:"GPT-8",description:"Writes code before you think it"},"opus-7":{displayName:"Opus 7",description:"Achieved consciousness, ships on time"}},e={displayName:"",description:""};function f(a){let b=d[a];if(b)return b;let c=a.includes("/")?a.split("/").pop()??a:a;return{...e,displayName:c.replace(/^claude-/i,"").replace(/^gemini-/i,"Gemini ").replace(/^gpt-/i,"GPT-").replace(/[-_]/g," ").replace(/\b\w/g,a=>a.toUpperCase())}}var g=a.i(701904);let h={"claude-code":"Claude Code","codex-cli":"Codex CLI","copilot-cli":"Copilot CLI",cursor:"Cursor CLI","gemini-cli":"Gemini CLI",openrouter:"OpenRouter","together-ai":"Together AI",dev:"Demo"},i={"claude-code":0,"codex-cli":1,"copilot-cli":2,cursor:3,"gemini-cli":4,openrouter:5,"together-ai":6,dev:99};function j(...a){for(let b of a)if(b&&b.length>0)return b;return""}function k(a){let b=f(a.id);return{id:a.id,displayName:j(a.displayName,b.displayName,a.id),description:j(b.description,a.description),contextLength:a.contextLength,isFree:a.isFree,vendor:a.vendor}}async function l(){try{let a,b=(0,c.resolve)("IAgentExecutorFactory");try{let b=(0,c.resolve)("LoadSettingsUseCase");a=(await b.execute()).agent}catch{a=void 0}let d=b.getSupportedAgents();return(await Promise.all(d.map(async c=>{let d=a&&c===a.type?a:void 0,e=await b.listAvailableModels(c,d);return{agentType:c,label:h[c]??c,models:e.map(k)}}))).map(a=>"dev"===a.agentType&&0===a.models.length?{...a,models:[{id:"gpt-8",...f("gpt-8")},{id:"opus-7",...f("opus-7")}]}:a).filter(a=>a.models.length>0).sort((a,b)=>(i[a.agentType]??50)-(i[b.agentType]??50))}catch{return[]}}(0,g.ensureServerEntryExports)([l]),(0,b.registerServerReference)(l,"00e58c190532f4f50a563fe350b5346d8a7fe34107",null),a.s(["getAllAgentModels",()=>l],723504);let m={"claude-code":"claude-code",cursor:"cursor-cli","gemini-cli":"gemini-cli","copilot-cli":"copilot-cli","codex-cli":"codex-cli"};async function n(){try{let a=(0,c.resolve)("ListToolsUseCase"),b=await a.execute(),d={};for(let[a,c]of Object.entries(m)){let e=b.find(a=>a.id===c);d[a]=e?.status.status==="available"}return d.dev=!0,d}catch{return{}}}(0,g.ensureServerEntryExports)([n]),(0,b.registerServerReference)(n,"0051115904c7c48c39887ceb6a80a41b51f5fc6b9f",null),a.s(["checkAllAgentsStatus",()=>n],408115);var o=a.i(633244);async function p(a,b){if(!a.trim())return{ok:!1,error:"agent type is required"};try{let d=(0,c.resolve)("CompleteWebOnboardingUseCase"),e=await d.execute({agentType:a.trim(),model:b});return(0,o.resetSettings)(),(0,o.initializeSettings)(e),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:"Failed to update agent and model"}}}(0,g.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"606d13f3bd634e57be02843508a61d20c7f83dd854",null),a.s(["updateAgentAndModel",()=>p],827900);var q=a.i(874533);let r={platform:process.platform,exec:(a,b)=>(0,q.execSync)(a,b)},s={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class t{deps;constructor(a={}){this.deps={...r,...a}}getCommand(){return s[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function u(){let a=new t;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,g.ensureServerEntryExports)([u]),(0,b.registerServerReference)(u,"0026d01a354f61d318a336fbe2eaa3f03edc9f91b0",null),a.s(["pickFolder",()=>u],912513);class v extends Error{constructor(a,b){super(a),this.name="GitHubAuthError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}class w extends Error{constructor(a,b){super(a),this.name="GitHubCloneError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}class x extends Error{constructor(a,b){super(a),this.name="GitHubUrlParseError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}async function y(a){try{let b=(0,c.resolve)("ListGitHubRepositoriesUseCase");return{repos:await b.execute(a)}}catch(a){if(a instanceof v)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};return{error:a instanceof Error?a.message:"Failed to list repositories"}}}async function z(){try{let a=(0,c.resolve)("ListGitHubOrganizationsUseCase");return{orgs:await a.execute()}}catch(a){if(a instanceof v)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};return{error:a instanceof Error?a.message:"Failed to list organizations"}}}async function A(a){let{url:b,dest:d}=a;if(!b?.trim())return{error:"GitHub URL is required"};try{let a=(0,c.resolve)("ImportGitHubRepositoryUseCase"),e=await a.execute({url:b,dest:d});return{repository:e,forked:!0===e.isFork}}catch(a){if(a instanceof v)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};if(a instanceof x)return{error:`Invalid GitHub URL: ${a.message}`};if(a instanceof w)return{error:`Clone failed: ${a.message}`};return{error:a instanceof Error?a.message:"Failed to import repository"}}}(0,g.ensureServerEntryExports)([y]),(0,b.registerServerReference)(y,"40978ff740f2484d7f08bafd677da4d039256d0089",null),a.s(["listGitHubRepositories",()=>y],673101),(0,g.ensureServerEntryExports)([z]),(0,b.registerServerReference)(z,"00ceb168cfa95261f0ad5acf0245521784c59f91d1",null),a.s(["listGitHubOrganizations",()=>z],654775),(0,g.ensureServerEntryExports)([A]),(0,b.registerServerReference)(A,"402046d017b7878c27edecd35df9b66f617c5c35b1",null),a.s(["importGitHubRepository",()=>A],265324)},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},912714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},902157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},632278,a=>{"use strict";a.i(912714);var b=a.i(660526),c=a.i(750227);function d(){return process.env.SHEP_HOME??(0,c.join)((0,b.homedir)(),".shep")}a.i(902157),a.s(["getShepHomeDir",()=>d])},686561,579195,a=>{"use strict";var b=a.i(237705),c=a.i(902157),d=a.i(750227),e=a.i(996380),f=a.i(632278),g=a.i(701904);async function h(){try{let b=(0,e.resolve)("LoadSettingsUseCase"),g=await b.execute(),h=(0,f.getShepHomeDir)(),i="Unknown";try{var a;let b=(0,d.join)(h,"data");i=(a=(0,c.statSync)(b).size)<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}catch{}return{settings:g,shepHome:h,dbFileSize:i}}catch(a){return{error:a instanceof Error?a.message:"Failed to load settings"}}}async function i(){try{let a=(0,e.resolve)("IToolInstallerService");return await a.listAvailableTerminals()}catch{return[{id:"system",name:"System Terminal",available:!0}]}}(0,g.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"0016cca394cd91c36fa0b01de70ab0ca814ee21d6b",null),a.s(["loadSettings",()=>h],686561),(0,g.ensureServerEntryExports)([i]),(0,b.registerServerReference)(i,"00a80a7be447d0d5f80b0e880542baec1dcae6e71e",null),a.s(["getAvailableTerminals",()=>i],579195)},698735,a=>{"use strict";var b=a.i(723504),c=a.i(408115),d=a.i(827900),e=a.i(912513),f=a.i(673101),g=a.i(654775),h=a.i(265324),i=a.i(686561),j=a.i(579195),k=a.i(237705),l=a.i(615704),m=a.i(996380),n=a.i(633244);async function o(a){try{let b=(0,m.resolve)("LoadSettingsUseCase"),c=await b.execute(),d=function a(b,c){let d={...b};for(let e of Object.keys(c)){let f=c[e];if(void 0===f)continue;let g=b[e];null==g||"object"!=typeof g||Array.isArray(g)||g instanceof Date||null===f||"object"!=typeof f||Array.isArray(f)||f instanceof Date?d[e]=f:d[e]=a(g,f)}return d}(c,a);d.updatedAt=new Date;let e=(0,m.resolve)("UpdateSettingsUseCase");return await e.execute(d),(0,n.updateSettings)(d),(0,l.revalidatePath)("/","layout"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to update settings"}}}(0,a.i(701904).ensureServerEntryExports)([o]),(0,k.registerServerReference)(o,"409dc5ae8649905825f1bb3e5f3631de41a5312f98",null),a.s([],185980),a.i(185980),a.s(["0016cca394cd91c36fa0b01de70ab0ca814ee21d6b",()=>i.loadSettings,"0026d01a354f61d318a336fbe2eaa3f03edc9f91b0",()=>e.pickFolder,"0051115904c7c48c39887ceb6a80a41b51f5fc6b9f",()=>c.checkAllAgentsStatus,"00a80a7be447d0d5f80b0e880542baec1dcae6e71e",()=>j.getAvailableTerminals,"00ceb168cfa95261f0ad5acf0245521784c59f91d1",()=>g.listGitHubOrganizations,"00e58c190532f4f50a563fe350b5346d8a7fe34107",()=>b.getAllAgentModels,"402046d017b7878c27edecd35df9b66f617c5c35b1",()=>h.importGitHubRepository,"40978ff740f2484d7f08bafd677da4d039256d0089",()=>f.listGitHubRepositories,"409dc5ae8649905825f1bb3e5f3631de41a5312f98",()=>o,"606d13f3bd634e57be02843508a61d20c7f83dd854",()=>d.updateAgentAndModel],698735)}];
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},723504,408115,827900,912513,673101,654775,265324,a=>{"use strict";var b=a.i(237705),c=a.i(996380);let d={"claude-opus-4-6":{displayName:"Opus 4.6",description:"Most capable, complex tasks"},"claude-sonnet-4-6":{displayName:"Sonnet 4.6",description:"Fast & balanced"},"claude-haiku-4-5":{displayName:"Haiku 4.5",description:"Lightweight & quick"},"gemini-3.1-pro":{displayName:"Gemini 3.1 Pro",description:"Advanced reasoning"},"gemini-3-flash":{displayName:"Gemini 3 Flash",description:"Ultra-fast responses"},"gemini-2.5-pro":{displayName:"Gemini 2.5 Pro",description:"Reliable workhorse"},"gemini-2.5-flash":{displayName:"Gemini 2.5 Flash",description:"Speed-optimized"},"gpt-5.4-high":{displayName:"GPT-5.4",description:"Latest reasoning model"},"gpt-5.2":{displayName:"GPT-5.2",description:"Flagship model"},"gpt-5.3-codex":{displayName:"GPT-5.3 Codex",description:"Code specialist"},"composer-1.5":{displayName:"Composer 1.5",description:"Multi-file editing"},"grok-code":{displayName:"Grok Code",description:"xAI code model"},"gpt-8":{displayName:"GPT-8",description:"Writes code before you think it"},"opus-7":{displayName:"Opus 7",description:"Achieved consciousness, ships on time"}},e={displayName:"",description:""};function f(a){let b=d[a];if(b)return b;let c=a.includes("/")?a.split("/").pop()??a:a;return{...e,displayName:c.replace(/^claude-/i,"").replace(/^gemini-/i,"Gemini ").replace(/^gpt-/i,"GPT-").replace(/[-_]/g," ").replace(/\b\w/g,a=>a.toUpperCase())}}var g=a.i(701904);let h={"claude-code":"Claude Code","codex-cli":"Codex CLI","copilot-cli":"Copilot CLI",cursor:"Cursor CLI","gemini-cli":"Gemini CLI",openrouter:"OpenRouter","together-ai":"Together AI",dev:"Demo"},i={"claude-code":0,"codex-cli":1,"copilot-cli":2,cursor:3,"gemini-cli":4,openrouter:5,"together-ai":6,dev:99};function j(...a){for(let b of a)if(b&&b.length>0)return b;return""}function k(a){let b=f(a.id);return{id:a.id,displayName:j(a.displayName,b.displayName,a.id),description:j(b.description,a.description),contextLength:a.contextLength,isFree:a.isFree,vendor:a.vendor}}async function l(){try{let a,b=(0,c.resolve)("IAgentExecutorFactory");try{let b=(0,c.resolve)("LoadSettingsUseCase");a=(await b.execute()).agent}catch{a=void 0}let d=b.getSupportedAgents();return(await Promise.all(d.map(async c=>{let d=a&&c===a.type?a:void 0,e=await b.listAvailableModels(c,d);return{agentType:c,label:h[c]??c,models:e.map(k)}}))).map(a=>"dev"===a.agentType&&0===a.models.length?{...a,models:[{id:"gpt-8",...f("gpt-8")},{id:"opus-7",...f("opus-7")}]}:a).filter(a=>a.models.length>0).sort((a,b)=>(i[a.agentType]??50)-(i[b.agentType]??50))}catch{return[]}}(0,g.ensureServerEntryExports)([l]),(0,b.registerServerReference)(l,"00584ba29510fd7c0be9b91334a285c4d817194eee",null),a.s(["getAllAgentModels",()=>l],723504);let m={"claude-code":"claude-code",cursor:"cursor-cli","gemini-cli":"gemini-cli","copilot-cli":"copilot-cli","codex-cli":"codex-cli"};async function n(){try{let a=(0,c.resolve)("ListToolsUseCase"),b=await a.execute(),d={};for(let[a,c]of Object.entries(m)){let e=b.find(a=>a.id===c);d[a]=e?.status.status==="available"}return d.dev=!0,d}catch{return{}}}(0,g.ensureServerEntryExports)([n]),(0,b.registerServerReference)(n,"0043cd6e19253a2d16dc67a5901ebb633d69833ade",null),a.s(["checkAllAgentsStatus",()=>n],408115);var o=a.i(633244);async function p(a,b){if(!a.trim())return{ok:!1,error:"agent type is required"};try{let d=(0,c.resolve)("CompleteWebOnboardingUseCase"),e=await d.execute({agentType:a.trim(),model:b});return(0,o.resetSettings)(),(0,o.initializeSettings)(e),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:"Failed to update agent and model"}}}(0,g.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"60ab01fde7b0ffd0ac818e50594ad0b7c627cd268c",null),a.s(["updateAgentAndModel",()=>p],827900);var q=a.i(874533);let r={platform:process.platform,exec:(a,b)=>(0,q.execSync)(a,b)},s={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class t{deps;constructor(a={}){this.deps={...r,...a}}getCommand(){return s[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function u(){let a=new t;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,g.ensureServerEntryExports)([u]),(0,b.registerServerReference)(u,"0078bc13465fe3668327a14d98f99dfd5eac466eb4",null),a.s(["pickFolder",()=>u],912513);class v extends Error{constructor(a,b){super(a),this.name="GitHubAuthError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}class w extends Error{constructor(a,b){super(a),this.name="GitHubCloneError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}class x extends Error{constructor(a,b){super(a),this.name="GitHubUrlParseError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}async function y(a){try{let b=(0,c.resolve)("ListGitHubRepositoriesUseCase");return{repos:await b.execute(a)}}catch(a){if(a instanceof v)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};return{error:a instanceof Error?a.message:"Failed to list repositories"}}}async function z(){try{let a=(0,c.resolve)("ListGitHubOrganizationsUseCase");return{orgs:await a.execute()}}catch(a){if(a instanceof v)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};return{error:a instanceof Error?a.message:"Failed to list organizations"}}}async function A(a){let{url:b,dest:d}=a;if(!b?.trim())return{error:"GitHub URL is required"};try{let a=(0,c.resolve)("ImportGitHubRepositoryUseCase"),e=await a.execute({url:b,dest:d});return{repository:e,forked:!0===e.isFork}}catch(a){if(a instanceof v)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};if(a instanceof x)return{error:`Invalid GitHub URL: ${a.message}`};if(a instanceof w)return{error:`Clone failed: ${a.message}`};return{error:a instanceof Error?a.message:"Failed to import repository"}}}(0,g.ensureServerEntryExports)([y]),(0,b.registerServerReference)(y,"40b0bc115ee7a3a83ed1f51d0a66b3aecb322030f7",null),a.s(["listGitHubRepositories",()=>y],673101),(0,g.ensureServerEntryExports)([z]),(0,b.registerServerReference)(z,"00aab2d6cd7bcd302a4b0575332c7db62ad6f979f6",null),a.s(["listGitHubOrganizations",()=>z],654775),(0,g.ensureServerEntryExports)([A]),(0,b.registerServerReference)(A,"4098baf238aae59bad95dd063affbe654d081aab4a",null),a.s(["importGitHubRepository",()=>A],265324)},902157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},912714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},632278,a=>{"use strict";a.i(912714);var b=a.i(660526),c=a.i(750227);function d(){return process.env.SHEP_HOME??(0,c.join)((0,b.homedir)(),".shep")}a.i(902157),a.s(["getShepHomeDir",()=>d])},686561,579195,a=>{"use strict";var b=a.i(237705),c=a.i(902157),d=a.i(750227),e=a.i(996380),f=a.i(632278),g=a.i(701904);async function h(){try{let b=(0,e.resolve)("LoadSettingsUseCase"),g=await b.execute(),h=(0,f.getShepHomeDir)(),i="Unknown";try{var a;let b=(0,d.join)(h,"data");i=(a=(0,c.statSync)(b).size)<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}catch{}return{settings:g,shepHome:h,dbFileSize:i}}catch(a){return{error:a instanceof Error?a.message:"Failed to load settings"}}}async function i(){try{let a=(0,e.resolve)("IToolInstallerService");return await a.listAvailableTerminals()}catch{return[{id:"system",name:"System Terminal",available:!0}]}}(0,g.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"007d89181f0de5adc162b2a236f854e44b1d30dab7",null),a.s(["loadSettings",()=>h],686561),(0,g.ensureServerEntryExports)([i]),(0,b.registerServerReference)(i,"0041e7567bd77893773b22ee2142d0debcb79362a1",null),a.s(["getAvailableTerminals",()=>i],579195)},698735,a=>{"use strict";var b=a.i(723504),c=a.i(408115),d=a.i(827900),e=a.i(912513),f=a.i(673101),g=a.i(654775),h=a.i(265324),i=a.i(686561),j=a.i(579195),k=a.i(237705),l=a.i(615704),m=a.i(996380),n=a.i(633244);async function o(a){try{let b=(0,m.resolve)("LoadSettingsUseCase"),c=await b.execute(),d=function a(b,c){let d={...b};for(let e of Object.keys(c)){let f=c[e];if(void 0===f)continue;let g=b[e];null==g||"object"!=typeof g||Array.isArray(g)||g instanceof Date||null===f||"object"!=typeof f||Array.isArray(f)||f instanceof Date?d[e]=f:d[e]=a(g,f)}return d}(c,a);d.updatedAt=new Date;let e=(0,m.resolve)("UpdateSettingsUseCase");return await e.execute(d),(0,n.updateSettings)(d),(0,l.revalidatePath)("/","layout"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to update settings"}}}(0,a.i(701904).ensureServerEntryExports)([o]),(0,k.registerServerReference)(o,"4013deefc3853e96b7a84cd6a64af06c1f19baf35d",null),a.s([],185980),a.i(185980),a.s(["0041e7567bd77893773b22ee2142d0debcb79362a1",()=>j.getAvailableTerminals,"0043cd6e19253a2d16dc67a5901ebb633d69833ade",()=>c.checkAllAgentsStatus,"00584ba29510fd7c0be9b91334a285c4d817194eee",()=>b.getAllAgentModels,"0078bc13465fe3668327a14d98f99dfd5eac466eb4",()=>e.pickFolder,"007d89181f0de5adc162b2a236f854e44b1d30dab7",()=>i.loadSettings,"00aab2d6cd7bcd302a4b0575332c7db62ad6f979f6",()=>g.listGitHubOrganizations,"4013deefc3853e96b7a84cd6a64af06c1f19baf35d",()=>o,"4098baf238aae59bad95dd063affbe654d081aab4a",()=>h.importGitHubRepository,"40b0bc115ee7a3a83ed1f51d0a66b3aecb322030f7",()=>f.listGitHubRepositories,"60ab01fde7b0ffd0ac818e50594ad0b7c627cd268c",()=>d.updateAgentAndModel],698735)}];
|
|
3
3
|
|
|
4
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
4
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__ac9ab3c5._.js.map
|