@shepai/cli 1.25.0 → 1.26.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/dist/packages/core/src/infrastructure/services/ide-launchers/antigravity.launcher.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/ide-launchers/compute-worktree-path.d.ts +17 -0
- package/dist/packages/core/src/infrastructure/services/ide-launchers/compute-worktree-path.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/ide-launchers/compute-worktree-path.js +24 -0
- package/dist/packages/core/src/infrastructure/services/ide-launchers/cursor.launcher.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/ide-launchers/ide-launcher.interface.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/ide-launchers/ide-launcher.registry.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/ide-launchers/launch-ide.d.ts +30 -0
- package/dist/packages/core/src/infrastructure/services/ide-launchers/launch-ide.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/ide-launchers/launch-ide.js +41 -0
- package/dist/packages/core/src/infrastructure/services/ide-launchers/vscode.launcher.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/ide-launchers/windsurf.launcher.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/ide-launchers/zed.launcher.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/settings.service.d.ts +3 -1
- package/dist/packages/core/src/infrastructure/services/settings.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/settings.service.js +27 -12
- package/dist/src/presentation/cli/commands/agent/show.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/agent/show.command.js +1 -8
- package/dist/src/presentation/cli/commands/feat/show.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/show.command.js +1 -8
- package/dist/src/presentation/cli/commands/ide-open.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/ide-open.command.js +11 -21
- package/dist/src/presentation/web/app/api/ide/open/route.d.ts +9 -0
- package/dist/src/presentation/web/app/api/ide/open/route.d.ts.map +1 -0
- package/dist/src/presentation/web/app/api/ide/open/route.js +29 -0
- package/dist/src/presentation/web/app/api/shell/open/route.d.ts +9 -0
- package/dist/src/presentation/web/app/api/shell/open/route.d.ts.map +1 -0
- package/dist/src/presentation/web/app/api/shell/open/route.js +51 -0
- package/dist/src/presentation/web/app/api/validate-toolbar-input.d.ts +17 -0
- package/dist/src/presentation/web/app/api/validate-toolbar-input.d.ts.map +1 -0
- package/dist/src/presentation/web/app/api/validate-toolbar-input.js +25 -0
- package/dist/src/presentation/web/app/page.d.ts.map +1 -1
- package/dist/src/presentation/web/app/page.js +2 -0
- package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.js +11 -2
- package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.d.ts +8 -0
- package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.js +31 -0
- package/dist/src/presentation/web/components/common/feature-drawer/use-feature-actions.d.ts +14 -0
- package/dist/src/presentation/web/components/common/feature-drawer/use-feature-actions.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-drawer/use-feature-actions.js +58 -0
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +4 -0
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +18 -0
- package/dist/src/presentation/web/components/common/index.d.ts +1 -0
- package/dist/src/presentation/web/components/common/index.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/index.js +1 -0
- package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center.stories.js +16 -0
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +2 -0
- 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 +44 -0
- 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 +2 -0
- 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/routes-manifest.json +12 -0
- 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.js +1 -1
- 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/_not-found.html +2 -2
- package/web/.next/server/app/_not-found.rsc +2 -2
- package/web/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- 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/api/dialog/pick-folder/route.js +1 -1
- package/web/.next/server/app/api/dialog/pick-folder/route.js.nft.json +1 -1
- package/web/.next/server/app/api/features/create/route.js +1 -1
- package/web/.next/server/app/api/features/create/route.js.nft.json +1 -1
- package/web/.next/server/app/api/ide/open/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/api/ide/open/route/build-manifest.json +11 -0
- package/web/.next/server/app/api/ide/open/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/api/ide/open/route.js +6 -0
- package/web/.next/server/app/api/ide/open/route.js.map +5 -0
- package/web/.next/server/app/api/ide/open/route.js.nft.json +1 -0
- package/web/.next/server/app/api/ide/open/route_client-reference-manifest.js +2 -0
- package/web/.next/server/app/api/shell/open/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/api/shell/open/route/build-manifest.json +11 -0
- package/web/.next/server/app/api/shell/open/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/api/shell/open/route.js +6 -0
- package/web/.next/server/app/api/shell/open/route.js.map +5 -0
- package/web/.next/server/app/api/shell/open/route.js.nft.json +1 -0
- package/web/.next/server/app/api/shell/open/route_client-reference-manifest.js +2 -0
- package/web/.next/server/app/page.js +1 -1
- 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/version/page.js +1 -1
- package/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version.html +2 -2
- package/web/.next/server/app/version.rsc +2 -2
- package/web/.next/server/app/version.segments/_full.segment.rsc +2 -2
- package/web/.next/server/app/version.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/version.segments/_index.segment.rsc +2 -2
- package/web/.next/server/app/version.segments/_tree.segment.rsc +2 -2
- package/web/.next/server/app/version.segments/version/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/version.segments/version.segment.rsc +1 -1
- package/web/.next/server/app-paths-manifest.json +2 -0
- package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_shell_open_route_actions_814dc5b6.js +3 -0
- package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_shell_open_route_actions_814dc5b6.js.map +1 -0
- package/web/.next/server/chunks/{[root-of-the-server]__ec87d735._.js → [root-of-the-server]__1913013c._.js} +2 -2
- package/web/.next/server/chunks/[root-of-the-server]__56ac1509._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__56ac1509._.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__602cce1b._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__602cce1b._.js.map +1 -0
- package/web/.next/server/chunks/{[root-of-the-server]__a6bf88cc._.js → [root-of-the-server]__bb4fc5b5._.js} +2 -2
- package/web/.next/server/chunks/{[root-of-the-server]__4e987cf3._.js → [root-of-the-server]__eaa478b7._.js} +2 -2
- package/web/.next/server/chunks/b1a17_presentation_web__next-internal_server_app_api_ide_open_route_actions_9fe6e1cd.js +3 -0
- package/web/.next/server/chunks/b1a17_presentation_web__next-internal_server_app_api_ide_open_route_actions_9fe6e1cd.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__97377864._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f12b60be._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f285e474._.js +3 -0
- package/web/.next/server/chunks/ssr/_09afa42a._.js +1 -1
- package/web/.next/server/chunks/ssr/_09afa42a._.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/404.html +2 -2
- 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 +1 -1
- package/web/.next/static/chunks/86ff2b6444e06e88.css +2 -0
- package/web/.next/static/chunks/{1c236dcc303f3033.js → c2854b6c6d0ca1f3.js} +2 -2
- package/web/.next/trace +1 -1
- package/web/.next/trace-build +1 -1
- package/web/.next/types/link.d.ts +2 -0
- package/web/.next/types/routes.d.ts +3 -1
- package/web/.next/types/validator.ts +18 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__757c7912._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dbd220d2._.js +0 -3
- package/web/.next/static/chunks/74748b4d725c5c74.css +0 -2
- /package/web/.next/server/chunks/{[root-of-the-server]__ec87d735._.js.map → [root-of-the-server]__1913013c._.js.map} +0 -0
- /package/web/.next/server/chunks/{[root-of-the-server]__a6bf88cc._.js.map → [root-of-the-server]__bb4fc5b5._.js.map} +0 -0
- /package/web/.next/server/chunks/{[root-of-the-server]__4e987cf3._.js.map → [root-of-the-server]__eaa478b7._.js.map} +0 -0
- /package/web/.next/server/chunks/ssr/{[root-of-the-server]__757c7912._.js.map → [root-of-the-server]__97377864._.js.map} +0 -0
- /package/web/.next/server/chunks/ssr/{[root-of-the-server]__dbd220d2._.js.map → [root-of-the-server]__f285e474._.js.map} +0 -0
- /package/web/.next/static/{-dFLqLT3RMg1ueqbAhsJk → _6j6GS-S6zPiASj5tsxJ8}/_buildManifest.js +0 -0
- /package/web/.next/static/{-dFLqLT3RMg1ueqbAhsJk → _6j6GS-S6zPiASj5tsxJ8}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{-dFLqLT3RMg1ueqbAhsJk → _6j6GS-S6zPiASj5tsxJ8}/_ssgManifest.js +0 -0
package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-drawer.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer/feature-drawer.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKjD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,aAAa,CAOpC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"feature-drawer.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer/feature-drawer.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKjD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,aAAa,CAOpC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,aAAa,CAAC,CAAC;AAgG5C,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAE5B,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAElB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAEnB,CAAC;AAMF,wEAAwE;AACxE,eAAO,MAAM,WAAW,EAAE,KAEzB,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,SAAS,EAAE,KAqBvB,CAAC;AAuDF,0DAA0D;AAC1D,eAAO,MAAM,SAAS,EAAE,KAEvB,CAAC;AA6CF,wDAAwD;AACxD,eAAO,MAAM,aAAa,EAAE,KAE3B,CAAC;AAMF,qDAAqD;AACrD,eAAO,MAAM,gBAAgB,EAAE,KAO9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAE/B,CAAC"}
|
package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.js
CHANGED
|
@@ -20,6 +20,8 @@ const baseData = {
|
|
|
20
20
|
lifecycle: 'implementation',
|
|
21
21
|
state: 'running',
|
|
22
22
|
progress: 45,
|
|
23
|
+
repositoryPath: '/home/user/my-repo',
|
|
24
|
+
branch: 'feat/auth-module',
|
|
23
25
|
};
|
|
24
26
|
const runningData = {
|
|
25
27
|
name: 'Auth Module',
|
|
@@ -29,6 +31,8 @@ const runningData = {
|
|
|
29
31
|
state: 'running',
|
|
30
32
|
progress: 45,
|
|
31
33
|
agentName: 'Planner',
|
|
34
|
+
repositoryPath: '/home/user/my-repo',
|
|
35
|
+
branch: 'feat/auth-module',
|
|
32
36
|
};
|
|
33
37
|
const actionRequiredData = {
|
|
34
38
|
name: 'API Rate Limiting',
|
|
@@ -37,6 +41,8 @@ const actionRequiredData = {
|
|
|
37
41
|
lifecycle: 'requirements',
|
|
38
42
|
state: 'action-required',
|
|
39
43
|
progress: 22,
|
|
44
|
+
repositoryPath: '/home/user/my-repo',
|
|
45
|
+
branch: 'feat/api-rate-limiting',
|
|
40
46
|
};
|
|
41
47
|
const doneData = {
|
|
42
48
|
name: 'Payment Gateway',
|
|
@@ -46,6 +52,8 @@ const doneData = {
|
|
|
46
52
|
state: 'done',
|
|
47
53
|
progress: 100,
|
|
48
54
|
runtime: '1h 42m',
|
|
55
|
+
repositoryPath: '/home/user/my-repo',
|
|
56
|
+
branch: 'feat/payment-gateway',
|
|
49
57
|
};
|
|
50
58
|
const blockedData = {
|
|
51
59
|
name: 'Search Index',
|
|
@@ -55,6 +63,8 @@ const blockedData = {
|
|
|
55
63
|
state: 'blocked',
|
|
56
64
|
progress: 20,
|
|
57
65
|
blockedBy: 'Auth Module',
|
|
66
|
+
repositoryPath: '/home/user/my-repo',
|
|
67
|
+
branch: 'feat/search-index',
|
|
58
68
|
};
|
|
59
69
|
const errorData = {
|
|
60
70
|
name: 'Email Service',
|
|
@@ -64,6 +74,8 @@ const errorData = {
|
|
|
64
74
|
state: 'error',
|
|
65
75
|
progress: 30,
|
|
66
76
|
errorMessage: 'Build failed: type mismatch',
|
|
77
|
+
repositoryPath: '/home/user/my-repo',
|
|
78
|
+
branch: 'feat/email-service',
|
|
67
79
|
};
|
|
68
80
|
/* ---------------------------------------------------------------------------
|
|
69
81
|
* Trigger wrapper — starts closed, click to open
|
|
@@ -110,6 +122,8 @@ export const AllFields = {
|
|
|
110
122
|
runtime: '3h 15m',
|
|
111
123
|
blockedBy: 'Database Migration',
|
|
112
124
|
errorMessage: 'Token refresh failed: invalid_grant',
|
|
125
|
+
repositoryPath: '/home/user/enterprise-app',
|
|
126
|
+
branch: 'feat/enterprise-auth',
|
|
113
127
|
}, label: "Open All Fields" })),
|
|
114
128
|
};
|
|
115
129
|
/* ---------------------------------------------------------------------------
|
|
@@ -156,6 +170,8 @@ function AllLifecyclesRender() {
|
|
|
156
170
|
state: 'running',
|
|
157
171
|
progress: 50,
|
|
158
172
|
agentName: 'Agent',
|
|
173
|
+
repositoryPath: '/home/user/my-repo',
|
|
174
|
+
branch: 'feat/feature-name',
|
|
159
175
|
});
|
|
160
176
|
}, className: `rounded-md px-3 py-1.5 text-left text-sm ${phase === lifecycle
|
|
161
177
|
? 'bg-primary text-primary-foreground'
|
|
@@ -165,3 +181,18 @@ function AllLifecyclesRender() {
|
|
|
165
181
|
export const AllLifecycles = {
|
|
166
182
|
render: () => _jsx(AllLifecyclesRender, {}),
|
|
167
183
|
};
|
|
184
|
+
/* ---------------------------------------------------------------------------
|
|
185
|
+
* Action button stories
|
|
186
|
+
* ------------------------------------------------------------------------- */
|
|
187
|
+
/** No repositoryPath — action buttons are hidden. */
|
|
188
|
+
export const NoRepositoryPath = {
|
|
189
|
+
render: () => (_jsx(DrawerTrigger, { data: { ...baseData, repositoryPath: '', branch: '' }, label: "Open Without Repo Path" })),
|
|
190
|
+
};
|
|
191
|
+
/**
|
|
192
|
+
* Action buttons visible — click "Open in IDE" or "Open in Shell" to see
|
|
193
|
+
* loading spinner (while API call is in flight) followed by error state
|
|
194
|
+
* (API routes are not available in Storybook).
|
|
195
|
+
*/
|
|
196
|
+
export const WithActionButtons = {
|
|
197
|
+
render: () => _jsx(DrawerTrigger, { data: runningData, label: "Open With Actions" }),
|
|
198
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface FeatureActionsInput {
|
|
2
|
+
repositoryPath: string;
|
|
3
|
+
branch: string;
|
|
4
|
+
}
|
|
5
|
+
export interface FeatureActionsState {
|
|
6
|
+
openInIde: () => Promise<void>;
|
|
7
|
+
openInShell: () => Promise<void>;
|
|
8
|
+
ideLoading: boolean;
|
|
9
|
+
shellLoading: boolean;
|
|
10
|
+
ideError: string | null;
|
|
11
|
+
shellError: string | null;
|
|
12
|
+
}
|
|
13
|
+
export declare function useFeatureActions(input: FeatureActionsInput | null): FeatureActionsState;
|
|
14
|
+
//# sourceMappingURL=use-feature-actions.d.ts.map
|
package/dist/src/presentation/web/components/common/feature-drawer/use-feature-actions.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-feature-actions.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer/use-feature-actions.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAID,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,GAAG,mBAAmB,CA0ExF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useState, useCallback, useRef, useEffect } from 'react';
|
|
3
|
+
const ERROR_CLEAR_DELAY = 5000;
|
|
4
|
+
export function useFeatureActions(input) {
|
|
5
|
+
const [ideLoading, setIdeLoading] = useState(false);
|
|
6
|
+
const [shellLoading, setShellLoading] = useState(false);
|
|
7
|
+
const [ideError, setIdeError] = useState(null);
|
|
8
|
+
const [shellError, setShellError] = useState(null);
|
|
9
|
+
const ideTimerRef = useRef(null);
|
|
10
|
+
const shellTimerRef = useRef(null);
|
|
11
|
+
// Clear timers on unmount
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
const ideTimer = ideTimerRef.current;
|
|
14
|
+
const shellTimer = shellTimerRef.current;
|
|
15
|
+
return () => {
|
|
16
|
+
if (ideTimer)
|
|
17
|
+
clearTimeout(ideTimer);
|
|
18
|
+
if (shellTimer)
|
|
19
|
+
clearTimeout(shellTimer);
|
|
20
|
+
};
|
|
21
|
+
}, []);
|
|
22
|
+
const performAction = useCallback(async (url, setLoading, setError, timerRef, isLoading) => {
|
|
23
|
+
if (!input || isLoading)
|
|
24
|
+
return;
|
|
25
|
+
// Clear any existing timer
|
|
26
|
+
if (timerRef.current)
|
|
27
|
+
clearTimeout(timerRef.current);
|
|
28
|
+
setLoading(true);
|
|
29
|
+
setError(null);
|
|
30
|
+
try {
|
|
31
|
+
const response = await fetch(url, {
|
|
32
|
+
method: 'POST',
|
|
33
|
+
headers: { 'Content-Type': 'application/json' },
|
|
34
|
+
body: JSON.stringify({
|
|
35
|
+
repositoryPath: input.repositoryPath,
|
|
36
|
+
branch: input.branch,
|
|
37
|
+
}),
|
|
38
|
+
});
|
|
39
|
+
if (!response.ok) {
|
|
40
|
+
const data = await response.json();
|
|
41
|
+
const errorMessage = data.error ?? 'An unexpected error occurred';
|
|
42
|
+
setError(errorMessage);
|
|
43
|
+
timerRef.current = setTimeout(() => setError(null), ERROR_CLEAR_DELAY);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
const errorMessage = err instanceof Error ? err.message : 'An unexpected error occurred';
|
|
48
|
+
setError(errorMessage);
|
|
49
|
+
timerRef.current = setTimeout(() => setError(null), ERROR_CLEAR_DELAY);
|
|
50
|
+
}
|
|
51
|
+
finally {
|
|
52
|
+
setLoading(false);
|
|
53
|
+
}
|
|
54
|
+
}, [input]);
|
|
55
|
+
const openInIde = useCallback(() => performAction('/api/ide/open', setIdeLoading, setIdeError, ideTimerRef, ideLoading), [performAction, ideLoading]);
|
|
56
|
+
const openInShell = useCallback(() => performAction('/api/shell/open', setShellLoading, setShellError, shellTimerRef, shellLoading), [performAction, shellLoading]);
|
|
57
|
+
return { openInIde, openInShell, ideLoading, shellLoading, ideError, shellError };
|
|
58
|
+
}
|
package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts
CHANGED
|
@@ -12,6 +12,10 @@ export interface FeatureNodeData {
|
|
|
12
12
|
lifecycle: FeatureLifecyclePhase;
|
|
13
13
|
state: FeatureNodeState;
|
|
14
14
|
progress: number;
|
|
15
|
+
/** Absolute path to the repository on disk */
|
|
16
|
+
repositoryPath: string;
|
|
17
|
+
/** Git branch name for this feature */
|
|
18
|
+
branch: string;
|
|
15
19
|
/** Human-readable runtime for done state (e.g. "2h 15m") */
|
|
16
20
|
runtime?: string;
|
|
17
21
|
/** Feature name this node is blocked by */
|
package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-node-state-config.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-node/feature-node-state-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAChG,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,iBAAiB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAE5F,MAAM,MAAM,qBAAqB,GAC7B,cAAc,GACd,UAAU,GACV,gBAAgB,GAChB,QAAQ,GACR,QAAQ,GACR,UAAU,CAAC;AAEf,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAOxE,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,qBAAqB,CAAC;IACjC,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;AAEnE,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,gBAAgB,EAAE,sBAAsB,CAmDnF,CAAC"}
|
|
1
|
+
{"version":3,"file":"feature-node-state-config.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-node/feature-node-state-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAChG,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,iBAAiB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAE5F,MAAM,MAAM,qBAAqB,GAC7B,cAAc,GACd,UAAU,GACV,gBAAgB,GAChB,QAAQ,GACR,QAAQ,GACR,UAAU,CAAC;AAEf,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAOxE,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,qBAAqB,CAAC;IACjC,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,cAAc,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;AAEnE,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,gBAAgB,EAAE,sBAAsB,CAmDnF,CAAC"}
|
package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-node.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-node/feature-node.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,6BAA6B,CAAC;AAiCrC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,eAAe,CAe/B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAEvC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;
|
|
1
|
+
{"version":3,"file":"feature-node.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-node/feature-node.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,6BAA6B,CAAC;AAiCrC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,eAAe,CAe/B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAEvC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AA2DF,eAAO,MAAM,SAAS,EAAE,KAQvB,CAAC;AAWF,eAAO,MAAM,aAAa,EAAE,KAsB3B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAMxB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAW7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAW9B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAW9B,CAAC;AA6EF,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC"}
|
|
@@ -38,6 +38,8 @@ const allStatesData = [
|
|
|
38
38
|
state: 'running',
|
|
39
39
|
progress: 45,
|
|
40
40
|
agentName: 'Planner',
|
|
41
|
+
repositoryPath: '/home/user/my-repo',
|
|
42
|
+
branch: 'feat/auth-module',
|
|
41
43
|
},
|
|
42
44
|
{
|
|
43
45
|
name: 'API Rate Limiting',
|
|
@@ -46,6 +48,8 @@ const allStatesData = [
|
|
|
46
48
|
lifecycle: 'requirements',
|
|
47
49
|
state: 'action-required',
|
|
48
50
|
progress: 22,
|
|
51
|
+
repositoryPath: '/home/user/my-repo',
|
|
52
|
+
branch: 'feat/api-rate-limiting',
|
|
49
53
|
},
|
|
50
54
|
{
|
|
51
55
|
name: 'Payment Gateway',
|
|
@@ -55,6 +59,8 @@ const allStatesData = [
|
|
|
55
59
|
state: 'done',
|
|
56
60
|
progress: 100,
|
|
57
61
|
runtime: '1h 42m',
|
|
62
|
+
repositoryPath: '/home/user/my-repo',
|
|
63
|
+
branch: 'feat/payment-gateway',
|
|
58
64
|
},
|
|
59
65
|
{
|
|
60
66
|
name: 'Search Index',
|
|
@@ -64,6 +70,8 @@ const allStatesData = [
|
|
|
64
70
|
state: 'blocked',
|
|
65
71
|
progress: 20,
|
|
66
72
|
blockedBy: 'Auth Module',
|
|
73
|
+
repositoryPath: '/home/user/my-repo',
|
|
74
|
+
branch: 'feat/search-index',
|
|
67
75
|
},
|
|
68
76
|
{
|
|
69
77
|
name: 'Email Service',
|
|
@@ -73,6 +81,8 @@ const allStatesData = [
|
|
|
73
81
|
state: 'error',
|
|
74
82
|
progress: 30,
|
|
75
83
|
errorMessage: 'Build failed: type mismatch',
|
|
84
|
+
repositoryPath: '/home/user/my-repo',
|
|
85
|
+
branch: 'feat/email-service',
|
|
76
86
|
},
|
|
77
87
|
];
|
|
78
88
|
export const AllStates = {
|
|
@@ -95,6 +105,8 @@ export const AllLifecycles = {
|
|
|
95
105
|
state: 'running',
|
|
96
106
|
progress: [10, 25, 50, 70, 90, 100][i],
|
|
97
107
|
agentName: 'Researcher',
|
|
108
|
+
repositoryPath: '/home/user/my-repo',
|
|
109
|
+
branch: 'feat/feature-name',
|
|
98
110
|
} }, lifecycle))) })),
|
|
99
111
|
};
|
|
100
112
|
export const WithAction = {
|
|
@@ -161,6 +173,8 @@ const interactiveInitialNodes = [
|
|
|
161
173
|
state: 'running',
|
|
162
174
|
progress: 45,
|
|
163
175
|
agentName: 'Planner',
|
|
176
|
+
repositoryPath: '/home/user/my-repo',
|
|
177
|
+
branch: 'feat/auth-module',
|
|
164
178
|
},
|
|
165
179
|
},
|
|
166
180
|
{
|
|
@@ -176,6 +190,8 @@ const interactiveInitialNodes = [
|
|
|
176
190
|
state: 'done',
|
|
177
191
|
progress: 100,
|
|
178
192
|
runtime: '1h 42m',
|
|
193
|
+
repositoryPath: '/home/user/my-repo',
|
|
194
|
+
branch: 'feat/payment-gateway',
|
|
179
195
|
},
|
|
180
196
|
},
|
|
181
197
|
{
|
|
@@ -191,6 +207,8 @@ const interactiveInitialNodes = [
|
|
|
191
207
|
state: 'error',
|
|
192
208
|
progress: 30,
|
|
193
209
|
errorMessage: 'Build failed: type mismatch',
|
|
210
|
+
repositoryPath: '/home/user/my-repo',
|
|
211
|
+
branch: 'feat/email-service',
|
|
194
212
|
},
|
|
195
213
|
},
|
|
196
214
|
];
|
|
@@ -4,6 +4,7 @@ export { EmptyState, type EmptyStateProps } from './empty-state/index.js';
|
|
|
4
4
|
export { FeatureCreateDrawer, type FeatureCreateDrawerProps, type CreateFeatureFormData, } from './feature-create-drawer/index.js';
|
|
5
5
|
export { FeatureDrawer, type FeatureDrawerProps } from './feature-drawer/index.js';
|
|
6
6
|
export { FeatureListItem, type FeatureListItemProps } from './feature-list-item/index.js';
|
|
7
|
+
export { useFeatureActions, type FeatureActionsInput, type FeatureActionsState, } from './feature-drawer/use-feature-actions.js';
|
|
7
8
|
export { FeatureNode, featureNodeStateConfig, type FeatureNodeState, type FeatureLifecyclePhase, type FeatureNodeData, type FeatureNodeType, type FeatureNodeStateConfig, } from './feature-node/index.js';
|
|
8
9
|
export { FeatureStatusBadges, type FeatureStatusBadgesProps } from './feature-status-badges/index.js';
|
|
9
10
|
export { FeatureStatusGroup, type FeatureStatusGroupProps } from './feature-status-group/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/components/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EACL,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,sBAAsB,GAC5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,KAAK,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,KAAK,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/components/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EACL,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EACL,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GACzB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,sBAAsB,GAC5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,KAAK,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,KAAK,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -4,6 +4,7 @@ export { EmptyState } from './empty-state/index.js';
|
|
|
4
4
|
export { FeatureCreateDrawer, } from './feature-create-drawer/index.js';
|
|
5
5
|
export { FeatureDrawer } from './feature-drawer/index.js';
|
|
6
6
|
export { FeatureListItem } from './feature-list-item/index.js';
|
|
7
|
+
export { useFeatureActions, } from './feature-drawer/use-feature-actions.js';
|
|
7
8
|
export { FeatureNode, featureNodeStateConfig, } from './feature-node/index.js';
|
|
8
9
|
export { FeatureStatusBadges } from './feature-status-badges/index.js';
|
|
9
10
|
export { FeatureStatusGroup } from './feature-status-group/index.js';
|
package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-center.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/control-center/control-center.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOjD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,aAAa,CAcpC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"control-center.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/control-center/control-center.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOjD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,aAAa,CAcpC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAkEnC,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAQ1B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAKzB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAS7B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,EAAE,KAYzB,CAAC;AAwIF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,KAKzB,CAAC"}
|
package/dist/src/presentation/web/components/features/control-center/control-center.stories.js
CHANGED
|
@@ -25,6 +25,8 @@ const featureNodes = [
|
|
|
25
25
|
lifecycle: 'implementation',
|
|
26
26
|
state: 'running',
|
|
27
27
|
progress: 65,
|
|
28
|
+
repositoryPath: '/home/user/my-repo',
|
|
29
|
+
branch: 'feat/auth-module',
|
|
28
30
|
},
|
|
29
31
|
},
|
|
30
32
|
{
|
|
@@ -38,6 +40,8 @@ const featureNodes = [
|
|
|
38
40
|
lifecycle: 'research',
|
|
39
41
|
state: 'action-required',
|
|
40
42
|
progress: 20,
|
|
43
|
+
repositoryPath: '/home/user/my-repo',
|
|
44
|
+
branch: 'feat/user-dashboard',
|
|
41
45
|
},
|
|
42
46
|
},
|
|
43
47
|
{
|
|
@@ -51,6 +55,8 @@ const featureNodes = [
|
|
|
51
55
|
lifecycle: 'deploy',
|
|
52
56
|
state: 'done',
|
|
53
57
|
progress: 100,
|
|
58
|
+
repositoryPath: '/home/user/my-repo',
|
|
59
|
+
branch: 'feat/api-gateway',
|
|
54
60
|
},
|
|
55
61
|
},
|
|
56
62
|
];
|
|
@@ -148,6 +154,8 @@ const dagreFeatureNodes = [
|
|
|
148
154
|
lifecycle: 'implementation',
|
|
149
155
|
state: 'running',
|
|
150
156
|
progress: 65,
|
|
157
|
+
repositoryPath: '/home/user/my-repo',
|
|
158
|
+
branch: 'feat/auth-module',
|
|
151
159
|
},
|
|
152
160
|
},
|
|
153
161
|
{
|
|
@@ -161,6 +169,8 @@ const dagreFeatureNodes = [
|
|
|
161
169
|
lifecycle: 'research',
|
|
162
170
|
state: 'action-required',
|
|
163
171
|
progress: 20,
|
|
172
|
+
repositoryPath: '/home/user/my-repo',
|
|
173
|
+
branch: 'feat/sso-integration',
|
|
164
174
|
},
|
|
165
175
|
},
|
|
166
176
|
{
|
|
@@ -174,6 +184,8 @@ const dagreFeatureNodes = [
|
|
|
174
184
|
lifecycle: 'requirements',
|
|
175
185
|
state: 'running',
|
|
176
186
|
progress: 10,
|
|
187
|
+
repositoryPath: '/home/user/my-repo',
|
|
188
|
+
branch: 'feat/user-dashboard',
|
|
177
189
|
},
|
|
178
190
|
},
|
|
179
191
|
{
|
|
@@ -187,6 +199,8 @@ const dagreFeatureNodes = [
|
|
|
187
199
|
lifecycle: 'deploy',
|
|
188
200
|
state: 'done',
|
|
189
201
|
progress: 100,
|
|
202
|
+
repositoryPath: '/home/user/my-repo',
|
|
203
|
+
branch: 'feat/api-gateway',
|
|
190
204
|
},
|
|
191
205
|
},
|
|
192
206
|
{
|
|
@@ -201,6 +215,8 @@ const dagreFeatureNodes = [
|
|
|
201
215
|
state: 'blocked',
|
|
202
216
|
progress: 40,
|
|
203
217
|
blockedBy: 'API Gateway',
|
|
218
|
+
repositoryPath: '/home/user/my-repo',
|
|
219
|
+
branch: 'feat/admin-panel',
|
|
204
220
|
},
|
|
205
221
|
},
|
|
206
222
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-control-center-state.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/control-center/use-control-center-state.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEhF,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,YAAY,EAAE,eAAe,GAAG,IAAI,CAAC;IACrC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC,EAAE,KAAK,IAAI,CAAC;IAC/D,aAAa,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAChD,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACzE,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,sBAAsB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,yBAAyB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,YAAY,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAC;IACnD,yBAAyB,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACjE,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B;AAID,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,cAAc,EAAE,EAC9B,YAAY,EAAE,IAAI,EAAE,GACnB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"use-control-center-state.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/control-center/use-control-center-state.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEhF,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,YAAY,EAAE,eAAe,GAAG,IAAI,CAAC;IACrC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC,EAAE,KAAK,IAAI,CAAC;IAC/D,aAAa,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAChD,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACzE,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,sBAAsB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,yBAAyB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,YAAY,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAC;IACnD,yBAAyB,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACjE,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B;AAID,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,cAAc,EAAE,EAC9B,YAAY,EAAE,IAAI,EAAE,GACnB,kBAAkB,CAqTpB"}
|
package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js
CHANGED
|
@@ -72,6 +72,8 @@ export function useControlCenterState(initialNodes, initialEdges) {
|
|
|
72
72
|
lifecycle: 'requirements',
|
|
73
73
|
state: 'running',
|
|
74
74
|
progress: 0,
|
|
75
|
+
repositoryPath: dataOverride?.repositoryPath ?? '',
|
|
76
|
+
branch: dataOverride?.branch ?? '',
|
|
75
77
|
};
|
|
76
78
|
setNodes((currentNodes) => {
|
|
77
79
|
// Find siblings connected to the same parent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features-canvas.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/features-canvas/features-canvas.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOnD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CAcrC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"features-canvas.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/features-canvas/features-canvas.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOnD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CAcrC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAwKnC,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAKxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAK3B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAK5B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAWzB,CAAC;AA4DF,eAAO,MAAM,mCAAmC,EAAE,KAOjD,CAAC;AAkCF,eAAO,MAAM,gCAAgC,EAAE,KAS9C,CAAC;AAgEF,eAAO,MAAM,gCAAgC,EAAE,KAW9C,CAAC;AAuDF,eAAO,MAAM,oBAAoB,EAAE,KAUlC,CAAC;AA2GF,eAAO,MAAM,oCAAoC,EAAE,KAOlD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KASvC,CAAC"}
|
package/dist/src/presentation/web/components/features/features-canvas/features-canvas.stories.js
CHANGED
|
@@ -24,6 +24,8 @@ const singleNode = {
|
|
|
24
24
|
lifecycle: 'requirements',
|
|
25
25
|
state: 'running',
|
|
26
26
|
progress: 45,
|
|
27
|
+
repositoryPath: '/home/user/my-repo',
|
|
28
|
+
branch: 'feat/auth-module',
|
|
27
29
|
},
|
|
28
30
|
};
|
|
29
31
|
const multipleNodes = [
|
|
@@ -38,6 +40,8 @@ const multipleNodes = [
|
|
|
38
40
|
lifecycle: 'implementation',
|
|
39
41
|
state: 'running',
|
|
40
42
|
progress: 65,
|
|
43
|
+
repositoryPath: '/home/user/my-repo',
|
|
44
|
+
branch: 'feat/auth-module',
|
|
41
45
|
},
|
|
42
46
|
},
|
|
43
47
|
{
|
|
@@ -51,6 +55,8 @@ const multipleNodes = [
|
|
|
51
55
|
lifecycle: 'research',
|
|
52
56
|
state: 'action-required',
|
|
53
57
|
progress: 20,
|
|
58
|
+
repositoryPath: '/home/user/my-repo',
|
|
59
|
+
branch: 'feat/user-dashboard',
|
|
54
60
|
},
|
|
55
61
|
},
|
|
56
62
|
{
|
|
@@ -64,6 +70,8 @@ const multipleNodes = [
|
|
|
64
70
|
lifecycle: 'deploy',
|
|
65
71
|
state: 'done',
|
|
66
72
|
progress: 100,
|
|
73
|
+
repositoryPath: '/home/user/my-repo',
|
|
74
|
+
branch: 'feat/api-gateway',
|
|
67
75
|
},
|
|
68
76
|
},
|
|
69
77
|
{
|
|
@@ -77,6 +85,8 @@ const multipleNodes = [
|
|
|
77
85
|
lifecycle: 'review',
|
|
78
86
|
state: 'blocked',
|
|
79
87
|
progress: 40,
|
|
88
|
+
repositoryPath: '/home/user/my-repo',
|
|
89
|
+
branch: 'feat/payment-integration',
|
|
80
90
|
},
|
|
81
91
|
},
|
|
82
92
|
{
|
|
@@ -90,6 +100,8 @@ const multipleNodes = [
|
|
|
90
100
|
lifecycle: 'implementation',
|
|
91
101
|
state: 'error',
|
|
92
102
|
progress: 30,
|
|
103
|
+
repositoryPath: '/home/user/my-repo',
|
|
104
|
+
branch: 'feat/email-service',
|
|
93
105
|
},
|
|
94
106
|
},
|
|
95
107
|
];
|
|
@@ -105,6 +117,8 @@ const connectedNodes = [
|
|
|
105
117
|
lifecycle: 'implementation',
|
|
106
118
|
state: 'running',
|
|
107
119
|
progress: 65,
|
|
120
|
+
repositoryPath: '/home/user/my-repo',
|
|
121
|
+
branch: 'feat/auth-module',
|
|
108
122
|
},
|
|
109
123
|
},
|
|
110
124
|
{
|
|
@@ -119,6 +133,8 @@ const connectedNodes = [
|
|
|
119
133
|
state: 'blocked',
|
|
120
134
|
progress: 10,
|
|
121
135
|
blockedBy: 'Auth Module',
|
|
136
|
+
repositoryPath: '/home/user/my-repo',
|
|
137
|
+
branch: 'feat/user-dashboard',
|
|
122
138
|
},
|
|
123
139
|
},
|
|
124
140
|
{
|
|
@@ -132,6 +148,8 @@ const connectedNodes = [
|
|
|
132
148
|
lifecycle: 'requirements',
|
|
133
149
|
state: 'action-required',
|
|
134
150
|
progress: 5,
|
|
151
|
+
repositoryPath: '/home/user/my-repo',
|
|
152
|
+
branch: 'feat/api-gateway',
|
|
135
153
|
},
|
|
136
154
|
},
|
|
137
155
|
{
|
|
@@ -146,6 +164,8 @@ const connectedNodes = [
|
|
|
146
164
|
state: 'blocked',
|
|
147
165
|
progress: 0,
|
|
148
166
|
blockedBy: 'User Dashboard',
|
|
167
|
+
repositoryPath: '/home/user/my-repo',
|
|
168
|
+
branch: 'feat/admin-panel',
|
|
149
169
|
},
|
|
150
170
|
},
|
|
151
171
|
];
|
|
@@ -220,6 +240,8 @@ const repoFeatureNodes = [
|
|
|
220
240
|
lifecycle: 'implementation',
|
|
221
241
|
state: 'running',
|
|
222
242
|
progress: 65,
|
|
243
|
+
repositoryPath: '/home/user/my-repo',
|
|
244
|
+
branch: 'feat/auth-module',
|
|
223
245
|
},
|
|
224
246
|
},
|
|
225
247
|
{
|
|
@@ -233,6 +255,8 @@ const repoFeatureNodes = [
|
|
|
233
255
|
lifecycle: 'requirements',
|
|
234
256
|
state: 'action-required',
|
|
235
257
|
progress: 20,
|
|
258
|
+
repositoryPath: '/home/user/my-repo',
|
|
259
|
+
branch: 'feat/feature-flow-canvas',
|
|
236
260
|
},
|
|
237
261
|
},
|
|
238
262
|
];
|
|
@@ -274,6 +298,8 @@ const singleRepoSingleFeatureNodes = [
|
|
|
274
298
|
lifecycle: 'implementation',
|
|
275
299
|
state: 'running',
|
|
276
300
|
progress: 65,
|
|
301
|
+
repositoryPath: '/home/user/my-repo',
|
|
302
|
+
branch: 'feat/auth-module',
|
|
277
303
|
},
|
|
278
304
|
},
|
|
279
305
|
];
|
|
@@ -312,6 +338,8 @@ const singleRepoMultiFeatNodes = [
|
|
|
312
338
|
lifecycle: 'implementation',
|
|
313
339
|
state: 'running',
|
|
314
340
|
progress: 40,
|
|
341
|
+
repositoryPath: '/home/user/my-repo',
|
|
342
|
+
branch: 'feat/sso-integration',
|
|
315
343
|
},
|
|
316
344
|
},
|
|
317
345
|
{
|
|
@@ -325,6 +353,8 @@ const singleRepoMultiFeatNodes = [
|
|
|
325
353
|
lifecycle: 'requirements',
|
|
326
354
|
state: 'action-required',
|
|
327
355
|
progress: 10,
|
|
356
|
+
repositoryPath: '/home/user/my-repo',
|
|
357
|
+
branch: 'feat/auth-module',
|
|
328
358
|
},
|
|
329
359
|
},
|
|
330
360
|
{
|
|
@@ -338,6 +368,8 @@ const singleRepoMultiFeatNodes = [
|
|
|
338
368
|
lifecycle: 'research',
|
|
339
369
|
state: 'running',
|
|
340
370
|
progress: 25,
|
|
371
|
+
repositoryPath: '/home/user/my-repo',
|
|
372
|
+
branch: 'feat/api-gateway',
|
|
341
373
|
},
|
|
342
374
|
},
|
|
343
375
|
];
|
|
@@ -384,6 +416,8 @@ const multiRepoNodes = [
|
|
|
384
416
|
lifecycle: 'implementation',
|
|
385
417
|
state: 'running',
|
|
386
418
|
progress: 65,
|
|
419
|
+
repositoryPath: '/home/user/my-repo',
|
|
420
|
+
branch: 'feat/auth-module',
|
|
387
421
|
},
|
|
388
422
|
},
|
|
389
423
|
{
|
|
@@ -397,6 +431,8 @@ const multiRepoNodes = [
|
|
|
397
431
|
lifecycle: 'requirements',
|
|
398
432
|
state: 'action-required',
|
|
399
433
|
progress: 15,
|
|
434
|
+
repositoryPath: '/home/user/my-repo',
|
|
435
|
+
branch: 'feat/dashboard-ui',
|
|
400
436
|
},
|
|
401
437
|
},
|
|
402
438
|
];
|
|
@@ -448,6 +484,8 @@ const mixedRepoFeatureNodesRaw = [
|
|
|
448
484
|
lifecycle: 'implementation',
|
|
449
485
|
state: 'running',
|
|
450
486
|
progress: 65,
|
|
487
|
+
repositoryPath: '/home/user/my-repo',
|
|
488
|
+
branch: 'feat/auth-module',
|
|
451
489
|
},
|
|
452
490
|
},
|
|
453
491
|
{
|
|
@@ -461,6 +499,8 @@ const mixedRepoFeatureNodesRaw = [
|
|
|
461
499
|
lifecycle: 'research',
|
|
462
500
|
state: 'action-required',
|
|
463
501
|
progress: 20,
|
|
502
|
+
repositoryPath: '/home/user/my-repo',
|
|
503
|
+
branch: 'feat/sso-integration',
|
|
464
504
|
},
|
|
465
505
|
},
|
|
466
506
|
{
|
|
@@ -474,6 +514,8 @@ const mixedRepoFeatureNodesRaw = [
|
|
|
474
514
|
lifecycle: 'requirements',
|
|
475
515
|
state: 'running',
|
|
476
516
|
progress: 10,
|
|
517
|
+
repositoryPath: '/home/user/my-repo',
|
|
518
|
+
branch: 'feat/api-gateway',
|
|
477
519
|
},
|
|
478
520
|
},
|
|
479
521
|
{
|
|
@@ -487,6 +529,8 @@ const mixedRepoFeatureNodesRaw = [
|
|
|
487
529
|
lifecycle: 'deploy',
|
|
488
530
|
state: 'done',
|
|
489
531
|
progress: 100,
|
|
532
|
+
repositoryPath: '/home/user/my-repo',
|
|
533
|
+
branch: 'feat/admin-panel',
|
|
490
534
|
},
|
|
491
535
|
},
|
|
492
536
|
];
|