@shepai/cli 1.78.1 → 1.79.0-pr249.00ebcc4
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/src/presentation/web/app/(dashboard)/@drawer/feature/[featureId]/page.d.ts.map +1 -1
- package/dist/src/presentation/web/app/(dashboard)/@drawer/feature/[featureId]/page.js +14 -1
- package/dist/src/presentation/web/app/actions/get-feature-phase-timings.d.ts +17 -0
- package/dist/src/presentation/web/app/actions/get-feature-phase-timings.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/get-feature-phase-timings.js +25 -0
- package/dist/src/presentation/web/app/actions/get-feature-plan.d.ts +18 -0
- package/dist/src/presentation/web/app/actions/get-feature-plan.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/get-feature-plan.js +31 -0
- package/dist/src/presentation/web/app/api/feature-logs/route.d.ts +16 -0
- package/dist/src/presentation/web/app/api/feature-logs/route.d.ts.map +1 -0
- package/dist/src/presentation/web/app/api/feature-logs/route.js +184 -0
- package/dist/src/presentation/web/app/build-feature-node-data.d.ts +7 -1
- package/dist/src/presentation/web/app/build-feature-node-data.d.ts.map +1 -1
- package/dist/src/presentation/web/app/build-feature-node-data.js +7 -1
- package/dist/src/presentation/web/app/build-graph-nodes.js +7 -3
- package/dist/src/presentation/web/app/settings/page.js +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts +7 -19
- package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.js +6 -6
- package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +48 -85
- package/dist/src/presentation/web/components/common/feature-drawer/index.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer/index.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer/index.js +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.d.ts +8 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.js +90 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.stories.d.ts +20 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.stories.js +252 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts +31 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +123 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.stories.d.ts +20 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.stories.js +315 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/index.d.ts +3 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/index.js +1 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.d.ts +7 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.js +35 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.stories.d.ts +18 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.stories.js +89 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.d.ts +6 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.js +78 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.d.ts +28 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.js +157 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/plan-tab.d.ts +8 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/plan-tab.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/plan-tab.js +40 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/plan-tab.stories.d.ts +22 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/plan-tab.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/plan-tab.stories.js +188 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/use-tab-data-fetch.d.ts +30 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/use-tab-data-fetch.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/use-tab-data-fetch.js +100 -0
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +12 -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/index.d.ts +3 -4
- package/dist/src/presentation/web/components/common/index.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/index.js +3 -4
- package/dist/src/presentation/web/components/common/merge-review/index.d.ts +1 -2
- package/dist/src/presentation/web/components/common/merge-review/index.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/merge-review/index.js +0 -1
- package/dist/src/presentation/web/components/common/merge-review/merge-review.stories.d.ts +0 -8
- package/dist/src/presentation/web/components/common/merge-review/merge-review.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/merge-review/merge-review.stories.js +1 -33
- package/dist/src/presentation/web/components/common/prd-questionnaire/index.d.ts +1 -2
- package/dist/src/presentation/web/components/common/prd-questionnaire/index.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/prd-questionnaire/index.js +0 -1
- package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.d.ts +0 -10
- package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.js +1 -38
- package/dist/src/presentation/web/components/common/tech-decisions-review/index.d.ts +1 -2
- package/dist/src/presentation/web/components/common/tech-decisions-review/index.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/tech-decisions-review/index.js +0 -1
- package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.stories.d.ts +0 -8
- package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.stories.js +1 -29
- package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +2 -2
- package/dist/src/presentation/web/components/features/settings/settings-page-client.js +9 -9
- package/dist/src/presentation/web/hooks/use-feature-logs.d.ts +7 -0
- package/dist/src/presentation/web/hooks/use-feature-logs.d.ts.map +1 -0
- package/dist/src/presentation/web/hooks/use-feature-logs.js +52 -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 +1 -0
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +1 -1
- package/web/.next/required-server-files.json +1 -1
- package/web/.next/routes-manifest.json +6 -0
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +18 -18
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +68 -38
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +18 -18
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +68 -38
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +14 -14
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/feature-logs/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/api/feature-logs/route/build-manifest.json +11 -0
- package/web/.next/server/app/api/feature-logs/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/api/feature-logs/route.js +6 -0
- package/web/.next/server/app/api/feature-logs/route.js.map +5 -0
- package/web/.next/server/app/api/feature-logs/route.js.nft.json +1 -0
- package/web/.next/server/app/api/feature-logs/route_client-reference-manifest.js +2 -0
- package/web/.next/server/app/settings/page/server-reference-manifest.json +5 -5
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/skills/page.js.nft.json +1 -1
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/tools/page.js.nft.json +1 -1
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app-paths-manifest.json +1 -0
- package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_feature-logs_route_actions_177445e7.js +3 -0
- package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_feature-logs_route_actions_177445e7.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__91d44424._.js +12 -0
- package/web/.next/server/chunks/[root-of-the-server]__91d44424._.js.map +1 -0
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js.map +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6eb2a2b0._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6eb2a2b0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__a337ca5c._.js → [root-of-the-server]__ae824a5b._.js} +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ae824a5b._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b3a4cef4._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b3a4cef4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c3c963c6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c3c963c6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1e3cf73b._.js +1 -1
- package/web/.next/server/chunks/ssr/_1e3cf73b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_b0924a46._.js → _2772641c._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_b0924a46._.js.map → _2772641c._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_34fbed18._.js +1 -1
- package/web/.next/server/chunks/ssr/_34fbed18._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_06db7efd._.js → _3e88ce9d._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_06db7efd._.js.map → _3e88ce9d._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_5d4e7151._.js +3 -0
- package/web/.next/server/chunks/ssr/{_5c4ce700._.js.map → _5d4e7151._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_63868199._.js +1 -1
- package/web/.next/server/chunks/ssr/_63868199._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_4031d614._.js → _887258d0._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_4031d614._.js.map → _887258d0._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_8dacd1e7._.js +1 -1
- package/web/.next/server/chunks/ssr/_8dacd1e7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_5dab501b._.js → _d6d834fc._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_5dab501b._.js.map → _d6d834fc._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_a38f282a._.js → _ee48edeb._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_a38f282a._.js.map → _ee48edeb._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_d80c1060._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_d80c1060._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_7efa14ca._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_7efa14ca._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b59d79db._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_b59d79db._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.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 +108 -64
- package/web/.next/static/chunks/19100323ad9510ec.js +1 -0
- package/web/.next/static/chunks/{1f57d0c949dbb44d.js → 2a24ac257fc1c10b.js} +1 -1
- package/web/.next/static/chunks/2aaeda884078df79.js +1 -0
- package/web/.next/static/chunks/{6f7ba7846dcc8b21.js → 45ca41841cfb4d93.js} +1 -1
- package/web/.next/static/chunks/{78455afb0164395c.js → 480dd424640480ad.js} +2 -2
- package/web/.next/static/chunks/5de200eb0ce0bbb4.js +1 -0
- package/web/.next/static/chunks/{87152e918f80ea8b.js → 601026446fb3e389.js} +1 -1
- package/web/.next/static/chunks/{8fe834f8a3c36e2f.js → 83660d23dcfa0031.js} +2 -2
- package/web/.next/static/chunks/87f046cfecf09663.js +1 -0
- package/web/.next/static/chunks/96bab6d3820504f3.css +2 -0
- package/web/.next/static/chunks/a1c2ecb710b44081.js +1 -0
- package/web/.next/static/chunks/{27c4a8493483e6f3.js → a5c4efdd4cd1eaa9.js} +1 -1
- package/web/.next/static/chunks/{9d8c6c874071efb2.js → b58c4d6d0a669190.js} +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.d.ts +0 -9
- package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.js +0 -60
- package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.d.ts +0 -47
- package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.js +0 -307
- package/dist/src/presentation/web/components/common/merge-review/merge-review-drawer.d.ts +0 -3
- package/dist/src/presentation/web/components/common/merge-review/merge-review-drawer.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/merge-review/merge-review-drawer.js +0 -8
- package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-drawer.d.ts +0 -3
- package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-drawer.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-drawer.js +0 -8
- package/dist/src/presentation/web/components/common/review-drawer-shell/index.d.ts +0 -3
- package/dist/src/presentation/web/components/common/review-drawer-shell/index.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/review-drawer-shell/index.js +0 -1
- package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell-config.d.ts +0 -26
- package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell-config.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell-config.js +0 -1
- package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.d.ts +0 -3
- package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.js +0 -29
- package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.stories.d.ts +0 -14
- package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.stories.js +0 -33
- package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-drawer.d.ts +0 -3
- package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-drawer.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-drawer.js +0 -8
- package/dist/src/presentation/web/components/common/tech-review-tabs/index.d.ts +0 -3
- package/dist/src/presentation/web/components/common/tech-review-tabs/index.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/tech-review-tabs/index.js +0 -1
- package/dist/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs-config.d.ts +0 -21
- package/dist/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs-config.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs-config.js +0 -1
- package/dist/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs.d.ts +0 -3
- package/dist/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs.js +0 -12
- package/dist/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs.stories.d.ts +0 -16
- package/dist/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs.stories.js +0 -110
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a337ca5c._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_5c4ce700._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules__pnpm_5412e589._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules__pnpm_5412e589._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js.map +0 -1
- package/web/.next/static/chunks/08c0a9667c05866c.css +0 -2
- package/web/.next/static/chunks/0fb8038f7ad4d2cf.js +0 -1
- package/web/.next/static/chunks/1211dcaac5963f92.js +0 -1
- package/web/.next/static/chunks/6a3e8ea6e1fd2113.js +0 -1
- package/web/.next/static/chunks/7336f9ec160c7bd8.js +0 -1
- package/web/.next/static/chunks/ba8b2aaa356a5487.js +0 -1
- /package/web/.next/static/{M0oz1_1InoSyr7OMLAKf7 → 5qOUXKlwJzqbjZtPNFmRc}/_buildManifest.js +0 -0
- /package/web/.next/static/{M0oz1_1InoSyr7OMLAKf7 → 5qOUXKlwJzqbjZtPNFmRc}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{M0oz1_1InoSyr7OMLAKf7 → 5qOUXKlwJzqbjZtPNFmRc}/_ssgManifest.js +0 -0
package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.js
DELETED
|
@@ -1,307 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
import { PrStatus, CiStatus } from '../../../../../../packages/core/src/domain/generated/output.js';
|
|
4
|
-
import { FeatureDrawer } from './feature-drawer.js';
|
|
5
|
-
import { Button } from '../../ui/button.js';
|
|
6
|
-
const meta = {
|
|
7
|
-
title: 'Drawers/Feature/FeatureDrawer',
|
|
8
|
-
component: FeatureDrawer,
|
|
9
|
-
tags: ['autodocs'],
|
|
10
|
-
parameters: {
|
|
11
|
-
layout: 'fullscreen',
|
|
12
|
-
},
|
|
13
|
-
};
|
|
14
|
-
export default meta;
|
|
15
|
-
/* ---------------------------------------------------------------------------
|
|
16
|
-
* Data fixtures
|
|
17
|
-
* ------------------------------------------------------------------------- */
|
|
18
|
-
const baseData = {
|
|
19
|
-
name: 'Auth Module',
|
|
20
|
-
featureId: '#f1',
|
|
21
|
-
lifecycle: 'implementation',
|
|
22
|
-
state: 'running',
|
|
23
|
-
progress: 45,
|
|
24
|
-
repositoryPath: '/home/user/my-repo',
|
|
25
|
-
branch: 'feat/auth-module',
|
|
26
|
-
};
|
|
27
|
-
const runningData = {
|
|
28
|
-
name: 'Auth Module',
|
|
29
|
-
description: 'Implement OAuth2 authentication flow',
|
|
30
|
-
featureId: '#f1',
|
|
31
|
-
lifecycle: 'implementation',
|
|
32
|
-
state: 'running',
|
|
33
|
-
progress: 45,
|
|
34
|
-
agentType: 'claude-code',
|
|
35
|
-
repositoryPath: '/home/user/my-repo',
|
|
36
|
-
branch: 'feat/auth-module',
|
|
37
|
-
};
|
|
38
|
-
const actionRequiredData = {
|
|
39
|
-
name: 'API Rate Limiting',
|
|
40
|
-
description: 'Implement sliding window rate limiting for public endpoints',
|
|
41
|
-
featureId: '#bi1',
|
|
42
|
-
lifecycle: 'requirements',
|
|
43
|
-
state: 'action-required',
|
|
44
|
-
progress: 22,
|
|
45
|
-
repositoryPath: '/home/user/my-repo',
|
|
46
|
-
branch: 'feat/api-rate-limiting',
|
|
47
|
-
};
|
|
48
|
-
const doneData = {
|
|
49
|
-
name: 'Payment Gateway',
|
|
50
|
-
description: 'Stripe integration for subscriptions',
|
|
51
|
-
featureId: '#f3',
|
|
52
|
-
lifecycle: 'deploy',
|
|
53
|
-
state: 'done',
|
|
54
|
-
progress: 100,
|
|
55
|
-
runtime: '1h 42m',
|
|
56
|
-
repositoryPath: '/home/user/my-repo',
|
|
57
|
-
branch: 'feat/payment-gateway',
|
|
58
|
-
};
|
|
59
|
-
const blockedData = {
|
|
60
|
-
name: 'Search Index',
|
|
61
|
-
description: 'Elasticsearch full-text search setup',
|
|
62
|
-
featureId: '#f4',
|
|
63
|
-
lifecycle: 'implementation',
|
|
64
|
-
state: 'blocked',
|
|
65
|
-
progress: 20,
|
|
66
|
-
blockedBy: 'Auth Module',
|
|
67
|
-
repositoryPath: '/home/user/my-repo',
|
|
68
|
-
branch: 'feat/search-index',
|
|
69
|
-
};
|
|
70
|
-
const errorData = {
|
|
71
|
-
name: 'Email Service',
|
|
72
|
-
description: 'Transactional email with SendGrid',
|
|
73
|
-
featureId: '#f5',
|
|
74
|
-
lifecycle: 'review',
|
|
75
|
-
state: 'error',
|
|
76
|
-
progress: 30,
|
|
77
|
-
errorMessage: 'Build failed: type mismatch',
|
|
78
|
-
repositoryPath: '/home/user/my-repo',
|
|
79
|
-
branch: 'feat/email-service',
|
|
80
|
-
};
|
|
81
|
-
const reviewInProgressData = {
|
|
82
|
-
name: 'Auth Module',
|
|
83
|
-
description: 'Implement OAuth2 authentication flow',
|
|
84
|
-
featureId: '#f6',
|
|
85
|
-
lifecycle: 'review',
|
|
86
|
-
state: 'running',
|
|
87
|
-
progress: 0,
|
|
88
|
-
agentType: 'claude-code',
|
|
89
|
-
repositoryPath: '/home/user/my-repo',
|
|
90
|
-
branch: 'feat/auth-module',
|
|
91
|
-
pr: {
|
|
92
|
-
url: 'https://github.com/org/repo/pull/17',
|
|
93
|
-
number: 17,
|
|
94
|
-
status: PrStatus.Open,
|
|
95
|
-
},
|
|
96
|
-
};
|
|
97
|
-
/* ---------------------------------------------------------------------------
|
|
98
|
-
* Trigger wrapper — starts closed, click to open
|
|
99
|
-
* ------------------------------------------------------------------------- */
|
|
100
|
-
function DrawerTrigger({ data, label }) {
|
|
101
|
-
const [selected, setSelected] = useState(null);
|
|
102
|
-
return (_jsxs("div", { className: "flex h-screen items-start p-4", children: [_jsx(Button, { variant: "outline", onClick: () => setSelected(data), children: label }), _jsx(FeatureDrawer, { selectedNode: selected, onClose: () => setSelected(null) })] }));
|
|
103
|
-
}
|
|
104
|
-
/* ---------------------------------------------------------------------------
|
|
105
|
-
* Per-state stories
|
|
106
|
-
* ------------------------------------------------------------------------- */
|
|
107
|
-
/** Feature drawer rendered inside a full-page context — starts open. Primary story. */
|
|
108
|
-
export const Default = {
|
|
109
|
-
render: () => _jsx(FeatureDrawerShellTemplate, { data: runningData }),
|
|
110
|
-
};
|
|
111
|
-
export const Running = {
|
|
112
|
-
render: () => _jsx(DrawerTrigger, { data: runningData, label: "Open Running" }),
|
|
113
|
-
};
|
|
114
|
-
export const ActionRequired = {
|
|
115
|
-
render: () => _jsx(DrawerTrigger, { data: actionRequiredData, label: "Open Action Required" }),
|
|
116
|
-
};
|
|
117
|
-
export const Done = {
|
|
118
|
-
render: () => _jsx(DrawerTrigger, { data: doneData, label: "Open Done" }),
|
|
119
|
-
};
|
|
120
|
-
export const Blocked = {
|
|
121
|
-
render: () => _jsx(DrawerTrigger, { data: blockedData, label: "Open Blocked" }),
|
|
122
|
-
};
|
|
123
|
-
/** Review lifecycle + running state — matches the look/feel of review pending-action drawers. */
|
|
124
|
-
export const ReviewInProgress = {
|
|
125
|
-
render: () => _jsx(DrawerTrigger, { data: reviewInProgressData, label: "Open Review In Progress" }),
|
|
126
|
-
};
|
|
127
|
-
export const Error = {
|
|
128
|
-
render: () => _jsx(DrawerTrigger, { data: errorData, label: "Open Error" }),
|
|
129
|
-
};
|
|
130
|
-
/* ---------------------------------------------------------------------------
|
|
131
|
-
* Edge-case stories
|
|
132
|
-
* ------------------------------------------------------------------------- */
|
|
133
|
-
/** Minimal data — only required fields, no optional details section. */
|
|
134
|
-
export const MinimalData = {
|
|
135
|
-
render: () => _jsx(DrawerTrigger, { data: { ...baseData, progress: 0 }, label: "Open Minimal" }),
|
|
136
|
-
};
|
|
137
|
-
/** All optional fields populated — description, agent, runtime, blockedBy, error. */
|
|
138
|
-
export const AllFields = {
|
|
139
|
-
render: () => (_jsx(DrawerTrigger, { data: {
|
|
140
|
-
name: 'Enterprise Authentication Module',
|
|
141
|
-
description: 'Implement a comprehensive OAuth2 authentication flow with support for multiple identity providers including Google, GitHub, and custom SAML-based enterprise SSO.',
|
|
142
|
-
featureId: '#f99',
|
|
143
|
-
lifecycle: 'implementation',
|
|
144
|
-
state: 'running',
|
|
145
|
-
progress: 68,
|
|
146
|
-
agentType: 'cursor',
|
|
147
|
-
runtime: '3h 15m',
|
|
148
|
-
blockedBy: 'Database Migration',
|
|
149
|
-
errorMessage: 'Token refresh failed: invalid_grant',
|
|
150
|
-
repositoryPath: '/home/user/enterprise-app',
|
|
151
|
-
branch: 'feat/enterprise-auth',
|
|
152
|
-
}, label: "Open All Fields" })),
|
|
153
|
-
};
|
|
154
|
-
/* ---------------------------------------------------------------------------
|
|
155
|
-
* Matrix stories — interactive state/lifecycle switcher
|
|
156
|
-
* ------------------------------------------------------------------------- */
|
|
157
|
-
const creatingData = {
|
|
158
|
-
name: 'User Onboarding',
|
|
159
|
-
description: 'Implement guided onboarding wizard',
|
|
160
|
-
featureId: '',
|
|
161
|
-
lifecycle: 'requirements',
|
|
162
|
-
state: 'creating',
|
|
163
|
-
progress: 0,
|
|
164
|
-
repositoryPath: '/home/user/my-repo',
|
|
165
|
-
branch: '',
|
|
166
|
-
};
|
|
167
|
-
const stateFixtures = {
|
|
168
|
-
creating: creatingData,
|
|
169
|
-
running: runningData,
|
|
170
|
-
'action-required': actionRequiredData,
|
|
171
|
-
done: doneData,
|
|
172
|
-
blocked: blockedData,
|
|
173
|
-
error: errorData,
|
|
174
|
-
};
|
|
175
|
-
const allLifecycles = [
|
|
176
|
-
'requirements',
|
|
177
|
-
'research',
|
|
178
|
-
'implementation',
|
|
179
|
-
'review',
|
|
180
|
-
'deploy',
|
|
181
|
-
'maintain',
|
|
182
|
-
];
|
|
183
|
-
function AllStatesRender() {
|
|
184
|
-
const [state, setState] = useState('running');
|
|
185
|
-
const [selected, setSelected] = useState(null);
|
|
186
|
-
const _data = stateFixtures[state];
|
|
187
|
-
return (_jsxs("div", { className: "flex h-screen", children: [_jsxs("div", { className: "flex flex-col gap-2 p-4", children: [_jsx("span", { className: "text-muted-foreground mb-2 text-xs font-semibold tracking-wider uppercase", children: "Select state" }), Object.keys(stateFixtures).map((s) => (_jsx("button", { type: "button", onClick: () => {
|
|
188
|
-
setState(s);
|
|
189
|
-
setSelected(stateFixtures[s]);
|
|
190
|
-
}, className: `rounded-md px-3 py-1.5 text-left text-sm ${s === state ? 'bg-primary text-primary-foreground' : 'bg-muted hover:bg-muted/80'}`, children: s }, s)))] }), _jsx(FeatureDrawer, { selectedNode: selected, onClose: () => setSelected(null) })] }));
|
|
191
|
-
}
|
|
192
|
-
/** Cycle through all 5 states at a glance via buttons. */
|
|
193
|
-
export const AllStates = {
|
|
194
|
-
render: () => _jsx(AllStatesRender, {}),
|
|
195
|
-
};
|
|
196
|
-
function AllLifecyclesRender() {
|
|
197
|
-
const [lifecycle, setLifecycle] = useState('requirements');
|
|
198
|
-
const [selected, setSelected] = useState(null);
|
|
199
|
-
return (_jsxs("div", { className: "flex h-screen", children: [_jsxs("div", { className: "flex flex-col gap-2 p-4", children: [_jsx("span", { className: "text-muted-foreground mb-2 text-xs font-semibold tracking-wider uppercase", children: "Select phase" }), allLifecycles.map((phase) => (_jsx("button", { type: "button", onClick: () => {
|
|
200
|
-
setLifecycle(phase);
|
|
201
|
-
setSelected({
|
|
202
|
-
name: 'Feature Name',
|
|
203
|
-
description: `Currently in ${phase} phase`,
|
|
204
|
-
featureId: '#f1',
|
|
205
|
-
lifecycle: phase,
|
|
206
|
-
state: 'running',
|
|
207
|
-
progress: 50,
|
|
208
|
-
agentType: 'claude-code',
|
|
209
|
-
repositoryPath: '/home/user/my-repo',
|
|
210
|
-
branch: 'feat/feature-name',
|
|
211
|
-
});
|
|
212
|
-
}, className: `rounded-md px-3 py-1.5 text-left text-sm ${phase === lifecycle
|
|
213
|
-
? 'bg-primary text-primary-foreground'
|
|
214
|
-
: 'bg-muted hover:bg-muted/80'}`, children: phase }, phase)))] }), _jsx(FeatureDrawer, { selectedNode: selected, onClose: () => setSelected(null) })] }));
|
|
215
|
-
}
|
|
216
|
-
/** Cycle through all 6 lifecycle phases via buttons. */
|
|
217
|
-
export const AllLifecycles = {
|
|
218
|
-
render: () => _jsx(AllLifecyclesRender, {}),
|
|
219
|
-
};
|
|
220
|
-
/* ---------------------------------------------------------------------------
|
|
221
|
-
* Action button stories
|
|
222
|
-
* ------------------------------------------------------------------------- */
|
|
223
|
-
/** No repositoryPath — action buttons are hidden. */
|
|
224
|
-
export const NoRepositoryPath = {
|
|
225
|
-
render: () => (_jsx(DrawerTrigger, { data: { ...baseData, repositoryPath: '', branch: '' }, label: "Open Without Repo Path" })),
|
|
226
|
-
};
|
|
227
|
-
/**
|
|
228
|
-
* Action buttons visible — click "Open in IDE" or "Open in Shell" to see
|
|
229
|
-
* loading spinner (while API call is in flight) followed by error state
|
|
230
|
-
* (API routes are not available in Storybook).
|
|
231
|
-
*/
|
|
232
|
-
export const WithActionButtons = {
|
|
233
|
-
render: () => _jsx(DrawerTrigger, { data: runningData, label: "Open With Actions" }),
|
|
234
|
-
};
|
|
235
|
-
/* ---------------------------------------------------------------------------
|
|
236
|
-
* Delete stories
|
|
237
|
-
* ------------------------------------------------------------------------- */
|
|
238
|
-
function noop() {
|
|
239
|
-
// intentional no-op for stories
|
|
240
|
-
}
|
|
241
|
-
function DrawerTriggerWithDelete({ data, label, isDeleting = false, }) {
|
|
242
|
-
const [selected, setSelected] = useState(null);
|
|
243
|
-
return (_jsxs("div", { className: "flex h-screen items-start p-4", children: [_jsx(Button, { variant: "outline", onClick: () => setSelected(data), children: label }), _jsx(FeatureDrawer, { selectedNode: selected, onClose: () => setSelected(null), onDelete: noop, isDeleting: isDeleting })] }));
|
|
244
|
-
}
|
|
245
|
-
/** FeatureDrawer with a delete icon button in the header. */
|
|
246
|
-
export const WithDeleteButton = {
|
|
247
|
-
render: () => _jsx(DrawerTriggerWithDelete, { data: doneData, label: "Open With Delete" }),
|
|
248
|
-
};
|
|
249
|
-
/** FeatureDrawer showing the delete button in loading/disabled state. */
|
|
250
|
-
export const DeletingState = {
|
|
251
|
-
render: () => _jsx(DrawerTriggerWithDelete, { data: doneData, label: "Open Deleting State", isDeleting: true }),
|
|
252
|
-
};
|
|
253
|
-
/** FeatureDrawer with a running agent showing the running-agent warning in the AlertDialog. */
|
|
254
|
-
export const DeleteRunningAgent = {
|
|
255
|
-
render: () => _jsx(DrawerTriggerWithDelete, { data: runningData, label: "Open Running Agent Delete" }),
|
|
256
|
-
};
|
|
257
|
-
/* ---------------------------------------------------------------------------
|
|
258
|
-
* PR info stories
|
|
259
|
-
* ------------------------------------------------------------------------- */
|
|
260
|
-
const doneWithPrData = {
|
|
261
|
-
...doneData,
|
|
262
|
-
pr: {
|
|
263
|
-
url: 'https://github.com/org/repo/pull/42',
|
|
264
|
-
number: 42,
|
|
265
|
-
status: PrStatus.Merged,
|
|
266
|
-
ciStatus: CiStatus.Success,
|
|
267
|
-
commitHash: 'abc1234567890def',
|
|
268
|
-
},
|
|
269
|
-
};
|
|
270
|
-
const doneWithPartialPrData = {
|
|
271
|
-
...doneData,
|
|
272
|
-
pr: {
|
|
273
|
-
url: 'https://github.com/org/repo/pull/99',
|
|
274
|
-
number: 99,
|
|
275
|
-
status: PrStatus.Merged,
|
|
276
|
-
},
|
|
277
|
-
};
|
|
278
|
-
/** Done feature with full PR card — number, status, CI, commit hash. */
|
|
279
|
-
export const DoneWithPr = {
|
|
280
|
-
render: () => _jsx(DrawerTrigger, { data: doneWithPrData, label: "Open Done + PR" }),
|
|
281
|
-
};
|
|
282
|
-
/** Done feature with partial PR data — no CI status, no commit hash. */
|
|
283
|
-
export const DoneWithPartialPr = {
|
|
284
|
-
render: () => _jsx(DrawerTrigger, { data: doneWithPartialPrData, label: "Open Done + Partial PR" }),
|
|
285
|
-
};
|
|
286
|
-
/** PR with Open status — blue badge. */
|
|
287
|
-
export const PrStatusOpen = {
|
|
288
|
-
render: () => (_jsx(DrawerTrigger, { data: {
|
|
289
|
-
...doneWithPrData,
|
|
290
|
-
pr: { ...doneWithPrData.pr, status: PrStatus.Open, ciStatus: CiStatus.Pending },
|
|
291
|
-
}, label: "Open PR Status: Open" })),
|
|
292
|
-
};
|
|
293
|
-
/** PR with Merged status — purple badge. */
|
|
294
|
-
export const PrStatusMerged = {
|
|
295
|
-
render: () => _jsx(DrawerTrigger, { data: doneWithPrData, label: "Open PR Status: Merged" }),
|
|
296
|
-
};
|
|
297
|
-
/* ---------------------------------------------------------------------------
|
|
298
|
-
* In-drawer story — full page context, starts open
|
|
299
|
-
* ------------------------------------------------------------------------- */
|
|
300
|
-
function FeatureDrawerShellTemplate({ data }) {
|
|
301
|
-
const [selected, setSelected] = useState(data);
|
|
302
|
-
return (_jsxs("div", { style: { height: '100vh', background: '#f8fafc', padding: '2rem' }, children: [_jsx("button", { type: "button", onClick: () => setSelected(data), style: { padding: '8px 16px', border: '1px solid #ccc', borderRadius: '6px' }, children: "Open Drawer" }), _jsx(FeatureDrawer, { selectedNode: selected, onClose: () => setSelected(null) })] }));
|
|
303
|
-
}
|
|
304
|
-
/** Feature drawer rendered inside a full-page context — starts open. */
|
|
305
|
-
export const InDrawer = {
|
|
306
|
-
render: () => _jsx(FeatureDrawerShellTemplate, { data: runningData }),
|
|
307
|
-
};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { MergeReviewDrawerProps } from './merge-review-config.js';
|
|
2
|
-
export declare function MergeReviewDrawer({ open, onClose, featureName, featureId, repositoryPath, branch, specPath, onDelete, isDeleting, data, ...reviewProps }: MergeReviewDrawerProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
-
//# sourceMappingURL=merge-review-drawer.d.ts.map
|
package/dist/src/presentation/web/components/common/merge-review/merge-review-drawer.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"merge-review-drawer.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/merge-review/merge-review-drawer.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,OAAO,EACP,WAAW,EACX,SAAS,EACT,cAAc,EACd,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,GAAG,WAAW,EACf,EAAE,sBAAsB,2CAsBxB"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { Loader2 } from 'lucide-react';
|
|
4
|
-
import { ReviewDrawerShell } from '../../common/review-drawer-shell/index.js';
|
|
5
|
-
import { MergeReview } from './merge-review.js';
|
|
6
|
-
export function MergeReviewDrawer({ open, onClose, featureName, featureId, repositoryPath, branch, specPath, onDelete, isDeleting, data, ...reviewProps }) {
|
|
7
|
-
return (_jsx(ReviewDrawerShell, { open: open, onClose: onClose, featureName: featureName, featureId: featureId, repositoryPath: repositoryPath, branch: branch, specPath: specPath, onDelete: onDelete, isDeleting: isDeleting, children: data ? (_jsx(MergeReview, { data: data, ...reviewProps })) : (_jsx("div", { className: "flex items-center justify-center p-8", children: _jsx(Loader2, { className: "text-muted-foreground h-6 w-6 animate-spin" }) })) }));
|
|
8
|
-
}
|
package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-drawer.d.ts
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { PrdQuestionnaireDrawerProps } from './prd-questionnaire-config.js';
|
|
2
|
-
export declare function PrdQuestionnaireDrawer({ open, onClose, featureName, featureDescription, featureId, repositoryPath, branch, specPath, onDelete, isDeleting, data, ...questionnaireProps }: PrdQuestionnaireDrawerProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
-
//# sourceMappingURL=prd-questionnaire-drawer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prd-questionnaire-drawer.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-drawer.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAE9E,wBAAgB,sBAAsB,CAAC,EACrC,IAAI,EACJ,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,GAAG,kBAAkB,EACtB,EAAE,2BAA2B,2CAuB7B"}
|
package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-drawer.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { Loader2 } from 'lucide-react';
|
|
4
|
-
import { ReviewDrawerShell } from '../../common/review-drawer-shell/index.js';
|
|
5
|
-
import { PrdQuestionnaire } from './prd-questionnaire.js';
|
|
6
|
-
export function PrdQuestionnaireDrawer({ open, onClose, featureName, featureDescription, featureId, repositoryPath, branch, specPath, onDelete, isDeleting, data, ...questionnaireProps }) {
|
|
7
|
-
return (_jsx(ReviewDrawerShell, { open: open, onClose: onClose, featureName: featureName, featureDescription: featureDescription, featureId: featureId, repositoryPath: repositoryPath, branch: branch, specPath: specPath, onDelete: onDelete, isDeleting: isDeleting, children: data ? (_jsx(PrdQuestionnaire, { data: data, ...questionnaireProps })) : (_jsx("div", { className: "flex items-center justify-center p-8", children: _jsx(Loader2, { className: "text-muted-foreground h-6 w-6 animate-spin" }) })) }));
|
|
8
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/review-drawer-shell/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { ReviewDrawerShell } from './review-drawer-shell.js';
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
export interface ReviewDrawerShellProps {
|
|
3
|
-
/** Whether the drawer is open */
|
|
4
|
-
open: boolean;
|
|
5
|
-
/** Callback when drawer should close */
|
|
6
|
-
onClose: () => void;
|
|
7
|
-
/** Feature name shown in drawer header */
|
|
8
|
-
featureName: string;
|
|
9
|
-
/** Short description shown below the feature name */
|
|
10
|
-
featureDescription?: string;
|
|
11
|
-
/** Feature ID shown below the name (sr-only) */
|
|
12
|
-
featureId?: string;
|
|
13
|
-
/** Absolute path to the repository on disk */
|
|
14
|
-
repositoryPath?: string;
|
|
15
|
-
/** Git branch name for this feature */
|
|
16
|
-
branch?: string;
|
|
17
|
-
/** Absolute path to the specs folder on disk */
|
|
18
|
-
specPath?: string;
|
|
19
|
-
/** Callback to delete the feature — shows inline delete button when provided */
|
|
20
|
-
onDelete?: (featureId: string) => void;
|
|
21
|
-
/** Whether a delete operation is in progress */
|
|
22
|
-
isDeleting?: boolean;
|
|
23
|
-
/** Drawer body content */
|
|
24
|
-
children: ReactNode;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=review-drawer-shell-config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review-drawer-shell-config.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/review-drawer-shell/review-drawer-shell-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,wCAAwC;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0BAA0B;IAC1B,QAAQ,EAAE,SAAS,CAAC;CACrB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.d.ts
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { ReviewDrawerShellProps } from './review-drawer-shell-config.js';
|
|
2
|
-
export declare function ReviewDrawerShell({ open, onClose, featureName, featureDescription, featureId, repositoryPath, branch, specPath, onDelete, isDeleting, children, }: ReviewDrawerShellProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
-
//# sourceMappingURL=review-drawer-shell.d.ts.map
|
package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review-drawer-shell.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAE3E,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAQ,GACT,EAAE,sBAAsB,2CA0HxB"}
|
package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { useCallback } from 'react';
|
|
4
|
-
import { Loader2, Trash2, Play, Square } from 'lucide-react';
|
|
5
|
-
import { BaseDrawer } from '../../common/base-drawer/index.js';
|
|
6
|
-
import { DrawerTitle, DrawerDescription } from '../../ui/drawer.js';
|
|
7
|
-
import { Button } from '../../ui/button.js';
|
|
8
|
-
import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, } from '../../ui/alert-dialog.js';
|
|
9
|
-
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../../ui/tooltip.js';
|
|
10
|
-
import { OpenActionMenu } from '../../common/open-action-menu/index.js';
|
|
11
|
-
import { ActionButton } from '../../common/action-button/index.js';
|
|
12
|
-
import { useFeatureActions } from '../../common/feature-drawer/use-feature-actions.js';
|
|
13
|
-
import { DeploymentStatusBadge } from '../../common/deployment-status-badge/index.js';
|
|
14
|
-
import { useDeployAction } from '../../../hooks/use-deploy-action.js';
|
|
15
|
-
import { useFeatureFlags } from '../../../hooks/feature-flags-context.js';
|
|
16
|
-
export function ReviewDrawerShell({ open, onClose, featureName, featureDescription, featureId, repositoryPath, branch, specPath, onDelete, isDeleting, children, }) {
|
|
17
|
-
const featureFlags = useFeatureFlags();
|
|
18
|
-
const handleClose = useCallback(() => {
|
|
19
|
-
onClose();
|
|
20
|
-
}, [onClose]);
|
|
21
|
-
const actionsInput = repositoryPath && branch ? { repositoryPath, branch, specPath } : null;
|
|
22
|
-
const actions = useFeatureActions(actionsInput);
|
|
23
|
-
const deployTargetInput = featureId && repositoryPath && branch
|
|
24
|
-
? { targetId: featureId, targetType: 'feature', repositoryPath, branch }
|
|
25
|
-
: null;
|
|
26
|
-
const deployAction = useDeployAction(deployTargetInput);
|
|
27
|
-
const isDeploymentActive = deployAction.status === 'Booting' || deployAction.status === 'Ready';
|
|
28
|
-
return (_jsx(BaseDrawer, { open: open, onClose: handleClose, size: "md", modal: false, "data-testid": "review-drawer", header: _jsxs(_Fragment, { children: [_jsxs("div", { "data-testid": "feature-drawer-header", children: [_jsx(DrawerTitle, { children: featureName }), featureDescription ? (_jsx(DrawerDescription, { children: featureDescription })) : featureId ? (_jsx(DrawerDescription, { className: "sr-only", children: featureId })) : null] }), actionsInput ? (_jsxs("div", { className: "flex items-center gap-2 pt-2", children: [_jsx(OpenActionMenu, { actions: actions, repositoryPath: actionsInput.repositoryPath, showSpecs: !!specPath }), featureFlags.envDeploy && deployTargetInput ? (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("span", { children: _jsx(ActionButton, { label: isDeploymentActive ? 'Stop Dev Server' : 'Start Dev Server', onClick: isDeploymentActive ? deployAction.stop : deployAction.deploy, loading: deployAction.deployLoading || deployAction.stopLoading, error: !!deployAction.deployError, icon: isDeploymentActive ? Square : Play, iconOnly: true, variant: "outline", size: "icon-sm" }) }) }), _jsx(TooltipContent, { children: isDeploymentActive ? 'Stop Dev Server' : 'Start Dev Server' })] }) })) : null, featureFlags.envDeploy && isDeploymentActive ? (_jsx(DeploymentStatusBadge, { status: deployAction.status, url: deployAction.url })) : null, onDelete && featureId ? (_jsxs(AlertDialog, { children: [_jsx(AlertDialogTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon-sm", "aria-label": "Delete feature", disabled: isDeleting, className: "text-muted-foreground hover:text-destructive ml-auto", "data-testid": "review-drawer-delete", children: isDeleting ? (_jsx(Loader2, { className: "size-4 animate-spin" })) : (_jsx(Trash2, { className: "size-4" })) }) }), _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: "Delete feature?" }), _jsxs(AlertDialogDescription, { children: ["This will permanently delete ", _jsx("strong", { children: featureName }), " (", featureId, "). This action cannot be undone."] })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { disabled: isDeleting, children: "Cancel" }), _jsx(AlertDialogAction, { variant: "destructive", disabled: isDeleting, onClick: () => onDelete(featureId), children: isDeleting ? (_jsxs(_Fragment, { children: [_jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }), "Deleting\u2026"] })) : ('Delete') })] })] })] })) : null] })) : null] }), children: children }));
|
|
29
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import { ReviewDrawerShell } from './review-drawer-shell.js';
|
|
3
|
-
declare const meta: Meta<typeof ReviewDrawerShell>;
|
|
4
|
-
export default meta;
|
|
5
|
-
type Story = StoryObj<typeof ReviewDrawerShell>;
|
|
6
|
-
/** Default shell with action buttons. */
|
|
7
|
-
export declare const Default: Story;
|
|
8
|
-
/** Shell with inline delete button. */
|
|
9
|
-
export declare const WithDelete: Story;
|
|
10
|
-
/** Shell with delete in progress. */
|
|
11
|
-
export declare const DeletingState: Story;
|
|
12
|
-
/** Shell without action buttons (no repositoryPath). */
|
|
13
|
-
export declare const NoActions: Story;
|
|
14
|
-
//# sourceMappingURL=review-drawer-shell.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review-drawer-shell.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,iBAAiB,CAOxC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAyBhD,yCAAyC;AACzC,eAAO,MAAM,OAAO,EAAE,KAWrB,CAAC;AAEF,uCAAuC;AACvC,eAAO,MAAM,UAAU,EAAE,KAWxB,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,aAAa,EAAE,KAW3B,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,SAAS,EAAE,KAEvB,CAAC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
import { fn } from '@storybook/test';
|
|
4
|
-
import { ReviewDrawerShell } from './review-drawer-shell.js';
|
|
5
|
-
const meta = {
|
|
6
|
-
title: 'Drawers/Review/ReviewDrawerShell',
|
|
7
|
-
component: ReviewDrawerShell,
|
|
8
|
-
tags: ['autodocs'],
|
|
9
|
-
parameters: {
|
|
10
|
-
layout: 'fullscreen',
|
|
11
|
-
},
|
|
12
|
-
};
|
|
13
|
-
export default meta;
|
|
14
|
-
function ShellTemplate(props) {
|
|
15
|
-
const [open, setOpen] = useState(true);
|
|
16
|
-
return (_jsxs("div", { style: { height: '100vh', background: '#f8fafc', padding: '2rem' }, children: [_jsx("button", { type: "button", onClick: () => setOpen(true), style: { padding: '8px 16px', border: '1px solid #ccc', borderRadius: '6px' }, children: "Open Drawer" }), _jsx(ReviewDrawerShell, { ...props, open: open, onClose: () => setOpen(false), children: _jsx("div", { className: "flex flex-1 items-center justify-center p-8", children: _jsx("p", { className: "text-muted-foreground text-sm", children: "Review content goes here" }) }) })] }));
|
|
17
|
-
}
|
|
18
|
-
/** Default shell with action buttons. */
|
|
19
|
-
export const Default = {
|
|
20
|
-
render: () => (_jsx(ShellTemplate, { featureName: "User Authentication Flow", featureDescription: "Implement OAuth2 login with social providers and MFA support", featureId: "FEAT-042", repositoryPath: "/Users/dev/my-project", branch: "feat/auth-flow", specPath: "/Users/dev/my-project/specs/042-auth-flow" })),
|
|
21
|
-
};
|
|
22
|
-
/** Shell with inline delete button. */
|
|
23
|
-
export const WithDelete = {
|
|
24
|
-
render: () => (_jsx(ShellTemplate, { featureName: "User Authentication Flow", featureId: "FEAT-042", repositoryPath: "/Users/dev/my-project", branch: "feat/auth-flow", specPath: "/Users/dev/my-project/specs/042-auth-flow", onDelete: fn().mockName('onDelete') })),
|
|
25
|
-
};
|
|
26
|
-
/** Shell with delete in progress. */
|
|
27
|
-
export const DeletingState = {
|
|
28
|
-
render: () => (_jsx(ShellTemplate, { featureName: "User Authentication Flow", featureId: "FEAT-042", repositoryPath: "/Users/dev/my-project", branch: "feat/auth-flow", onDelete: fn().mockName('onDelete'), isDeleting: true })),
|
|
29
|
-
};
|
|
30
|
-
/** Shell without action buttons (no repositoryPath). */
|
|
31
|
-
export const NoActions = {
|
|
32
|
-
render: () => _jsx(ShellTemplate, { featureName: "Standalone Feature", featureId: "FEAT-001" }),
|
|
33
|
-
};
|
package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-drawer.d.ts
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { TechDecisionsDrawerProps } from './tech-decisions-review-config.js';
|
|
2
|
-
export declare function TechDecisionsDrawer({ open, onClose, featureName, featureId, repositoryPath, branch, specPath, onDelete, isDeleting, data, ...reviewProps }: TechDecisionsDrawerProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
-
//# sourceMappingURL=tech-decisions-drawer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tech-decisions-drawer.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/tech-decisions-review/tech-decisions-drawer.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE/E,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,OAAO,EACP,WAAW,EACX,SAAS,EACT,cAAc,EACd,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,GAAG,WAAW,EACf,EAAE,wBAAwB,2CAsB1B"}
|
package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-drawer.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { Loader2 } from 'lucide-react';
|
|
4
|
-
import { ReviewDrawerShell } from '../../common/review-drawer-shell/index.js';
|
|
5
|
-
import { TechDecisionsReview } from './tech-decisions-review.js';
|
|
6
|
-
export function TechDecisionsDrawer({ open, onClose, featureName, featureId, repositoryPath, branch, specPath, onDelete, isDeleting, data, ...reviewProps }) {
|
|
7
|
-
return (_jsx(ReviewDrawerShell, { open: open, onClose: onClose, featureName: featureName, featureId: featureId, repositoryPath: repositoryPath, branch: branch, specPath: specPath, onDelete: onDelete, isDeleting: isDeleting, children: data ? (_jsx(TechDecisionsReview, { data: data, ...reviewProps })) : (_jsx("div", { className: "flex items-center justify-center p-8", children: _jsx(Loader2, { className: "text-muted-foreground h-6 w-6 animate-spin" }) })) }));
|
|
8
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/tech-review-tabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { TechReviewTabs } from './tech-review-tabs.js';
|
package/dist/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs-config.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { TechDecisionsReviewData } from '../../common/tech-decisions-review/index.js';
|
|
2
|
-
import type { ProductDecisionsSummaryData } from '../../common/product-decisions-summary/index.js';
|
|
3
|
-
export interface TechReviewTabsProps {
|
|
4
|
-
/** Tech decisions data from the research artifact */
|
|
5
|
-
techData: TechDecisionsReviewData;
|
|
6
|
-
/** Product decisions data — null while loading, undefined if unavailable */
|
|
7
|
-
productData?: ProductDecisionsSummaryData | null;
|
|
8
|
-
/** Approve plan callback */
|
|
9
|
-
onApprove: () => void;
|
|
10
|
-
/** Reject plan callback */
|
|
11
|
-
onReject?: (feedback: string) => void;
|
|
12
|
-
/** Controls disabled state during loading */
|
|
13
|
-
isProcessing?: boolean;
|
|
14
|
-
/** Whether a reject operation is in flight */
|
|
15
|
-
isRejecting?: boolean;
|
|
16
|
-
/** Controlled chat input for the revision input. */
|
|
17
|
-
chatInput?: string;
|
|
18
|
-
/** Handler for chat input changes. */
|
|
19
|
-
onChatInputChange?: (value: string) => void;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=tech-review-tabs-config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tech-review-tabs-config.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/tech-review-tabs/tech-review-tabs-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAEjG,MAAM,WAAW,mBAAmB;IAClC,qDAAqD;IACrD,QAAQ,EAAE,uBAAuB,CAAC;IAClC,4EAA4E;IAC5E,WAAW,CAAC,EAAE,2BAA2B,GAAG,IAAI,CAAC;IACjD,4BAA4B;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,6CAA6C;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C"}
|
package/dist/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs-config.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { TechReviewTabsProps } from './tech-review-tabs-config.js';
|
|
2
|
-
export declare function TechReviewTabs({ techData, productData, onApprove, onReject, isProcessing, isRejecting, chatInput, onChatInputChange, }: TechReviewTabsProps): import("react/jsx-runtime").JSX.Element | null;
|
|
3
|
-
//# sourceMappingURL=tech-review-tabs.d.ts.map
|
package/dist/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tech-review-tabs.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/tech-review-tabs/tech-review-tabs.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAoB,EACpB,WAAmB,EACnB,SAAS,EACT,iBAAiB,GAClB,EAAE,mBAAmB,kDA6CrB"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { Check, Loader2 } from 'lucide-react';
|
|
4
|
-
import { Tabs, TabsContent, TabsList, TabsTrigger } from '../../ui/tabs.js';
|
|
5
|
-
import { DrawerActionBar } from '../../common/drawer-action-bar/index.js';
|
|
6
|
-
import { TechDecisionsContent } from '../../common/tech-decisions-review/index.js';
|
|
7
|
-
import { ProductDecisionsSummary } from '../../common/product-decisions-summary/index.js';
|
|
8
|
-
export function TechReviewTabs({ techData, productData, onApprove, onReject, isProcessing = false, isRejecting = false, chatInput, onChatInputChange, }) {
|
|
9
|
-
if (techData.decisions.length === 0)
|
|
10
|
-
return null;
|
|
11
|
-
return (_jsxs("div", { className: "flex min-h-0 flex-1 flex-col", children: [_jsxs(Tabs, { defaultValue: "technical", className: "flex min-h-0 flex-1 flex-col", children: [_jsx("div", { className: "shrink-0 px-4 pt-4", children: _jsxs(TabsList, { className: "grid w-full grid-cols-2", children: [_jsx(TabsTrigger, { value: "product", children: "Product" }), _jsx(TabsTrigger, { value: "technical", children: "Technical" })] }) }), _jsx(TabsContent, { value: "product", className: "mt-0 flex-1 overflow-y-auto", children: productData === null ? (_jsx("div", { className: "flex items-center justify-center p-8", "data-testid": "product-loading", children: _jsx(Loader2, { className: "text-muted-foreground h-6 w-6 animate-spin" }) })) : productData ? (_jsx(ProductDecisionsSummary, { data: productData })) : (_jsx("p", { className: "text-muted-foreground p-4 text-center text-sm", children: "No product decisions available." })) }), _jsx(TabsContent, { value: "technical", className: "mt-0 flex-1 overflow-y-auto", children: _jsx(TechDecisionsContent, { data: techData }) })] }), _jsx(DrawerActionBar, { onReject: onReject, onApprove: onApprove, approveLabel: "Approve Plan", approveIcon: _jsx(Check, { className: "mr-1.5 h-4 w-4" }), revisionPlaceholder: "Ask AI to revise the plan...", isProcessing: isProcessing, isRejecting: isRejecting, chatInput: chatInput, onChatInputChange: onChatInputChange })] }));
|
|
12
|
-
}
|
package/dist/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs.stories.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import { TechReviewTabs } from './tech-review-tabs.js';
|
|
3
|
-
declare const meta: Meta<typeof TechReviewTabs>;
|
|
4
|
-
export default meta;
|
|
5
|
-
type Story = StoryObj<typeof TechReviewTabs>;
|
|
6
|
-
/** Default — both tabs with data, Technical tab active. */
|
|
7
|
-
export declare const Default: Story;
|
|
8
|
-
/** Product data loading — spinner in the Product tab. */
|
|
9
|
-
export declare const ProductDataLoading: Story;
|
|
10
|
-
/** Product data unavailable — fallback message in the Product tab. */
|
|
11
|
-
export declare const ProductDataUnavailable: Story;
|
|
12
|
-
/** Processing state — approve button disabled. */
|
|
13
|
-
export declare const Processing: Story;
|
|
14
|
-
/** Rejecting state — reject input disabled. */
|
|
15
|
-
export declare const Rejecting: Story;
|
|
16
|
-
//# sourceMappingURL=tech-review-tabs.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tech-review-tabs.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/tech-review-tabs/tech-review-tabs.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AA0DpD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CAcrC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAC;AAE7C,2DAA2D;AAC3D,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,kBAAkB,EAAE,KAOhC,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,sBAAsB,EAAE,KAOpC,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,UAAU,EAAE,KAOxB,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,SAAS,EAAE,KAQvB,CAAC"}
|