@shepai/cli 1.56.0 → 1.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apis/json-schema/NotificationEventConfig.yaml +20 -0
- package/apis/json-schema/NotificationEventType.yaml +4 -0
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts +22 -0
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +4 -0
- package/dist/packages/core/src/domain/generated/output.d.ts +21 -1
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/domain/generated/output.js +4 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +4 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +8 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.js +18 -0
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +3 -1
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +28 -0
- package/dist/packages/core/src/infrastructure/services/notifications/notification.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/notifications/notification.service.js +4 -0
- package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.d.ts +61 -0
- package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.js +286 -0
- package/dist/src/presentation/cli/commands/ui.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/ui.command.js +6 -0
- package/dist/src/presentation/web/components/common/add-repository-node/add-repository-button.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/add-repository-node/add-repository-button.js +4 -2
- package/dist/src/presentation/web/components/common/add-repository-node/add-repository-node.stories.d.ts +2 -0
- package/dist/src/presentation/web/components/common/add-repository-node/add-repository-node.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/add-repository-node/add-repository-node.stories.js +6 -0
- package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +6 -0
- package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +9 -0
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +3 -3
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.stories.d.ts +0 -1
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.stories.js +1 -31
- package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +5 -1
- package/dist/src/presentation/web/dev-server.js +11 -0
- 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/cache/.previewinfo +1 -1
- package/web/.next/cache/.rscinfo +1 -1
- package/web/.next/cache/.tsbuildinfo +1 -1
- package/web/.next/cache/config.json +3 -3
- 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/server/app/_global-error/page.js +1 -1
- package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +17 -1
- package/web/.next/server/app/_not-found/page.js +2 -2
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/dialog/pick-files/route.js +1 -1
- package/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
- package/web/.next/server/app/page/server-reference-manifest.json +41 -41
- package/web/.next/server/app/page.js +2 -3
- package/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/server-reference-manifest.json +17 -1
- package/web/.next/server/app/tools/page.js +2 -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 +17 -1
- package/web/.next/server/app/version/page.js +2 -2
- package/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
- package/web/.next/server/chunks/{[root-of-the-server]__332c8d91._.js → [root-of-the-server]__a6bf88cc._.js} +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__86c7bba5._.js +9 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__86c7bba5._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9add7c3a._.js +12 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9add7c3a._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__dbd220d2._.js → [root-of-the-server]__b79b0516._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__dbd220d2._.js.map → [root-of-the-server]__b79b0516._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__757c7912._.js → [root-of-the-server]__f7f90528._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__757c7912._.js.map → [root-of-the-server]__f7f90528._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fbc89707._.js +1 -1
- package/web/.next/server/chunks/ssr/{_0e2c2b4f._.js → _027596cf._.js} +2 -2
- package/web/.next/server/chunks/ssr/_027596cf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.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 +63 -42
- package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +2 -2
- package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/server-reference-manifest.json +17 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/api/dialog/pick-files/route.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/page/server-reference-manifest.json +41 -41
- package/web/.next/standalone/src/presentation/web/.next/server/app/page.js +2 -3
- package/web/.next/standalone/src/presentation/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +17 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/server-reference-manifest.json +17 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/{[root-of-the-server]__332c8d91._.js → [root-of-the-server]__a6bf88cc._.js} +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +4 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +4 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +4 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__86c7bba5._.js +9 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__9add7c3a._.js +12 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{[root-of-the-server]__dbd220d2._.js → [root-of-the-server]__b79b0516._.js} +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{[root-of-the-server]__757c7912._.js → [root-of-the-server]__f7f90528._.js} +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fbc89707._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_0e2c2b4f._.js → _027596cf._.js} +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +63 -42
- package/web/.next/standalone/src/presentation/web/components/common/add-repository-node/add-repository-button.tsx +24 -15
- package/web/.next/standalone/src/presentation/web/components/common/add-repository-node/add-repository-node.stories.tsx +12 -0
- package/web/.next/standalone/src/presentation/web/components/common/feature-node/derive-feature-state.ts +6 -0
- package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center-inner.tsx +10 -0
- package/web/.next/standalone/src/presentation/web/components/features/features-canvas/features-canvas.stories.tsx +0 -41
- package/web/.next/standalone/src/presentation/web/components/features/features-canvas/features-canvas.tsx +2 -7
- package/web/.next/standalone/src/presentation/web/components/layouts/app-shell/app-shell.tsx +6 -0
- package/web/.next/standalone/src/presentation/web/dev-server.ts +15 -0
- package/web/.next/standalone/src/presentation/web/server.js +1 -1
- package/web/.next/static/chunks/3f5de337d3fc604f.js +1 -0
- package/web/.next/static/chunks/60bbbe7ff679eb4c.css +2 -0
- package/web/.next/static/chunks/{ef237b70209d9853.js → 67459433cc866344.js} +1 -1
- package/web/.next/static/chunks/eb0e60434c992fc1.js +10 -0
- package/web/.next/trace +1 -1
- package/web/.next/trace-build +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2d1a8e37._.js +0 -9
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2d1a8e37._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__48c68a96._.js +0 -12
- package/web/.next/server/chunks/ssr/[root-of-the-server]__48c68a96._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__950afd5e._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__950afd5e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0e2c2b4f._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_a836bb2a.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_a836bb2a.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_f1dd7791.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_f1dd7791.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_ea925032.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_ea925032.js.map +0 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__2d1a8e37._.js +0 -9
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__48c68a96._.js +0 -12
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__950afd5e._.js +0 -3
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_a836bb2a.js +0 -3
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_f1dd7791.js +0 -3
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_ea925032.js +0 -3
- package/web/.next/static/chunks/4651f20be1a3b7d7.css +0 -2
- package/web/.next/static/chunks/62eba5d9a5e28761.js +0 -10
- package/web/.next/static/chunks/ca4bb930b4a3f3a9.js +0 -1
- /package/web/.next/server/chunks/{[root-of-the-server]__332c8d91._.js.map → [root-of-the-server]__a6bf88cc._.js.map} +0 -0
- /package/web/.next/static/{TNUev4cyuW_BghWxcCTOD → e7Q45G0MI6cgci9Gn2J-i}/_buildManifest.js +0 -0
- /package/web/.next/static/{TNUev4cyuW_BghWxcCTOD → e7Q45G0MI6cgci9Gn2J-i}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{TNUev4cyuW_BghWxcCTOD → e7Q45G0MI6cgci9Gn2J-i}/_ssgManifest.js +0 -0
package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json
CHANGED
|
@@ -1,9 +1,45 @@
|
|
|
1
1
|
{
|
|
2
2
|
"node": {
|
|
3
|
-
"
|
|
3
|
+
"00343ca416b42620b17391661e0deb38624b0afcd8": {
|
|
4
|
+
"workers": {
|
|
5
|
+
"app/_not-found/page": {
|
|
6
|
+
"moduleId": 66973,
|
|
7
|
+
"async": false,
|
|
8
|
+
"exportedName": "pickFolder",
|
|
9
|
+
"filename": "src/presentation/web/app/actions/pick-folder.ts"
|
|
10
|
+
},
|
|
11
|
+
"app/page": {
|
|
12
|
+
"moduleId": 16555,
|
|
13
|
+
"async": false,
|
|
14
|
+
"exportedName": "pickFolder",
|
|
15
|
+
"filename": "src/presentation/web/app/actions/pick-folder.ts"
|
|
16
|
+
},
|
|
17
|
+
"app/tools/page": {
|
|
18
|
+
"moduleId": 19036,
|
|
19
|
+
"async": false,
|
|
20
|
+
"exportedName": "pickFolder",
|
|
21
|
+
"filename": "src/presentation/web/app/actions/pick-folder.ts"
|
|
22
|
+
},
|
|
23
|
+
"app/version/page": {
|
|
24
|
+
"moduleId": 86139,
|
|
25
|
+
"async": false,
|
|
26
|
+
"exportedName": "pickFolder",
|
|
27
|
+
"filename": "src/presentation/web/app/actions/pick-folder.ts"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"layer": {
|
|
31
|
+
"app/_not-found/page": "action-browser",
|
|
32
|
+
"app/page": "action-browser",
|
|
33
|
+
"app/tools/page": "action-browser",
|
|
34
|
+
"app/version/page": "action-browser"
|
|
35
|
+
},
|
|
36
|
+
"filename": "src/presentation/web/app/actions/pick-folder.ts",
|
|
37
|
+
"exportedName": "pickFolder"
|
|
38
|
+
},
|
|
39
|
+
"60a1f89db024aaff4db76163fb4bea56de4ad2f948": {
|
|
4
40
|
"workers": {
|
|
5
41
|
"app/page": {
|
|
6
|
-
"moduleId":
|
|
42
|
+
"moduleId": 16555,
|
|
7
43
|
"async": false,
|
|
8
44
|
"exportedName": "approveFeature",
|
|
9
45
|
"filename": "src/presentation/web/app/actions/approve-feature.ts"
|
|
@@ -15,10 +51,10 @@
|
|
|
15
51
|
"filename": "src/presentation/web/app/actions/approve-feature.ts",
|
|
16
52
|
"exportedName": "approveFeature"
|
|
17
53
|
},
|
|
18
|
-
"
|
|
54
|
+
"60f270d7f54e6b3486aa9939630b72350bdd1622c8": {
|
|
19
55
|
"workers": {
|
|
20
56
|
"app/page": {
|
|
21
|
-
"moduleId":
|
|
57
|
+
"moduleId": 16555,
|
|
22
58
|
"async": false,
|
|
23
59
|
"exportedName": "rejectFeature",
|
|
24
60
|
"filename": "src/presentation/web/app/actions/reject-feature.ts"
|
|
@@ -30,10 +66,10 @@
|
|
|
30
66
|
"filename": "src/presentation/web/app/actions/reject-feature.ts",
|
|
31
67
|
"exportedName": "rejectFeature"
|
|
32
68
|
},
|
|
33
|
-
"
|
|
69
|
+
"405a7e3511bfb12ad6d0e1f7df78cc2a07dd8d678f": {
|
|
34
70
|
"workers": {
|
|
35
71
|
"app/page": {
|
|
36
|
-
"moduleId":
|
|
72
|
+
"moduleId": 16555,
|
|
37
73
|
"async": false,
|
|
38
74
|
"exportedName": "getFeatureArtifact",
|
|
39
75
|
"filename": "src/presentation/web/app/actions/get-feature-artifact.ts"
|
|
@@ -45,10 +81,10 @@
|
|
|
45
81
|
"filename": "src/presentation/web/app/actions/get-feature-artifact.ts",
|
|
46
82
|
"exportedName": "getFeatureArtifact"
|
|
47
83
|
},
|
|
48
|
-
"
|
|
84
|
+
"408723fcd83dcea454c6f0f025d432f281794cb054": {
|
|
49
85
|
"workers": {
|
|
50
86
|
"app/page": {
|
|
51
|
-
"moduleId":
|
|
87
|
+
"moduleId": 16555,
|
|
52
88
|
"async": false,
|
|
53
89
|
"exportedName": "getResearchArtifact",
|
|
54
90
|
"filename": "src/presentation/web/app/actions/get-research-artifact.ts"
|
|
@@ -60,10 +96,10 @@
|
|
|
60
96
|
"filename": "src/presentation/web/app/actions/get-research-artifact.ts",
|
|
61
97
|
"exportedName": "getResearchArtifact"
|
|
62
98
|
},
|
|
63
|
-
"
|
|
99
|
+
"0015bdeba5110e7ebfd964fa721abfbc48cbd50b95": {
|
|
64
100
|
"workers": {
|
|
65
101
|
"app/page": {
|
|
66
|
-
"moduleId":
|
|
102
|
+
"moduleId": 16555,
|
|
67
103
|
"async": false,
|
|
68
104
|
"exportedName": "getWorkflowDefaults",
|
|
69
105
|
"filename": "src/presentation/web/app/actions/get-workflow-defaults.ts"
|
|
@@ -75,10 +111,10 @@
|
|
|
75
111
|
"filename": "src/presentation/web/app/actions/get-workflow-defaults.ts",
|
|
76
112
|
"exportedName": "getWorkflowDefaults"
|
|
77
113
|
},
|
|
78
|
-
"
|
|
114
|
+
"404df429ae559551c0316de4bc5c6fc123fbe89789": {
|
|
79
115
|
"workers": {
|
|
80
116
|
"app/page": {
|
|
81
|
-
"moduleId":
|
|
117
|
+
"moduleId": 16555,
|
|
82
118
|
"async": false,
|
|
83
119
|
"exportedName": "getMergeReviewData",
|
|
84
120
|
"filename": "src/presentation/web/app/actions/get-merge-review-data.ts"
|
|
@@ -90,10 +126,10 @@
|
|
|
90
126
|
"filename": "src/presentation/web/app/actions/get-merge-review-data.ts",
|
|
91
127
|
"exportedName": "getMergeReviewData"
|
|
92
128
|
},
|
|
93
|
-
"
|
|
129
|
+
"406dc69a1ddf3a973603af051e75e8e179c64e49f6": {
|
|
94
130
|
"workers": {
|
|
95
131
|
"app/page": {
|
|
96
|
-
"moduleId":
|
|
132
|
+
"moduleId": 16555,
|
|
97
133
|
"async": false,
|
|
98
134
|
"exportedName": "openIde",
|
|
99
135
|
"filename": "src/presentation/web/app/actions/open-ide.ts"
|
|
@@ -105,10 +141,10 @@
|
|
|
105
141
|
"filename": "src/presentation/web/app/actions/open-ide.ts",
|
|
106
142
|
"exportedName": "openIde"
|
|
107
143
|
},
|
|
108
|
-
"
|
|
144
|
+
"40739ece751c3a8c4385129522c9af1b9562e6a10d": {
|
|
109
145
|
"workers": {
|
|
110
146
|
"app/page": {
|
|
111
|
-
"moduleId":
|
|
147
|
+
"moduleId": 16555,
|
|
112
148
|
"async": false,
|
|
113
149
|
"exportedName": "openShell",
|
|
114
150
|
"filename": "src/presentation/web/app/actions/open-shell.ts"
|
|
@@ -120,10 +156,10 @@
|
|
|
120
156
|
"filename": "src/presentation/web/app/actions/open-shell.ts",
|
|
121
157
|
"exportedName": "openShell"
|
|
122
158
|
},
|
|
123
|
-
"
|
|
159
|
+
"40c491a6c3a66efc0f2eb3ba53d58501688ce71de4": {
|
|
124
160
|
"workers": {
|
|
125
161
|
"app/page": {
|
|
126
|
-
"moduleId":
|
|
162
|
+
"moduleId": 16555,
|
|
127
163
|
"async": false,
|
|
128
164
|
"exportedName": "openFolder",
|
|
129
165
|
"filename": "src/presentation/web/app/actions/open-folder.ts"
|
|
@@ -135,25 +171,10 @@
|
|
|
135
171
|
"filename": "src/presentation/web/app/actions/open-folder.ts",
|
|
136
172
|
"exportedName": "openFolder"
|
|
137
173
|
},
|
|
138
|
-
"
|
|
139
|
-
"workers": {
|
|
140
|
-
"app/page": {
|
|
141
|
-
"moduleId": 4510,
|
|
142
|
-
"async": false,
|
|
143
|
-
"exportedName": "pickFolder",
|
|
144
|
-
"filename": "src/presentation/web/app/actions/pick-folder.ts"
|
|
145
|
-
}
|
|
146
|
-
},
|
|
147
|
-
"layer": {
|
|
148
|
-
"app/page": "action-browser"
|
|
149
|
-
},
|
|
150
|
-
"filename": "src/presentation/web/app/actions/pick-folder.ts",
|
|
151
|
-
"exportedName": "pickFolder"
|
|
152
|
-
},
|
|
153
|
-
"40e71b9d1d46a22da64eff55ebc2b7c02aa7851117": {
|
|
174
|
+
"40c773c67f565ba00c0d137d4882705d7141e5377c": {
|
|
154
175
|
"workers": {
|
|
155
176
|
"app/page": {
|
|
156
|
-
"moduleId":
|
|
177
|
+
"moduleId": 16555,
|
|
157
178
|
"async": false,
|
|
158
179
|
"exportedName": "createFeature",
|
|
159
180
|
"filename": "src/presentation/web/app/actions/create-feature.ts"
|
|
@@ -165,10 +186,10 @@
|
|
|
165
186
|
"filename": "src/presentation/web/app/actions/create-feature.ts",
|
|
166
187
|
"exportedName": "createFeature"
|
|
167
188
|
},
|
|
168
|
-
"
|
|
189
|
+
"40a768ab7d37194222a118ad5a3c6e6bd19351c51d": {
|
|
169
190
|
"workers": {
|
|
170
191
|
"app/page": {
|
|
171
|
-
"moduleId":
|
|
192
|
+
"moduleId": 16555,
|
|
172
193
|
"async": false,
|
|
173
194
|
"exportedName": "deleteFeature",
|
|
174
195
|
"filename": "src/presentation/web/app/actions/delete-feature.ts"
|
|
@@ -180,10 +201,10 @@
|
|
|
180
201
|
"filename": "src/presentation/web/app/actions/delete-feature.ts",
|
|
181
202
|
"exportedName": "deleteFeature"
|
|
182
203
|
},
|
|
183
|
-
"
|
|
204
|
+
"406d8ada637b9f71094821d4346f34d2f6cb99e549": {
|
|
184
205
|
"workers": {
|
|
185
206
|
"app/page": {
|
|
186
|
-
"moduleId":
|
|
207
|
+
"moduleId": 16555,
|
|
187
208
|
"async": false,
|
|
188
209
|
"exportedName": "addRepository",
|
|
189
210
|
"filename": "src/presentation/web/app/actions/add-repository.ts"
|
|
@@ -195,10 +216,10 @@
|
|
|
195
216
|
"filename": "src/presentation/web/app/actions/add-repository.ts",
|
|
196
217
|
"exportedName": "addRepository"
|
|
197
218
|
},
|
|
198
|
-
"
|
|
219
|
+
"40ec664b7d0c35e0c7214b95f2482016f19e6ba64a": {
|
|
199
220
|
"workers": {
|
|
200
221
|
"app/page": {
|
|
201
|
-
"moduleId":
|
|
222
|
+
"moduleId": 16555,
|
|
202
223
|
"async": false,
|
|
203
224
|
"exportedName": "deleteRepository",
|
|
204
225
|
"filename": "src/presentation/web/app/actions/delete-repository.ts"
|
|
@@ -212,5 +233,5 @@
|
|
|
212
233
|
}
|
|
213
234
|
},
|
|
214
235
|
"edge": {},
|
|
215
|
-
"encryptionKey": "
|
|
236
|
+
"encryptionKey": "yvx55vY3l69x6O4YIc/sn9ayoAvfB52b3TOfIFcbaZY="
|
|
216
237
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { useState } from 'react';
|
|
4
|
-
import {
|
|
4
|
+
import { FolderPlus, Loader2 } from 'lucide-react';
|
|
5
|
+
import { Button } from '@/components/ui/button';
|
|
6
|
+
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';
|
|
5
7
|
import { pickFolder } from './pick-folder';
|
|
6
8
|
|
|
7
9
|
interface AddRepositoryButtonProps {
|
|
@@ -25,19 +27,26 @@ export function AddRepositoryButton({ onSelect }: AddRepositoryButtonProps) {
|
|
|
25
27
|
}
|
|
26
28
|
|
|
27
29
|
return (
|
|
28
|
-
<
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
30
|
+
<TooltipProvider>
|
|
31
|
+
<Tooltip>
|
|
32
|
+
<TooltipTrigger asChild>
|
|
33
|
+
<Button
|
|
34
|
+
variant="ghost"
|
|
35
|
+
size="icon"
|
|
36
|
+
aria-label="Add Repository"
|
|
37
|
+
data-testid="add-repository-button"
|
|
38
|
+
onClick={handleClick}
|
|
39
|
+
disabled={loading}
|
|
40
|
+
>
|
|
41
|
+
{loading ? (
|
|
42
|
+
<Loader2 className="h-5 w-5 animate-spin" />
|
|
43
|
+
) : (
|
|
44
|
+
<FolderPlus className="h-5 w-5" />
|
|
45
|
+
)}
|
|
46
|
+
</Button>
|
|
47
|
+
</TooltipTrigger>
|
|
48
|
+
<TooltipContent>Add Repository</TooltipContent>
|
|
49
|
+
</Tooltip>
|
|
50
|
+
</TooltipProvider>
|
|
42
51
|
);
|
|
43
52
|
}
|
|
@@ -2,6 +2,7 @@ import { useMemo } from 'react';
|
|
|
2
2
|
import type { Meta, StoryObj } from '@storybook/react';
|
|
3
3
|
import { ReactFlowProvider, ReactFlow } from '@xyflow/react';
|
|
4
4
|
import { AddRepositoryNode } from './add-repository-node';
|
|
5
|
+
import { AddRepositoryButton } from './add-repository-button';
|
|
5
6
|
import type { AddRepositoryNodeData, AddRepositoryNodeType } from './add-repository-node-config';
|
|
6
7
|
|
|
7
8
|
const nodeTypes = { addRepositoryNode: AddRepositoryNode };
|
|
@@ -56,3 +57,14 @@ export const WithCallback: Story = {
|
|
|
56
57
|
},
|
|
57
58
|
render: (args) => <AddRepositoryNodeCanvas data={args} />,
|
|
58
59
|
};
|
|
60
|
+
|
|
61
|
+
// --- Add Repository Button (top bar icon) stories ---
|
|
62
|
+
|
|
63
|
+
/** Add Repository button as it appears in the top bar alongside other toggles */
|
|
64
|
+
export const TopBarButton: StoryObj = {
|
|
65
|
+
render: () => (
|
|
66
|
+
<div className="flex gap-1">
|
|
67
|
+
<AddRepositoryButton onSelect={() => undefined} />
|
|
68
|
+
</div>
|
|
69
|
+
),
|
|
70
|
+
};
|
|
@@ -102,7 +102,13 @@ export function mapEventTypeToState(eventType: NotificationEventType): FeatureNo
|
|
|
102
102
|
case NotificationEventType.AgentCompleted:
|
|
103
103
|
return 'done';
|
|
104
104
|
case NotificationEventType.AgentFailed:
|
|
105
|
+
case NotificationEventType.PrChecksFailed:
|
|
105
106
|
return 'error';
|
|
107
|
+
case NotificationEventType.PrMerged:
|
|
108
|
+
case NotificationEventType.PrChecksPassed:
|
|
109
|
+
return 'done';
|
|
110
|
+
case NotificationEventType.PrClosed:
|
|
111
|
+
return 'action-required';
|
|
106
112
|
}
|
|
107
113
|
}
|
|
108
114
|
|
|
@@ -329,6 +329,16 @@ export function ControlCenterInner({ initialNodes, initialEdges }: ControlCenter
|
|
|
329
329
|
return () => window.removeEventListener('shep:open-create-drawer', handler);
|
|
330
330
|
}, [handleAddFeature]);
|
|
331
331
|
|
|
332
|
+
// Listen for global "add repository" events from the top bar button
|
|
333
|
+
useEffect(() => {
|
|
334
|
+
const handler = (e: Event) => {
|
|
335
|
+
const path = (e as CustomEvent<{ path: string }>).detail.path;
|
|
336
|
+
handleAddRepository(path);
|
|
337
|
+
};
|
|
338
|
+
window.addEventListener('shep:add-repository', handler);
|
|
339
|
+
return () => window.removeEventListener('shep:add-repository', handler);
|
|
340
|
+
}, [handleAddRepository]);
|
|
341
|
+
|
|
332
342
|
// Listen for notification "Review" clicks to open the relevant drawer
|
|
333
343
|
useEffect(() => {
|
|
334
344
|
const handler = (e: Event) => {
|
|
@@ -608,44 +608,3 @@ export const InteractiveWithRepository: Story = {
|
|
|
608
608
|
onRepositoryAdd: () => undefined,
|
|
609
609
|
},
|
|
610
610
|
};
|
|
611
|
-
|
|
612
|
-
// Story to visually verify the Add Repository button does not overlap the ThemeToggle.
|
|
613
|
-
// The simulated ThemeToggle (top-3 right-3, 40×40 px) is rendered as an overlay so
|
|
614
|
-
// reviewers can confirm the mr-16 (64 px) gap keeps the Panel clear of the toggle zone.
|
|
615
|
-
export const AddRepositoryButtonClearanceCheck: Story = {
|
|
616
|
-
decorators: [
|
|
617
|
-
(Story) => (
|
|
618
|
-
<div style={{ height: '100vh', position: 'relative' }}>
|
|
619
|
-
<Story />
|
|
620
|
-
{/* Simulated ThemeToggle at top-3 right-3 (same position as AppShell) */}
|
|
621
|
-
<div
|
|
622
|
-
style={{
|
|
623
|
-
position: 'absolute',
|
|
624
|
-
top: 12,
|
|
625
|
-
right: 12,
|
|
626
|
-
width: 40,
|
|
627
|
-
height: 40,
|
|
628
|
-
background: 'rgba(255, 0, 0, 0.35)',
|
|
629
|
-
border: '2px dashed red',
|
|
630
|
-
borderRadius: 6,
|
|
631
|
-
display: 'flex',
|
|
632
|
-
alignItems: 'center',
|
|
633
|
-
justifyContent: 'center',
|
|
634
|
-
fontSize: 10,
|
|
635
|
-
pointerEvents: 'none',
|
|
636
|
-
zIndex: 50,
|
|
637
|
-
}}
|
|
638
|
-
>
|
|
639
|
-
Theme
|
|
640
|
-
</div>
|
|
641
|
-
</div>
|
|
642
|
-
),
|
|
643
|
-
],
|
|
644
|
-
args: {
|
|
645
|
-
nodes: repoFeatureNodes,
|
|
646
|
-
edges: repoFeatureEdges,
|
|
647
|
-
onNodeAction: () => undefined,
|
|
648
|
-
onNodeSettings: () => undefined,
|
|
649
|
-
onRepositorySelect: () => undefined,
|
|
650
|
-
},
|
|
651
|
-
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { useCallback, useMemo } from 'react';
|
|
4
|
-
import { ReactFlow, Background, Controls,
|
|
4
|
+
import { ReactFlow, Background, Controls, ReactFlowProvider } from '@xyflow/react';
|
|
5
5
|
import type { Connection, Edge, NodeChange } from '@xyflow/react';
|
|
6
6
|
import { Plus } from 'lucide-react';
|
|
7
7
|
import { Button } from '@/components/ui/button';
|
|
@@ -10,7 +10,7 @@ import { FeatureNode } from '@/components/common/feature-node';
|
|
|
10
10
|
import type { FeatureNodeType, FeatureNodeData } from '@/components/common/feature-node';
|
|
11
11
|
import { RepositoryNode } from '@/components/common/repository-node';
|
|
12
12
|
import type { RepositoryNodeType } from '@/components/common/repository-node';
|
|
13
|
-
import {
|
|
13
|
+
import { AddRepositoryNode } from '@/components/common/add-repository-node';
|
|
14
14
|
import type { AddRepositoryNodeType } from '@/components/common/add-repository-node';
|
|
15
15
|
import { DependencyEdge } from './dependency-edge';
|
|
16
16
|
|
|
@@ -158,11 +158,6 @@ export function FeaturesCanvas({
|
|
|
158
158
|
>
|
|
159
159
|
<Background />
|
|
160
160
|
<Controls />
|
|
161
|
-
{onRepositorySelect ? (
|
|
162
|
-
<Panel position="top-right" className="mr-16">
|
|
163
|
-
<AddRepositoryButton onSelect={onRepositorySelect} />
|
|
164
|
-
</Panel>
|
|
165
|
-
) : null}
|
|
166
161
|
{toolbar}
|
|
167
162
|
</ReactFlow>
|
|
168
163
|
</ReactFlowProvider>
|
package/web/.next/standalone/src/presentation/web/components/layouts/app-shell/app-shell.tsx
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { useCallback, type ReactNode } from 'react';
|
|
4
4
|
import { SidebarProvider, SidebarInset } from '@/components/ui/sidebar';
|
|
5
5
|
import { AppSidebar } from '@/components/layouts/app-sidebar';
|
|
6
|
+
import { AddRepositoryButton } from '@/components/common/add-repository-node';
|
|
6
7
|
import { ThemeToggle } from '@/components/common/theme-toggle';
|
|
7
8
|
import { SoundToggle } from '@/components/common/sound-toggle';
|
|
8
9
|
import { AgentEventsProvider } from '@/hooks/agent-events-provider';
|
|
@@ -21,12 +22,17 @@ function AppShellInner({ children }: AppShellProps) {
|
|
|
21
22
|
window.dispatchEvent(new CustomEvent('shep:open-create-drawer'));
|
|
22
23
|
}, []);
|
|
23
24
|
|
|
25
|
+
const handleRepositorySelect = useCallback((path: string) => {
|
|
26
|
+
window.dispatchEvent(new CustomEvent('shep:add-repository', { detail: { path } }));
|
|
27
|
+
}, []);
|
|
28
|
+
|
|
24
29
|
return (
|
|
25
30
|
<SidebarProvider>
|
|
26
31
|
<AppSidebar features={[]} onNewFeature={handleNewFeature} />
|
|
27
32
|
<SidebarInset>
|
|
28
33
|
<div className="relative h-full">
|
|
29
34
|
<div className="absolute top-3 right-3 z-50 flex gap-1">
|
|
35
|
+
<AddRepositoryButton onSelect={handleRepositorySelect} />
|
|
30
36
|
<SoundToggle />
|
|
31
37
|
<ThemeToggle />
|
|
32
38
|
</div>
|
|
@@ -28,6 +28,11 @@ import {
|
|
|
28
28
|
initializeNotificationWatcher,
|
|
29
29
|
getNotificationWatcher,
|
|
30
30
|
} from '@/infrastructure/services/notifications/notification-watcher.service.js';
|
|
31
|
+
import type { IGitPrService } from '@/application/ports/output/services/git-pr-service.interface.js';
|
|
32
|
+
import {
|
|
33
|
+
initializePrSyncWatcher,
|
|
34
|
+
getPrSyncWatcher,
|
|
35
|
+
} from '@/infrastructure/services/pr-sync/pr-sync-watcher.service.js';
|
|
31
36
|
|
|
32
37
|
const DEFAULT_PORT = 3000;
|
|
33
38
|
|
|
@@ -78,6 +83,11 @@ async function main() {
|
|
|
78
83
|
const notificationService = container.resolve<INotificationService>('INotificationService');
|
|
79
84
|
initializeNotificationWatcher(runRepo, phaseTimingRepo, featureRepo, notificationService);
|
|
80
85
|
getNotificationWatcher().start();
|
|
86
|
+
|
|
87
|
+
// Start PR sync watcher to detect PR/CI status transitions on GitHub
|
|
88
|
+
const gitPrService = container.resolve<IGitPrService>('IGitPrService');
|
|
89
|
+
initializePrSyncWatcher(featureRepo, runRepo, gitPrService, notificationService);
|
|
90
|
+
getPrSyncWatcher().start();
|
|
81
91
|
} catch (error) {
|
|
82
92
|
console.warn('[dev-server] DI initialization failed — features will be empty:', error);
|
|
83
93
|
}
|
|
@@ -125,6 +135,11 @@ async function main() {
|
|
|
125
135
|
} catch {
|
|
126
136
|
/* not initialized */
|
|
127
137
|
}
|
|
138
|
+
try {
|
|
139
|
+
getPrSyncWatcher().stop();
|
|
140
|
+
} catch {
|
|
141
|
+
/* not initialized */
|
|
142
|
+
}
|
|
128
143
|
server.closeAllConnections();
|
|
129
144
|
await Promise.all([
|
|
130
145
|
new Promise<void>((resolve) => server.close(() => resolve())),
|
|
@@ -15,7 +15,7 @@ const currentPort = parseInt(process.env.PORT, 10) || 3000
|
|
|
15
15
|
const hostname = process.env.HOSTNAME || '0.0.0.0'
|
|
16
16
|
|
|
17
17
|
let keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)
|
|
18
|
-
const nextConfig = {"env":{"NEXT_PUBLIC_SHEP_VERSION":"1.
|
|
18
|
+
const nextConfig = {"env":{"NEXT_PUBLIC_SHEP_VERSION":"1.57.0","NEXT_PUBLIC_SHEP_PACKAGE_NAME":"@shepai/cli","NEXT_PUBLIC_SHEP_DESCRIPTION":"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy"},"webpack":null,"typescript":{"ignoreBuildErrors":false},"typedRoutes":true,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/home/runner/work/cli/cli","cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"dynamicOnHover":false,"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":3,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptSkipMetadata":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"viewTransition":false,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":false,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":false,"serverComponentsHmrCache":true,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":false,"lockDistDir":true,"isolatedDevBuild":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":false,"turbopackInferModuleSideEffects":false,"optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.ts","turbopack":{"root":"/home/runner/work/cli/cli"},"serverExternalPackages":["tsyringe","reflect-metadata","better-sqlite3","node:os","node:child_process","node:fs"],"distDirRoot":".next"}
|
|
19
19
|
|
|
20
20
|
process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)
|
|
21
21
|
|