@shepai/cli 1.116.1-pr369.ea52340 → 1.116.1-pr371.a854ed0
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/eslint.config.mjs +0 -3
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.js +9 -4
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.js +13 -4
- package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.d.ts +0 -5
- package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.js +0 -44
- package/dist/src/presentation/cli/commands/_serve.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/_serve.command.js +0 -23
- package/dist/src/presentation/cli/commands/ui.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/ui.command.js +0 -16
- package/dist/src/presentation/web/dev-server.js +0 -23
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +0 -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 +0 -6
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +20 -20
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
- 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 +26 -26
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +18 -18
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
- 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 +20 -20
- package/web/.next/server/app/(dashboard)/create/page.js +1 -1
- 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 +26 -26
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +18 -18
- package/web/.next/server/app/(dashboard)/page.js +1 -1
- 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 +18 -18
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
- 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 +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/agent-events/route.js +1 -1
- package/web/.next/server/app/api/agent-events/route.js.nft.json +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 +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 +5 -5
- 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 +6 -6
- 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 +6 -6
- 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 +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app-paths-manifest.json +0 -1
- package/web/.next/server/chunks/[root-of-the-server]__7d5492a0._.js +3 -0
- package/web/.next/server/chunks/{[root-of-the-server]__1fd12120._.js.map → [root-of-the-server]__7d5492a0._.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]__cd67a84c._.js +3 -0
- package/web/.next/server/chunks/{[root-of-the-server]__67fab82a._.js.map → [root-of-the-server]__cd67a84c._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_a1104008.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_a1104008.js.map +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_92642200.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_92642200.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__039967e3._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__039967e3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__07a39ff2._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__24dd0927._.js +4 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__5836d236._.js.map → [root-of-the-server]__24dd0927._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2773312c._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2773312c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6367aea0._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6367aea0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__89e8a5cc._.js +4 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__8cb3333c._.js.map → [root-of-the-server]__89e8a5cc._.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]__cbd8062c._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__cbd8062c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e70c5627._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e70c5627._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_135edb9c._.js +1 -1
- package/web/.next/server/chunks/ssr/_135edb9c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_5fceca1d._.js → _312ce7d3._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_5fceca1d._.js.map → _312ce7d3._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_bbb7316f._.js → _37999faf._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_bbb7316f._.js.map → _37999faf._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_8dacd1e7._.js +1 -1
- package/web/.next/server/chunks/ssr/_8dacd1e7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_cc77a143._.js +1 -1
- package/web/.next/server/chunks/ssr/_cc77a143._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_74b6a797._.js → _ffa6abf8._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_74b6a797._.js.map → _ffa6abf8._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_888633e1.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_888633e1.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ce7cbc3c._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_ce7cbc3c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js +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_e2604413._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_e2604413._.js.map +1 -1
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +31 -31
- package/web/.next/static/chunks/216e94eb1c284bdc.js +2 -0
- package/web/.next/static/chunks/{64fff64abb23a98a.js → 375fb7238f7ad1c8.js} +1 -1
- package/web/.next/static/chunks/{80027601774ec110.js → 37d79489f5d9778c.js} +1 -1
- package/web/.next/static/chunks/{0aebffb399bbb9ed.js → 391d5bb6ce65f10a.js} +1 -1
- package/web/.next/static/chunks/{692809ab808fb5b0.js → 3f7ba5eeb1af9a59.js} +1 -1
- package/web/.next/static/chunks/{2fbf145a6771f83d.js → 661fed0c6629705e.js} +1 -1
- package/web/.next/static/chunks/{55f4d0cdbd44c85c.js → 7f89422a879a1e0d.js} +1 -1
- package/web/.next/static/chunks/{739ad28b1bd6139f.js → 85a69527940ffe27.js} +1 -1
- package/web/.next/static/chunks/{79cb8d40234e2dae.js → 8e0cfcbd927f3337.js} +1 -1
- package/web/.next/static/chunks/{e8c2d1bb5972372a.js → c0340fdfa09c40ce.js} +1 -1
- package/dist/packages/core/src/infrastructure/services/webhooks/github-webhook-runtime.service.d.ts +0 -43
- package/dist/packages/core/src/infrastructure/services/webhooks/github-webhook-runtime.service.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/webhooks/github-webhook-runtime.service.js +0 -208
- package/dist/packages/core/src/infrastructure/services/webhooks/github-webhook.service.d.ts +0 -25
- package/dist/packages/core/src/infrastructure/services/webhooks/github-webhook.service.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/webhooks/github-webhook.service.js +0 -99
- package/dist/packages/core/src/infrastructure/services/webhooks/webhook-secret.service.d.ts +0 -3
- package/dist/packages/core/src/infrastructure/services/webhooks/webhook-secret.service.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/webhooks/webhook-secret.service.js +0 -19
- package/dist/src/presentation/web/app/api/webhooks/github/route.d.ts +0 -3
- package/dist/src/presentation/web/app/api/webhooks/github/route.d.ts.map +0 -1
- package/dist/src/presentation/web/app/api/webhooks/github/route.js +0 -38
- package/web/.next/server/app/api/webhooks/github/route/app-paths-manifest.json +0 -3
- package/web/.next/server/app/api/webhooks/github/route/build-manifest.json +0 -11
- package/web/.next/server/app/api/webhooks/github/route/server-reference-manifest.json +0 -4
- package/web/.next/server/app/api/webhooks/github/route.js +0 -7
- package/web/.next/server/app/api/webhooks/github/route.js.map +0 -5
- package/web/.next/server/app/api/webhooks/github/route.js.nft.json +0 -1
- package/web/.next/server/app/api/webhooks/github/route_client-reference-manifest.js +0 -2
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_0ab2579c.js +0 -4
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_0ab2579c.js.map +0 -1
- package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_webhooks_github_route_actions_1b0d0c38.js +0 -3
- package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_webhooks_github_route_actions_1b0d0c38.js.map +0 -1
- package/web/.next/server/chunks/[root-of-the-server]__1fd12120._.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__67fab82a._.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__ea37e7e1._.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__ea37e7e1._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5836d236._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8cb3333c._.js +0 -4
- package/web/.next/static/chunks/2e8262cd524e9f0c.js +0 -2
- /package/web/.next/static/{uDyTlPWSuePQAmkQTwP4z → RwFwsurS3qlmV_OkQFEE2}/_buildManifest.js +0 -0
- /package/web/.next/static/{uDyTlPWSuePQAmkQTwP4z → RwFwsurS3qlmV_OkQFEE2}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{uDyTlPWSuePQAmkQTwP4z → RwFwsurS3qlmV_OkQFEE2}/_ssgManifest.js +0 -0
package/dist/eslint.config.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code-executor.service.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,4EAA4E,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAajD;;;GAGG;AACH,qBAAa,yBAA0B,YAAW,cAAc;IAMlD,OAAO,CAAC,QAAQ,CAAC,KAAK;IALlC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAA8B;IAE3D,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAAS;gBAEM,KAAK,EAAE,aAAa;IAEjD,4EAA4E;IAC5E,OAAO,CAAC,GAAG;IAML,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-code-executor.service.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,4EAA4E,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAajD;;;GAGG;AACH,qBAAa,yBAA0B,YAAW,cAAc;IAMlD,OAAO,CAAC,QAAQ,CAAC,KAAK;IALlC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAA8B;IAE3D,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAAS;gBAEM,KAAK,EAAE,aAAa;IAEjD,4EAA4E;IAC5E,OAAO,CAAC,GAAG;IAML,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA6HtF,aAAa,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,CAAC,yBAAyB,CAAC;IAgG3C;;;OAGG;IACH,OAAO,CAAC,cAAc;IAmCtB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI/C,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,eAAe;IAiCvB,OAAO,CAAC,eAAe;CAkExB"}
|
|
@@ -47,8 +47,10 @@ export class ClaudeCodeExecutorService {
|
|
|
47
47
|
this.log(`Spawn cwd: ${spawnOpts.cwd ?? '(inherited)'}`);
|
|
48
48
|
const proc = this.spawn('claude', args, spawnOpts);
|
|
49
49
|
this.log(`Subprocess PID: ${proc.pid ?? 'undefined (spawn may have failed)'}`);
|
|
50
|
-
|
|
50
|
+
this.log(`Prompt length: ${prompt.length} chars (piped via stdin)`);
|
|
51
|
+
// Pipe the prompt via stdin to avoid ENAMETOOLONG on Windows.
|
|
51
52
|
if (proc.stdin) {
|
|
53
|
+
proc.stdin.write(prompt);
|
|
52
54
|
proc.stdin.end();
|
|
53
55
|
}
|
|
54
56
|
return new Promise((resolve, reject) => {
|
|
@@ -144,8 +146,9 @@ export class ClaudeCodeExecutorService {
|
|
|
144
146
|
const args = this.buildStreamArgs(prompt, options);
|
|
145
147
|
const spawnOpts = this.buildSpawnOptions(options);
|
|
146
148
|
const proc = this.spawn('claude', args, spawnOpts);
|
|
147
|
-
//
|
|
149
|
+
// Pipe the prompt via stdin to avoid ENAMETOOLONG on Windows.
|
|
148
150
|
if (proc.stdin) {
|
|
151
|
+
proc.stdin.write(prompt);
|
|
149
152
|
proc.stdin.end();
|
|
150
153
|
}
|
|
151
154
|
// Buffer for incomplete lines
|
|
@@ -263,8 +266,10 @@ export class ClaudeCodeExecutorService {
|
|
|
263
266
|
supportsFeature(feature) {
|
|
264
267
|
return SUPPORTED_FEATURES.has(feature);
|
|
265
268
|
}
|
|
266
|
-
buildArgs(
|
|
267
|
-
|
|
269
|
+
buildArgs(_prompt, options) {
|
|
270
|
+
// Prompt is piped via stdin — not passed as a CLI argument — to avoid
|
|
271
|
+
// ENAMETOOLONG on Windows when prompts exceed the ~32 KB arg-length limit.
|
|
272
|
+
const args = ['-p', '--output-format', 'json', '--dangerously-skip-permissions'];
|
|
268
273
|
if (options?.resumeSession)
|
|
269
274
|
args.push('--resume', options.resumeSession);
|
|
270
275
|
if (options?.model)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-cli-executor.service.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACZ,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,4EAA4E,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMjD;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,cAAc;IAO3D,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAP9B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAA6B;IAE1D,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAAS;gBAGJ,KAAK,EAAE,aAAa,EACpB,UAAU,CAAC,EAAE,WAAW,YAAA;IAG3C,4EAA4E;IAC5E,OAAO,CAAC,GAAG;IAMX,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAIzC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"gemini-cli-executor.service.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACZ,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,4EAA4E,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMjD;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,cAAc;IAO3D,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAP9B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAA6B;IAE1D,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAAS;gBAGJ,KAAK,EAAE,aAAa,EACpB,UAAU,CAAC,EAAE,WAAW,YAAA;IAG3C,4EAA4E;IAC5E,OAAO,CAAC,GAAG;IAMX,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAIzC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmGtF,aAAa,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,CAAC,yBAAyB,CAAC;IA2G3C;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAmDxB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAI3C;IAEF;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,SAAS;IAwBjB,OAAO,CAAC,iBAAiB;CA0B1B"}
|
|
@@ -42,8 +42,12 @@ export class GeminiCliExecutorService {
|
|
|
42
42
|
this.log(`Spawn cwd: ${spawnOpts.cwd ?? '(inherited)'}`);
|
|
43
43
|
const proc = this.spawn('gemini', args, spawnOpts);
|
|
44
44
|
this.log(`Subprocess PID: ${proc.pid ?? 'undefined (spawn may have failed)'}`);
|
|
45
|
-
|
|
45
|
+
this.log(`Prompt length: ${prompt.length} chars (piped via stdin)`);
|
|
46
|
+
// Pipe the prompt via stdin to avoid ENAMETOOLONG on Windows.
|
|
47
|
+
if (proc.stdin) {
|
|
48
|
+
proc.stdin.write(prompt);
|
|
46
49
|
proc.stdin.end();
|
|
50
|
+
}
|
|
47
51
|
return new Promise((resolve, reject) => {
|
|
48
52
|
let stdout = '';
|
|
49
53
|
let stderr = '';
|
|
@@ -117,8 +121,11 @@ export class GeminiCliExecutorService {
|
|
|
117
121
|
const args = this.buildArgs(prompt, options, 'stream-json');
|
|
118
122
|
const spawnOpts = this.buildSpawnOptions(options);
|
|
119
123
|
const proc = this.spawn('gemini', args, spawnOpts);
|
|
120
|
-
|
|
124
|
+
// Pipe the prompt via stdin to avoid ENAMETOOLONG on Windows.
|
|
125
|
+
if (proc.stdin) {
|
|
126
|
+
proc.stdin.write(prompt);
|
|
121
127
|
proc.stdin.end();
|
|
128
|
+
}
|
|
122
129
|
let lineBuffer = '';
|
|
123
130
|
let stderr = '';
|
|
124
131
|
let timedOut = false;
|
|
@@ -307,8 +314,10 @@ export class GeminiCliExecutorService {
|
|
|
307
314
|
return undefined;
|
|
308
315
|
return { inputTokens: tokens.prompt, outputTokens: tokens.candidates };
|
|
309
316
|
}
|
|
310
|
-
buildArgs(
|
|
311
|
-
|
|
317
|
+
buildArgs(_prompt, options, outputFormat = 'json') {
|
|
318
|
+
// Prompt is piped via stdin — not passed as a CLI argument — to avoid
|
|
319
|
+
// ENAMETOOLONG on Windows when prompts exceed the ~32 KB arg-length limit.
|
|
320
|
+
const args = ['-p', '--output-format', outputFormat, '-y'];
|
|
312
321
|
if (options?.resumeSession)
|
|
313
322
|
args.push('--resume', options.resumeSession);
|
|
314
323
|
if (options?.model)
|
|
@@ -31,11 +31,6 @@ export declare class PrSyncWatcherService {
|
|
|
31
31
|
isRunning(): boolean;
|
|
32
32
|
start(): void;
|
|
33
33
|
stop(): void;
|
|
34
|
-
/**
|
|
35
|
-
* Immediately refresh a repository identified by GitHub owner/repo.
|
|
36
|
-
* Used by the webhook route to accelerate sync without waiting for the next poll.
|
|
37
|
-
*/
|
|
38
|
-
syncRepositoryByGitHubFullName(fullName: string): Promise<boolean>;
|
|
39
34
|
/** Attempt to acquire the cross-process poll lock. Returns true if acquired. */
|
|
40
35
|
private tryAcquireLock;
|
|
41
36
|
/** Check if a feature should be polled this cycle based on its unchanged cycles count. */
|
package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-sync-watcher.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"pr-sync-watcher.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gFAAgF,CAAC;AACzH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4EAA4E,CAAC;AACtH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wEAAwE,CAAC;AAK5G,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8EAA8E,CAAC;AACzH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAqB3C,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAuB;IAC3D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAA2B;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,SAAS,CAAK;gBAGpB,WAAW,EAAE,kBAAkB,EAC/B,YAAY,EAAE,mBAAmB,EACjC,YAAY,EAAE,aAAa,EAC3B,mBAAmB,EAAE,oBAAoB,EACzC,cAAc,GAAE,MAAiC,EACjD,EAAE,GAAE,QAAQ,CAAC,QAAQ,GAAG,IAAW;IAWrC,SAAS,IAAI,OAAO;IAIpB,KAAK,IAAI,IAAI;IAcb,IAAI,IAAI,IAAI;IASZ,gFAAgF;IAChF,OAAO,CAAC,cAAc;IAiBtB,0FAA0F;IAC1F,OAAO,CAAC,iBAAiB;YAUX,IAAI;IA6ClB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,oBAAoB;YAYd,iBAAiB;YA+CjB,cAAc;IAkM5B,8EAA8E;YAChE,gBAAgB;IAW9B,OAAO,CAAC,gBAAgB;CAoBzB;AAMD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,kBAAkB,EAC/B,YAAY,EAAE,mBAAmB,EACjC,YAAY,EAAE,aAAa,EAC3B,mBAAmB,EAAE,oBAAoB,EACzC,cAAc,CAAC,EAAE,MAAM,EACvB,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,GAC5B,IAAI,CAaN;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,oBAAoB,CAQvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC"}
|
|
@@ -19,19 +19,6 @@ const CI_STATUS_MAP = {
|
|
|
19
19
|
failure: CiStatus.Failure,
|
|
20
20
|
pending: CiStatus.Pending,
|
|
21
21
|
};
|
|
22
|
-
function parseGitHubFullName(remoteUrl) {
|
|
23
|
-
if (!remoteUrl)
|
|
24
|
-
return null;
|
|
25
|
-
const httpsMatch = remoteUrl.match(/^https:\/\/github\.com\/([^/]+)\/([^/]+?)(?:\.git)?$/);
|
|
26
|
-
if (httpsMatch) {
|
|
27
|
-
return `${httpsMatch[1]}/${httpsMatch[2]}`;
|
|
28
|
-
}
|
|
29
|
-
const sshMatch = remoteUrl.match(/^git@github\.com:([^/]+)\/([^/]+?)(?:\.git)?$/);
|
|
30
|
-
if (sshMatch) {
|
|
31
|
-
return `${sshMatch[1]}/${sshMatch[2]}`;
|
|
32
|
-
}
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
22
|
export class PrSyncWatcherService {
|
|
36
23
|
featureRepo;
|
|
37
24
|
agentRunRepo;
|
|
@@ -76,37 +63,6 @@ export class PrSyncWatcherService {
|
|
|
76
63
|
console.log(`${TAG} Stopped`);
|
|
77
64
|
}
|
|
78
65
|
}
|
|
79
|
-
/**
|
|
80
|
-
* Immediately refresh a repository identified by GitHub owner/repo.
|
|
81
|
-
* Used by the webhook route to accelerate sync without waiting for the next poll.
|
|
82
|
-
*/
|
|
83
|
-
async syncRepositoryByGitHubFullName(fullName) {
|
|
84
|
-
try {
|
|
85
|
-
const allFeatures = await this.featureRepo.list({ lifecycle: SdlcLifecycle.Review });
|
|
86
|
-
const features = allFeatures.filter((f) => f.repositoryPath);
|
|
87
|
-
if (features.length === 0)
|
|
88
|
-
return false;
|
|
89
|
-
const byRepo = new Map();
|
|
90
|
-
for (const feature of features) {
|
|
91
|
-
const group = byRepo.get(feature.repositoryPath) ?? [];
|
|
92
|
-
group.push(feature);
|
|
93
|
-
byRepo.set(feature.repositoryPath, group);
|
|
94
|
-
}
|
|
95
|
-
for (const [repoPath, repoFeatures] of byRepo) {
|
|
96
|
-
const remoteUrl = await this.gitPrService.getRemoteUrl(repoPath);
|
|
97
|
-
if (parseGitHubFullName(remoteUrl) !== fullName)
|
|
98
|
-
continue;
|
|
99
|
-
await this.processRepository(repoPath, repoFeatures);
|
|
100
|
-
return true;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
catch (error) {
|
|
104
|
-
const msg = error instanceof Error ? error.message : String(error);
|
|
105
|
-
// eslint-disable-next-line no-console
|
|
106
|
-
console.warn(`${TAG} Webhook refresh failed for ${fullName}: ${msg}`);
|
|
107
|
-
}
|
|
108
|
-
return false;
|
|
109
|
-
}
|
|
110
66
|
/** Attempt to acquire the cross-process poll lock. Returns true if acquired. */
|
|
111
67
|
tryAcquireLock() {
|
|
112
68
|
if (!this.db)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_serve.command.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/cli/commands/_serve.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"_serve.command.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/cli/commands/_serve.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;AAwB1D;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CA0D5C"}
|
|
@@ -29,10 +29,6 @@ import { container } from '../../../../packages/core/src/infrastructure/di/conta
|
|
|
29
29
|
import { setVersionEnvVars } from '../../../../packages/core/src/infrastructure/services/version.service.js';
|
|
30
30
|
import { resolveWebDir } from '../../../../packages/core/src/infrastructure/services/web-server.service.js';
|
|
31
31
|
import { initializeNotificationWatcher, getNotificationWatcher, } from '../../../../packages/core/src/infrastructure/services/notifications/notification-watcher.service.js';
|
|
32
|
-
import { initializePrSyncWatcher, getPrSyncWatcher, } from '../../../../packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.js';
|
|
33
|
-
import { getExistingConnection } from '../../../../packages/core/src/infrastructure/persistence/sqlite/connection.js';
|
|
34
|
-
import { GitHubWebhookRuntimeService, isGitHubWebhookRuntimeEnabled, } from '../../../../packages/core/src/infrastructure/services/webhooks/github-webhook-runtime.service.js';
|
|
35
|
-
import { GitHubWebhookService } from '../../../../packages/core/src/infrastructure/services/webhooks/github-webhook.service.js';
|
|
36
32
|
function parsePort(value) {
|
|
37
33
|
const port = parseInt(value, 10);
|
|
38
34
|
if (isNaN(port) || port < 1024 || port > 65535) {
|
|
@@ -66,23 +62,6 @@ export function createServeCommand() {
|
|
|
66
62
|
const notificationService = container.resolve('INotificationService');
|
|
67
63
|
initializeNotificationWatcher(runRepo, phaseTimingRepo, featureRepo, notificationService);
|
|
68
64
|
getNotificationWatcher().start();
|
|
69
|
-
const gitPrService = container.resolve('IGitPrService');
|
|
70
|
-
const db = getExistingConnection();
|
|
71
|
-
initializePrSyncWatcher(featureRepo, runRepo, gitPrService, notificationService, undefined, db);
|
|
72
|
-
getPrSyncWatcher().start();
|
|
73
|
-
let webhookRuntime = null;
|
|
74
|
-
if (isGitHubWebhookRuntimeEnabled()) {
|
|
75
|
-
try {
|
|
76
|
-
const execFile = container.resolve('ExecFunction');
|
|
77
|
-
const webhookService = new GitHubWebhookService(execFile, gitPrService);
|
|
78
|
-
webhookRuntime = new GitHubWebhookRuntimeService(featureRepo, webhookService, port);
|
|
79
|
-
await webhookRuntime.start();
|
|
80
|
-
}
|
|
81
|
-
catch (error) {
|
|
82
|
-
const err = error instanceof Error ? error : new Error(String(error));
|
|
83
|
-
process.stderr.write(`[_serve] GitHub webhook runtime disabled: ${err.message}\n`);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
65
|
// Graceful shutdown handler — identical pattern to ui.command.ts
|
|
87
66
|
let isShuttingDown = false;
|
|
88
67
|
const shutdown = async () => {
|
|
@@ -92,8 +71,6 @@ export function createServeCommand() {
|
|
|
92
71
|
// Force exit after 5s if graceful shutdown stalls
|
|
93
72
|
const forceExit = setTimeout(() => process.exit(0), 5000);
|
|
94
73
|
forceExit.unref();
|
|
95
|
-
await webhookRuntime?.stop();
|
|
96
|
-
getPrSyncWatcher().stop();
|
|
97
74
|
getNotificationWatcher().stop();
|
|
98
75
|
const deploymentService = container.resolve('IDeploymentService');
|
|
99
76
|
deploymentService.stopAll();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.command.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/cli/commands/ui.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"ui.command.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/cli/commands/ui.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;AAgC1D;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CA0FzC"}
|
|
@@ -23,8 +23,6 @@ import { initializeNotificationWatcher, getNotificationWatcher, } from '../../..
|
|
|
23
23
|
import { initializePrSyncWatcher, getPrSyncWatcher, } from '../../../../packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.js';
|
|
24
24
|
import { getExistingConnection } from '../../../../packages/core/src/infrastructure/persistence/sqlite/connection.js';
|
|
25
25
|
import { BrowserOpenerService } from '../../../../packages/core/src/infrastructure/services/browser-opener.service.js';
|
|
26
|
-
import { GitHubWebhookRuntimeService, isGitHubWebhookRuntimeEnabled, } from '../../../../packages/core/src/infrastructure/services/webhooks/github-webhook-runtime.service.js';
|
|
27
|
-
import { GitHubWebhookService } from '../../../../packages/core/src/infrastructure/services/webhooks/github-webhook.service.js';
|
|
28
26
|
import { colors, fmt, messages } from '../ui/index.js';
|
|
29
27
|
function parsePort(value) {
|
|
30
28
|
const port = parseInt(value, 10);
|
|
@@ -72,19 +70,6 @@ Examples:
|
|
|
72
70
|
const db = getExistingConnection();
|
|
73
71
|
initializePrSyncWatcher(featureRepo, runRepo, gitPrService, notificationService, undefined, db);
|
|
74
72
|
getPrSyncWatcher().start();
|
|
75
|
-
let webhookRuntime = null;
|
|
76
|
-
if (isGitHubWebhookRuntimeEnabled()) {
|
|
77
|
-
try {
|
|
78
|
-
const execFile = container.resolve('ExecFunction');
|
|
79
|
-
const webhookService = new GitHubWebhookService(execFile, gitPrService);
|
|
80
|
-
webhookRuntime = new GitHubWebhookRuntimeService(featureRepo, webhookService, port);
|
|
81
|
-
await webhookRuntime.start();
|
|
82
|
-
}
|
|
83
|
-
catch (error) {
|
|
84
|
-
const err = error instanceof Error ? error : new Error(String(error));
|
|
85
|
-
messages.warning(`GitHub webhook runtime disabled: ${err.message}`);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
73
|
const url = `http://localhost:${port}`;
|
|
89
74
|
messages.success(`Server ready at ${fmt.code(url)}`);
|
|
90
75
|
messages.info('Press Ctrl+C to stop');
|
|
@@ -106,7 +91,6 @@ Examples:
|
|
|
106
91
|
// Force exit after 5s if graceful shutdown stalls
|
|
107
92
|
const forceExit = setTimeout(() => process.exit(0), 5000);
|
|
108
93
|
forceExit.unref();
|
|
109
|
-
await webhookRuntime?.stop();
|
|
110
94
|
getPrSyncWatcher().stop();
|
|
111
95
|
getNotificationWatcher().stop();
|
|
112
96
|
await service.stop();
|
|
@@ -20,8 +20,6 @@ import { initializeSettings } from '../../../packages/core/src/infrastructure/se
|
|
|
20
20
|
import { initializeNotificationWatcher, getNotificationWatcher, } from '../../../packages/core/src/infrastructure/services/notifications/notification-watcher.service.js';
|
|
21
21
|
import { initializePrSyncWatcher, getPrSyncWatcher, } from '../../../packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.js';
|
|
22
22
|
import { getExistingConnection } from '../../../packages/core/src/infrastructure/persistence/sqlite/connection.js';
|
|
23
|
-
import { GitHubWebhookRuntimeService, isGitHubWebhookRuntimeEnabled, } from '../../../packages/core/src/infrastructure/services/webhooks/github-webhook-runtime.service.js';
|
|
24
|
-
import { GitHubWebhookService } from '../../../packages/core/src/infrastructure/services/webhooks/github-webhook.service.js';
|
|
25
23
|
const DEFAULT_PORT = 3000;
|
|
26
24
|
async function isPortAvailable(port) {
|
|
27
25
|
return new Promise((resolve) => {
|
|
@@ -70,19 +68,6 @@ async function main() {
|
|
|
70
68
|
const db = getExistingConnection();
|
|
71
69
|
initializePrSyncWatcher(featureRepo, runRepo, gitPrService, notificationService, undefined, db);
|
|
72
70
|
getPrSyncWatcher().start();
|
|
73
|
-
let webhookRuntime = null;
|
|
74
|
-
if (isGitHubWebhookRuntimeEnabled()) {
|
|
75
|
-
try {
|
|
76
|
-
const execFile = container.resolve('ExecFunction');
|
|
77
|
-
const webhookService = new GitHubWebhookService(execFile, gitPrService);
|
|
78
|
-
webhookRuntime = new GitHubWebhookRuntimeService(featureRepo, webhookService, port);
|
|
79
|
-
await webhookRuntime.start();
|
|
80
|
-
}
|
|
81
|
-
catch (error) {
|
|
82
|
-
console.warn('[dev-server] GitHub webhook runtime disabled:', error);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
globalThis.__shepGithubWebhookRuntime = webhookRuntime;
|
|
86
71
|
}
|
|
87
72
|
catch (error) {
|
|
88
73
|
console.warn('[dev-server] DI initialization failed — features will be empty:', error);
|
|
@@ -122,14 +107,6 @@ async function main() {
|
|
|
122
107
|
console.log('\n[dev-server] Shutting down...');
|
|
123
108
|
const forceExit = setTimeout(() => process.exit(0), 2000);
|
|
124
109
|
try {
|
|
125
|
-
try {
|
|
126
|
-
const webhookRuntime = globalThis
|
|
127
|
-
.__shepGithubWebhookRuntime;
|
|
128
|
-
await webhookRuntime?.stop();
|
|
129
|
-
}
|
|
130
|
-
catch {
|
|
131
|
-
/* runtime not initialized */
|
|
132
|
-
}
|
|
133
110
|
try {
|
|
134
111
|
getNotificationWatcher().stop();
|
|
135
112
|
}
|