@shepai/cli 1.179.0 → 1.179.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/packages/core/src/application/ports/output/services/deployment-service.interface.d.ts +17 -0
- package/dist/packages/core/src/application/ports/output/services/deployment-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/file-system-service.interface.d.ts +7 -0
- package/dist/packages/core/src/application/ports/output/services/file-system-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/shep-instance-service.interface.d.ts +22 -0
- package/dist/packages/core/src/application/ports/output/services/shep-instance-service.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/shep-instance-service.interface.js +11 -0
- package/dist/packages/core/src/application/use-cases/deployments/get-deployment-status.use-case.d.ts +13 -0
- package/dist/packages/core/src/application/use-cases/deployments/get-deployment-status.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/deployments/get-deployment-status.use-case.js +37 -0
- package/dist/packages/core/src/application/use-cases/deployments/list-deployments.use-case.d.ts +14 -0
- package/dist/packages/core/src/application/use-cases/deployments/list-deployments.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/deployments/list-deployments.use-case.js +35 -0
- package/dist/packages/core/src/application/use-cases/deployments/start-feature-deployment.use-case.d.ts +27 -0
- package/dist/packages/core/src/application/use-cases/deployments/start-feature-deployment.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/deployments/start-feature-deployment.use-case.js +68 -0
- package/dist/packages/core/src/application/use-cases/deployments/start-repository-deployment.use-case.d.ts +23 -0
- package/dist/packages/core/src/application/use-cases/deployments/start-repository-deployment.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/deployments/start-repository-deployment.use-case.js +58 -0
- package/dist/packages/core/src/application/use-cases/deployments/stop-deployment.use-case.d.ts +13 -0
- package/dist/packages/core/src/application/use-cases/deployments/stop-deployment.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/deployments/stop-deployment.use-case.js +37 -0
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +29 -0
- package/dist/packages/core/src/infrastructure/services/deployment/deployment.service.d.ts +9 -1
- package/dist/packages/core/src/infrastructure/services/deployment/deployment.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/deployment/deployment.service.js +66 -0
- package/dist/packages/core/src/infrastructure/services/file-system.service.d.ts +1 -0
- package/dist/packages/core/src/infrastructure/services/file-system.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/file-system.service.js +4 -0
- package/dist/packages/core/src/infrastructure/services/shep-instance.service.d.ts +16 -0
- package/dist/packages/core/src/infrastructure/services/shep-instance.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/shep-instance.service.js +39 -0
- package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts +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 +9 -19
- package/dist/src/presentation/web/app/(dashboard)/layout.d.ts.map +1 -1
- package/dist/src/presentation/web/app/(dashboard)/layout.js +3 -2
- package/dist/src/presentation/web/app/actions/deploy-feature.d.ts +1 -1
- package/dist/src/presentation/web/app/actions/deploy-feature.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/deploy-feature.js +4 -33
- package/dist/src/presentation/web/app/actions/deploy-repository.d.ts +1 -1
- package/dist/src/presentation/web/app/actions/deploy-repository.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/deploy-repository.js +4 -24
- package/dist/src/presentation/web/app/actions/get-deployment-status.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/get-deployment-status.js +2 -5
- package/dist/src/presentation/web/app/actions/list-deployments.d.ts +3 -0
- package/dist/src/presentation/web/app/actions/list-deployments.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/list-deployments.js +6 -0
- package/dist/src/presentation/web/app/actions/stop-deployment.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/stop-deployment.js +2 -5
- package/dist/src/presentation/web/app/api/graph-data/route.d.ts +1 -0
- package/dist/src/presentation/web/app/api/graph-data/route.d.ts.map +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 +7 -2
- package/dist/src/presentation/web/hooks/deployment-status-provider.d.ts +41 -0
- package/dist/src/presentation/web/hooks/deployment-status-provider.d.ts.map +1 -0
- package/dist/src/presentation/web/hooks/deployment-status-provider.js +205 -0
- package/dist/src/presentation/web/hooks/deployment-status-store.d.ts +42 -0
- package/dist/src/presentation/web/hooks/deployment-status-store.d.ts.map +1 -0
- package/dist/src/presentation/web/hooks/deployment-status-store.js +99 -0
- package/dist/src/presentation/web/hooks/use-deploy-action.d.ts +2 -6
- package/dist/src/presentation/web/hooks/use-deploy-action.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/use-deploy-action.js +42 -159
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +2 -2
- package/web/.next/required-server-files.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +4 -4
- 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 +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +4 -4
- 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 +31 -31
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js +4 -4
- 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 +39 -39
- 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 +39 -39
- 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 +29 -29
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +4 -4
- 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 +29 -29
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +4 -4
- 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 +28 -28
- package/web/.next/server/app/(dashboard)/chat/page.js +4 -4
- 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 +31 -31
- package/web/.next/server/app/(dashboard)/create/page.js +4 -4
- 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 +39 -39
- 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 +39 -39
- 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 +28 -28
- package/web/.next/server/app/(dashboard)/page.js +4 -4
- 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 +29 -29
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +4 -4
- 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 +29 -29
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +4 -4
- 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 +6 -6
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
- package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
- package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
- package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
- package/web/.next/server/app/features/page/server-reference-manifest.json +6 -6
- 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/settings/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/settings/page.js +1 -1
- 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 +13 -13
- package/web/.next/server/app/skills/page.js +2 -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 +11 -11
- package/web/.next/server/app/tools/page.js +1 -2
- package/web/.next/server/app/tools/page.js.nft.json +1 -1
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/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/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_bdff55d6.js +3 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_bdff55d6.js.map +1 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_6aa77d75.js +3 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_6aa77d75.js.map +1 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_24adb073.js +3 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_24adb073.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/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__69dd3217._.js → [root-of-the-server]__16c1388b._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__69dd3217._.js.map → [root-of-the-server]__16c1388b._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__75070d2e._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__75070d2e._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_f8c55130._.js → [root-of-the-server]__7c634c0f._.js} +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7c634c0f._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__1cd4327c._.js → [root-of-the-server]__8f02b364._.js} +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8f02b364._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9dde817e._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9dde817e._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a00db173._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a00db173._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__cf751517._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__cf751517._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e0592c69._.js +3 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__4ed9b909._.js.map → [root-of-the-server]__e0592c69._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e5f31e9a._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e5f31e9a._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_15f6bbd4._.js +3 -0
- package/web/.next/server/chunks/ssr/{_7bfbaebc._.js.map → _15f6bbd4._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_16eb4fec._.js → _396a6887._.js} +2 -2
- package/web/.next/server/chunks/ssr/_396a6887._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_45496654._.js +1 -1
- package/web/.next/server/chunks/ssr/_45496654._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_496c9117._.js +1 -1
- package/web/.next/server/chunks/ssr/_496c9117._.js.map +1 -1
- 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/{_b384cf4d._.js → _5889596f._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_b384cf4d._.js.map → _5889596f._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_6abfa39e._.js +1 -1
- package/web/.next/server/chunks/ssr/_6abfa39e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_d9c0a97a._.js → _74a1a173._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_d9c0a97a._.js.map → _74a1a173._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_2b1e0171._.js → _7d50fed0._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_2b1e0171._.js.map → _7d50fed0._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_9bbdd461._.js +4 -0
- package/web/.next/server/chunks/ssr/_9bbdd461._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_bcd239dd._.js +3 -0
- package/web/.next/server/chunks/ssr/_bcd239dd._.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/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_0338c789._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_0338c789._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_071f1e80._.js +5 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_071f1e80._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_55c1ff7d._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_55c1ff7d._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ad14a90f.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ad14a90f.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_bade80bd._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_bade80bd._.js.map +1 -0
- 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_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/src_presentation_web_d5838156._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_d5838156._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_dc28bc60._.js +5 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_dc28bc60._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_dcb020e3._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_dcb020e3._.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 +51 -51
- package/web/.next/static/chunks/{c49b1801fada7fa4.js → 200e07d995bd9a42.js} +1 -1
- package/web/.next/static/chunks/22e3a3738308da2e.js +1 -0
- package/web/.next/static/chunks/{2e616ccf4645a26b.js → 25d3c4d18b8aecff.js} +1 -1
- package/web/.next/static/chunks/34444901ca3a1c3b.js +1 -0
- package/web/.next/static/chunks/{2265497d1f25f0b2.js → 3cf86457869c47bc.js} +1 -1
- package/web/.next/static/chunks/{0c5306088ba2ca1c.js → 55060446f5490f20.js} +3 -3
- package/web/.next/static/chunks/{697dff0baf6241e5.js → 59bff7b33ebe5f68.js} +1 -1
- package/web/.next/static/chunks/{8aa96e7709416478.js → 5a2bdbc57ed1368e.js} +1 -1
- package/web/.next/static/chunks/{d3d8e87d41b1d063.js → 981c6f3f1db99b4e.js} +1 -1
- package/web/.next/static/chunks/{46e2693dbc9262fd.js → c94a6a3d54dd4997.js} +2 -2
- package/web/.next/static/chunks/{6c660b0c1d5cf116.js → d04d868f0971941d.js} +1 -1
- package/web/.next/static/chunks/{9109f74856342d59.js → d26d0a7bc1a9b5a4.js} +1 -1
- package/web/.next/static/chunks/e7502fb670f32235.js +1 -0
- package/web/.next/static/chunks/{c1b52ddd382c063b.js → f5c61237675acc89.js} +1 -1
- package/web/.next/static/chunks/{53c9a26266f46989.js → fb7211d94190d010.js} +3 -3
- package/dist/src/presentation/web/lib/is-same-shep-instance.d.ts +0 -7
- package/dist/src/presentation/web/lib/is-same-shep-instance.d.ts.map +0 -1
- package/dist/src/presentation/web/lib/is-same-shep-instance.js +0 -18
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__46b10380._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__46b10380._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4ed9b909._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8b512877._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8b512877._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__990dba2d._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__990dba2d._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__cc9c7bbb._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__cc9c7bbb._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js +0 -3
- package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_7bfbaebc._.js +0 -3
- package/web/.next/server/chunks/ssr/_f8c55130._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_06109d28._.js +0 -5
- package/web/.next/server/chunks/ssr/src_presentation_web_06109d28._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_0bca70f8._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_0bca70f8._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_367cdbe0._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_367cdbe0._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_57fed7fd._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_57fed7fd._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_7f567f6d._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_7f567f6d._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_972f58d5._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_972f58d5._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_a71b18a2._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_a71b18a2._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_bebe675e._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_bebe675e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_c93e8bc6._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_c93e8bc6._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_e729f44a._.js +0 -5
- package/web/.next/server/chunks/ssr/src_presentation_web_e729f44a._.js.map +0 -1
- package/web/.next/static/chunks/2df108b69e81ba41.js +0 -1
- package/web/.next/static/chunks/477b12987135b175.js +0 -1
- package/web/.next/static/chunks/e3255a05122f168f.js +0 -1
- /package/web/.next/static/{4TvL4L8RNpkHhM-ORqvgP → mLJ1Qa4FUFmmZm0crRH2U}/_buildManifest.js +0 -0
- /package/web/.next/static/{4TvL4L8RNpkHhM-ORqvgP → mLJ1Qa4FUFmmZm0crRH2U}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{4TvL4L8RNpkHhM-ORqvgP → mLJ1Qa4FUFmmZm0crRH2U}/_ssgManifest.js +0 -0
package/dist/packages/core/src/application/ports/output/services/deployment-service.interface.d.ts
CHANGED
|
@@ -29,6 +29,13 @@ export interface DeploymentStatus {
|
|
|
29
29
|
/** Detected URL when the dev server is Ready, null while Booting. */
|
|
30
30
|
url: string | null;
|
|
31
31
|
}
|
|
32
|
+
/** Status snapshot including the target identifier, returned by listAll(). */
|
|
33
|
+
export interface DeploymentStatusEntry extends DeploymentStatus {
|
|
34
|
+
/** Unique identifier for the deployment target (featureId or repositoryPath). */
|
|
35
|
+
targetId: string;
|
|
36
|
+
/** Type of target ('feature' or 'repository'). */
|
|
37
|
+
targetType: string;
|
|
38
|
+
}
|
|
32
39
|
/**
|
|
33
40
|
* Port interface for managing local dev server deployments.
|
|
34
41
|
*
|
|
@@ -75,6 +82,16 @@ export interface IDeploymentService {
|
|
|
75
82
|
* @returns Status snapshot with state and url, or null if no deployment exists
|
|
76
83
|
*/
|
|
77
84
|
getStatus(targetId: string): DeploymentStatus | null;
|
|
85
|
+
/**
|
|
86
|
+
* List all currently tracked deployments (both in-memory and persisted in DB)
|
|
87
|
+
* that have a live process. Dead deployments are cleaned up as a side effect.
|
|
88
|
+
*
|
|
89
|
+
* Used by ListDeploymentsUseCase for bulk hydration on page load and
|
|
90
|
+
* shared-state synchronization across client components.
|
|
91
|
+
*
|
|
92
|
+
* @returns Array of status entries keyed by targetId (never null; empty when no deployments)
|
|
93
|
+
*/
|
|
94
|
+
listAll(): DeploymentStatusEntry[];
|
|
78
95
|
/**
|
|
79
96
|
* Force-stop all tracked deployments immediately.
|
|
80
97
|
* Called during daemon shutdown to prevent orphaned dev server processes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/deployment-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,uEAAuE;AACvE,MAAM,WAAW,QAAQ;IACvB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,+CAA+C;AAC/C,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,KAAK,EAAE,eAAe,CAAC;IACvB,qEAAqE;IACrE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IAEzC;;;OAGG;IACH,UAAU,IAAI,IAAI,CAAC;IAEnB;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvE;;;;;;OAMG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAErD;;;OAGG;IACH,OAAO,IAAI,IAAI,CAAC;IAIhB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;IAE7C;;;;;OAKG;IACH,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC;IAE3D;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC;CAC7D"}
|
|
1
|
+
{"version":3,"file":"deployment-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/deployment-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,uEAAuE;AACvE,MAAM,WAAW,QAAQ;IACvB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,+CAA+C;AAC/C,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,KAAK,EAAE,eAAe,CAAC;IACvB,qEAAqE;IACrE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,8EAA8E;AAC9E,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,iFAAiF;IACjF,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IAEzC;;;OAGG;IACH,UAAU,IAAI,IAAI,CAAC;IAEnB;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvE;;;;;;OAMG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAErD;;;;;;;;OAQG;IACH,OAAO,IAAI,qBAAqB,EAAE,CAAC;IAEnC;;;OAGG;IACH,OAAO,IAAI,IAAI,CAAC;IAIhB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;IAE7C;;;;;OAKG;IACH,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC;IAE3D;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC;CAC7D"}
|
package/dist/packages/core/src/application/ports/output/services/file-system-service.interface.d.ts
CHANGED
|
@@ -14,5 +14,12 @@ export interface IFileSystemService {
|
|
|
14
14
|
* @throws Error if removal fails for reasons other than non-existence
|
|
15
15
|
*/
|
|
16
16
|
removeDirectory(dirPath: string): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Check whether a file or directory exists at the given absolute path.
|
|
19
|
+
*
|
|
20
|
+
* @param path - Absolute filesystem path to check
|
|
21
|
+
* @returns true if the path exists, false otherwise
|
|
22
|
+
*/
|
|
23
|
+
pathExists(path: string): boolean;
|
|
17
24
|
}
|
|
18
25
|
//# sourceMappingURL=file-system-service.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-system-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/file-system-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;OAOG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"file-system-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/file-system-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;OAOG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shep Instance Service Interface
|
|
3
|
+
*
|
|
4
|
+
* Output port for detecting whether a given path is the same directory
|
|
5
|
+
* (or a worktree of) the currently running Shep instance.
|
|
6
|
+
*
|
|
7
|
+
* Starting a dev server for the running Shep instance's own repository
|
|
8
|
+
* would spawn a nested Shep process that conflicts with the shared
|
|
9
|
+
* ~/.shep/data SQLite database — so deployment use cases reject it.
|
|
10
|
+
*/
|
|
11
|
+
export interface IShepInstanceService {
|
|
12
|
+
/**
|
|
13
|
+
* Return true when `targetPath` resolves to the same canonical directory
|
|
14
|
+
* as the running Shep instance.
|
|
15
|
+
*
|
|
16
|
+
* Implementations must normalize paths to forward slashes and use
|
|
17
|
+
* `fs.realpathSync` so symlinks, case differences, and trailing
|
|
18
|
+
* separators do not yield false negatives.
|
|
19
|
+
*/
|
|
20
|
+
isSameInstance(targetPath: string): boolean;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=shep-instance-service.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shep-instance-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/shep-instance-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;OAOG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7C"}
|
package/dist/packages/core/src/application/ports/output/services/shep-instance-service.interface.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shep Instance Service Interface
|
|
3
|
+
*
|
|
4
|
+
* Output port for detecting whether a given path is the same directory
|
|
5
|
+
* (or a worktree of) the currently running Shep instance.
|
|
6
|
+
*
|
|
7
|
+
* Starting a dev server for the running Shep instance's own repository
|
|
8
|
+
* would spawn a nested Shep process that conflicts with the shared
|
|
9
|
+
* ~/.shep/data SQLite database — so deployment use cases reject it.
|
|
10
|
+
*/
|
|
11
|
+
export {};
|
package/dist/packages/core/src/application/use-cases/deployments/get-deployment-status.use-case.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get Deployment Status Use Case
|
|
3
|
+
*
|
|
4
|
+
* Returns the current deployment status snapshot for a single target,
|
|
5
|
+
* or null when no deployment exists.
|
|
6
|
+
*/
|
|
7
|
+
import type { IDeploymentService, DeploymentStatus } from '../../ports/output/services/deployment-service.interface.js';
|
|
8
|
+
export declare class GetDeploymentStatusUseCase {
|
|
9
|
+
private readonly deploymentService;
|
|
10
|
+
constructor(deploymentService: IDeploymentService);
|
|
11
|
+
execute(targetId: string): Promise<DeploymentStatus | null>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=get-deployment-status.use-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-deployment-status.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/deployments/get-deployment-status.use-case.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,6DAA6D,CAAC;AAErE,qBACa,0BAA0B;IAEL,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,kBAAkB;IAGhF,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;CAMlE"}
|
package/dist/packages/core/src/application/use-cases/deployments/get-deployment-status.use-case.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get Deployment Status Use Case
|
|
3
|
+
*
|
|
4
|
+
* Returns the current deployment status snapshot for a single target,
|
|
5
|
+
* or null when no deployment exists.
|
|
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
|
+
let GetDeploymentStatusUseCase = class GetDeploymentStatusUseCase {
|
|
21
|
+
deploymentService;
|
|
22
|
+
constructor(deploymentService) {
|
|
23
|
+
this.deploymentService = deploymentService;
|
|
24
|
+
}
|
|
25
|
+
async execute(targetId) {
|
|
26
|
+
if (!targetId?.trim()) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
return this.deploymentService.getStatus(targetId);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
GetDeploymentStatusUseCase = __decorate([
|
|
33
|
+
injectable(),
|
|
34
|
+
__param(0, inject('IDeploymentService')),
|
|
35
|
+
__metadata("design:paramtypes", [Object])
|
|
36
|
+
], GetDeploymentStatusUseCase);
|
|
37
|
+
export { GetDeploymentStatusUseCase };
|
package/dist/packages/core/src/application/use-cases/deployments/list-deployments.use-case.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* List Deployments Use Case
|
|
3
|
+
*
|
|
4
|
+
* Returns all currently tracked dev server deployments with live processes.
|
|
5
|
+
* Used by presentation layers to hydrate shared deployment state on page
|
|
6
|
+
* load and to synchronize status across components viewing the same target.
|
|
7
|
+
*/
|
|
8
|
+
import type { IDeploymentService, DeploymentStatusEntry } from '../../ports/output/services/deployment-service.interface.js';
|
|
9
|
+
export declare class ListDeploymentsUseCase {
|
|
10
|
+
private readonly deploymentService;
|
|
11
|
+
constructor(deploymentService: IDeploymentService);
|
|
12
|
+
execute(): Promise<DeploymentStatusEntry[]>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=list-deployments.use-case.d.ts.map
|
package/dist/packages/core/src/application/use-cases/deployments/list-deployments.use-case.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-deployments.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/deployments/list-deployments.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,6DAA6D,CAAC;AAErE,qBACa,sBAAsB;IAED,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,kBAAkB;IAGhF,OAAO,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;CAGlD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* List Deployments Use Case
|
|
3
|
+
*
|
|
4
|
+
* Returns all currently tracked dev server deployments with live processes.
|
|
5
|
+
* Used by presentation layers to hydrate shared deployment state on page
|
|
6
|
+
* load and to synchronize status across components viewing the same target.
|
|
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
|
+
let ListDeploymentsUseCase = class ListDeploymentsUseCase {
|
|
22
|
+
deploymentService;
|
|
23
|
+
constructor(deploymentService) {
|
|
24
|
+
this.deploymentService = deploymentService;
|
|
25
|
+
}
|
|
26
|
+
async execute() {
|
|
27
|
+
return this.deploymentService.listAll();
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
ListDeploymentsUseCase = __decorate([
|
|
31
|
+
injectable(),
|
|
32
|
+
__param(0, inject('IDeploymentService')),
|
|
33
|
+
__metadata("design:paramtypes", [Object])
|
|
34
|
+
], ListDeploymentsUseCase);
|
|
35
|
+
export { ListDeploymentsUseCase };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Start Feature Deployment Use Case
|
|
3
|
+
*
|
|
4
|
+
* Starts a local dev server for a feature's git worktree.
|
|
5
|
+
*
|
|
6
|
+
* Business Rules:
|
|
7
|
+
* - featureId must be non-empty
|
|
8
|
+
* - Feature must exist in the repository
|
|
9
|
+
* - The feature's worktree path must exist on disk
|
|
10
|
+
* - Rejects deployments targeting the currently running Shep instance's
|
|
11
|
+
* own repository (would create a conflicting nested Shep process)
|
|
12
|
+
*
|
|
13
|
+
* Returns the deployment status after the start call (Booting).
|
|
14
|
+
*/
|
|
15
|
+
import type { IFeatureRepository } from '../../ports/output/repositories/feature-repository.interface.js';
|
|
16
|
+
import type { IDeploymentService, DeploymentStatus } from '../../ports/output/services/deployment-service.interface.js';
|
|
17
|
+
import type { IFileSystemService } from '../../ports/output/services/file-system-service.interface.js';
|
|
18
|
+
import type { IShepInstanceService } from '../../ports/output/services/shep-instance-service.interface.js';
|
|
19
|
+
export declare class StartFeatureDeploymentUseCase {
|
|
20
|
+
private readonly featureRepo;
|
|
21
|
+
private readonly deploymentService;
|
|
22
|
+
private readonly fileSystem;
|
|
23
|
+
private readonly shepInstance;
|
|
24
|
+
constructor(featureRepo: IFeatureRepository, deploymentService: IDeploymentService, fileSystem: IFileSystemService, shepInstance: IShepInstanceService);
|
|
25
|
+
execute(featureId: string): Promise<DeploymentStatus>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=start-feature-deployment.use-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start-feature-deployment.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/deployments/start-feature-deployment.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,6DAA6D,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8DAA8D,CAAC;AACvG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gEAAgE,CAAC;AAI3G,qBACa,6BAA6B;IAER,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAHd,WAAW,EAAE,kBAAkB,EAC/B,iBAAiB,EAAE,kBAAkB,EACrC,UAAU,EAAE,kBAAkB,EAC5B,YAAY,EAAE,oBAAoB;IAG/E,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA2B5D"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Start Feature Deployment Use Case
|
|
3
|
+
*
|
|
4
|
+
* Starts a local dev server for a feature's git worktree.
|
|
5
|
+
*
|
|
6
|
+
* Business Rules:
|
|
7
|
+
* - featureId must be non-empty
|
|
8
|
+
* - Feature must exist in the repository
|
|
9
|
+
* - The feature's worktree path must exist on disk
|
|
10
|
+
* - Rejects deployments targeting the currently running Shep instance's
|
|
11
|
+
* own repository (would create a conflicting nested Shep process)
|
|
12
|
+
*
|
|
13
|
+
* Returns the deployment status after the start call (Booting).
|
|
14
|
+
*/
|
|
15
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
16
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
17
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
18
|
+
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;
|
|
19
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
20
|
+
};
|
|
21
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
22
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
23
|
+
};
|
|
24
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
25
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
26
|
+
};
|
|
27
|
+
import { injectable, inject } from 'tsyringe';
|
|
28
|
+
import { DeploymentState } from '../../../domain/generated/output.js';
|
|
29
|
+
import { computeWorktreePath } from '../../../infrastructure/services/ide-launchers/compute-worktree-path.js';
|
|
30
|
+
let StartFeatureDeploymentUseCase = class StartFeatureDeploymentUseCase {
|
|
31
|
+
featureRepo;
|
|
32
|
+
deploymentService;
|
|
33
|
+
fileSystem;
|
|
34
|
+
shepInstance;
|
|
35
|
+
constructor(featureRepo, deploymentService, fileSystem, shepInstance) {
|
|
36
|
+
this.featureRepo = featureRepo;
|
|
37
|
+
this.deploymentService = deploymentService;
|
|
38
|
+
this.fileSystem = fileSystem;
|
|
39
|
+
this.shepInstance = shepInstance;
|
|
40
|
+
}
|
|
41
|
+
async execute(featureId) {
|
|
42
|
+
if (!featureId?.trim()) {
|
|
43
|
+
throw new Error('featureId is required');
|
|
44
|
+
}
|
|
45
|
+
const feature = await this.featureRepo.findById(featureId);
|
|
46
|
+
if (!feature) {
|
|
47
|
+
throw new Error(`Feature not found: ${featureId}`);
|
|
48
|
+
}
|
|
49
|
+
if (this.shepInstance.isSameInstance(feature.repositoryPath)) {
|
|
50
|
+
throw new Error('Cannot start a dev server for features of the repository Shep is running from');
|
|
51
|
+
}
|
|
52
|
+
const worktreePath = feature.worktreePath ?? computeWorktreePath(feature.repositoryPath, feature.branch);
|
|
53
|
+
if (!this.fileSystem.pathExists(worktreePath)) {
|
|
54
|
+
throw new Error(`Worktree path does not exist: ${worktreePath}`);
|
|
55
|
+
}
|
|
56
|
+
this.deploymentService.start(featureId, worktreePath, 'feature');
|
|
57
|
+
return { state: DeploymentState.Booting, url: null };
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
StartFeatureDeploymentUseCase = __decorate([
|
|
61
|
+
injectable(),
|
|
62
|
+
__param(0, inject('IFeatureRepository')),
|
|
63
|
+
__param(1, inject('IDeploymentService')),
|
|
64
|
+
__param(2, inject('IFileSystemService')),
|
|
65
|
+
__param(3, inject('IShepInstanceService')),
|
|
66
|
+
__metadata("design:paramtypes", [Object, Object, Object, Object])
|
|
67
|
+
], StartFeatureDeploymentUseCase);
|
|
68
|
+
export { StartFeatureDeploymentUseCase };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Start Repository Deployment Use Case
|
|
3
|
+
*
|
|
4
|
+
* Starts a local dev server rooted at a repository's top-level directory.
|
|
5
|
+
*
|
|
6
|
+
* Business Rules:
|
|
7
|
+
* - repositoryPath must be an absolute path
|
|
8
|
+
* - The directory must exist on disk
|
|
9
|
+
* - Rejects the currently running Shep instance's own repository
|
|
10
|
+
*
|
|
11
|
+
* Returns the deployment status after the start call (Booting).
|
|
12
|
+
*/
|
|
13
|
+
import type { IDeploymentService, DeploymentStatus } from '../../ports/output/services/deployment-service.interface.js';
|
|
14
|
+
import type { IFileSystemService } from '../../ports/output/services/file-system-service.interface.js';
|
|
15
|
+
import type { IShepInstanceService } from '../../ports/output/services/shep-instance-service.interface.js';
|
|
16
|
+
export declare class StartRepositoryDeploymentUseCase {
|
|
17
|
+
private readonly deploymentService;
|
|
18
|
+
private readonly fileSystem;
|
|
19
|
+
private readonly shepInstance;
|
|
20
|
+
constructor(deploymentService: IDeploymentService, fileSystem: IFileSystemService, shepInstance: IShepInstanceService);
|
|
21
|
+
execute(repositoryPath: string): Promise<DeploymentStatus>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=start-repository-deployment.use-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start-repository-deployment.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/deployments/start-repository-deployment.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,6DAA6D,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8DAA8D,CAAC;AACvG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gEAAgE,CAAC;AAG3G,qBACa,gCAAgC;IAEX,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAFd,iBAAiB,EAAE,kBAAkB,EACrC,UAAU,EAAE,kBAAkB,EAC5B,YAAY,EAAE,oBAAoB;IAG/E,OAAO,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAiBjE"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Start Repository Deployment Use Case
|
|
3
|
+
*
|
|
4
|
+
* Starts a local dev server rooted at a repository's top-level directory.
|
|
5
|
+
*
|
|
6
|
+
* Business Rules:
|
|
7
|
+
* - repositoryPath must be an absolute path
|
|
8
|
+
* - The directory must exist on disk
|
|
9
|
+
* - Rejects the currently running Shep instance's own repository
|
|
10
|
+
*
|
|
11
|
+
* Returns the deployment status after the start call (Booting).
|
|
12
|
+
*/
|
|
13
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
14
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
15
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
16
|
+
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;
|
|
17
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
18
|
+
};
|
|
19
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
21
|
+
};
|
|
22
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
23
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
24
|
+
};
|
|
25
|
+
import { isAbsolute } from 'node:path';
|
|
26
|
+
import { injectable, inject } from 'tsyringe';
|
|
27
|
+
import { DeploymentState } from '../../../domain/generated/output.js';
|
|
28
|
+
let StartRepositoryDeploymentUseCase = class StartRepositoryDeploymentUseCase {
|
|
29
|
+
deploymentService;
|
|
30
|
+
fileSystem;
|
|
31
|
+
shepInstance;
|
|
32
|
+
constructor(deploymentService, fileSystem, shepInstance) {
|
|
33
|
+
this.deploymentService = deploymentService;
|
|
34
|
+
this.fileSystem = fileSystem;
|
|
35
|
+
this.shepInstance = shepInstance;
|
|
36
|
+
}
|
|
37
|
+
async execute(repositoryPath) {
|
|
38
|
+
if (!repositoryPath || !isAbsolute(repositoryPath)) {
|
|
39
|
+
throw new Error('repositoryPath must be an absolute path');
|
|
40
|
+
}
|
|
41
|
+
if (!this.fileSystem.pathExists(repositoryPath)) {
|
|
42
|
+
throw new Error(`Directory does not exist: ${repositoryPath}`);
|
|
43
|
+
}
|
|
44
|
+
if (this.shepInstance.isSameInstance(repositoryPath)) {
|
|
45
|
+
throw new Error('Cannot start a dev server for the repository Shep is running from');
|
|
46
|
+
}
|
|
47
|
+
this.deploymentService.start(repositoryPath, repositoryPath, 'repository');
|
|
48
|
+
return { state: DeploymentState.Booting, url: null };
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
StartRepositoryDeploymentUseCase = __decorate([
|
|
52
|
+
injectable(),
|
|
53
|
+
__param(0, inject('IDeploymentService')),
|
|
54
|
+
__param(1, inject('IFileSystemService')),
|
|
55
|
+
__param(2, inject('IShepInstanceService')),
|
|
56
|
+
__metadata("design:paramtypes", [Object, Object, Object])
|
|
57
|
+
], StartRepositoryDeploymentUseCase);
|
|
58
|
+
export { StartRepositoryDeploymentUseCase };
|
package/dist/packages/core/src/application/use-cases/deployments/stop-deployment.use-case.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stop Deployment Use Case
|
|
3
|
+
*
|
|
4
|
+
* Stops a running dev server deployment for the given targetId.
|
|
5
|
+
* Delegates graceful shutdown (SIGTERM → SIGKILL) to the deployment service.
|
|
6
|
+
*/
|
|
7
|
+
import type { IDeploymentService } from '../../ports/output/services/deployment-service.interface.js';
|
|
8
|
+
export declare class StopDeploymentUseCase {
|
|
9
|
+
private readonly deploymentService;
|
|
10
|
+
constructor(deploymentService: IDeploymentService);
|
|
11
|
+
execute(targetId: string): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=stop-deployment.use-case.d.ts.map
|
package/dist/packages/core/src/application/use-cases/deployments/stop-deployment.use-case.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stop-deployment.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/deployments/stop-deployment.use-case.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6DAA6D,CAAC;AAEtG,qBACa,qBAAqB;IAEA,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,kBAAkB;IAGhF,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAM/C"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stop Deployment Use Case
|
|
3
|
+
*
|
|
4
|
+
* Stops a running dev server deployment for the given targetId.
|
|
5
|
+
* Delegates graceful shutdown (SIGTERM → SIGKILL) to the deployment service.
|
|
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
|
+
let StopDeploymentUseCase = class StopDeploymentUseCase {
|
|
21
|
+
deploymentService;
|
|
22
|
+
constructor(deploymentService) {
|
|
23
|
+
this.deploymentService = deploymentService;
|
|
24
|
+
}
|
|
25
|
+
async execute(targetId) {
|
|
26
|
+
if (!targetId?.trim()) {
|
|
27
|
+
throw new Error('targetId is required');
|
|
28
|
+
}
|
|
29
|
+
await this.deploymentService.stop(targetId);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
StopDeploymentUseCase = __decorate([
|
|
33
|
+
injectable(),
|
|
34
|
+
__param(0, inject('IDeploymentService')),
|
|
35
|
+
__metadata("design:paramtypes", [Object])
|
|
36
|
+
], StopDeploymentUseCase);
|
|
37
|
+
export { StopDeploymentUseCase };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/di/container.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/di/container.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AA4KrC;;;;;;GAMG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,SAAS,CAAC,CAofrE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -31,6 +31,7 @@ import { SkillInjectorService } from '../services/skill-injector.service.js';
|
|
|
31
31
|
import { JsonDrivenIdeLauncherService } from '../services/ide-launchers/json-driven-ide-launcher.service.js';
|
|
32
32
|
import { DaemonPidService } from '../services/daemon/daemon-pid.service.js';
|
|
33
33
|
import { DeploymentService } from '../services/deployment/deployment.service.js';
|
|
34
|
+
import { ShepInstanceService } from '../services/shep-instance.service.js';
|
|
34
35
|
import { AttachmentStorageService } from '../services/attachment-storage.service.js';
|
|
35
36
|
import { GitHubRepositoryService } from '../services/external/github-repository.service.js';
|
|
36
37
|
import { BrowserOpenerService } from '../services/browser-opener.service.js';
|
|
@@ -103,6 +104,12 @@ import { RebaseFeatureOnMainUseCase } from '../../application/use-cases/features
|
|
|
103
104
|
import { GetBranchSyncStatusUseCase } from '../../application/use-cases/features/get-branch-sync-status.use-case.js';
|
|
104
105
|
import { ConflictResolutionService } from '../services/agents/conflict-resolution/conflict-resolution.service.js';
|
|
105
106
|
import { AutoResolveMergedBranchesUseCase } from '../../application/use-cases/features/auto-resolve-merged-branches.use-case.js';
|
|
107
|
+
// Deployment use cases
|
|
108
|
+
import { StartFeatureDeploymentUseCase } from '../../application/use-cases/deployments/start-feature-deployment.use-case.js';
|
|
109
|
+
import { StartRepositoryDeploymentUseCase } from '../../application/use-cases/deployments/start-repository-deployment.use-case.js';
|
|
110
|
+
import { StopDeploymentUseCase } from '../../application/use-cases/deployments/stop-deployment.use-case.js';
|
|
111
|
+
import { GetDeploymentStatusUseCase } from '../../application/use-cases/deployments/get-deployment-status.use-case.js';
|
|
112
|
+
import { ListDeploymentsUseCase } from '../../application/use-cases/deployments/list-deployments.use-case.js';
|
|
106
113
|
// Interactive session use cases
|
|
107
114
|
import { StartInteractiveSessionUseCase } from '../../application/use-cases/interactive/start-interactive-session.use-case.js';
|
|
108
115
|
import { SendInteractiveMessageUseCase } from '../../application/use-cases/interactive/send-interactive-message.use-case.js';
|
|
@@ -212,6 +219,7 @@ export async function initializeContainer() {
|
|
|
212
219
|
deploymentService.setDatabase(db);
|
|
213
220
|
deploymentService.recoverAll();
|
|
214
221
|
container.registerInstance('IDeploymentService', deploymentService);
|
|
222
|
+
container.registerSingleton('IShepInstanceService', ShepInstanceService);
|
|
215
223
|
// Register agent infrastructure
|
|
216
224
|
container.register('IAgentRunRepository', {
|
|
217
225
|
useFactory: (c) => {
|
|
@@ -360,6 +368,12 @@ export async function initializeContainer() {
|
|
|
360
368
|
container.registerSingleton(RebaseFeatureOnMainUseCase);
|
|
361
369
|
container.registerSingleton(GetBranchSyncStatusUseCase);
|
|
362
370
|
container.registerSingleton(AutoResolveMergedBranchesUseCase);
|
|
371
|
+
// Deployment use cases
|
|
372
|
+
container.registerSingleton(StartFeatureDeploymentUseCase);
|
|
373
|
+
container.registerSingleton(StartRepositoryDeploymentUseCase);
|
|
374
|
+
container.registerSingleton(StopDeploymentUseCase);
|
|
375
|
+
container.registerSingleton(GetDeploymentStatusUseCase);
|
|
376
|
+
container.registerSingleton(ListDeploymentsUseCase);
|
|
363
377
|
// Session repositories (per-AgentType string tokens)
|
|
364
378
|
container.register(`IAgentSessionRepository:${AgentType.ClaudeCode}`, {
|
|
365
379
|
useFactory: () => new ClaudeCodeSessionRepository(),
|
|
@@ -489,6 +503,21 @@ export async function initializeContainer() {
|
|
|
489
503
|
container.register('UnarchiveFeatureUseCase', {
|
|
490
504
|
useFactory: (c) => c.resolve(UnarchiveFeatureUseCase),
|
|
491
505
|
});
|
|
506
|
+
container.register('StartFeatureDeploymentUseCase', {
|
|
507
|
+
useFactory: (c) => c.resolve(StartFeatureDeploymentUseCase),
|
|
508
|
+
});
|
|
509
|
+
container.register('StartRepositoryDeploymentUseCase', {
|
|
510
|
+
useFactory: (c) => c.resolve(StartRepositoryDeploymentUseCase),
|
|
511
|
+
});
|
|
512
|
+
container.register('StopDeploymentUseCase', {
|
|
513
|
+
useFactory: (c) => c.resolve(StopDeploymentUseCase),
|
|
514
|
+
});
|
|
515
|
+
container.register('GetDeploymentStatusUseCase', {
|
|
516
|
+
useFactory: (c) => c.resolve(GetDeploymentStatusUseCase),
|
|
517
|
+
});
|
|
518
|
+
container.register('ListDeploymentsUseCase', {
|
|
519
|
+
useFactory: (c) => c.resolve(ListDeploymentsUseCase),
|
|
520
|
+
});
|
|
492
521
|
container.register('UpgradeCliUseCase', {
|
|
493
522
|
useFactory: (c) => c.resolve(UpgradeCliUseCase),
|
|
494
523
|
});
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { spawn } from 'node:child_process';
|
|
13
13
|
import type Database from 'better-sqlite3';
|
|
14
|
-
import type { IDeploymentService, DeploymentStatus, LogEntry } from '../../../application/ports/output/services/deployment-service.interface.js';
|
|
14
|
+
import type { IDeploymentService, DeploymentStatus, DeploymentStatusEntry, LogEntry } from '../../../application/ports/output/services/deployment-service.interface.js';
|
|
15
15
|
import { detectDevScript } from './detect-dev-script.js';
|
|
16
16
|
export interface DeploymentServiceDeps {
|
|
17
17
|
spawn: typeof spawn;
|
|
@@ -54,6 +54,13 @@ export declare class DeploymentService implements IDeploymentService {
|
|
|
54
54
|
* Validates PID liveness — cleans up if dead.
|
|
55
55
|
*/
|
|
56
56
|
getStatus(targetId: string): DeploymentStatus | null;
|
|
57
|
+
/**
|
|
58
|
+
* List all tracked deployments with live processes.
|
|
59
|
+
*
|
|
60
|
+
* Merges in-memory entries with any DB rows not yet re-adopted. Any
|
|
61
|
+
* dead processes encountered are cleaned up (both in-memory and DB).
|
|
62
|
+
*/
|
|
63
|
+
listAll(): DeploymentStatusEntry[];
|
|
57
64
|
/**
|
|
58
65
|
* Stop a deployment gracefully: SIGTERM → poll → SIGKILL.
|
|
59
66
|
*/
|
|
@@ -78,6 +85,7 @@ export declare class DeploymentService implements IDeploymentService {
|
|
|
78
85
|
private dbUpdateState;
|
|
79
86
|
private dbDelete;
|
|
80
87
|
private dbFind;
|
|
88
|
+
private dbFindAll;
|
|
81
89
|
private killProcess;
|
|
82
90
|
/**
|
|
83
91
|
* Attach a line-buffered listener on stdout or stderr that calls parsePort
|
package/dist/packages/core/src/infrastructure/services/deployment/deployment.service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/deployment/deployment.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAmC,MAAM,oBAAoB,CAAC;AAK5E,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAK3C,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,QAAQ,EACT,MAAM,qEAAqE,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAiCzD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;IAC7D,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACnC;AA0CD,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,EAAE,CAAkC;gBAEhC,IAAI,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAIrD;;OAEG;IACH,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI;IAIxC;;;;;;;;;;;;OAYG;IACH,UAAU,IAAI,IAAI;IAqFlB;;;OAGG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,SAAe,GAAG,IAAI;IA8H5E;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IA4CpD;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0D3C;;OAEG;IACH,OAAO,IAAI,IAAI;IAef;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI;IAM5C;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI;IAI1D;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI;IAM3D,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"deployment.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/deployment/deployment.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAmC,MAAM,oBAAoB,CAAC;AAK5E,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAK3C,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,QAAQ,EACT,MAAM,qEAAqE,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAiCzD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;IAC7D,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACnC;AA0CD,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,EAAE,CAAkC;gBAEhC,IAAI,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAIrD;;OAEG;IACH,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI;IAIxC;;;;;;;;;;;;OAYG;IACH,UAAU,IAAI,IAAI;IAqFlB;;;OAGG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,SAAe,GAAG,IAAI;IA8H5E;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IA4CpD;;;;;OAKG;IACH,OAAO,IAAI,qBAAqB,EAAE;IAqDlC;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0D3C;;OAEG;IACH,OAAO,IAAI,IAAI;IAef;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI;IAM5C;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI;IAI1D;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI;IAM3D,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,MAAM;IAad,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,WAAW;IAQnB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;YA4Dd,aAAa;IAW3B,OAAO,CAAC,WAAW;IAUnB;;;;OAIG;YACW,kBAAkB;IAsChC;;;OAGG;IACH,OAAO,CAAC,SAAS;CAwBlB"}
|