@shepai/cli 1.136.0-pr440.bb6800a → 1.136.0-pr441.5eaafd1
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/Feature.yaml +0 -3
- package/apis/json-schema/FeatureFlags.yaml +5 -0
- package/apis/json-schema/NotificationEventConfig.yaml +15 -0
- package/apis/json-schema/NotificationEventType.yaml +3 -0
- package/apis/json-schema/ScheduledWorkflow.yaml +46 -0
- package/apis/json-schema/SdlcLifecycle.yaml +0 -1
- package/apis/json-schema/WorkflowExecution.yaml +38 -0
- package/apis/json-schema/WorkflowExecutionStatus.yaml +10 -0
- package/apis/json-schema/WorkflowTriggerType.yaml +7 -0
- package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts +0 -2
- package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/repositories/index.d.ts +2 -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/workflow-execution-repository.interface.d.ts +66 -0
- package/dist/packages/core/src/application/ports/output/repositories/workflow-execution-repository.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/repositories/workflow-execution-repository.interface.js +11 -0
- package/dist/packages/core/src/application/ports/output/repositories/workflow-repository.interface.d.ts +81 -0
- package/dist/packages/core/src/application/ports/output/repositories/workflow-repository.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/repositories/workflow-repository.interface.js +11 -0
- package/dist/packages/core/src/application/ports/output/services/clock.interface.d.ts +28 -0
- package/dist/packages/core/src/application/ports/output/services/clock.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/clock.interface.js +13 -0
- package/dist/packages/core/src/application/ports/output/services/index.d.ts +1 -0
- package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/workflows/create-workflow.use-case.d.ts +28 -0
- package/dist/packages/core/src/application/use-cases/workflows/create-workflow.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/create-workflow.use-case.js +72 -0
- package/dist/packages/core/src/application/use-cases/workflows/cron-helpers.d.ts +27 -0
- package/dist/packages/core/src/application/use-cases/workflows/cron-helpers.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/cron-helpers.js +43 -0
- package/dist/packages/core/src/application/use-cases/workflows/delete-workflow.use-case.d.ts +18 -0
- package/dist/packages/core/src/application/use-cases/workflows/delete-workflow.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/delete-workflow.use-case.js +64 -0
- package/dist/packages/core/src/application/use-cases/workflows/get-workflow-history.use-case.d.ts +16 -0
- package/dist/packages/core/src/application/use-cases/workflows/get-workflow-history.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/get-workflow-history.use-case.js +46 -0
- package/dist/packages/core/src/application/use-cases/workflows/get-workflow.use-case.d.ts +13 -0
- package/dist/packages/core/src/application/use-cases/workflows/get-workflow.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/get-workflow.use-case.js +42 -0
- package/dist/packages/core/src/application/use-cases/workflows/list-workflows.use-case.d.ts +13 -0
- package/dist/packages/core/src/application/use-cases/workflows/list-workflows.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/list-workflows.use-case.js +33 -0
- package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.d.ts +19 -0
- package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.js +62 -0
- package/dist/packages/core/src/application/use-cases/workflows/schedule-workflow.use-case.d.ts +22 -0
- package/dist/packages/core/src/application/use-cases/workflows/schedule-workflow.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/schedule-workflow.use-case.js +73 -0
- package/dist/packages/core/src/application/use-cases/workflows/templates/branch-rebase.template.d.ts +9 -0
- package/dist/packages/core/src/application/use-cases/workflows/templates/branch-rebase.template.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/templates/branch-rebase.template.js +27 -0
- package/dist/packages/core/src/application/use-cases/workflows/templates/issue-triage.template.d.ts +11 -0
- package/dist/packages/core/src/application/use-cases/workflows/templates/issue-triage.template.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/templates/issue-triage.template.js +27 -0
- package/dist/packages/core/src/application/use-cases/workflows/toggle-workflow.use-case.d.ts +16 -0
- package/dist/packages/core/src/application/use-cases/workflows/toggle-workflow.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/toggle-workflow.use-case.js +60 -0
- package/dist/packages/core/src/application/use-cases/workflows/update-workflow.use-case.d.ts +25 -0
- package/dist/packages/core/src/application/use-cases/workflows/update-workflow.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/update-workflow.use-case.js +83 -0
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +4 -0
- package/dist/packages/core/src/domain/generated/output.d.ts +115 -7
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/domain/generated/output.js +16 -1
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +66 -10
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts +0 -1
- 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 +0 -6
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +4 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +8 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/workflow-execution.mapper.d.ts +46 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/workflow-execution.mapper.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/workflow-execution.mapper.js +57 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/workflow.mapper.d.ts +51 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/workflow.mapper.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/workflow.mapper.js +71 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-workflow-notification-events.d.ts +12 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-workflow-notification-events.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-workflow-notification-events.js +22 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/045-create-scheduled-workflows.d.ts +14 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/045-create-scheduled-workflows.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/045-create-scheduled-workflows.js +65 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/046-add-feature-flag-scheduled-workflows.d.ts +11 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/046-add-feature-flag-scheduled-workflows.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/046-add-feature-flag-scheduled-workflows.js +17 -0
- 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 +2 -7
- package/dist/packages/core/src/infrastructure/repositories/sqlite-workflow-execution.repository.d.ts +24 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-workflow-execution.repository.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-workflow-execution.repository.js +92 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-workflow.repository.d.ts +26 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-workflow.repository.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-workflow.repository.js +117 -0
- package/dist/packages/core/src/infrastructure/services/clock.d.ts +11 -0
- package/dist/packages/core/src/infrastructure/services/clock.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/clock.js +22 -0
- 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 +3 -0
- package/dist/packages/core/src/infrastructure/services/workflow-scheduler/workflow-scheduler.service.d.ts +69 -0
- package/dist/packages/core/src/infrastructure/services/workflow-scheduler/workflow-scheduler.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/workflow-scheduler/workflow-scheduler.service.js +270 -0
- package/dist/src/presentation/cli/commands/_serve.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/_serve.command.js +14 -0
- package/dist/src/presentation/cli/commands/feat/index.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/index.js +1 -5
- package/dist/src/presentation/cli/commands/feat/ls.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/ls.command.js +0 -5
- package/dist/src/presentation/cli/commands/workflow/create.command.d.ts +13 -0
- package/dist/src/presentation/cli/commands/workflow/create.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/create.command.js +83 -0
- package/dist/src/presentation/cli/commands/workflow/delete.command.d.ts +13 -0
- package/dist/src/presentation/cli/commands/workflow/delete.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/delete.command.js +50 -0
- package/dist/src/presentation/cli/commands/workflow/disable.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/workflow/disable.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/disable.command.js +32 -0
- package/dist/src/presentation/cli/commands/workflow/enable.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/workflow/enable.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/enable.command.js +35 -0
- package/dist/src/presentation/cli/commands/workflow/format-helpers.d.ts +35 -0
- package/dist/src/presentation/cli/commands/workflow/format-helpers.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/format-helpers.js +89 -0
- package/dist/src/presentation/cli/commands/workflow/history.command.d.ts +12 -0
- package/dist/src/presentation/cli/commands/workflow/history.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/history.command.js +46 -0
- package/dist/src/presentation/cli/commands/workflow/index.d.ts +26 -0
- package/dist/src/presentation/cli/commands/workflow/index.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/index.js +48 -0
- package/dist/src/presentation/cli/commands/workflow/list.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/workflow/list.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/list.command.js +52 -0
- package/dist/src/presentation/cli/commands/workflow/run.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/workflow/run.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/run.command.js +37 -0
- package/dist/src/presentation/cli/commands/workflow/schedule.command.d.ts +13 -0
- package/dist/src/presentation/cli/commands/workflow/schedule.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/schedule.command.js +76 -0
- package/dist/src/presentation/cli/commands/workflow/show.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/workflow/show.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/show.command.js +93 -0
- package/dist/src/presentation/cli/commands/workflow/update.command.d.ts +13 -0
- package/dist/src/presentation/cli/commands/workflow/update.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/update.command.js +67 -0
- package/dist/src/presentation/cli/index.js +2 -0
- package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts.map +1 -1
- package/dist/src/presentation/web/app/(dashboard)/get-graph-data.js +1 -6
- package/dist/src/presentation/web/app/actions/get-workflow-history.d.ts +7 -0
- package/dist/src/presentation/web/app/actions/get-workflow-history.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/get-workflow-history.js +17 -0
- package/dist/src/presentation/web/app/actions/list-workflows.d.ts +7 -0
- package/dist/src/presentation/web/app/actions/list-workflows.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/list-workflows.js +17 -0
- package/dist/src/presentation/web/app/actions/toggle-workflow.d.ts +8 -0
- package/dist/src/presentation/web/app/actions/toggle-workflow.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/toggle-workflow.js +19 -0
- package/dist/src/presentation/web/app/actions/trigger-workflow.d.ts +8 -0
- package/dist/src/presentation/web/app/actions/trigger-workflow.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/trigger-workflow.js +19 -0
- 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 +0 -1
- package/dist/src/presentation/web/app/workflows/page.d.ts +4 -0
- package/dist/src/presentation/web/app/workflows/page.d.ts.map +1 -0
- package/dist/src/presentation/web/app/workflows/page.js +18 -0
- 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 +4 -6
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +1 -3
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +1 -11
- package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.js +2 -16
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts +0 -5
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +1 -75
- package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +4 -13
- package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts +0 -6
- package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center.stories.js +0 -70
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +0 -6
- 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 +2 -43
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.js +3 -0
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.js +3 -0
- package/dist/src/presentation/web/components/features/settings/notification-settings-section.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/notification-settings-section.js +6 -1
- package/dist/src/presentation/web/components/features/settings/notification-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/notification-settings-section.stories.js +6 -0
- package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.js +19 -2
- package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.js +1 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-execution-history.d.ts +7 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-execution-history.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-execution-history.js +84 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-execution-history.stories.d.ts +11 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-execution-history.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-execution-history.stories.js +104 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list-item.d.ts +8 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list-item.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list-item.js +68 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list-item.stories.d.ts +11 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list-item.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list-item.stories.js +89 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list.d.ts +8 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list.js +10 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list.stories.d.ts +11 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list.stories.js +90 -0
- package/dist/src/presentation/web/components/features/workflows/workflows-page-client.d.ts +6 -0
- package/dist/src/presentation/web/components/features/workflows/workflows-page-client.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/workflows/workflows-page-client.js +14 -0
- package/dist/src/presentation/web/components/features/workflows/workflows-page-client.stories.d.ts +10 -0
- package/dist/src/presentation/web/components/features/workflows/workflows-page-client.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/workflows/workflows-page-client.stories.js +70 -0
- 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/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +1 -0
- package/dist/src/presentation/web/hooks/feature-flags-context.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/feature-flags-context.js +1 -0
- package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/sidebar-features-context.js +0 -1
- package/dist/src/presentation/web/hooks/use-graph-state.d.ts +1 -1
- package/dist/src/presentation/web/hooks/use-graph-state.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/use-graph-state.js +2 -17
- package/dist/src/presentation/web/lib/derive-graph.d.ts +0 -4
- package/dist/src/presentation/web/lib/derive-graph.d.ts.map +1 -1
- package/dist/src/presentation/web/lib/derive-graph.js +0 -12
- package/dist/src/presentation/web/lib/feature-flags.d.ts +2 -0
- package/dist/src/presentation/web/lib/feature-flags.d.ts.map +1 -1
- package/dist/src/presentation/web/lib/feature-flags.js +5 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +2 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +1 -1
- package/web/.next/required-server-files.json +1 -1
- package/web/.next/routes-manifest.json +6 -0
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +50 -80
- 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/create/page/server-reference-manifest.json +50 -80
- 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 +62 -92
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +3 -3
- 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 +62 -92
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +3 -3
- 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]/page/server-reference-manifest.json +46 -76
- 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)/create/page/server-reference-manifest.json +50 -80
- 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 +62 -92
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +3 -3
- 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 +62 -92
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +3 -3
- 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 +46 -76
- 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]/page/server-reference-manifest.json +46 -76
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +3 -3
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
- package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
- package/web/.next/server/app/api/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.nft.json +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/settings/page.js +2 -2
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/skills/page.js +1 -1
- 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 +8 -8
- package/web/.next/server/app/tools/page.js +1 -1
- 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 +3 -3
- 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/workflows/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/workflows/page/build-manifest.json +18 -0
- package/web/.next/server/app/workflows/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/workflows/page/react-loadable-manifest.json +8 -0
- package/web/.next/server/app/workflows/page/server-reference-manifest.json +110 -0
- package/web/.next/server/app/workflows/page.js +18 -0
- package/web/.next/server/app/workflows/page.js.map +5 -0
- package/web/.next/server/app/workflows/page.js.nft.json +1 -0
- package/web/.next/server/app/workflows/page_client-reference-manifest.js +2 -0
- package/web/.next/server/app-paths-manifest.json +2 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js.map +1 -1
- package/web/.next/server/chunks/{[root-of-the-server]__2b1074db._.js → [root-of-the-server]__c7d52490._.js} +2 -2
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_02ec1aea._.js → 403f9_next_53742624._.js} +2 -2
- package/web/.next/server/chunks/ssr/403f9_next_53742624._.js.map +1 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_b49d9c97.js +3 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_b49d9c97.js.map +1 -0
- 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/7f428_lucide-react_dist_esm_icons_0c7787d0._.js +3 -0
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_0c7787d0._.js.map +1 -0
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_28632197.js +3 -0
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_28632197.js.map +1 -0
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_10695d37.js +3 -0
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_10695d37.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__a5f9c6e5._.js → [root-of-the-server]__07f12984._.js} +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__07f12984._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__082758f6._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__082758f6._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__32cd6108._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__32cd6108._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__33ac1a70._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__33ac1a70._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__44358910._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__44358910._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__47ded061._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__47ded061._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__3ef34e4c._.js → [root-of-the-server]__57e0ee34._.js} +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__57e0ee34._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__68ce373c._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__68ce373c._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6e93b49c._.js +3 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__b3dbadca._.js.map → [root-of-the-server]__6e93b49c._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__718766da._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__718766da._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fdd058b2._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fdd058b2._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_20a4a0d5._.js +3 -0
- package/web/.next/server/chunks/ssr/_20a4a0d5._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_25555eb5._.js +3 -0
- package/web/.next/server/chunks/ssr/_25555eb5._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_b5fc318a._.js → _277acdde._.js} +2 -2
- package/web/.next/server/chunks/ssr/_277acdde._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_4711e8cf._.js +3 -0
- package/web/.next/server/chunks/ssr/_4711e8cf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_a9f57758._.js → _6701ee41._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_a9f57758._.js.map → _6701ee41._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_89a36303._.js +3 -0
- package/web/.next/server/chunks/ssr/_89a36303._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_8e8cd7e1._.js +4 -0
- package/web/.next/server/chunks/ssr/_8e8cd7e1._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_9869d3da._.js +3 -0
- package/web/.next/server/chunks/ssr/_9869d3da._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_0020fddd._.js → _a3721140._.js} +2 -2
- package/web/.next/server/chunks/ssr/_a3721140._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_a37f5f18._.js +1 -1
- package/web/.next/server/chunks/ssr/_a37f5f18._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_cc1243e6._.js +3 -0
- package/web/.next/server/chunks/ssr/_cc1243e6._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_d8575088._.js +1 -1
- package/web/.next/server/chunks/ssr/_d8575088._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_e3411387._.js +9 -0
- package/web/.next/server/chunks/ssr/_e3411387._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_e69a26ba._.js +4 -0
- package/web/.next/server/chunks/ssr/_e69a26ba._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_f64ffec0._.js +4 -0
- package/web/.next/server/chunks/ssr/_f64ffec0._.js.map +1 -0
- 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/{_1b7dae9a._.js → f7870_sonner_dist_index_mjs_dbf63824._.js} +2 -2
- package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.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/node_modules__pnpm_ae1705ef._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_ae1705ef._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_53666118._.js +5 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_53666118._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_53fa3010._.js +3 -0
- package/web/.next/server/chunks/ssr/{src_presentation_web_97dc2fb0._.js.map → src_presentation_web_53fa3010._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_d95e128d.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_d95e128d.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_e4df6dd7._.js +5 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_e4df6dd7._.js.map +1 -0
- 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 +391 -466
- package/web/.next/static/chunks/{791e64500a080d4f.js → 196650f8cd7fb06a.js} +1 -1
- package/web/.next/static/chunks/2002f5eec5ffec42.css +1 -0
- package/web/.next/static/chunks/2c1ff62df9b34313.js +1 -0
- package/web/.next/static/chunks/3005583e819fc4fc.js +1 -0
- package/web/.next/static/chunks/333c7873f6b17ef1.js +1 -0
- package/web/.next/static/chunks/3b3f8c4f6c36a7ba.js +1 -0
- package/web/.next/static/chunks/{672e3da3ad26005b.js → 42c9564e375717ed.js} +1 -1
- package/web/.next/static/chunks/43e0eea352eb5106.js +5 -0
- package/web/.next/static/chunks/5420560352333486.js +1 -0
- package/web/.next/static/chunks/62fa33876b0964a4.js +1 -0
- package/web/.next/static/chunks/6db2addb5e13e372.js +1 -0
- package/web/.next/static/chunks/886d0385ca1d4484.js +1 -0
- package/web/.next/static/chunks/8e52a649c3f6bdf4.js +1 -0
- package/web/.next/static/chunks/a02fc9467a585a1f.js +2 -0
- package/web/.next/static/chunks/bee578019062e7f9.js +2 -0
- package/web/.next/static/chunks/cdb51cfd682387d2.js +1 -0
- package/web/.next/static/chunks/ed35b4293a81c861.js +9 -0
- package/web/.next/static/chunks/ed7fbcdf0b48e735.js +1 -0
- package/web/.next/static/chunks/f75142a1b75f1c32.js +1 -0
- package/web/.next/static/chunks/fabcd29d488281fa.js +1 -0
- package/web/.next/static/chunks/fd925f996c3fa318.js +1 -0
- package/dist/packages/core/src/application/use-cases/features/archive-feature.use-case.d.ts +0 -20
- package/dist/packages/core/src/application/use-cases/features/archive-feature.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/features/archive-feature.use-case.js +0 -74
- package/dist/packages/core/src/application/use-cases/features/unarchive-feature.use-case.d.ts +0 -20
- package/dist/packages/core/src/application/use-cases/features/unarchive-feature.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/features/unarchive-feature.use-case.js +0 -65
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-previous-lifecycle.d.ts +0 -12
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-previous-lifecycle.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-previous-lifecycle.js +0 -16
- package/dist/src/presentation/cli/commands/feat/archive.command.d.ts +0 -18
- package/dist/src/presentation/cli/commands/feat/archive.command.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/feat/archive.command.js +0 -54
- package/dist/src/presentation/cli/commands/feat/unarchive.command.d.ts +0 -17
- package/dist/src/presentation/cli/commands/feat/unarchive.command.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/feat/unarchive.command.js +0 -42
- package/dist/src/presentation/web/app/actions/archive-feature.d.ts +0 -6
- package/dist/src/presentation/web/app/actions/archive-feature.d.ts.map +0 -1
- package/dist/src/presentation/web/app/actions/archive-feature.js +0 -16
- package/dist/src/presentation/web/app/actions/unarchive-feature.d.ts +0 -6
- package/dist/src/presentation/web/app/actions/unarchive-feature.d.ts.map +0 -1
- package/dist/src/presentation/web/app/actions/unarchive-feature.js +0 -16
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_8b618f7d._.js +0 -3
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_8b618f7d._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__61564698._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__61564698._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6ec59045._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6ec59045._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__74ab160c._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__74ab160c._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a5f9c6e5._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b3dbadca._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bd16cded._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bd16cded._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f14fffe1._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f14fffe1._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0020fddd._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_01046927._.js +0 -9
- package/web/.next/server/chunks/ssr/_01046927._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_02ec1aea._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1b7dae9a._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_2fdfd9ab._.js +0 -4
- package/web/.next/server/chunks/ssr/_2fdfd9ab._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_36059d08._.js +0 -4
- package/web/.next/server/chunks/ssr/_36059d08._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_65f6e0e0._.js +0 -6
- package/web/.next/server/chunks/ssr/_65f6e0e0._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_67104d9e._.js +0 -3
- package/web/.next/server/chunks/ssr/_67104d9e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_7dca1882._.js +0 -3
- package/web/.next/server/chunks/ssr/_7dca1882._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_913fb649._.js +0 -3
- package/web/.next/server/chunks/ssr/_913fb649._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_a51673dd._.js +0 -4
- package/web/.next/server/chunks/ssr/_a51673dd._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_ae587066._.js +0 -4
- package/web/.next/server/chunks/ssr/_ae587066._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_b5fc318a._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_d162e30d._.js +0 -4
- package/web/.next/server/chunks/ssr/_d162e30d._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_d4b20e29._.js +0 -3
- package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_d763f022._.js +0 -6
- package/web/.next/server/chunks/ssr/_d763f022._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_f39a1adb._.js +0 -3
- package/web/.next/server/chunks/ssr/_f39a1adb._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_55c7a131._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules__pnpm_55c7a131._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_97dc2fb0._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js.map +0 -1
- package/web/.next/static/chunks/0b7fe2ac4f078f54.js +0 -13
- package/web/.next/static/chunks/2d6eb4409cc6324d.js +0 -1
- package/web/.next/static/chunks/3a7ff215d6a2c489.js +0 -2
- package/web/.next/static/chunks/4b3e7454c2b07877.js +0 -1
- package/web/.next/static/chunks/601d93593f5f664f.js +0 -1
- package/web/.next/static/chunks/688971d5bad5dc7c.js +0 -1
- package/web/.next/static/chunks/79c9871d46b22bf8.css +0 -1
- package/web/.next/static/chunks/7ee0606f698b032c.js +0 -1
- package/web/.next/static/chunks/87640f53f3bff3a6.js +0 -1
- package/web/.next/static/chunks/b70dd4985a814b27.js +0 -1
- package/web/.next/static/chunks/bb5bd1b5aafc70cd.js +0 -1
- package/web/.next/static/chunks/bf0a401666f990e2.js +0 -1
- package/web/.next/static/chunks/c4c3fcf18262b386.js +0 -2
- package/web/.next/static/chunks/cd14232b3d8f5052.js +0 -1
- package/web/.next/static/chunks/d0dff217a94d4ee1.js +0 -1
- package/web/.next/static/chunks/dd8f2197640aea64.js +0 -1
- package/web/.next/static/chunks/fc442d957b35bd5e.js +0 -1
- /package/web/.next/server/chunks/{[root-of-the-server]__2b1074db._.js.map → [root-of-the-server]__c7d52490._.js.map} +0 -0
- /package/web/.next/static/{JaRBeVSDLWZLQIl_k7ChK → w0YQoUPySQy1O9cN91KEk}/_buildManifest.js +0 -0
- /package/web/.next/static/{JaRBeVSDLWZLQIl_k7ChK → w0YQoUPySQy1O9cN91KEk}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{JaRBeVSDLWZLQIl_k7ChK → w0YQoUPySQy1O9cN91KEk}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delete Workflow Use Case
|
|
3
|
+
*
|
|
4
|
+
* Soft-deletes a workflow and cancels any queued executions for it.
|
|
5
|
+
* Execution history is preserved subject to the retention policy.
|
|
6
|
+
*/
|
|
7
|
+
import type { ScheduledWorkflow } from '../../../domain/generated/output.js';
|
|
8
|
+
import type { IWorkflowRepository } from '../../ports/output/repositories/workflow-repository.interface.js';
|
|
9
|
+
import type { IWorkflowExecutionRepository } from '../../ports/output/repositories/workflow-execution-repository.interface.js';
|
|
10
|
+
import type { IClock } from '../../ports/output/services/clock.interface.js';
|
|
11
|
+
export declare class DeleteWorkflowUseCase {
|
|
12
|
+
private readonly workflowRepo;
|
|
13
|
+
private readonly executionRepo;
|
|
14
|
+
private readonly clock;
|
|
15
|
+
constructor(workflowRepo: IWorkflowRepository, executionRepo: IWorkflowExecutionRepository, clock: IClock);
|
|
16
|
+
execute(nameOrId: string, repositoryPath?: string): Promise<ScheduledWorkflow>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=delete-workflow.use-case.d.ts.map
|
package/dist/packages/core/src/application/use-cases/workflows/delete-workflow.use-case.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-workflow.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/workflows/delete-workflow.use-case.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AAC5G,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,4EAA4E,CAAC;AAC/H,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gDAAgD,CAAC;AAE7E,qBACa,qBAAqB;IAG9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAJL,YAAY,EAAE,mBAAmB,EAEjC,aAAa,EAAE,4BAA4B,EAE3C,KAAK,EAAE,MAAM;IAG1B,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;CA6BrF"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delete Workflow Use Case
|
|
3
|
+
*
|
|
4
|
+
* Soft-deletes a workflow and cancels any queued executions for it.
|
|
5
|
+
* Execution history is preserved subject to the retention policy.
|
|
6
|
+
*/
|
|
7
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
8
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
10
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
11
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
12
|
+
};
|
|
13
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
14
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
15
|
+
};
|
|
16
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
17
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
18
|
+
};
|
|
19
|
+
import { injectable, inject } from 'tsyringe';
|
|
20
|
+
import { WorkflowExecutionStatus } from '../../../domain/generated/output.js';
|
|
21
|
+
let DeleteWorkflowUseCase = class DeleteWorkflowUseCase {
|
|
22
|
+
workflowRepo;
|
|
23
|
+
executionRepo;
|
|
24
|
+
clock;
|
|
25
|
+
constructor(workflowRepo, executionRepo, clock) {
|
|
26
|
+
this.workflowRepo = workflowRepo;
|
|
27
|
+
this.executionRepo = executionRepo;
|
|
28
|
+
this.clock = clock;
|
|
29
|
+
}
|
|
30
|
+
async execute(nameOrId, repositoryPath) {
|
|
31
|
+
// Try find by ID first, then by name
|
|
32
|
+
let workflow = await this.workflowRepo.findById(nameOrId);
|
|
33
|
+
if (!workflow && repositoryPath) {
|
|
34
|
+
workflow = await this.workflowRepo.findByName(nameOrId, repositoryPath);
|
|
35
|
+
}
|
|
36
|
+
if (!workflow) {
|
|
37
|
+
throw new Error(`Workflow not found: "${nameOrId}"`);
|
|
38
|
+
}
|
|
39
|
+
// Cancel any queued executions for this workflow
|
|
40
|
+
const queuedExecutions = await this.executionRepo.findByStatus(WorkflowExecutionStatus.Queued);
|
|
41
|
+
const now = this.clock.now();
|
|
42
|
+
for (const execution of queuedExecutions) {
|
|
43
|
+
if (execution.workflowId === workflow.id) {
|
|
44
|
+
await this.executionRepo.update({
|
|
45
|
+
...execution,
|
|
46
|
+
status: WorkflowExecutionStatus.Cancelled,
|
|
47
|
+
completedAt: now,
|
|
48
|
+
updatedAt: now,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// Soft-delete the workflow
|
|
53
|
+
await this.workflowRepo.softDelete(workflow.id);
|
|
54
|
+
return workflow;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
DeleteWorkflowUseCase = __decorate([
|
|
58
|
+
injectable(),
|
|
59
|
+
__param(0, inject('IWorkflowRepository')),
|
|
60
|
+
__param(1, inject('IWorkflowExecutionRepository')),
|
|
61
|
+
__param(2, inject('IClock')),
|
|
62
|
+
__metadata("design:paramtypes", [Object, Object, Object])
|
|
63
|
+
], DeleteWorkflowUseCase);
|
|
64
|
+
export { DeleteWorkflowUseCase };
|
package/dist/packages/core/src/application/use-cases/workflows/get-workflow-history.use-case.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get Workflow History Use Case
|
|
3
|
+
*
|
|
4
|
+
* Returns paginated execution history for a workflow,
|
|
5
|
+
* ordered by started_at DESC.
|
|
6
|
+
*/
|
|
7
|
+
import type { WorkflowExecution } from '../../../domain/generated/output.js';
|
|
8
|
+
import type { IWorkflowRepository } from '../../ports/output/repositories/workflow-repository.interface.js';
|
|
9
|
+
import type { IWorkflowExecutionRepository } from '../../ports/output/repositories/workflow-execution-repository.interface.js';
|
|
10
|
+
export declare class GetWorkflowHistoryUseCase {
|
|
11
|
+
private readonly workflowRepo;
|
|
12
|
+
private readonly executionRepo;
|
|
13
|
+
constructor(workflowRepo: IWorkflowRepository, executionRepo: IWorkflowExecutionRepository);
|
|
14
|
+
execute(nameOrId: string, repositoryPath?: string, limit?: number): Promise<WorkflowExecution[]>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=get-workflow-history.use-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-workflow-history.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/workflows/get-workflow-history.use-case.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AAC5G,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,4EAA4E,CAAC;AAI/H,qBACa,yBAAyB;IAGlC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,YAAY,EAAE,mBAAmB,EAEjC,aAAa,EAAE,4BAA4B;IAGxD,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,cAAc,CAAC,EAAE,MAAM,EACvB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAYhC"}
|
package/dist/packages/core/src/application/use-cases/workflows/get-workflow-history.use-case.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get Workflow History Use Case
|
|
3
|
+
*
|
|
4
|
+
* Returns paginated execution history for a workflow,
|
|
5
|
+
* ordered by started_at DESC.
|
|
6
|
+
*/
|
|
7
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
8
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
10
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
11
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
12
|
+
};
|
|
13
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
14
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
15
|
+
};
|
|
16
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
17
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
18
|
+
};
|
|
19
|
+
import { injectable, inject } from 'tsyringe';
|
|
20
|
+
const DEFAULT_LIMIT = 20;
|
|
21
|
+
let GetWorkflowHistoryUseCase = class GetWorkflowHistoryUseCase {
|
|
22
|
+
workflowRepo;
|
|
23
|
+
executionRepo;
|
|
24
|
+
constructor(workflowRepo, executionRepo) {
|
|
25
|
+
this.workflowRepo = workflowRepo;
|
|
26
|
+
this.executionRepo = executionRepo;
|
|
27
|
+
}
|
|
28
|
+
async execute(nameOrId, repositoryPath, limit) {
|
|
29
|
+
// Find workflow
|
|
30
|
+
let workflow = await this.workflowRepo.findById(nameOrId);
|
|
31
|
+
if (!workflow && repositoryPath) {
|
|
32
|
+
workflow = await this.workflowRepo.findByName(nameOrId, repositoryPath);
|
|
33
|
+
}
|
|
34
|
+
if (!workflow) {
|
|
35
|
+
throw new Error(`Workflow not found: "${nameOrId}"`);
|
|
36
|
+
}
|
|
37
|
+
return this.executionRepo.findByWorkflowId(workflow.id, limit ?? DEFAULT_LIMIT);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
GetWorkflowHistoryUseCase = __decorate([
|
|
41
|
+
injectable(),
|
|
42
|
+
__param(0, inject('IWorkflowRepository')),
|
|
43
|
+
__param(1, inject('IWorkflowExecutionRepository')),
|
|
44
|
+
__metadata("design:paramtypes", [Object, Object])
|
|
45
|
+
], GetWorkflowHistoryUseCase);
|
|
46
|
+
export { GetWorkflowHistoryUseCase };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get Workflow Use Case
|
|
3
|
+
*
|
|
4
|
+
* Finds a single workflow by name+repositoryPath or by ID.
|
|
5
|
+
*/
|
|
6
|
+
import type { ScheduledWorkflow } from '../../../domain/generated/output.js';
|
|
7
|
+
import type { IWorkflowRepository } from '../../ports/output/repositories/workflow-repository.interface.js';
|
|
8
|
+
export declare class GetWorkflowUseCase {
|
|
9
|
+
private readonly workflowRepo;
|
|
10
|
+
constructor(workflowRepo: IWorkflowRepository);
|
|
11
|
+
execute(nameOrId: string, repositoryPath?: string): Promise<ScheduledWorkflow>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=get-workflow.use-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-workflow.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/workflows/get-workflow.use-case.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AAE5G,qBACa,kBAAkB;IAG3B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,mBAAmB;IAG9C,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAerF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get Workflow Use Case
|
|
3
|
+
*
|
|
4
|
+
* Finds a single workflow by name+repositoryPath or by ID.
|
|
5
|
+
*/
|
|
6
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
7
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
9
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
10
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
11
|
+
};
|
|
12
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
13
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
14
|
+
};
|
|
15
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
16
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
17
|
+
};
|
|
18
|
+
import { injectable, inject } from 'tsyringe';
|
|
19
|
+
let GetWorkflowUseCase = class GetWorkflowUseCase {
|
|
20
|
+
workflowRepo;
|
|
21
|
+
constructor(workflowRepo) {
|
|
22
|
+
this.workflowRepo = workflowRepo;
|
|
23
|
+
}
|
|
24
|
+
async execute(nameOrId, repositoryPath) {
|
|
25
|
+
// Try find by ID first
|
|
26
|
+
let workflow = await this.workflowRepo.findById(nameOrId);
|
|
27
|
+
// Then try by name+repoPath
|
|
28
|
+
if (!workflow && repositoryPath) {
|
|
29
|
+
workflow = await this.workflowRepo.findByName(nameOrId, repositoryPath);
|
|
30
|
+
}
|
|
31
|
+
if (!workflow) {
|
|
32
|
+
throw new Error(`Workflow not found: "${nameOrId}"`);
|
|
33
|
+
}
|
|
34
|
+
return workflow;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
GetWorkflowUseCase = __decorate([
|
|
38
|
+
injectable(),
|
|
39
|
+
__param(0, inject('IWorkflowRepository')),
|
|
40
|
+
__metadata("design:paramtypes", [Object])
|
|
41
|
+
], GetWorkflowUseCase);
|
|
42
|
+
export { GetWorkflowUseCase };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* List Workflows Use Case
|
|
3
|
+
*
|
|
4
|
+
* Returns all workflows for a repository path with optional filters.
|
|
5
|
+
*/
|
|
6
|
+
import type { ScheduledWorkflow } from '../../../domain/generated/output.js';
|
|
7
|
+
import type { IWorkflowRepository, WorkflowListFilters } from '../../ports/output/repositories/workflow-repository.interface.js';
|
|
8
|
+
export declare class ListWorkflowsUseCase {
|
|
9
|
+
private readonly workflowRepo;
|
|
10
|
+
constructor(workflowRepo: IWorkflowRepository);
|
|
11
|
+
execute(filters?: WorkflowListFilters): Promise<ScheduledWorkflow[]>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=list-workflows.use-case.d.ts.map
|
package/dist/packages/core/src/application/use-cases/workflows/list-workflows.use-case.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-workflows.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/workflows/list-workflows.use-case.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,kEAAkE,CAAC;AAE1E,qBACa,oBAAoB;IAG7B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,mBAAmB;IAG9C,OAAO,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAG3E"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* List Workflows Use Case
|
|
3
|
+
*
|
|
4
|
+
* Returns all workflows for a repository path with optional filters.
|
|
5
|
+
*/
|
|
6
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
7
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
9
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
10
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
11
|
+
};
|
|
12
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
13
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
14
|
+
};
|
|
15
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
16
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
17
|
+
};
|
|
18
|
+
import { injectable, inject } from 'tsyringe';
|
|
19
|
+
let ListWorkflowsUseCase = class ListWorkflowsUseCase {
|
|
20
|
+
workflowRepo;
|
|
21
|
+
constructor(workflowRepo) {
|
|
22
|
+
this.workflowRepo = workflowRepo;
|
|
23
|
+
}
|
|
24
|
+
async execute(filters) {
|
|
25
|
+
return this.workflowRepo.list(filters);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
ListWorkflowsUseCase = __decorate([
|
|
29
|
+
injectable(),
|
|
30
|
+
__param(0, inject('IWorkflowRepository')),
|
|
31
|
+
__metadata("design:paramtypes", [Object])
|
|
32
|
+
], ListWorkflowsUseCase);
|
|
33
|
+
export { ListWorkflowsUseCase };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run Workflow Use Case
|
|
3
|
+
*
|
|
4
|
+
* Manually triggers a workflow execution. Creates a WorkflowExecution record
|
|
5
|
+
* with triggerType=Manual and status=Queued. The scheduler service handles
|
|
6
|
+
* actual execution.
|
|
7
|
+
*/
|
|
8
|
+
import type { WorkflowExecution } from '../../../domain/generated/output.js';
|
|
9
|
+
import type { IWorkflowRepository } from '../../ports/output/repositories/workflow-repository.interface.js';
|
|
10
|
+
import type { IWorkflowExecutionRepository } from '../../ports/output/repositories/workflow-execution-repository.interface.js';
|
|
11
|
+
import type { IClock } from '../../ports/output/services/clock.interface.js';
|
|
12
|
+
export declare class RunWorkflowUseCase {
|
|
13
|
+
private readonly workflowRepo;
|
|
14
|
+
private readonly executionRepo;
|
|
15
|
+
private readonly clock;
|
|
16
|
+
constructor(workflowRepo: IWorkflowRepository, executionRepo: IWorkflowExecutionRepository, clock: IClock);
|
|
17
|
+
execute(nameOrId: string, repositoryPath?: string): Promise<WorkflowExecution>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=run-workflow.use-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-workflow.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/workflows/run-workflow.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AAC5G,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,4EAA4E,CAAC;AAC/H,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gDAAgD,CAAC;AAE7E,qBACa,kBAAkB;IAG3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAJL,YAAY,EAAE,mBAAmB,EAEjC,aAAa,EAAE,4BAA4B,EAE3C,KAAK,EAAE,MAAM;IAG1B,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAyBrF"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run Workflow Use Case
|
|
3
|
+
*
|
|
4
|
+
* Manually triggers a workflow execution. Creates a WorkflowExecution record
|
|
5
|
+
* with triggerType=Manual and status=Queued. The scheduler service handles
|
|
6
|
+
* actual execution.
|
|
7
|
+
*/
|
|
8
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
9
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
10
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
11
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
12
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
13
|
+
};
|
|
14
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
15
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
16
|
+
};
|
|
17
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
18
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
19
|
+
};
|
|
20
|
+
import { injectable, inject } from 'tsyringe';
|
|
21
|
+
import { randomUUID } from 'node:crypto';
|
|
22
|
+
import { WorkflowTriggerType, WorkflowExecutionStatus } from '../../../domain/generated/output.js';
|
|
23
|
+
let RunWorkflowUseCase = class RunWorkflowUseCase {
|
|
24
|
+
workflowRepo;
|
|
25
|
+
executionRepo;
|
|
26
|
+
clock;
|
|
27
|
+
constructor(workflowRepo, executionRepo, clock) {
|
|
28
|
+
this.workflowRepo = workflowRepo;
|
|
29
|
+
this.executionRepo = executionRepo;
|
|
30
|
+
this.clock = clock;
|
|
31
|
+
}
|
|
32
|
+
async execute(nameOrId, repositoryPath) {
|
|
33
|
+
// Find workflow — works on both enabled and disabled workflows
|
|
34
|
+
let workflow = await this.workflowRepo.findById(nameOrId);
|
|
35
|
+
if (!workflow && repositoryPath) {
|
|
36
|
+
workflow = await this.workflowRepo.findByName(nameOrId, repositoryPath);
|
|
37
|
+
}
|
|
38
|
+
if (!workflow) {
|
|
39
|
+
throw new Error(`Workflow not found: "${nameOrId}"`);
|
|
40
|
+
}
|
|
41
|
+
const now = this.clock.now();
|
|
42
|
+
const execution = {
|
|
43
|
+
id: randomUUID(),
|
|
44
|
+
workflowId: workflow.id,
|
|
45
|
+
triggerType: WorkflowTriggerType.Manual,
|
|
46
|
+
status: WorkflowExecutionStatus.Queued,
|
|
47
|
+
startedAt: now,
|
|
48
|
+
createdAt: now,
|
|
49
|
+
updatedAt: now,
|
|
50
|
+
};
|
|
51
|
+
await this.executionRepo.create(execution);
|
|
52
|
+
return execution;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
RunWorkflowUseCase = __decorate([
|
|
56
|
+
injectable(),
|
|
57
|
+
__param(0, inject('IWorkflowRepository')),
|
|
58
|
+
__param(1, inject('IWorkflowExecutionRepository')),
|
|
59
|
+
__param(2, inject('IClock')),
|
|
60
|
+
__metadata("design:paramtypes", [Object, Object, Object])
|
|
61
|
+
], RunWorkflowUseCase);
|
|
62
|
+
export { RunWorkflowUseCase };
|
package/dist/packages/core/src/application/use-cases/workflows/schedule-workflow.use-case.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schedule Workflow Use Case
|
|
3
|
+
*
|
|
4
|
+
* Sets, updates, or removes a cron schedule on a workflow.
|
|
5
|
+
* Validates the cron expression and calculates nextRunAt.
|
|
6
|
+
*/
|
|
7
|
+
import type { ScheduledWorkflow } from '../../../domain/generated/output.js';
|
|
8
|
+
import type { IWorkflowRepository } from '../../ports/output/repositories/workflow-repository.interface.js';
|
|
9
|
+
import type { IClock } from '../../ports/output/services/clock.interface.js';
|
|
10
|
+
export interface ScheduleWorkflowInput {
|
|
11
|
+
nameOrId: string;
|
|
12
|
+
repositoryPath?: string;
|
|
13
|
+
cronExpression: string | null;
|
|
14
|
+
timezone?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare class ScheduleWorkflowUseCase {
|
|
17
|
+
private readonly workflowRepo;
|
|
18
|
+
private readonly clock;
|
|
19
|
+
constructor(workflowRepo: IWorkflowRepository, clock: IClock);
|
|
20
|
+
execute(input: ScheduleWorkflowInput): Promise<ScheduledWorkflow>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=schedule-workflow.use-case.d.ts.map
|
package/dist/packages/core/src/application/use-cases/workflows/schedule-workflow.use-case.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule-workflow.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/workflows/schedule-workflow.use-case.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AAC5G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gDAAgD,CAAC;AAG7E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBACa,uBAAuB;IAGhC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAFL,YAAY,EAAE,mBAAmB,EAEjC,KAAK,EAAE,MAAM;IAG1B,OAAO,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CA6CxE"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schedule Workflow Use Case
|
|
3
|
+
*
|
|
4
|
+
* Sets, updates, or removes a cron schedule on a workflow.
|
|
5
|
+
* Validates the cron expression and calculates nextRunAt.
|
|
6
|
+
*/
|
|
7
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
8
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
10
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
11
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
12
|
+
};
|
|
13
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
14
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
15
|
+
};
|
|
16
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
17
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
18
|
+
};
|
|
19
|
+
import { injectable, inject } from 'tsyringe';
|
|
20
|
+
import { validateCronExpression, calculateNextRunAt } from './cron-helpers.js';
|
|
21
|
+
let ScheduleWorkflowUseCase = class ScheduleWorkflowUseCase {
|
|
22
|
+
workflowRepo;
|
|
23
|
+
clock;
|
|
24
|
+
constructor(workflowRepo, clock) {
|
|
25
|
+
this.workflowRepo = workflowRepo;
|
|
26
|
+
this.clock = clock;
|
|
27
|
+
}
|
|
28
|
+
async execute(input) {
|
|
29
|
+
// Find workflow
|
|
30
|
+
let workflow = await this.workflowRepo.findById(input.nameOrId);
|
|
31
|
+
if (!workflow && input.repositoryPath) {
|
|
32
|
+
workflow = await this.workflowRepo.findByName(input.nameOrId, input.repositoryPath);
|
|
33
|
+
}
|
|
34
|
+
if (!workflow) {
|
|
35
|
+
throw new Error(`Workflow not found: "${input.nameOrId}"`);
|
|
36
|
+
}
|
|
37
|
+
const now = this.clock.now();
|
|
38
|
+
if (input.cronExpression === null) {
|
|
39
|
+
// Remove schedule
|
|
40
|
+
const updated = {
|
|
41
|
+
...workflow,
|
|
42
|
+
cronExpression: undefined,
|
|
43
|
+
timezone: undefined,
|
|
44
|
+
nextRunAt: undefined,
|
|
45
|
+
updatedAt: now,
|
|
46
|
+
};
|
|
47
|
+
await this.workflowRepo.update(updated);
|
|
48
|
+
return updated;
|
|
49
|
+
}
|
|
50
|
+
// Validate cron expression
|
|
51
|
+
validateCronExpression(input.cronExpression);
|
|
52
|
+
// Calculate nextRunAt
|
|
53
|
+
const nextRunAt = workflow.enabled
|
|
54
|
+
? calculateNextRunAt(input.cronExpression, input.timezone, now)
|
|
55
|
+
: null;
|
|
56
|
+
const updated = {
|
|
57
|
+
...workflow,
|
|
58
|
+
cronExpression: input.cronExpression,
|
|
59
|
+
...(input.timezone !== undefined && { timezone: input.timezone }),
|
|
60
|
+
...(nextRunAt != null ? { nextRunAt } : { nextRunAt: undefined }),
|
|
61
|
+
updatedAt: now,
|
|
62
|
+
};
|
|
63
|
+
await this.workflowRepo.update(updated);
|
|
64
|
+
return updated;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
ScheduleWorkflowUseCase = __decorate([
|
|
68
|
+
injectable(),
|
|
69
|
+
__param(0, inject('IWorkflowRepository')),
|
|
70
|
+
__param(1, inject('IClock')),
|
|
71
|
+
__metadata("design:paramtypes", [Object, Object])
|
|
72
|
+
], ScheduleWorkflowUseCase);
|
|
73
|
+
export { ScheduleWorkflowUseCase };
|
package/dist/packages/core/src/application/use-cases/workflows/templates/branch-rebase.template.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Branch Rebase Workflow Template
|
|
3
|
+
*
|
|
4
|
+
* Rebases all tracked shep feature branches on main and resolves merge conflicts.
|
|
5
|
+
* Constrained to git tools only.
|
|
6
|
+
*/
|
|
7
|
+
import type { WorkflowTemplateData } from './issue-triage.template.js';
|
|
8
|
+
export declare function getBranchRebaseTemplate(): WorkflowTemplateData;
|
|
9
|
+
//# sourceMappingURL=branch-rebase.template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch-rebase.template.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/use-cases/workflows/templates/branch-rebase.template.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,wBAAgB,uBAAuB,IAAI,oBAAoB,CAqB9D"}
|
package/dist/packages/core/src/application/use-cases/workflows/templates/branch-rebase.template.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Branch Rebase Workflow Template
|
|
3
|
+
*
|
|
4
|
+
* Rebases all tracked shep feature branches on main and resolves merge conflicts.
|
|
5
|
+
* Constrained to git tools only.
|
|
6
|
+
*/
|
|
7
|
+
export function getBranchRebaseTemplate() {
|
|
8
|
+
return {
|
|
9
|
+
name: 'branch-rebase',
|
|
10
|
+
description: 'Rebase all tracked shep feature branches on the main branch and resolve any merge conflicts.',
|
|
11
|
+
prompt: `You are an automated branch maintenance agent. Your task is to rebase all tracked feature branches in this repository onto the latest main branch.
|
|
12
|
+
|
|
13
|
+
Steps:
|
|
14
|
+
1. Fetch the latest changes from the remote repository
|
|
15
|
+
2. Identify all feature branches (branches that start with "feat/" or are tracked by shep)
|
|
16
|
+
3. For each feature branch:
|
|
17
|
+
a. Check out the branch
|
|
18
|
+
b. Attempt to rebase it onto main
|
|
19
|
+
c. If the rebase succeeds cleanly, push the rebased branch to the remote
|
|
20
|
+
d. If there are merge conflicts, attempt to resolve them automatically based on the context of the changes
|
|
21
|
+
e. If conflicts cannot be resolved automatically, abort the rebase and report the conflict
|
|
22
|
+
4. Return to the main branch when done
|
|
23
|
+
|
|
24
|
+
Report a summary: how many branches rebased successfully, how many had conflicts, and details of any unresolved conflicts.`,
|
|
25
|
+
toolConstraints: ['git'],
|
|
26
|
+
};
|
|
27
|
+
}
|
package/dist/packages/core/src/application/use-cases/workflows/templates/issue-triage.template.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Issue Triage Workflow Template
|
|
3
|
+
*
|
|
4
|
+
* Scans open GitHub issues, identifies resolved ones by checking commits and PRs,
|
|
5
|
+
* adds evidence comments, and closes them automatically.
|
|
6
|
+
* Constrained to git and github tools only.
|
|
7
|
+
*/
|
|
8
|
+
import type { ScheduledWorkflow } from '../../../../domain/generated/output.js';
|
|
9
|
+
export type WorkflowTemplateData = Pick<ScheduledWorkflow, 'name' | 'description' | 'prompt' | 'toolConstraints'>;
|
|
10
|
+
export declare function getIssueTriageTemplate(): WorkflowTemplateData;
|
|
11
|
+
//# sourceMappingURL=issue-triage.template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-triage.template.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/use-cases/workflows/templates/issue-triage.template.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,iBAAiB,EACjB,MAAM,GAAG,aAAa,GAAG,QAAQ,GAAG,iBAAiB,CACtD,CAAC;AAEF,wBAAgB,sBAAsB,IAAI,oBAAoB,CAoB7D"}
|
package/dist/packages/core/src/application/use-cases/workflows/templates/issue-triage.template.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Issue Triage Workflow Template
|
|
3
|
+
*
|
|
4
|
+
* Scans open GitHub issues, identifies resolved ones by checking commits and PRs,
|
|
5
|
+
* adds evidence comments, and closes them automatically.
|
|
6
|
+
* Constrained to git and github tools only.
|
|
7
|
+
*/
|
|
8
|
+
export function getIssueTriageTemplate() {
|
|
9
|
+
return {
|
|
10
|
+
name: 'issue-triage',
|
|
11
|
+
description: 'Scan open GitHub issues, identify resolved ones by checking commits and PRs, add evidence comments, and close them automatically.',
|
|
12
|
+
prompt: `You are an automated issue triage agent. Your task is to review all open GitHub issues in this repository and determine which ones have been resolved.
|
|
13
|
+
|
|
14
|
+
For each open issue:
|
|
15
|
+
1. Read the issue title, description, and any labels
|
|
16
|
+
2. Search the git log and recent PRs for commits or merges that address the issue
|
|
17
|
+
3. If you find evidence that the issue has been resolved (matching commit messages, PR references, or code changes that fix the described problem):
|
|
18
|
+
a. Add a comment to the issue explaining the evidence (link to commit/PR, describe the fix)
|
|
19
|
+
b. Close the issue with a resolution comment
|
|
20
|
+
4. If the issue is NOT resolved, skip it silently
|
|
21
|
+
|
|
22
|
+
Be conservative — only close issues where you have clear evidence of resolution. When in doubt, leave the issue open.
|
|
23
|
+
|
|
24
|
+
Report a summary of actions taken: how many issues reviewed, how many closed, and which ones.`,
|
|
25
|
+
toolConstraints: ['git', 'github'],
|
|
26
|
+
};
|
|
27
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Toggle Workflow Use Case
|
|
3
|
+
*
|
|
4
|
+
* Enables or disables a workflow's schedule. When enabling,
|
|
5
|
+
* recalculates nextRunAt from the cron expression.
|
|
6
|
+
*/
|
|
7
|
+
import type { ScheduledWorkflow } from '../../../domain/generated/output.js';
|
|
8
|
+
import type { IWorkflowRepository } from '../../ports/output/repositories/workflow-repository.interface.js';
|
|
9
|
+
import type { IClock } from '../../ports/output/services/clock.interface.js';
|
|
10
|
+
export declare class ToggleWorkflowUseCase {
|
|
11
|
+
private readonly workflowRepo;
|
|
12
|
+
private readonly clock;
|
|
13
|
+
constructor(workflowRepo: IWorkflowRepository, clock: IClock);
|
|
14
|
+
execute(nameOrId: string, enabled: boolean, repositoryPath?: string): Promise<ScheduledWorkflow>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=toggle-workflow.use-case.d.ts.map
|
package/dist/packages/core/src/application/use-cases/workflows/toggle-workflow.use-case.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle-workflow.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/workflows/toggle-workflow.use-case.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AAC5G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gDAAgD,CAAC;AAG7E,qBACa,qBAAqB;IAG9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAFL,YAAY,EAAE,mBAAmB,EAEjC,KAAK,EAAE,MAAM;IAG1B,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,iBAAiB,CAAC;CA4B9B"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Toggle Workflow Use Case
|
|
3
|
+
*
|
|
4
|
+
* Enables or disables a workflow's schedule. When enabling,
|
|
5
|
+
* recalculates nextRunAt from the cron expression.
|
|
6
|
+
*/
|
|
7
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
8
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
10
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
11
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
12
|
+
};
|
|
13
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
14
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
15
|
+
};
|
|
16
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
17
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
18
|
+
};
|
|
19
|
+
import { injectable, inject } from 'tsyringe';
|
|
20
|
+
import { calculateNextRunAt } from './cron-helpers.js';
|
|
21
|
+
let ToggleWorkflowUseCase = class ToggleWorkflowUseCase {
|
|
22
|
+
workflowRepo;
|
|
23
|
+
clock;
|
|
24
|
+
constructor(workflowRepo, clock) {
|
|
25
|
+
this.workflowRepo = workflowRepo;
|
|
26
|
+
this.clock = clock;
|
|
27
|
+
}
|
|
28
|
+
async execute(nameOrId, enabled, repositoryPath) {
|
|
29
|
+
let workflow = await this.workflowRepo.findById(nameOrId);
|
|
30
|
+
if (!workflow && repositoryPath) {
|
|
31
|
+
workflow = await this.workflowRepo.findByName(nameOrId, repositoryPath);
|
|
32
|
+
}
|
|
33
|
+
if (!workflow) {
|
|
34
|
+
throw new Error(`Workflow not found: "${nameOrId}"`);
|
|
35
|
+
}
|
|
36
|
+
const now = this.clock.now();
|
|
37
|
+
const updated = {
|
|
38
|
+
...workflow,
|
|
39
|
+
enabled,
|
|
40
|
+
updatedAt: now,
|
|
41
|
+
};
|
|
42
|
+
// Recalculate nextRunAt when enabling with an existing cron expression
|
|
43
|
+
if (enabled && workflow.cronExpression) {
|
|
44
|
+
const nextRunAt = calculateNextRunAt(workflow.cronExpression, workflow.timezone, now);
|
|
45
|
+
updated.nextRunAt = nextRunAt ?? undefined;
|
|
46
|
+
}
|
|
47
|
+
else if (!enabled) {
|
|
48
|
+
updated.nextRunAt = undefined;
|
|
49
|
+
}
|
|
50
|
+
await this.workflowRepo.update(updated);
|
|
51
|
+
return updated;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
ToggleWorkflowUseCase = __decorate([
|
|
55
|
+
injectable(),
|
|
56
|
+
__param(0, inject('IWorkflowRepository')),
|
|
57
|
+
__param(1, inject('IClock')),
|
|
58
|
+
__metadata("design:paramtypes", [Object, Object])
|
|
59
|
+
], ToggleWorkflowUseCase);
|
|
60
|
+
export { ToggleWorkflowUseCase };
|