@shepai/cli 1.98.0 → 1.99.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apis/json-schema/Evidence.yaml +25 -0
- package/apis/json-schema/EvidenceType.yaml +9 -0
- package/apis/json-schema/WorkflowConfig.yaml +10 -0
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +2 -0
- package/dist/packages/core/src/domain/generated/output.d.ts +39 -0
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/domain/generated/output.js +7 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +2 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +5 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.js +14 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +7 -3
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts +12 -5
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.js +9 -8
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +18 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.js +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/evidence-output-parser.d.ts +15 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/evidence-output-parser.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/evidence-output-parser.js +48 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/evidence.node.d.ts +28 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/evidence.node.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/evidence.node.js +98 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/fast-implement.node.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/fast-implement.node.js +69 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/implement.node.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/implement.node.js +68 -3
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.js +5 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/evidence-prompts.d.ts +19 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/evidence-prompts.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/evidence-prompts.js +197 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.d.ts +17 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.js +72 -2
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts +2 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.js +5 -0
- package/dist/src/presentation/web/app/actions/get-merge-review-data.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/get-merge-review-data.js +36 -3
- package/dist/src/presentation/web/app/actions/get-workflow-defaults.d.ts +2 -0
- package/dist/src/presentation/web/app/actions/get-workflow-defaults.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/get-workflow-defaults.js +2 -0
- package/dist/src/presentation/web/app/api/evidence/route.d.ts +8 -0
- package/dist/src/presentation/web/app/api/evidence/route.d.ts.map +1 -0
- package/dist/src/presentation/web/app/api/evidence/route.js +50 -0
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts +2 -0
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +27 -3
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +2 -0
- package/dist/src/presentation/web/components/common/merge-review/merge-review-config.d.ts +12 -0
- package/dist/src/presentation/web/components/common/merge-review/merge-review-config.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/merge-review/merge-review.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/merge-review/merge-review.js +63 -3
- package/dist/src/presentation/web/components/common/merge-review/merge-review.stories.d.ts +2 -0
- 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 +38 -0
- package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.js +27 -5
- package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts +1 -0
- package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.js +14 -0
- package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.js +6 -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 +2 -2
- package/web/.next/required-server-files.json +2 -2
- package/web/.next/routes-manifest.json +6 -0
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +20 -20
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +25 -25
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +25 -25
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +18 -18
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +20 -20
- package/web/.next/server/app/(dashboard)/create/page.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +25 -25
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +25 -25
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +18 -18
- package/web/.next/server/app/(dashboard)/page.js +1 -1
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +18 -18
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error/page.js +1 -1
- package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/web/.next/server/app/_global-error/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.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/api/attachments/preview/route.js +1 -1
- package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
- package/web/.next/server/app/api/attachments/upload-from-path/route.js +1 -1
- package/web/.next/server/app/api/attachments/upload-from-path/route.js.nft.json +1 -1
- package/web/.next/server/app/api/evidence/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/api/evidence/route/build-manifest.json +11 -0
- package/web/.next/server/app/api/evidence/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/api/evidence/route.js +7 -0
- package/web/.next/server/app/api/evidence/route.js.map +5 -0
- package/web/.next/server/app/api/evidence/route.js.nft.json +1 -0
- package/web/.next/server/app/api/evidence/route_client-reference-manifest.js +2 -0
- package/web/.next/server/app/api/feature-logs/route.js +1 -1
- package/web/.next/server/app/api/feature-logs/route.js.nft.json +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +5 -5
- package/web/.next/server/app/settings/page.js +1 -1
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/skills/page.js +1 -1
- package/web/.next/server/app/skills/page.js.nft.json +1 -1
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/tools/page.js +1 -1
- package/web/.next/server/app/tools/page.js.nft.json +1 -1
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/version/page.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-paths-manifest.json +1 -0
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__7d63f9a4._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__7d63f9a4._.js.map +1 -0
- package/web/.next/server/chunks/{[root-of-the-server]__52c318d1._.js → [root-of-the-server]__91d44424._.js} +2 -2
- package/web/.next/server/chunks/[root-of-the-server]__a1c7c02a._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__a1c7c02a._.js.map +1 -0
- package/web/.next/server/chunks/{[root-of-the-server]__a5879003._.js → [root-of-the-server]__db04ed44._.js} +2 -2
- package/web/.next/server/chunks/b1a17_presentation_web__next-internal_server_app_api_evidence_route_actions_38aa6e60.js +3 -0
- package/web/.next/server/chunks/b1a17_presentation_web__next-internal_server_app_api_evidence_route_actions_38aa6e60.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_c757eb00.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_c757eb00.js.map +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_7eb49631.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_7eb49631.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]__19fb0bfe._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__19fb0bfe._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__8d9536c4._.js → [root-of-the-server]__248ee887._.js} +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__24dd0927._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3d6f6b0e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3d6f6b0e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__42020c54._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__42020c54._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4af0afe0._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__845a9d2a._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__845a9d2a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__89e8a5cc._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__89e8a5cc._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__f8210f45._.js → [root-of-the-server]__9bc1434f._.js} +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9cb60e1e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9cb60e1e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +2 -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]__f1a05100._.js → [root-of-the-server]__b062b383._.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/_135edb9c._.js +1 -1
- package/web/.next/server/chunks/ssr/_135edb9c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1bb131c4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_1718c38f._.js → _3fafea0f._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_1718c38f._.js.map → _3fafea0f._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_5e112f82._.js → _60e203af._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_5e112f82._.js.map → _60e203af._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_6a83bd29._.js +3 -0
- package/web/.next/server/chunks/ssr/{7f428_lucide-react_dist_esm_icons_2b65878f._.js.map → _6a83bd29._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_6e08ce21._.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/{_17237ac7._.js → _cb93a788._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_17237ac7._.js.map → _cb93a788._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_cc77a143._.js +1 -1
- package/web/.next/server/chunks/ssr/_cc77a143._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_eca4aa07._.js +3 -0
- package/web/.next/server/chunks/ssr/{_b6866f30._.js.map → _eca4aa07._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_3c53a23d._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_3c53a23d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_befd865a.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_befd865a.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_components_bf50c527._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ec8c7a4f._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_ec8c7a4f._.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 +30 -30
- package/web/.next/static/chunks/{d95cd4b81c8d7580.js → 133cef90b3975d8f.js} +1 -1
- package/web/.next/static/chunks/{9284ea43640fc469.js → 17c31f43cf41eda4.js} +1 -1
- package/web/.next/static/chunks/{3418f7926955f058.js → 24e64b7a634794ad.js} +1 -1
- package/web/.next/static/chunks/{feb21651203a4855.js → 356b41f959ceb6dc.js} +1 -1
- package/web/.next/static/chunks/{550b849dcc7c1df1.js → 43ac66e5699a245a.js} +1 -1
- package/web/.next/static/chunks/4d4019cbe85eaedc.css +1 -0
- package/web/.next/static/chunks/{550acf01d8003f3a.js → 6b3282453b0bdc6e.js} +1 -1
- package/web/.next/static/chunks/71f3fb72d47e709b.js +1 -0
- package/web/.next/static/chunks/761b0946d122beec.js +1 -0
- package/web/.next/static/chunks/{5dc83c75c3acefb3.js → d1f5da71a9abf369.js} +1 -1
- package/web/.next/static/chunks/{bd6df3bba696a007.js → e01c63f00ba7ec95.js} +2 -2
- package/web/.next/static/chunks/e24a024affc634d9.js +1 -0
- package/web/.next/static/chunks/e7d1e440160f9fc2.js +2 -0
- package/web/.next/server/chunks/[root-of-the-server]__0b10355c._.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__0b10355c._.js.map +0 -1
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_2b65878f._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b65f78cf._.js +0 -3
- package/web/.next/server/chunks/ssr/_b6866f30._.js +0 -3
- package/web/.next/static/chunks/197b047efa3501c8.js +0 -1
- package/web/.next/static/chunks/71d785d1de4b86f6.css +0 -1
- package/web/.next/static/chunks/8a3eff27cccf331f.js +0 -1
- package/web/.next/static/chunks/8bd300e88a189928.js +0 -1
- package/web/.next/static/chunks/f7794f1941c8c867.js +0 -1
- /package/web/.next/server/chunks/{[root-of-the-server]__52c318d1._.js.map → [root-of-the-server]__91d44424._.js.map} +0 -0
- /package/web/.next/server/chunks/{[root-of-the-server]__a5879003._.js.map → [root-of-the-server]__db04ed44._.js.map} +0 -0
- /package/web/.next/server/chunks/ssr/{[root-of-the-server]__8d9536c4._.js.map → [root-of-the-server]__248ee887._.js.map} +0 -0
- /package/web/.next/server/chunks/ssr/{[root-of-the-server]__b65f78cf._.js.map → [root-of-the-server]__4af0afe0._.js.map} +0 -0
- /package/web/.next/server/chunks/ssr/{[root-of-the-server]__f8210f45._.js.map → [root-of-the-server]__9bc1434f._.js.map} +0 -0
- /package/web/.next/server/chunks/ssr/{[root-of-the-server]__f1a05100._.js.map → [root-of-the-server]__b062b383._.js.map} +0 -0
- /package/web/.next/static/{HxY7oDPQaoJ0BmVeVLer5 → kPS64EVb81p_02U5q_c7b}/_buildManifest.js +0 -0
- /package/web/.next/static/{HxY7oDPQaoJ0BmVeVLer5 → kPS64EVb81p_02U5q_c7b}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{HxY7oDPQaoJ0BmVeVLer5 → kPS64EVb81p_02U5q_c7b}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,93752,e=>{"use strict";let t=(0,e.i(3645).default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);e.s(["default",()=>t])},16868,48306,80436,28267,86254,50032,42076,e=>{"use strict";var t=e.i(3645);let r=(0,t.default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);e.s(["PaperclipIcon",()=>r],16868);var a=e.i(20314),o=e.i(31777);function s({className:e,...t}){return(0,a.jsx)("textarea",{"data-slot":"textarea",className:(0,o.cn)("placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...t})}e.s(["Textarea",()=>s],48306);var i=e.i(60253),n=e.i(15506),n=n,l=e.i(95230);e.s(["DownloadIcon",()=>l.default],80436);var l=l,d=e.i(2287),c=e.i(1693);e.s(["VisuallyHidden",0,c],28267);var c=c;let u=(0,t.default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);var p=e.i(16298),p=p;let h=(0,t.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);var m=e.i(93752),m=m;e.i(35364);let x=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]),f=new Set([".ts",".tsx",".js",".jsx",".json",".yaml",".yml",".xml",".html",".css",".md"]);function g(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024));return`${(e/Math.pow(1024,t)).toFixed(+(0!==t))} ${["B","KB","MB","GB"][t]}`}let b=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]);function v(e,t){let r=new URLSearchParams({path:e,mimeType:t});return`/api/attachments/preview?${r.toString()}`}function j({name:e,size:t,mimeType:r,path:s,onRemove:j,loading:w=!1,disabled:y=!1}){let C,k,N=(C=e.lastIndexOf("."))>=0?e.slice(C).toLowerCase():"",P=x.has(N)?h:".pdf"===N?p.default:f.has(N)?m.default:u,T=".pdf"===N?"bg-red-50 text-red-600":x.has(N)?"bg-blue-50 text-blue-600":f.has(N)?"bg-emerald-50 text-emerald-600":"bg-gray-50 text-gray-600",S=(k=e.lastIndexOf("."))>=0&&b.has(e.slice(k).toLowerCase());return w?(0,a.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-md border",children:(0,a.jsx)(n.default,{className:"text-muted-foreground h-5 w-5 animate-spin"})}):S?(0,a.jsxs)(d.Dialog,{children:[(0,a.jsxs)("div",{className:"group relative",children:[(0,a.jsx)(d.DialogTrigger,{asChild:!0,children:(0,a.jsx)("img",{src:v(s,r),alt:e,title:e,className:"h-12 w-12 cursor-pointer rounded-md border object-cover transition-opacity hover:opacity-80"})}),!y&&(0,a.jsx)("button",{type:"button",onClick:j,className:"absolute -top-1.5 -right-1.5 hidden h-5 w-5 cursor-pointer items-center justify-center rounded-full bg-black/70 text-white group-hover:flex","aria-label":`Remove ${e}`,children:(0,a.jsx)(i.X,{className:"h-3 w-3"})})]}),(0,a.jsxs)(d.DialogContent,{className:"max-w-3xl gap-0 overflow-hidden border-0 p-0 [&>button:last-child]:!cursor-pointer [&>button:last-child]:!rounded-full [&>button:last-child]:!bg-black/70 [&>button:last-child]:!p-1.5 [&>button:last-child]:!text-white [&>button:last-child]:!opacity-100 [&>button:last-child]:!shadow-lg [&>button:last-child]:!backdrop-blur-md [&>button:last-child]:hover:!bg-black/90",children:[(0,a.jsx)(c.Root,{children:(0,a.jsxs)(d.DialogTitle,{children:["Preview: ",e]})}),(0,a.jsx)("div",{className:"relative bg-black/90",children:(0,a.jsx)("img",{src:v(s,r),alt:e,className:"h-auto max-h-[70vh] w-full object-contain"})}),(0,a.jsxs)("div",{className:"bg-background flex items-center gap-3 px-4 py-3",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,a.jsx)("span",{className:"truncate text-sm font-medium",children:e}),(0,a.jsx)("span",{className:"text-muted-foreground text-xs",children:g(t)})]}),(0,a.jsx)("a",{href:v(s,r),download:e,className:"text-muted-foreground hover:text-foreground shrink-0 cursor-pointer rounded p-1.5 transition-colors","aria-label":`Download ${e}`,children:(0,a.jsx)(l.default,{className:"h-4 w-4"})})]})]})]}):(0,a.jsxs)("div",{className:"group relative flex items-center gap-2 rounded-full border py-1 pr-3 pl-2",children:[(0,a.jsx)("div",{className:(0,o.cn)("flex h-6 w-6 shrink-0 items-center justify-center rounded-full",T),children:(0,a.jsx)(P,{className:"h-3 w-3"})}),(0,a.jsx)("span",{className:"max-w-[120px] truncate text-sm",children:e}),(0,a.jsx)("span",{className:"text-muted-foreground text-xs",children:g(t)}),!y&&(0,a.jsx)("button",{type:"button",onClick:j,className:"absolute -top-1.5 -right-1.5 hidden h-5 w-5 cursor-pointer items-center justify-center rounded-full bg-black/70 text-white group-hover:flex","aria-label":`Remove ${e}`,children:(0,a.jsx)(i.X,{className:"h-3 w-3"})})]})}async function w(){let e=await fetch("/api/dialog/pick-files",{method:"POST"});if(!e.ok)throw Error("Failed to open file dialog");let t=await e.json();return t.cancelled?null:t.files}e.s(["AttachmentChip",()=>j],86254),e.s([],50032),e.s(["pickFiles",()=>w],42076)},90382,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(91967),o=e.i(5978),s=e.i(22528),i=e.i(53532),n=e.i(41687),l=e.i(56720),d=e.i(13123),c=e.i(52740),u=e.i(39979),p=e.i(85995),h=e.i(87620),m=e.i(86874),x=e.i(36589),f=e.i(73772),g=e.i(13044),b="Popover",[v,j]=(0,s.createContextScope)(b,[c.createPopperScope]),w=(0,c.createPopperScope)(),[y,C]=v(b),k=e=>{let{__scopePopover:a,children:o,open:s,defaultOpen:i,onOpenChange:n,modal:l=!1}=e,u=w(a),p=r.useRef(null),[h,m]=r.useState(!1),[f,g]=(0,x.useControllableState)({prop:s,defaultProp:i??!1,onChange:n,caller:b});return(0,t.jsx)(c.Root,{...u,children:(0,t.jsx)(y,{scope:a,contentId:(0,d.useId)(),triggerRef:p,open:f,onOpenChange:g,onOpenToggle:r.useCallback(()=>g(e=>!e),[g]),hasCustomAnchor:h,onCustomAnchorAdd:r.useCallback(()=>m(!0),[]),onCustomAnchorRemove:r.useCallback(()=>m(!1),[]),modal:l,children:o})})};k.displayName=b;var N="PopoverAnchor",P=r.forwardRef((e,a)=>{let{__scopePopover:o,...s}=e,i=C(N,o),n=w(o),{onCustomAnchorAdd:l,onCustomAnchorRemove:d}=i;return r.useEffect(()=>(l(),()=>d()),[l,d]),(0,t.jsx)(c.Anchor,{...n,...s,ref:a})});P.displayName=N;var T="PopoverTrigger",S=r.forwardRef((e,r)=>{let{__scopePopover:s,...i}=e,n=C(T,s),l=w(s),d=(0,o.useComposedRefs)(r,n.triggerRef),u=(0,t.jsx)(h.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":q(n.open),...i,ref:d,onClick:(0,a.composeEventHandlers)(e.onClick,n.onOpenToggle)});return n.hasCustomAnchor?u:(0,t.jsx)(c.Anchor,{asChild:!0,...l,children:u})});S.displayName=T;var R="PopoverPortal",[A,D]=v(R,{forceMount:void 0}),E=e=>{let{__scopePopover:r,forceMount:a,children:o,container:s}=e,i=C(R,r);return(0,t.jsx)(A,{scope:r,forceMount:a,children:(0,t.jsx)(p.Presence,{present:a||i.open,children:(0,t.jsx)(u.Portal,{asChild:!0,container:s,children:o})})})};E.displayName=R;var F="PopoverContent",O=r.forwardRef((e,r)=>{let a=D(F,e.__scopePopover),{forceMount:o=a.forceMount,...s}=e,i=C(F,e.__scopePopover);return(0,t.jsx)(p.Presence,{present:o||i.open,children:i.modal?(0,t.jsx)(I,{...s,ref:r}):(0,t.jsx)(M,{...s,ref:r})})});O.displayName=F;var z=(0,m.createSlot)("PopoverContent.RemoveScroll"),I=r.forwardRef((e,s)=>{let i=C(F,e.__scopePopover),n=r.useRef(null),l=(0,o.useComposedRefs)(s,n),d=r.useRef(!1);return r.useEffect(()=>{let e=n.current;if(e)return(0,f.hideOthers)(e)},[]),(0,t.jsx)(g.RemoveScroll,{as:z,allowPinchZoom:!0,children:(0,t.jsx)(L,{...e,ref:l,trapFocus:i.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,a.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),d.current||i.triggerRef.current?.focus()}),onPointerDownOutside:(0,a.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;d.current=2===t.button||r},{checkForDefaultPrevented:!1}),onFocusOutside:(0,a.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),M=r.forwardRef((e,a)=>{let o=C(F,e.__scopePopover),s=r.useRef(!1),i=r.useRef(!1);return(0,t.jsx)(L,{...e,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(s.current||o.triggerRef.current?.focus(),t.preventDefault()),s.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(s.current=!0,"pointerdown"===t.detail.originalEvent.type&&(i.current=!0));let r=t.target;o.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&i.current&&t.preventDefault()}})}),L=r.forwardRef((e,r)=>{let{__scopePopover:a,trapFocus:o,onOpenAutoFocus:s,onCloseAutoFocus:d,disableOutsidePointerEvents:u,onEscapeKeyDown:p,onPointerDownOutside:h,onFocusOutside:m,onInteractOutside:x,...f}=e,g=C(F,a),b=w(a);return(0,n.useFocusGuards)(),(0,t.jsx)(l.FocusScope,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:s,onUnmountAutoFocus:d,children:(0,t.jsx)(i.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:u,onInteractOutside:x,onEscapeKeyDown:p,onPointerDownOutside:h,onFocusOutside:m,onDismiss:()=>g.onOpenChange(!1),children:(0,t.jsx)(c.Content,{"data-state":q(g.open),role:"dialog",id:g.contentId,...b,...f,ref:r,style:{...f.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),U="PopoverClose",B=r.forwardRef((e,r)=>{let{__scopePopover:o,...s}=e,i=C(U,o);return(0,t.jsx)(h.Primitive.button,{type:"button",...s,ref:r,onClick:(0,a.composeEventHandlers)(e.onClick,()=>i.onOpenChange(!1))})});B.displayName=U;var $=r.forwardRef((e,r)=>{let{__scopePopover:a,...o}=e,s=w(a);return(0,t.jsx)(c.Arrow,{...s,...o,ref:r})});function q(e){return e?"open":"closed"}$.displayName="PopoverArrow",e.s(["Anchor",()=>P,"Arrow",()=>$,"Close",()=>B,"Content",()=>O,"Popover",()=>k,"PopoverAnchor",()=>P,"PopoverArrow",()=>$,"PopoverClose",()=>B,"PopoverContent",()=>O,"PopoverPortal",()=>E,"PopoverTrigger",()=>S,"Portal",()=>E,"Root",()=>k,"Trigger",()=>S,"createPopoverScope",()=>j],89920);var H=e.i(89920),H=H,G=e.i(31777);let _=H.Root,K=H.Trigger;H.Anchor;let V=r.forwardRef(({className:e,align:r="center",sideOffset:a=4,...o},s)=>(0,t.jsx)(H.Portal,{children:(0,t.jsx)(H.Content,{ref:s,align:r,sideOffset:a,className:(0,G.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none",e),...o})}));V.displayName=H.Content.displayName,e.s(["Popover",()=>_,"PopoverContent",()=>V,"PopoverTrigger",()=>K],90382)},51911,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(91967),o=e.i(5978),s=e.i(22528),i=e.i(36589),n=e.i(23405),l=e.i(77624),d=e.i(87620),c="Switch",[u,p]=(0,s.createContextScope)(c),[h,m]=u(c),x=r.forwardRef((e,s)=>{let{__scopeSwitch:n,name:l,checked:u,defaultChecked:p,required:m,disabled:x,value:f="on",onCheckedChange:g,form:j,...w}=e,[y,C]=r.useState(null),k=(0,o.useComposedRefs)(s,e=>C(e)),N=r.useRef(!1),P=!y||j||!!y.closest("form"),[T,S]=(0,i.useControllableState)({prop:u,defaultProp:p??!1,onChange:g,caller:c});return(0,t.jsxs)(h,{scope:n,checked:T,disabled:x,children:[(0,t.jsx)(d.Primitive.button,{type:"button",role:"switch","aria-checked":T,"aria-required":m,"data-state":v(T),"data-disabled":x?"":void 0,disabled:x,value:f,...w,ref:k,onClick:(0,a.composeEventHandlers)(e.onClick,e=>{S(e=>!e),P&&(N.current=e.isPropagationStopped(),N.current||e.stopPropagation())})}),P&&(0,t.jsx)(b,{control:y,bubbles:!N.current,name:l,value:f,checked:T,required:m,disabled:x,form:j,style:{transform:"translateX(-100%)"}})]})});x.displayName=c;var f="SwitchThumb",g=r.forwardRef((e,r)=>{let{__scopeSwitch:a,...o}=e,s=m(f,a);return(0,t.jsx)(d.Primitive.span,{"data-state":v(s.checked),"data-disabled":s.disabled?"":void 0,...o,ref:r})});g.displayName=f;var b=r.forwardRef(({__scopeSwitch:e,control:a,checked:s,bubbles:i=!0,...d},c)=>{let u=r.useRef(null),p=(0,o.useComposedRefs)(u,c),h=(0,n.usePrevious)(s),m=(0,l.useSize)(a);return r.useEffect(()=>{let e=u.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(h!==s&&t){let r=new Event("click",{bubbles:i});t.call(e,s),e.dispatchEvent(r)}},[h,s,i]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:s,...d,tabIndex:-1,ref:p,style:{...d.style,...m,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function v(e){return e?"checked":"unchecked"}b.displayName="SwitchBubbleInput",e.s(["Root",()=>x,"Switch",()=>x,"SwitchThumb",()=>g,"Thumb",()=>g,"createSwitchScope",()=>p],95291);var j=e.i(95291),j=j,w=e.i(31777);function y({className:e,size:r="default",...a}){return(0,t.jsx)(j.Root,{"data-slot":"switch","data-size":r,className:(0,w.cn)("peer group/switch focus-visible:border-ring focus-visible:ring-ring/50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 inline-flex shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",e),...a,children:(0,t.jsx)(j.Thumb,{"data-slot":"switch-thumb",className:(0,w.cn)("bg-background dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}e.s(["Switch",()=>y],51911)},41413,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(23925),o=e.i(11345),s=e.i(76016),i=e.i(88996),n=e.i(95848),l=e.i(86782),d=e.i(29847),c=e.i(35364),u=e.i(90382),p=e.i(31777);function h({initialAgentType:e,initialModel:h,onAgentModelChange:m,disabled:x,className:f,mode:g}){let[b,v]=r.useState(!1),[j,w]=r.useState([]),[y,C]=r.useState(!0),[k,N]=r.useState(e),[P,T]=r.useState(h),[S,R]=r.useState(null),[A,D]=r.useState(0),[E,F]=r.useState(null);r.useEffect(()=>{(0,i.getAllAgentModels)().then(w).finally(()=>C(!1))},[]),r.useEffect(()=>{if(!b){let e=setTimeout(()=>{D(0),F(null)},150);return()=>clearTimeout(e)}},[b]);let O=async(e,t)=>{if(v(!1),e!==k||t!==P){if("override"===g){N(e),T(t),m?.(e,t);return}N(e),T(t),m?.(e,t),R(null);try{let r=await (0,n.updateAgentAndModel)(e,t||null);r.ok||(N(k),T(P),m?.(k,P),R(r.error??"Failed to save"))}catch{N(k),T(P),m?.(k,P),R("Failed to save")}}},z=(0,l.getAgentTypeIcon)(k),I=j.find(e=>e.agentType===k)?.label??k,M=P?(0,d.getModelMeta)(P).displayName||P:null,L=E?j.find(e=>e.agentType===E):null;return(0,t.jsxs)("div",{className:(0,p.cn)("flex flex-col gap-1",f),children:[(0,t.jsxs)(u.Popover,{open:b,onOpenChange:v,children:[(0,t.jsx)(u.PopoverTrigger,{asChild:!0,children:(0,t.jsx)(c.Button,{variant:"outline",role:"combobox","aria-expanded":b,disabled:(x??!1)||y,className:"w-auto cursor-pointer justify-start font-normal hover:border-violet-300 hover:bg-violet-50/50 dark:hover:border-violet-700 dark:hover:bg-violet-950/30",children:(0,t.jsxs)("span",{className:"flex items-center gap-2 truncate",children:[(0,t.jsx)(z,{className:"h-4 w-4 shrink-0"}),y?"Loading…":(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:I}),M?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-muted-foreground/50 text-xs",children:"·"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:M})]}):null]})]})})}),(0,t.jsx)(u.PopoverContent,{className:"w-(--radix-popover-trigger-width) overflow-hidden p-0",align:"start",children:(0,t.jsxs)("div",{className:"flex transition-transform duration-200 ease-in-out",style:{transform:`translateX(${1===A?"-50%":"0%"})`,width:"200%"},children:[(0,t.jsxs)("div",{className:"w-1/2 shrink-0",children:[(0,t.jsx)("div",{className:"text-muted-foreground border-b px-3 py-2 text-xs font-medium",children:"Select agent"}),j.map(e=>{let r=(0,l.getAgentTypeIcon)(e.agentType),o=k===e.agentType,i=e.models.length>0;return(0,t.jsxs)("button",{type:"button",className:(0,p.cn)("flex w-full cursor-pointer items-center gap-2.5 px-3 py-2 text-xs transition-colors","hover:bg-accent hover:text-accent-foreground",o&&"bg-accent/50"),onClick:()=>{i?(F(e.agentType),requestAnimationFrame(()=>{requestAnimationFrame(()=>D(1))})):O(e.agentType,"")},children:[(0,t.jsx)(r,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{className:"flex-1 text-left",children:e.label}),o&&!i?(0,t.jsx)(a.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null,i?(0,t.jsx)(s.ChevronRight,{className:"text-muted-foreground h-3.5 w-3.5 shrink-0"}):null]},e.agentType)})]}),(0,t.jsx)("div",{className:"w-1/2 shrink-0",children:L?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("button",{type:"button",className:"text-muted-foreground hover:text-foreground flex w-full cursor-pointer items-center gap-1.5 border-b px-3 py-2 text-xs font-medium transition-colors",onClick:()=>{D(0),setTimeout(()=>F(null),220)},children:[(0,t.jsx)(o.ChevronLeft,{className:"h-3.5 w-3.5"}),L.label]}),L.models.map(e=>{let r=k===L.agentType&&P===e.id;return(0,t.jsxs)("button",{type:"button",className:(0,p.cn)("flex w-full cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors","hover:bg-accent hover:text-accent-foreground",r&&"bg-accent/50"),onClick:()=>O(L.agentType,e.id),children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsx)("span",{className:"text-xs font-medium",children:e.displayName}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:e.description})]}),r?(0,t.jsx)(a.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null]},e.id)})]}):null})]})})]}),!!S&&(0,t.jsx)("p",{className:"text-destructive text-sm",children:S})]})}e.s(["AgentModelPicker",()=>h])},15203,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(31406),o=e.i(60112),s=e.i(21023);let i=(0,s.createServerReference)("404d5dd5f61e744e6a4d8b8323d137f58c186490ec",s.callServer,void 0,s.findSourceMapURL,"createFeature");var n=e.i(16868);let l=(0,e.i(3645).default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);var d=e.i(97667),c=e.i(53360),u=e.i(31777),p=e.i(8361);e.i(1650);var h=e.i(11495),m=e.i(45811),x=e.i(35364),f=e.i(98127),g=e.i(48306),b=e.i(41957),v=e.i(81846),j=e.i(90382),w=e.i(51911),y=e.i(2828),C=e.i(30153);e.i(50032);var k=e.i(86254),N=e.i(41413),P=e.i(42076);let T=new Set([".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".txt",".md",".csv",".json",".yaml",".yml",".xml",".ts",".tsx",".js",".jsx",".py",".rb",".go",".rs",".java",".c",".cpp",".h",".hpp",".cs",".swift",".kt",".html",".css",".scss",".less",".sh",".bash",".zsh",".fish",".toml",".ini",".cfg",".conf",".env",".zip",".tar",".gz",".log"]),S=[{id:"allowPrd",label:"PRD",description:"Auto-approve requirements move to planning."},{id:"allowPlan",label:"Plan",description:"Auto-approve planning move to implementation."},{id:"allowMerge",label:"Merge",description:"Auto-approve merge move to Done."}],R={allowPrd:!1,allowPlan:!1,allowMerge:!1};function A({open:e,onClose:a,onSubmit:o,repositoryPath:s,isSubmitting:i=!1,workflowDefaults:l,features:d,initialParentId:f,currentAgentType:j,currentModel:A}){let E=(0,p.useSoundAction)("create"),F=l?.approvalGates??R,O=l?.push??!1,z=l?.openPr??!1,I=l?.enableEvidence??!1,M=l?.commitEvidence??!1,[L,U]=(0,r.useState)(""),[B,$]=(0,r.useState)([]),[q,H]=(0,r.useState)({...F}),[G,_]=(0,r.useState)(O),[K,V]=(0,r.useState)(z),[X,W]=(0,r.useState)(I),[Z,J]=(0,r.useState)(M),[Y,Q]=(0,r.useState)(void 0),[ee,et]=(0,r.useState)(!1),[er,ea]=(0,r.useState)(void 0),[eo,es]=(0,r.useState)(void 0),[ei,en]=(0,r.useState)(!1),[el,ed]=(0,r.useState)(null),[ec,eu]=(0,r.useState)(!1),ep=(0,r.useRef)(crypto.randomUUID()),eh=(0,r.useRef)(0),em=(0,r.useRef)(null);(0,r.useEffect)(()=>{l&&(H({...l.approvalGates}),_(l.push),V(l.openPr),W(l.enableEvidence),J(l.commitEvidence))},[l]),(0,r.useEffect)(()=>{e&&f&&Q(f)},[e,f]);let ex=(0,r.useCallback)(()=>{U(""),$([]),H({...F}),_(O),V(z),W(I),J(M),Q(void 0),et(!1),ea(void 0),es(void 0),ed(null),eh.current=0,en(!1)},[F,O,z,I,M]),ef=""!==L.trim()||B.length>0,{attemptClose:eg}=(0,C.useGuardedDrawerClose)({open:e,isDirty:ef,onClose:a,onReset:ex}),eb=(0,r.useCallback)(async e=>{for(let t of(ed(null),e)){if(t.size>0xa00000)return void ed(`"${t.name}" exceeds 10 MB limit`);let e=function(e){let t=e.lastIndexOf(".");return t>=0?e.slice(t).toLowerCase():""}(t.name);if(e&&!T.has(e))return void ed(`File type "${e}" is not allowed`)}for(let t of e){let e=crypto.randomUUID();$(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:t.type||"application/octet-stream",path:"",loading:!0}]);try{let r=new FormData;r.append("file",t),r.append("sessionId",ep.current);let a=await fetch("/api/attachments/upload",{method:"POST",body:r});if(!a.ok){let t=await a.json().catch(()=>({error:"Upload failed"}));$(t=>t.filter(t=>t.id!==e)),ed(t.error??"Upload failed");return}let o=await a.json();$(t=>t.some(t=>t.id!==e&&t.path===o.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...o,id:e,loading:!1}:t))}catch{$(t=>t.filter(t=>t.id!==e)),ed("Upload failed")}}},[]),ev=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eh.current+=1,1===eh.current&&en(!0)},[]),ej=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eh.current-=1,0===eh.current&&en(!1)},[]),ew=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),ey=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eh.current=0,en(!1);let t=Array.from(e.dataTransfer.files);t.length>0&&eb(t)},[eb]),eC=(0,r.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let r=[];for(let e of Array.from(t))if("file"===e.kind){let t=e.getAsFile();t&&r.push(t)}r.length>0&&(e.preventDefault(),eb(r))},[eb]),ek=(0,r.useCallback)(e=>{e.preventDefault(),L.trim()&&(E.play(),o({description:L.trim(),attachments:B.filter(e=>!e.loading),repositoryPath:s,approvalGates:{allowPrd:q.allowPrd??!1,allowPlan:q.allowPlan??!1,allowMerge:q.allowMerge??!1},push:G||K,openPr:K,enableEvidence:X,commitEvidence:Z,fast:ee,...er?{agentType:er}:{},...eo?{model:eo}:{},...Y?{parentId:Y}:{},sessionId:ep.current}),ex())},[L,B,q,s,o,G,K,X,Z,ee,er,eo,Y,E,ex]),eN=(0,r.useCallback)(async()=>{try{let e=await (0,P.pickFiles)();if(!e)return;for(let t of e){let e=crypto.randomUUID();$(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:"application/octet-stream",path:"",loading:!0}]);try{let r=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t.path,sessionId:ep.current})});if(!r.ok){let t=await r.json().catch(()=>({error:"Upload failed"}));$(t=>t.filter(t=>t.id!==e)),ed(t.error??"Upload failed");return}let a=await r.json();$(t=>t.some(t=>t.id!==e&&t.path===a.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...a,id:e,loading:!1}:t))}catch{$(t=>t.filter(t=>t.id!==e)),ed("Upload failed")}}}catch{}},[]),eP=(0,r.useCallback)(e=>{$(t=>t.filter(t=>t.id!==e))},[]),eT=(0,r.useRef)(null),eS=(0,r.useCallback)(e=>{(e.ctrlKey||e.metaKey)&&"Enter"===e.key&&(e.preventDefault(),eT.current?.requestSubmit())},[]),eR=(0,r.useCallback)(()=>{eu(!0)},[]),eA=(0,r.useCallback)(()=>{setTimeout(()=>{let e=em.current?.contains(document.activeElement),t=em.current?.querySelector('[aria-expanded="true"]')!==null;e||t||eu(!1)},0)},[]),eD=d&&d.length>0;return(0,t.jsx)(h.BaseDrawer,{open:e,onClose:eg,size:"md",modal:!1,dismissOnOutsideClick:!0,"data-testid":"feature-create-drawer",header:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,t.jsx)(m.DrawerTitle,{children:"NEW FEATURE"})]}),i?(0,t.jsx)(m.DrawerDescription,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(v.Badge,{variant:"secondary",children:"Creating..."})})}):null]}),footer:(0,t.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,t.jsx)(x.Button,{variant:"outline",onClick:eg,disabled:i,children:"Cancel"}),(0,t.jsx)(x.Button,{type:"submit",form:"create-feature-form",disabled:!L.trim()||i,children:i?"Creating...":"+ Create Feature"})]}),children:(0,t.jsx)("div",{className:"overflow-y-auto p-4",children:(0,t.jsx)(y.TooltipProvider,{delayDuration:400,children:(0,t.jsxs)("form",{ref:eT,id:"create-feature-form",onSubmit:ek,className:"flex flex-col gap-4",children:[(0,t.jsxs)("div",{role:"region","aria-label":"File drop zone","data-drag-over":ei?"true":"false",onDragEnter:ev,onDragLeave:ej,onDragOver:ew,onDrop:ey,className:(0,u.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",ei&&"border-primary/50 bg-primary/5"),children:[(0,t.jsx)(b.Label,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"DESCRIBE YOUR FEATURE"}),(0,t.jsxs)("div",{ref:em,onFocus:eR,onBlur:eA,className:(0,u.cn)("border-input flex h-56 flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",ec&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,t.jsx)(g.Textarea,{id:"feature-description",placeholder:"e.g. Add GitHub OAuth login with callback handling and token refresh...",value:L,onChange:e=>U(e.target.value),onKeyDown:eS,onPaste:eC,required:!0,disabled:i,className:"min-h-0 flex-1 resize-none rounded-none border-0 shadow-none focus-visible:ring-0"}),B.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:B.map(e=>(0,t.jsx)(k.AttachmentChip,{name:e.name,size:e.size,mimeType:e.mimeType,path:e.path,onRemove:()=>eP(e.id),disabled:i,loading:e.loading},e.id))}),el?(0,t.jsx)("p",{className:"text-destructive px-3 pb-2 text-xs",children:el}):null,(0,t.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[(0,t.jsx)(N.AgentModelPicker,{initialAgentType:er??j??"claude-code",initialModel:eo??A??"claude-sonnet-4-6",mode:"override",onAgentModelChange:(e,t)=>{ea(e),es(t)},disabled:i,className:"w-55"}),(0,t.jsxs)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"ml-auto flex cursor-pointer items-center gap-2",children:[(0,t.jsx)(w.Switch,{id:"fast-mode",checked:ee,onCheckedChange:et,disabled:i}),(0,t.jsxs)(b.Label,{htmlFor:"fast-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,t.jsx)(c.Zap,{className:"h-3.5 w-3.5"}),"Fast Mode"]})]})}),(0,t.jsx)(y.TooltipContent,{side:"bottom",children:"Skip SDLC phases and implement directly from your prompt."})]}),(0,t.jsxs)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:eN,disabled:i,"aria-label":"Attach files",className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,t.jsx)(n.PaperclipIcon,{className:"h-4 w-4"})})}),(0,t.jsx)(y.TooltipContent,{side:"bottom",children:"Attach files"})]})]})]})]}),eD&&void 0!==f?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(b.Label,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"PARENT FEATURE"}),(0,t.jsx)(D,{features:d,value:Y,onChange:Q,disabled:i})]}):null,(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:"APPROVE"})}),(0,t.jsx)(y.TooltipContent,{side:"bottom",children:"Auto-approve phase transitions without manual review."})]}),(0,t.jsx)("div",{className:"flex flex-1 items-center gap-4",children:S.map(e=>(0,t.jsxs)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(w.Switch,{id:`approve-${e.id}`,size:"sm",checked:q[e.id]??!1,onCheckedChange:t=>H(r=>({...r,[e.id]:t})),disabled:i||ee&&("allowPrd"===e.id||"allowPlan"===e.id)}),(0,t.jsx)(b.Label,{htmlFor:`approve-${e.id}`,className:"cursor-pointer text-xs font-medium",children:e.label})]})}),(0,t.jsx)(y.TooltipContent,{side:"bottom",children:ee&&("allowPrd"===e.id||"allowPlan"===e.id)?"Skipped in Fast Mode":e.description})]},e.id))}),(0,t.jsxs)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:()=>{let e=S.every(e=>q[e.id]),t={};for(let r of S)t[r.id]=!e;H(t)},disabled:i,className:(0,u.cn)("text-muted-foreground hover:text-foreground cursor-pointer rounded px-1.5 py-0.5 text-[10px] font-semibold tracking-wider uppercase transition-colors",S.every(e=>q[e.id])&&"text-primary"),children:"All"})}),(0,t.jsx)(y.TooltipContent,{side:"bottom",children:"Toggle all approval gates"})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:"EVIDENCE"})}),(0,t.jsx)(y.TooltipContent,{side:"bottom",children:"Collect and attach evidence after implementation."})]}),(0,t.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,t.jsxs)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(w.Switch,{id:"enable-evidence",size:"sm",checked:X,onCheckedChange:e=>{W(e),e||J(!1)},disabled:i}),(0,t.jsx)(b.Label,{htmlFor:"enable-evidence",className:"cursor-pointer text-xs font-medium",children:"Collect"})]})}),(0,t.jsx)(y.TooltipContent,{side:"bottom",children:"Capture screenshots and artifacts after implementation."})]}),(0,t.jsxs)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(w.Switch,{id:"commit-evidence",size:"sm",checked:Z,onCheckedChange:J,disabled:i||!X||!K}),(0,t.jsx)(b.Label,{htmlFor:"commit-evidence",className:(0,u.cn)("cursor-pointer text-xs font-medium",(!X||!K)&&"opacity-50"),children:"Add to PR"})]})}),(0,t.jsx)(y.TooltipContent,{side:"bottom",children:K?X?"Include evidence in the pull request body.":"Requires evidence collection to be enabled":"Requires PR to be enabled"})]})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 text-xs font-semibold tracking-wider",children:"GIT"}),(0,t.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,t.jsxs)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(w.Switch,{id:"push",size:"sm",checked:G||K,onCheckedChange:e=>{_(e),!e&&K&&V(!1)},disabled:i}),(0,t.jsx)(b.Label,{htmlFor:"push",className:"cursor-pointer text-xs font-medium",children:"Push"})]})}),(0,t.jsx)(y.TooltipContent,{side:"bottom",children:"Push branch to remote after implementation."})]}),(0,t.jsxs)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(w.Switch,{id:"open-pr",size:"sm",checked:K,onCheckedChange:e=>{V(e),e||J(!1)},disabled:i}),(0,t.jsx)(b.Label,{htmlFor:"open-pr",className:"cursor-pointer text-xs font-medium",children:"PR"})]})}),(0,t.jsx)(y.TooltipContent,{side:"bottom",children:"Open a pull request after pushing."})]})]})]})]})]})})})})}function D({features:e,value:a,onChange:o,disabled:s}){let[i,n]=(0,r.useState)(!1),[c,p]=(0,r.useState)(""),h=(0,r.useRef)(null),m=e.find(e=>e.id===a),x=c.trim()?e.filter(e=>e.name.toLowerCase().includes(c.toLowerCase())||e.id.toLowerCase().includes(c.toLowerCase())):e,g=(0,r.useCallback)(e=>{o(e),n(!1),p("")},[o]);return(0,r.useEffect)(()=>{i?setTimeout(()=>h.current?.focus(),0):p("")},[i]),(0,t.jsxs)(j.Popover,{open:i,onOpenChange:n,children:[(0,t.jsx)(j.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":i,"aria-label":"Parent Feature",disabled:s,"data-testid":"parent-feature-combobox",className:(0,u.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!m&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:m?`${m.name} (${m.id.slice(0,8)})`:"Select parent feature..."}),(0,t.jsx)(l,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(j.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(f.Input,{ref:h,placeholder:"Search features...",value:c,onChange:e=>p(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,t.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===a,onClick:()=>g(void 0),className:(0,u.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===a&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,t.jsx)(d.CheckIcon,{className:(0,u.cn)("h-4 w-4 shrink-0",void 0!==a&&"invisible")}),(0,t.jsx)("span",{className:"text-muted-foreground italic",children:"No parent"})]}),0===x.length&&c?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No features found."}):x.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":a===e.id,onClick:()=>g(e.id),className:(0,u.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",a===e.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${e.id}`,children:[(0,t.jsx)(d.CheckIcon,{className:(0,u.cn)("h-4 w-4 shrink-0",a!==e.id&&"invisible")}),(0,t.jsxs)("span",{className:"truncate",children:[e.name," ",(0,t.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",e.id.slice(0,8),")"]})]})]},e.id))]})]})})]})}function E({repositoryPath:e,initialParentId:s,features:n,workflowDefaults:l,currentAgentType:d,currentModel:c}){let u=(0,a.useRouter)(),[p,h]=(0,r.useState)(!1),m=(0,a.usePathname)().startsWith("/create"),x=!p&&m;(0,r.useEffect)(()=>{!m&&p&&h(!1)},[m,p]);let f=(0,r.useCallback)(()=>{u.push("/")},[u]),g=(0,r.useCallback)(e=>{h(!0),u.push("/"),i(e).then(t=>{t.error?o.toast.error(t.error):window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:t.feature.id,name:t.feature.name,description:t.feature.description,repositoryPath:t.feature.repositoryPath,parentId:e.parentId}}))}).catch(()=>{o.toast.error("Failed to create feature"),h(!1)})},[u]);return(0,t.jsx)(A,{open:x,onClose:f,onSubmit:g,repositoryPath:e,features:n,workflowDefaults:l,initialParentId:s,isSubmitting:p,currentAgentType:d,currentModel:c})}e.s(["CreateDrawerClient",()=>E],15203)}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,87292,e=>{"use strict";var t=e.i(20314),a=e.i(79054),r=e.i(31406),i=e.i(94237),o=e.i(3645);let n=(0,o.default)("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);var l=e.i(5240),s=e.i(31777),d=e.i(35364);e.i(98127),e.i(25235);var c=e.i(48249),u=e.i(90033);function f({...e}){return(0,t.jsx)(u.Dialog.Root,{"data-slot":"sheet",...e})}function p({...e}){return(0,t.jsx)(u.Dialog.Portal,{"data-slot":"sheet-portal",...e})}function h({className:e,...a}){return(0,t.jsx)(u.Dialog.Overlay,{"data-slot":"sheet-overlay",className:(0,s.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...a})}function m({className:e,children:a,side:r="right",showCloseButton:i=!0,...o}){return(0,t.jsxs)(p,{children:[(0,t.jsx)(h,{}),(0,t.jsxs)(u.Dialog.Content,{"data-slot":"sheet-content",className:(0,s.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500","right"===r&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm","left"===r&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm","top"===r&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===r&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",e),...o,children:[a,i?(0,t.jsxs)(u.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,t.jsx)(c.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})]})}function b({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sheet-header",className:(0,s.cn)("flex flex-col gap-1.5 p-4",e),...a})}function g({className:e,...a}){return(0,t.jsx)(u.Dialog.Title,{"data-slot":"sheet-title",className:(0,s.cn)("text-foreground font-semibold",e),...a})}function x({className:e,...a}){return(0,t.jsx)(u.Dialog.Description,{"data-slot":"sheet-description",className:(0,s.cn)("text-muted-foreground text-sm",e),...a})}var v=e.i(2828);let w=a.createContext(null);function C(){let e=a.useContext(w);if(!e)throw Error("useSidebar must be used within a SidebarProvider.");return e}function j({defaultOpen:e=!0,open:r,onOpenChange:i,className:o,style:n,children:l,...d}){let c=function(){let[e,t]=a.useState(void 0);return a.useEffect(()=>{let e=window.matchMedia("(max-width: 767px)"),a=()=>{t(window.innerWidth<768)};return e.addEventListener("change",a),t(window.innerWidth<768),()=>e.removeEventListener("change",a)},[]),!!e}(),[u,f]=a.useState(!1),[p,h]=a.useState(e),m=r??p,b=a.useCallback(e=>{let t="function"==typeof e?e(m):e;i?i(t):h(t),document.cookie=`sidebar_state=${t}; path=/; max-age=604800`},[i,m]),g=a.useCallback(()=>c?f(e=>!e):b(e=>!e),[c,b,f]);a.useEffect(()=>{let e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),g())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[g]);let x=m?"expanded":"collapsed",C=a.useMemo(()=>({state:x,open:m,setOpen:b,isMobile:c,openMobile:u,setOpenMobile:f,toggleSidebar:g}),[x,m,b,c,u,f,g]);return(0,t.jsx)(w.Provider,{value:C,children:(0,t.jsx)(v.TooltipProvider,{delayDuration:0,children:(0,t.jsx)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...n},className:(0,s.cn)("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",o),...d,children:l})})})}function y({side:e="left",variant:a="sidebar",collapsible:r="offcanvas",className:i,children:o,...n}){let{isMobile:l,state:d,openMobile:c,setOpenMobile:u}=C();return"none"===r?(0,t.jsx)("div",{"data-slot":"sidebar",className:(0,s.cn)("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",i),...n,children:o}):l?(0,t.jsx)(f,{open:c,onOpenChange:u,...n,children:(0,t.jsxs)(m,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:e,children:[(0,t.jsxs)(b,{className:"sr-only",children:[(0,t.jsx)(g,{children:"Sidebar"}),(0,t.jsx)(x,{children:"Displays the mobile sidebar."})]}),(0,t.jsx)("div",{className:"flex h-full w-full flex-col",children:o})]})}):(0,t.jsxs)("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":d,"data-collapsible":"collapsed"===d?r:"","data-variant":a,"data-side":e,"data-slot":"sidebar",children:[(0,t.jsx)("div",{"data-slot":"sidebar-gap",className:(0,s.cn)("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===a||"inset"===a?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),(0,t.jsx)("div",{"data-slot":"sidebar-container",className:(0,s.cn)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex","left"===e?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===a||"inset"===a?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",i),...n,children:(0,t.jsx)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:o})})]})}function S({className:e,...a}){let{toggleSidebar:r}=C();return(0,t.jsx)("button",{"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:(0,s.cn)("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex","in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...a})}function N({className:e,...a}){return(0,t.jsx)("main",{"data-slot":"sidebar-inset",className:(0,s.cn)("bg-background relative flex w-full flex-1 flex-col","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",e),...a})}function k({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:(0,s.cn)("flex flex-col gap-2 p-2",e),...a})}function T({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:(0,s.cn)("flex flex-col gap-2 p-2",e),...a})}function E({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:(0,s.cn)("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...a})}function R({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:(0,s.cn)("relative flex w-full min-w-0 flex-col p-2",e),...a})}function A({className:e,asChild:a=!1,...r}){let i=a?l.Slot.Root:"div";return(0,t.jsx)(i,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:(0,s.cn)("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...r})}function P({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:(0,s.cn)("w-full text-sm",e),...a})}function L({className:e,...a}){return(0,t.jsx)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:(0,s.cn)("flex w-full min-w-0 flex-col gap-1",e),...a})}function z({className:e,...a}){return(0,t.jsx)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:(0,s.cn)("group/menu-item relative",e),...a})}let D=(0,i.cva)("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function _({asChild:e=!1,isActive:a=!1,variant:r="default",size:i="default",tooltip:o,className:n,...d}){let c=e?l.Slot.Root:"button",{isMobile:u,state:f}=C(),p=(0,t.jsx)(c,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":i,"data-active":a,className:(0,s.cn)(D({variant:r,size:i}),n),...d});return o?("string"==typeof o&&(o={children:o}),(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{asChild:!0,children:p}),(0,t.jsx)(v.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==f||u,...o})]})):p}e.i(44172);let M=(0,o.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);var I=e.i(81975),H=e.i(12103),W=e.i(3214);let O=(0,o.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var B=e.i(87620),F=e.i(85995),V=e.i(22528),X=e.i(5978),$=e.i(29297),U=e.i(66033),Y=e.i(5192),q=e.i(27069),Z=e.i(91967),K="ScrollArea",[G,J]=(0,V.createContextScope)(K),[Q,ee]=G(K),et=a.forwardRef((e,r)=>{let{__scopeScrollArea:i,type:o="hover",dir:n,scrollHideDelay:l=600,...s}=e,[d,c]=a.useState(null),[u,f]=a.useState(null),[p,h]=a.useState(null),[m,b]=a.useState(null),[g,x]=a.useState(null),[v,w]=a.useState(0),[C,j]=a.useState(0),[y,S]=a.useState(!1),[N,k]=a.useState(!1),T=(0,X.useComposedRefs)(r,e=>c(e)),E=(0,U.useDirection)(n);return(0,t.jsx)(Q,{scope:i,type:o,dir:E,scrollHideDelay:l,scrollArea:d,viewport:u,onViewportChange:f,content:p,onContentChange:h,scrollbarX:m,onScrollbarXChange:b,scrollbarXEnabled:y,onScrollbarXEnabledChange:S,scrollbarY:g,onScrollbarYChange:x,scrollbarYEnabled:N,onScrollbarYEnabledChange:k,onCornerWidthChange:w,onCornerHeightChange:j,children:(0,t.jsx)(B.Primitive.div,{dir:E,...s,ref:T,style:{position:"relative","--radix-scroll-area-corner-width":v+"px","--radix-scroll-area-corner-height":C+"px",...e.style}})})});et.displayName=K;var ea="ScrollAreaViewport",er=a.forwardRef((e,r)=>{let{__scopeScrollArea:i,children:o,nonce:n,...l}=e,s=ee(ea,i),d=a.useRef(null),c=(0,X.useComposedRefs)(r,d,s.onViewportChange);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:n}),(0,t.jsx)(B.Primitive.div,{"data-radix-scroll-area-viewport":"",...l,ref:c,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,t.jsx)("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:o})})]})});er.displayName=ea;var ei="ScrollAreaScrollbar",eo=a.forwardRef((e,r)=>{let{forceMount:i,...o}=e,n=ee(ei,e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:s}=n,d="horizontal"===e.orientation;return a.useEffect(()=>(d?l(!0):s(!0),()=>{d?l(!1):s(!1)}),[d,l,s]),"hover"===n.type?(0,t.jsx)(en,{...o,ref:r,forceMount:i}):"scroll"===n.type?(0,t.jsx)(el,{...o,ref:r,forceMount:i}):"auto"===n.type?(0,t.jsx)(es,{...o,ref:r,forceMount:i}):"always"===n.type?(0,t.jsx)(ed,{...o,ref:r}):null});eo.displayName=ei;var en=a.forwardRef((e,r)=>{let{forceMount:i,...o}=e,n=ee(ei,e.__scopeScrollArea),[l,s]=a.useState(!1);return a.useEffect(()=>{let e=n.scrollArea,t=0;if(e){let a=()=>{window.clearTimeout(t),s(!0)},r=()=>{t=window.setTimeout(()=>s(!1),n.scrollHideDelay)};return e.addEventListener("pointerenter",a),e.addEventListener("pointerleave",r),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",a),e.removeEventListener("pointerleave",r)}}},[n.scrollArea,n.scrollHideDelay]),(0,t.jsx)(F.Presence,{present:i||l,children:(0,t.jsx)(es,{"data-state":l?"visible":"hidden",...o,ref:r})})}),el=a.forwardRef((e,r)=>{var i;let{forceMount:o,...n}=e,l=ee(ei,e.__scopeScrollArea),s="horizontal"===e.orientation,d=eT(()=>u("SCROLL_END"),100),[c,u]=(i={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},a.useReducer((e,t)=>i[e][t]??e,"hidden"));return a.useEffect(()=>{if("idle"===c){let e=window.setTimeout(()=>u("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(e)}},[c,l.scrollHideDelay,u]),a.useEffect(()=>{let e=l.viewport,t=s?"scrollLeft":"scrollTop";if(e){let a=e[t],r=()=>{let r=e[t];a!==r&&(u("SCROLL"),d()),a=r};return e.addEventListener("scroll",r),()=>e.removeEventListener("scroll",r)}},[l.viewport,s,u,d]),(0,t.jsx)(F.Presence,{present:o||"hidden"!==c,children:(0,t.jsx)(ed,{"data-state":"hidden"===c?"hidden":"visible",...n,ref:r,onPointerEnter:(0,Z.composeEventHandlers)(e.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:(0,Z.composeEventHandlers)(e.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),es=a.forwardRef((e,r)=>{let i=ee(ei,e.__scopeScrollArea),{forceMount:o,...n}=e,[l,s]=a.useState(!1),d="horizontal"===e.orientation,c=eT(()=>{if(i.viewport){let e=i.viewport.offsetWidth<i.viewport.scrollWidth,t=i.viewport.offsetHeight<i.viewport.scrollHeight;s(d?e:t)}},10);return eE(i.viewport,c),eE(i.content,c),(0,t.jsx)(F.Presence,{present:o||l,children:(0,t.jsx)(ed,{"data-state":l?"visible":"hidden",...n,ref:r})})}),ed=a.forwardRef((e,r)=>{let{orientation:i="vertical",...o}=e,n=ee(ei,e.__scopeScrollArea),l=a.useRef(null),s=a.useRef(0),[d,c]=a.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=ej(d.viewport,d.content),f={...o,sizes:d,onSizesChange:c,hasThumb:!!(u>0&&u<1),onThumbChange:e=>l.current=e,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:e=>s.current=e};function p(e,t){return function(e,t,a,r="ltr"){let i=ey(a),o=t||i/2,n=a.scrollbar.paddingStart+o,l=a.scrollbar.size-a.scrollbar.paddingEnd-(i-o),s=a.content-a.viewport;return eN([n,l],"ltr"===r?[0,s]:[-1*s,0])(e)}(e,s.current,d,t)}return"horizontal"===i?(0,t.jsx)(ec,{...f,ref:r,onThumbPositionChange:()=>{if(n.viewport&&l.current){let e=eS(n.viewport.scrollLeft,d,n.dir);l.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{n.viewport&&(n.viewport.scrollLeft=e)},onDragScroll:e=>{n.viewport&&(n.viewport.scrollLeft=p(e,n.dir))}}):"vertical"===i?(0,t.jsx)(eu,{...f,ref:r,onThumbPositionChange:()=>{if(n.viewport&&l.current){let e=eS(n.viewport.scrollTop,d);l.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{n.viewport&&(n.viewport.scrollTop=e)},onDragScroll:e=>{n.viewport&&(n.viewport.scrollTop=p(e))}}):null}),ec=a.forwardRef((e,r)=>{let{sizes:i,onSizesChange:o,...n}=e,l=ee(ei,e.__scopeScrollArea),[s,d]=a.useState(),c=a.useRef(null),u=(0,X.useComposedRefs)(r,c,l.onScrollbarXChange);return a.useEffect(()=>{c.current&&d(getComputedStyle(c.current))},[c]),(0,t.jsx)(eh,{"data-orientation":"horizontal",...n,ref:u,sizes:i,style:{bottom:0,left:"rtl"===l.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===l.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ey(i)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,a)=>{if(l.viewport){var r,i;let o=l.viewport.scrollLeft+t.deltaX;e.onWheelScroll(o),r=o,i=a,r>0&&r<i&&t.preventDefault()}},onResize:()=>{c.current&&l.viewport&&s&&o({content:l.viewport.scrollWidth,viewport:l.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:eC(s.paddingLeft),paddingEnd:eC(s.paddingRight)}})}})}),eu=a.forwardRef((e,r)=>{let{sizes:i,onSizesChange:o,...n}=e,l=ee(ei,e.__scopeScrollArea),[s,d]=a.useState(),c=a.useRef(null),u=(0,X.useComposedRefs)(r,c,l.onScrollbarYChange);return a.useEffect(()=>{c.current&&d(getComputedStyle(c.current))},[c]),(0,t.jsx)(eh,{"data-orientation":"vertical",...n,ref:u,sizes:i,style:{top:0,right:"ltr"===l.dir?0:void 0,left:"rtl"===l.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ey(i)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,a)=>{if(l.viewport){var r,i;let o=l.viewport.scrollTop+t.deltaY;e.onWheelScroll(o),r=o,i=a,r>0&&r<i&&t.preventDefault()}},onResize:()=>{c.current&&l.viewport&&s&&o({content:l.viewport.scrollHeight,viewport:l.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:eC(s.paddingTop),paddingEnd:eC(s.paddingBottom)}})}})}),[ef,ep]=G(ei),eh=a.forwardRef((e,r)=>{let{__scopeScrollArea:i,sizes:o,hasThumb:n,onThumbChange:l,onThumbPointerUp:s,onThumbPointerDown:d,onThumbPositionChange:c,onDragScroll:u,onWheelScroll:f,onResize:p,...h}=e,m=ee(ei,i),[b,g]=a.useState(null),x=(0,X.useComposedRefs)(r,e=>g(e)),v=a.useRef(null),w=a.useRef(""),C=m.viewport,j=o.content-o.viewport,y=(0,$.useCallbackRef)(f),S=(0,$.useCallbackRef)(c),N=eT(p,10);function k(e){v.current&&u({x:e.clientX-v.current.left,y:e.clientY-v.current.top})}return a.useEffect(()=>{let e=e=>{let t=e.target;b?.contains(t)&&y(e,j)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[C,b,j,y]),a.useEffect(S,[o,S]),eE(b,N),eE(m.content,N),(0,t.jsx)(ef,{scope:i,scrollbar:b,hasThumb:n,onThumbChange:(0,$.useCallbackRef)(l),onThumbPointerUp:(0,$.useCallbackRef)(s),onThumbPositionChange:S,onThumbPointerDown:(0,$.useCallbackRef)(d),children:(0,t.jsx)(B.Primitive.div,{...h,ref:x,style:{position:"absolute",...h.style},onPointerDown:(0,Z.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),v.current=b.getBoundingClientRect(),w.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",m.viewport&&(m.viewport.style.scrollBehavior="auto"),k(e))}),onPointerMove:(0,Z.composeEventHandlers)(e.onPointerMove,k),onPointerUp:(0,Z.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=w.current,m.viewport&&(m.viewport.style.scrollBehavior=""),v.current=null})})})}),em="ScrollAreaThumb",eb=a.forwardRef((e,a)=>{let{forceMount:r,...i}=e,o=ep(em,e.__scopeScrollArea);return(0,t.jsx)(F.Presence,{present:r||o.hasThumb,children:(0,t.jsx)(eg,{ref:a,...i})})}),eg=a.forwardRef((e,r)=>{let{__scopeScrollArea:i,style:o,...n}=e,l=ee(em,i),s=ep(em,i),{onThumbPositionChange:d}=s,c=(0,X.useComposedRefs)(r,e=>s.onThumbChange(e)),u=a.useRef(void 0),f=eT(()=>{u.current&&(u.current(),u.current=void 0)},100);return a.useEffect(()=>{let e=l.viewport;if(e){let t=()=>{f(),u.current||(u.current=ek(e,d),d())};return d(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[l.viewport,f,d]),(0,t.jsx)(B.Primitive.div,{"data-state":s.hasThumb?"visible":"hidden",...n,ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...o},onPointerDownCapture:(0,Z.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),a=e.clientX-t.left,r=e.clientY-t.top;s.onThumbPointerDown({x:a,y:r})}),onPointerUp:(0,Z.composeEventHandlers)(e.onPointerUp,s.onThumbPointerUp)})});eb.displayName=em;var ex="ScrollAreaCorner",ev=a.forwardRef((e,a)=>{let r=ee(ex,e.__scopeScrollArea),i=!!(r.scrollbarX&&r.scrollbarY);return"scroll"!==r.type&&i?(0,t.jsx)(ew,{...e,ref:a}):null});ev.displayName=ex;var ew=a.forwardRef((e,r)=>{let{__scopeScrollArea:i,...o}=e,n=ee(ex,i),[l,s]=a.useState(0),[d,c]=a.useState(0),u=!!(l&&d);return eE(n.scrollbarX,()=>{let e=n.scrollbarX?.offsetHeight||0;n.onCornerHeightChange(e),c(e)}),eE(n.scrollbarY,()=>{let e=n.scrollbarY?.offsetWidth||0;n.onCornerWidthChange(e),s(e)}),u?(0,t.jsx)(B.Primitive.div,{...o,ref:r,style:{width:l,height:d,position:"absolute",right:"ltr"===n.dir?0:void 0,left:"rtl"===n.dir?0:void 0,bottom:0,...e.style}}):null});function eC(e){return e?parseInt(e,10):0}function ej(e,t){let a=e/t;return isNaN(a)?0:a}function ey(e){let t=ej(e.viewport,e.content),a=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-a)*t,18)}function eS(e,t,a="ltr"){let r=ey(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,o=t.scrollbar.size-i,n=t.content-t.viewport,l=(0,q.clamp)(e,"ltr"===a?[0,n]:[-1*n,0]);return eN([0,n],[0,o-r])(l)}function eN(e,t){return a=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(a-e[0])}}var ek=(e,t=()=>{})=>{let a={left:e.scrollLeft,top:e.scrollTop},r=0;return!function i(){let o={left:e.scrollLeft,top:e.scrollTop},n=a.left!==o.left,l=a.top!==o.top;(n||l)&&t(),a=o,r=window.requestAnimationFrame(i)}(),()=>window.cancelAnimationFrame(r)};function eT(e,t){let r=(0,$.useCallbackRef)(e),i=a.useRef(0);return a.useEffect(()=>()=>window.clearTimeout(i.current),[]),a.useCallback(()=>{window.clearTimeout(i.current),i.current=window.setTimeout(r,t)},[r,t])}function eE(e,t){let a=(0,$.useCallbackRef)(t);(0,Y.useLayoutEffect)(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(a)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,a])}e.s(["Corner",()=>ev,"Root",()=>et,"ScrollArea",()=>et,"ScrollAreaCorner",()=>ev,"ScrollAreaScrollbar",()=>eo,"ScrollAreaThumb",()=>eb,"ScrollAreaViewport",()=>er,"Scrollbar",()=>eo,"Thumb",()=>eb,"Viewport",()=>er,"createScrollAreaScope",()=>J],87516);var eR=e.i(87516),eR=eR;function eA({className:e,children:a,...r}){return(0,t.jsxs)(eR.Root,{"data-slot":"scroll-area",className:(0,s.cn)("relative",e),...r,children:[(0,t.jsx)(eR.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&>div]:block!",children:a}),(0,t.jsx)(eP,{}),(0,t.jsx)(eR.Corner,{})]})}function eP({className:e,orientation:a="vertical",...r}){return(0,t.jsx)(eR.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:a,className:(0,s.cn)("flex touch-none p-px transition-colors select-none","vertical"===a&&"h-full w-2.5 border-l border-l-transparent","horizontal"===a&&"h-2.5 flex-col border-t border-t-transparent",e),...r,children:(0,t.jsx)(eR.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}var eL=e.i(24035),ez=e.i(8361);function eD({icon:e,label:a,href:r,active:i=!1}){let o=(0,ez.useSoundAction)("navigate");return(0,t.jsx)(z,{"data-testid":"sidebar-nav-item",children:(0,t.jsx)(_,{asChild:!0,isActive:i,tooltip:a,children:(0,t.jsxs)(eL.default,{href:r,onClick:()=>o.play(),children:[(0,t.jsx)(e,{}),(0,t.jsx)("span",{children:a})]})})})}function e_({className:e}){let{toggleSidebar:a,open:r}=C(),i=(0,ez.useSoundAction)("expand"),o=(0,ez.useSoundAction)("collapse");return(0,t.jsx)("div",{className:(0,s.cn)("flex",e),children:(0,t.jsx)(d.Button,{"data-testid":"sidebar-collapse-toggle",variant:"ghost",size:"icon",className:"size-7 cursor-pointer group-data-[collapsible=icon]:size-8!",onClick:()=>{r?o.play():i.play(),a()},"aria-label":r?"Collapse sidebar":"Expand sidebar",children:(0,t.jsx)(n,{className:"size-4"})})})}function eM({className:e,size:a=24,variant:r="default"}){return(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 194 200",width:a,height:a,className:(0,s.cn)("shrink-0","dev"===r&&"text-cyan-400",e),"aria-hidden":"true",children:(0,t.jsx)("g",{transform:"matrix(1, 0, 0, 1, -111, -208)",children:(0,t.jsx)("path",{d:"M 198 406 C196,405 194,403 193,401 C192,399 191,398 186,398 C178,397 174,394 170,387 L 168 381 L 163 381 C156,381 150,377 147,370 C144,364 143,359 146,353 C148,348 148,347 147,347 C145,347 140,343 138,339 C133,329 139,314 149,311 L 152 311 L 149 307 C145,302 145,294 149,290 C151,288 152,287 151,286 C150,283 152,278 155,276 C156,275 159,274 162,273 C165,273 166,273 168,276 C171,278 171,280 172,287 C173,294 174,297 177,304 C180,309 182,314 183,316 C186,327 193,336 199,339 C204,342 211,342 216,340 C222,336 231,324 234,314 C235,312 237,307 239,302 C240,298 242,292 242,289 C243,281 245,278 247,275 C250,273 251,273 255,273 C261,274 264,278 264,282 C264,284 264,286 263,287 C262,287 263,288 265,290 C272,295 272,303 267,309 L 265 312 L 269 314 C276,317 279,323 279,332 C279,339 277,343 272,347 C268,351 268,351 269,354 C272,358 271,366 269,371 C266,376 259,381 254,381 C252,381 251,382 248,386 C242,395 234,400 227,399 C224,398 223,398 221,401 C220,403 217,405 216,406 C211,409 203,409 198,406 ZM 136 271 C123,267 115,262 113,256 C111,251 111,251 113,251 C118,254 124,254 132,252 C136,252 141,251 144,251 C149,251 157,253 162,256 C166,258 166,258 166,264 L 166 269 L 160 270 C149,272 142,272 136,271 ZM 264 271 C263,271 259,270 256,270 L 250 270 L 250 265 C249,259 250,257 259,254 C265,251 272,251 289,252 C297,253 299,253 302,252 C305,250 305,250 305,252 C305,255 301,262 297,264 C289,270 272,273 264,271 ZM 162 249 C160,247 159,245 159,242 C159,236 164,230 169,230 C170,230 171,228 171,225 C171,216 176,210 184,209 C189,209 195,211 195,213 C195,214 196,213 197,212 C201,209 204,208 208,208 C212,208 217,210 219,212 C220,214 220,213 223,211 C226,208 234,208 239,211 C243,214 246,221 246,226 C245,230 245,230 247,230 C253,230 258,238 257,244 C256,249 251,252 245,252 C241,252 237,251 234,248 C232,247 232,247 228,249 C225,251 222,252 220,252 C216,252 212,250 210,247 C209,246 209,246 206,248 C201,252 192,253 185,248 C183,247 183,247 178,249 C172,253 166,253 162,249 ZM 116 249 C112,248 114,247 119,247 C122,247 127,246 130,245 C138,242 146,242 152,245 L 158 248 L 148 247 C142,247 138,247 133,248 C128,250 120,250 116,249 ZM 284 248 C281,247 277,247 270,247 L 260 248 L 263 246 C269,243 276,242 284,245 C289,246 295,247 298,247 C303,247 304,247 303,248 C301,250 289,250 284,248 Z",fill:"currentColor"})})})}function eI({version:e,branch:a,commitHash:r,isDev:i=!1,packageName:o="@shepai/cli",description:n,instancePath:l}){let s=r?.slice(0,7),d=i?`${e}-dev`:`v${e}`;return(0,t.jsx)(v.TooltipProvider,{delayDuration:200,children:(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground/80 hover:text-muted-foreground cursor-default text-[11px] leading-tight transition-colors","data-testid":"version-label",children:d})}),(0,t.jsxs)(v.TooltipContent,{side:"right",className:"max-w-[280px] space-y-1 p-3 text-left",children:[(0,t.jsx)("div",{className:"mb-1.5 text-xs font-semibold",children:o}),n?(0,t.jsx)("div",{className:"text-[10px] leading-snug opacity-70",children:n}):null,(0,t.jsxs)("div",{className:"border-t border-white/10 pt-1.5",children:[(0,t.jsx)(eH,{label:"Version",value:d}),i&&a?(0,t.jsx)(eH,{label:"Branch",value:a}):null,i&&s?(0,t.jsx)(eH,{label:"Commit",value:s,mono:!0}):null,i&&l?(0,t.jsx)(eH,{label:"Path",value:l,mono:!0}):null]})]})]})})}function eH({label:e,value:a,highlight:r,mono:i}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 text-[10px]",children:[(0,t.jsx)("span",{className:"opacity-60",children:e}),(0,t.jsx)("span",{className:[r?"font-medium text-cyan-400":"",i||!r?"font-mono":""].filter(Boolean).join(" "),children:a})]})}function eW({startedAt:e}){let[r,i]=(0,a.useState)(()=>Date.now()-e);return(0,a.useEffect)(()=>{let t=setInterval(()=>{(0,a.startTransition)(()=>i(Date.now()-e))},1e3);return()=>clearInterval(t)},[e]),(0,t.jsx)("span",{"data-testid":"elapsed-time",className:"tabular-nums",children:function(e){let t=Math.floor(e/1e3);if(t>=3600){let e=Math.floor(t/3600);return`${e}h`}let a=Math.floor(t/60);return`${String(a).padStart(2,"0")}:${String(t%60).padStart(2,"0")}`}(r)})}var eO=e.i(51251),eB=e.i(83428),eF=e.i(10942),eV=e.i(94819),eX=e.i(54277);let e$={"action-needed":{icon:eO.CircleAlert,iconClass:"text-amber-500",bgClass:"bg-amber-500/10",label:"Action Needed"},"in-progress":{icon:eB.Loader2,iconClass:"text-blue-500 animate-spin",bgClass:"bg-blue-500/10",label:"In Progress"},blocked:{icon:eV.Ban,iconClass:"text-gray-400",bgClass:"bg-gray-400/10",label:"Blocked"},error:{icon:eX.CircleX,iconClass:"text-red-500",bgClass:"bg-red-500/10",label:"Error"},done:{icon:eF.CircleCheck,iconClass:"text-emerald-500",bgClass:"bg-emerald-500/10",label:"Done"}},eU=["action-needed","error","blocked","in-progress","done"];var eY=e.i(86782),eq=e.i(29847);function eZ({name:e,status:a,startedAt:r,duration:i,agentType:o,modelId:n,onClick:l}){let{icon:s,iconClass:d}=e$[a],c=o?(0,eY.getAgentTypeIcon)(o):null;return(0,t.jsx)(z,{"data-testid":"feature-list-item",children:(0,t.jsxs)(_,{size:"sm",onClick:l,tooltip:e,className:"cursor-pointer",children:[(0,t.jsx)(s,{className:d}),(0,t.jsx)("span",{className:"flex-1 truncate font-medium",children:e}),"in-progress"===a&&null!=r?(0,t.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:(0,t.jsx)(eW,{startedAt:r})}):null,"done"===a&&i?(0,t.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:i}):null,c?(0,t.jsx)(v.TooltipProvider,{children:(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"ml-auto shrink-0",children:(0,t.jsx)(c,{className:"h-3.5 w-3.5"})})}),(0,t.jsxs)(v.TooltipContent,{side:"right",children:[(0,t.jsx)("span",{className:"font-medium",children:eY.agentTypeLabels[o]??o}),n?(0,t.jsxs)("span",{className:"ml-1 opacity-70",children:["· ",(0,eq.getModelMeta)(n).displayName||n]}):null]})]})}):null]})})}function eK({label:e,count:a,children:r}){return(0,t.jsxs)(R,{"data-testid":"feature-status-group",className:"px-2 py-1",children:[(0,t.jsxs)(A,{className:"text-muted-foreground h-6 px-2 text-[0.65rem] font-semibold tracking-wider uppercase",children:[e,(0,t.jsx)("span",{"aria-label":`${a} items`,className:"bg-sidebar-accent text-sidebar-accent-foreground ml-1.5 inline-flex h-4 min-w-4 items-center justify-center rounded-full px-1 text-[0.6rem] font-medium tabular-nums",role:"img",children:a})]}),(0,t.jsx)(P,{children:(0,t.jsx)(L,{className:"gap-0.5",children:r})})]})}function eG({label:e,className:a}){return(0,t.jsx)(R,{"data-testid":"sidebar-section-header",className:(0,s.cn)("px-2 py-1",a),children:(0,t.jsx)("div",{className:"text-sidebar-foreground flex h-7 w-full shrink-0 items-center px-2 text-sm font-medium",children:(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e})})})}function eJ({features:e,featureFlags:i,showNewFeature:o=!1,onNewFeature:n,onFeatureClick:l}){let s=(0,r.usePathname)(),{state:d}=C(),{mounted:c,visible:u}=function(e,t){let[r,i]=(0,a.useState)(!e),[o,n]=(0,a.useState)(!e);return(0,a.useEffect)(()=>{if(!e){i(!0);let e=requestAnimationFrame(()=>n(!0));return()=>cancelAnimationFrame(e)}n(!1);let t=window.setTimeout(()=>i(!1),200);return()=>window.clearTimeout(t)},[e,200]),{mounted:r,visible:o}}("collapsed"===d,0),f=eU.map(t=>{let{label:a}=e$[t],r=e.filter(e=>e.status===t);return{key:t,label:a,items:r}});return(0,t.jsxs)(y,{"data-testid":"app-sidebar","data-no-drawer-close":!0,collapsible:"icon",children:[(0,t.jsx)(k,{children:(0,t.jsxs)(L,{children:[(0,t.jsx)(z,{children:(0,t.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[c?(0,t.jsxs)("div",{className:["flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2 transition-opacity duration-200 ease-out",u?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!u,children:[(0,t.jsx)(eM,{className:"shrink-0",size:20,variant:"default"}),(0,t.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"}),(0,t.jsx)(eI,{version:"1.97.0",branch:"main",commitHash:"a15430f262968c3d69a4f5a70e5a1a5007ff02f6",isDev:!1,packageName:"@shepai/cli",description:"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy",instancePath:"/home/runner/work/cli/cli/src/presentation/web"})]}):null,(0,t.jsx)(e_,{className:"shrink-0 transition-all duration-200"})]})}),(0,t.jsx)(eD,{icon:M,label:"Control Center",href:"/",active:"/"===s}),(0,t.jsx)(eD,{icon:I.Wrench,label:"Tools",href:"/tools",active:"/tools"===s}),i.skills?(0,t.jsx)(eD,{icon:H.Puzzle,label:"Skills",href:"/skills",active:"/skills"===s}):null,(0,t.jsx)(eD,{icon:O,label:"Settings",href:"/settings",active:"/settings"===s})]})}),(0,t.jsx)(E,{children:c?(0,t.jsxs)("div",{className:["min-w-0 overflow-hidden transition-opacity duration-200 ease-out [&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none",u?"opacity-100":"opacity-0"].join(" "),children:[(0,t.jsx)(eG,{label:"Features"}),(0,t.jsx)(eA,{children:f.map(({key:e,label:a,items:r})=>r.length>0?(0,t.jsx)(eK,{label:a,count:r.length,children:r.map(e=>(0,t.jsx)(eZ,{name:e.name,status:e.status,startedAt:e.startedAt,duration:e.duration,agentType:e.agentType,modelId:e.modelId,onClick:l?()=>l(e.featureId):void 0},e.featureId))},e):null)})]}):null}),o?(0,t.jsx)(T,{children:(0,t.jsx)(L,{children:(0,t.jsx)(z,{children:(0,t.jsxs)(_,{onClick:n,tooltip:"New feature",children:[(0,t.jsx)(W.Plus,{}),(0,t.jsx)("span",{children:"New feature"})]})})})}):null,(0,t.jsx)(S,{})]})}let eQ=(0,o.default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var e0=e.i(78521);function e2({onSelect:e}){let[r,i]=(0,a.useState)(!1);async function o(){if(!r){i(!0);try{let t=await (0,e0.pickFolder)();t&&e?.(t)}finally{i(!1)}}}return(0,t.jsx)(v.TooltipProvider,{children:(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(d.Button,{variant:"ghost",size:"icon","aria-label":"Add Repository","data-testid":"add-repository-button",onClick:o,disabled:r,children:r?(0,t.jsx)(eB.Loader2,{className:"h-5 w-5 animate-spin"}):(0,t.jsx)(eQ,{className:"h-5 w-5"})})}),(0,t.jsx)(v.TooltipContent,{children:"Add Repository"})]})})}let e1=(0,o.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),e3=(0,o.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),e4="shep-theme";function e5(){let{theme:e,resolvedTheme:r,setTheme:i}=function(){let[e,t]=(0,a.useState)("system"),[r,i]=(0,a.useState)("light"),o=(0,a.useCallback)(()=>window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[]),n=(0,a.useCallback)(e=>"system"===e?o():e,[o]),l=(0,a.useCallback)(e=>{if("u"<typeof document)return;let t=document.documentElement;t.classList.remove("light","dark"),t.classList.add(e),i(e)},[]),s=(0,a.useCallback)(e=>{t(e),"u">typeof localStorage&&localStorage.setItem(e4,e),l(n(e))},[n,l]);return(0,a.useEffect)(()=>{let e=localStorage.getItem(e4)??"system";t(e),l(n(e))},[n,l]),(0,a.useEffect)(()=>{let t=window.matchMedia("(prefers-color-scheme: dark)"),a=()=>{"system"===e&&l(n("system"))};return t.addEventListener("change",a),()=>t.removeEventListener("change",a)},[e,n,l]),{theme:e,resolvedTheme:r,setTheme:s}}(),o=(0,ez.useSoundAction)("toggle-on"),n=(0,ez.useSoundAction)("toggle-off");return(0,t.jsxs)(d.Button,{variant:"ghost",size:"icon",onClick:t=>{let a="system"===e?"dark"===r?"light":"dark":"dark"===e?"light":"dark";"dark"!==("system"===e?r:e)?o.play():n.play();let l=window.matchMedia("(prefers-reduced-motion: reduce)").matches;!document.startViewTransition||l?i(a):(document.documentElement.style.setProperty("--x",`${t.clientX}px`),document.documentElement.style.setProperty("--y",`${t.clientY}px`),document.startViewTransition(()=>{i(a)}))},"aria-label":`Switch to ${"dark"===r?"light":"dark"} mode`,children:[(0,t.jsx)(e3,{className:"h-5 w-5 scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90"}),(0,t.jsx)(e1,{className:"absolute h-5 w-5 scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}let e7=(0,o.default)("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),e6=(0,o.default)("volume-off",[["path",{d:"M16 9a5 5 0 0 1 .95 2.293",key:"1fgyg8"}],["path",{d:"M19.364 5.636a9 9 0 0 1 1.889 9.96",key:"l3zxae"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11",key:"1gbwow"}],["path",{d:"M9.828 4.172A.686.686 0 0 1 11 4.657v.686",key:"s2je0y"}]]);var e9=e.i(73709);function e8(){let{enabled:e,toggle:a}=(0,e9.useSoundEnabled)();return(0,t.jsxs)(d.Button,{variant:"ghost",size:"icon",onClick:a,"aria-label":e?"Mute sounds":"Unmute sounds",children:[e?(0,t.jsx)(e7,{className:"h-5 w-5"}):(0,t.jsx)(e6,{className:"h-5 w-5"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle sound"})]})}var te=e.i(39443),tt=e.i(30153),ta=e.i(5147),tr=e.i(60112),ti=e.i(17406);let to={[ti.NotificationSeverity.Success]:"success",[ti.NotificationSeverity.Error]:"error",[ti.NotificationSeverity.Warning]:"warning",[ti.NotificationSeverity.Info]:"info"},tn={[ti.NotificationSeverity.Success]:"notification-success",[ti.NotificationSeverity.Error]:"notification-error",[ti.NotificationSeverity.Warning]:"notification-warning",[ti.NotificationSeverity.Info]:"notification-info"};var tl=e.i(75921);function ts({children:e}){let i=(0,r.useRouter)(),{guardedNavigate:o}=(0,tt.useDrawerCloseGuard)(),n=(0,tl.useFeatureFlags)();!function(){let e=(0,r.useRouter)(),{events:t}=(0,te.useAgentEventsContext)(),i=(0,ez.useSoundAction)("notification-success"),o=(0,ez.useSoundAction)("notification-error"),n=(0,ez.useSoundAction)("notification-warning"),l=(0,ez.useSoundAction)("notification-info"),s=(0,a.useMemo)(()=>({"notification-success":i,"notification-error":o,"notification-warning":n,"notification-info":l}),[i,o,n,l]),d=(0,a.useRef)(0);(0,a.useEffect)(()=>{if(t.length<=d.current)return;let a=t.slice(d.current);for(let r of(d.current=t.length,a)){if(r.severity!==ti.NotificationSeverity.Error&&r.severity!==ti.NotificationSeverity.Warning&&r.severity!==ti.NotificationSeverity.Success)continue;!function(e,t){let a=to[e.severity]??"info",r=e.eventType===ti.NotificationEventType.WaitingApproval;tr.toast[a](e.featureName,{description:e.message,...r&&t&&{action:{label:"Review",onClick:()=>{t(`/feature/${e.featureId}`)}}}})}(r,t=>e.push(t));let t=tn[r.severity];s[t]?.play()}},[t,s,e])}();let{features:l}=(0,ta.useSidebarFeaturesContext)(),s=(0,a.useCallback)(()=>{o(()=>i.push("/create"))},[i,o]),d=(0,a.useCallback)(e=>{o(()=>i.push(`/feature/${e}`))},[i,o]),c=(0,a.useCallback)(e=>{window.dispatchEvent(new CustomEvent("shep:add-repository",{detail:{path:e}}))},[]);return(0,t.jsxs)(j,{defaultOpen:!1,children:[(0,t.jsx)(eJ,{features:l,featureFlags:n,onNewFeature:s,onFeatureClick:d}),(0,t.jsx)(N,{children:(0,t.jsxs)("div",{className:"relative h-full",children:[(0,t.jsxs)("div",{className:"absolute top-3 right-3 z-50 flex gap-1",children:[(0,t.jsx)(e2,{onSelect:c}),(0,t.jsx)(e8,{}),(0,t.jsx)(e5,{})]}),(0,t.jsx)("main",{className:"h-full",children:e})]})})]})}function td({children:e}){return(0,t.jsx)(te.AgentEventsProvider,{children:(0,t.jsx)(tt.DrawerCloseGuardProvider,{children:(0,t.jsx)(ta.SidebarFeaturesProvider,{children:(0,t.jsx)(ts,{children:e})})})})}e.s(["AppShell",()=>td],87292)},25251,e=>{"use strict";var t=e.i(20314),a=e.i(60112);let r=({...e})=>(0,t.jsx)(a.Toaster,{className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e});e.s(["Toaster",()=>r])}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,87292,e=>{"use strict";var t=e.i(20314),a=e.i(79054),r=e.i(31406),i=e.i(94237),o=e.i(3645);let n=(0,o.default)("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);var l=e.i(5240),s=e.i(31777),d=e.i(35364);e.i(98127),e.i(25235);var c=e.i(48249),u=e.i(90033);function p({...e}){return(0,t.jsx)(u.Dialog.Root,{"data-slot":"sheet",...e})}function f({...e}){return(0,t.jsx)(u.Dialog.Portal,{"data-slot":"sheet-portal",...e})}function h({className:e,...a}){return(0,t.jsx)(u.Dialog.Overlay,{"data-slot":"sheet-overlay",className:(0,s.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...a})}function m({className:e,children:a,side:r="right",showCloseButton:i=!0,...o}){return(0,t.jsxs)(f,{children:[(0,t.jsx)(h,{}),(0,t.jsxs)(u.Dialog.Content,{"data-slot":"sheet-content",className:(0,s.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500","right"===r&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm","left"===r&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm","top"===r&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===r&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",e),...o,children:[a,i?(0,t.jsxs)(u.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,t.jsx)(c.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})]})}function b({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sheet-header",className:(0,s.cn)("flex flex-col gap-1.5 p-4",e),...a})}function g({className:e,...a}){return(0,t.jsx)(u.Dialog.Title,{"data-slot":"sheet-title",className:(0,s.cn)("text-foreground font-semibold",e),...a})}function x({className:e,...a}){return(0,t.jsx)(u.Dialog.Description,{"data-slot":"sheet-description",className:(0,s.cn)("text-muted-foreground text-sm",e),...a})}var v=e.i(2828);let w=a.createContext(null);function C(){let e=a.useContext(w);if(!e)throw Error("useSidebar must be used within a SidebarProvider.");return e}function j({defaultOpen:e=!0,open:r,onOpenChange:i,className:o,style:n,children:l,...d}){let c=function(){let[e,t]=a.useState(void 0);return a.useEffect(()=>{let e=window.matchMedia("(max-width: 767px)"),a=()=>{t(window.innerWidth<768)};return e.addEventListener("change",a),t(window.innerWidth<768),()=>e.removeEventListener("change",a)},[]),!!e}(),[u,p]=a.useState(!1),[f,h]=a.useState(e),m=r??f,b=a.useCallback(e=>{let t="function"==typeof e?e(m):e;i?i(t):h(t),document.cookie=`sidebar_state=${t}; path=/; max-age=604800`},[i,m]),g=a.useCallback(()=>c?p(e=>!e):b(e=>!e),[c,b,p]);a.useEffect(()=>{let e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),g())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[g]);let x=m?"expanded":"collapsed",C=a.useMemo(()=>({state:x,open:m,setOpen:b,isMobile:c,openMobile:u,setOpenMobile:p,toggleSidebar:g}),[x,m,b,c,u,p,g]);return(0,t.jsx)(w.Provider,{value:C,children:(0,t.jsx)(v.TooltipProvider,{delayDuration:0,children:(0,t.jsx)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...n},className:(0,s.cn)("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",o),...d,children:l})})})}function y({side:e="left",variant:a="sidebar",collapsible:r="offcanvas",className:i,children:o,...n}){let{isMobile:l,state:d,openMobile:c,setOpenMobile:u}=C();return"none"===r?(0,t.jsx)("div",{"data-slot":"sidebar",className:(0,s.cn)("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",i),...n,children:o}):l?(0,t.jsx)(p,{open:c,onOpenChange:u,...n,children:(0,t.jsxs)(m,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:e,children:[(0,t.jsxs)(b,{className:"sr-only",children:[(0,t.jsx)(g,{children:"Sidebar"}),(0,t.jsx)(x,{children:"Displays the mobile sidebar."})]}),(0,t.jsx)("div",{className:"flex h-full w-full flex-col",children:o})]})}):(0,t.jsxs)("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":d,"data-collapsible":"collapsed"===d?r:"","data-variant":a,"data-side":e,"data-slot":"sidebar",children:[(0,t.jsx)("div",{"data-slot":"sidebar-gap",className:(0,s.cn)("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===a||"inset"===a?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),(0,t.jsx)("div",{"data-slot":"sidebar-container",className:(0,s.cn)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex","left"===e?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===a||"inset"===a?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",i),...n,children:(0,t.jsx)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:o})})]})}function S({className:e,...a}){let{toggleSidebar:r}=C();return(0,t.jsx)("button",{"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:(0,s.cn)("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex","in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...a})}function N({className:e,...a}){return(0,t.jsx)("main",{"data-slot":"sidebar-inset",className:(0,s.cn)("bg-background relative flex w-full flex-1 flex-col","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",e),...a})}function k({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:(0,s.cn)("flex flex-col gap-2 p-2",e),...a})}function T({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:(0,s.cn)("flex flex-col gap-2 p-2",e),...a})}function E({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:(0,s.cn)("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...a})}function R({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:(0,s.cn)("relative flex w-full min-w-0 flex-col p-2",e),...a})}function A({className:e,asChild:a=!1,...r}){let i=a?l.Slot.Root:"div";return(0,t.jsx)(i,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:(0,s.cn)("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...r})}function P({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:(0,s.cn)("w-full text-sm",e),...a})}function L({className:e,...a}){return(0,t.jsx)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:(0,s.cn)("flex w-full min-w-0 flex-col gap-1",e),...a})}function z({className:e,...a}){return(0,t.jsx)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:(0,s.cn)("group/menu-item relative",e),...a})}let D=(0,i.cva)("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function _({asChild:e=!1,isActive:a=!1,variant:r="default",size:i="default",tooltip:o,className:n,...d}){let c=e?l.Slot.Root:"button",{isMobile:u,state:p}=C(),f=(0,t.jsx)(c,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":i,"data-active":a,className:(0,s.cn)(D({variant:r,size:i}),n),...d});return o?("string"==typeof o&&(o={children:o}),(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{asChild:!0,children:f}),(0,t.jsx)(v.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==p||u,...o})]})):f}e.i(44172);let M=(0,o.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);var I=e.i(81975),H=e.i(12103),W=e.i(3214);let O=(0,o.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var B=e.i(87620),F=e.i(85995),V=e.i(22528),X=e.i(5978),$=e.i(29297),U=e.i(66033),Y=e.i(5192),q=e.i(27069),Z=e.i(91967),K="ScrollArea",[G,J]=(0,V.createContextScope)(K),[Q,ee]=G(K),et=a.forwardRef((e,r)=>{let{__scopeScrollArea:i,type:o="hover",dir:n,scrollHideDelay:l=600,...s}=e,[d,c]=a.useState(null),[u,p]=a.useState(null),[f,h]=a.useState(null),[m,b]=a.useState(null),[g,x]=a.useState(null),[v,w]=a.useState(0),[C,j]=a.useState(0),[y,S]=a.useState(!1),[N,k]=a.useState(!1),T=(0,X.useComposedRefs)(r,e=>c(e)),E=(0,U.useDirection)(n);return(0,t.jsx)(Q,{scope:i,type:o,dir:E,scrollHideDelay:l,scrollArea:d,viewport:u,onViewportChange:p,content:f,onContentChange:h,scrollbarX:m,onScrollbarXChange:b,scrollbarXEnabled:y,onScrollbarXEnabledChange:S,scrollbarY:g,onScrollbarYChange:x,scrollbarYEnabled:N,onScrollbarYEnabledChange:k,onCornerWidthChange:w,onCornerHeightChange:j,children:(0,t.jsx)(B.Primitive.div,{dir:E,...s,ref:T,style:{position:"relative","--radix-scroll-area-corner-width":v+"px","--radix-scroll-area-corner-height":C+"px",...e.style}})})});et.displayName=K;var ea="ScrollAreaViewport",er=a.forwardRef((e,r)=>{let{__scopeScrollArea:i,children:o,nonce:n,...l}=e,s=ee(ea,i),d=a.useRef(null),c=(0,X.useComposedRefs)(r,d,s.onViewportChange);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:n}),(0,t.jsx)(B.Primitive.div,{"data-radix-scroll-area-viewport":"",...l,ref:c,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,t.jsx)("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:o})})]})});er.displayName=ea;var ei="ScrollAreaScrollbar",eo=a.forwardRef((e,r)=>{let{forceMount:i,...o}=e,n=ee(ei,e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:s}=n,d="horizontal"===e.orientation;return a.useEffect(()=>(d?l(!0):s(!0),()=>{d?l(!1):s(!1)}),[d,l,s]),"hover"===n.type?(0,t.jsx)(en,{...o,ref:r,forceMount:i}):"scroll"===n.type?(0,t.jsx)(el,{...o,ref:r,forceMount:i}):"auto"===n.type?(0,t.jsx)(es,{...o,ref:r,forceMount:i}):"always"===n.type?(0,t.jsx)(ed,{...o,ref:r}):null});eo.displayName=ei;var en=a.forwardRef((e,r)=>{let{forceMount:i,...o}=e,n=ee(ei,e.__scopeScrollArea),[l,s]=a.useState(!1);return a.useEffect(()=>{let e=n.scrollArea,t=0;if(e){let a=()=>{window.clearTimeout(t),s(!0)},r=()=>{t=window.setTimeout(()=>s(!1),n.scrollHideDelay)};return e.addEventListener("pointerenter",a),e.addEventListener("pointerleave",r),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",a),e.removeEventListener("pointerleave",r)}}},[n.scrollArea,n.scrollHideDelay]),(0,t.jsx)(F.Presence,{present:i||l,children:(0,t.jsx)(es,{"data-state":l?"visible":"hidden",...o,ref:r})})}),el=a.forwardRef((e,r)=>{var i;let{forceMount:o,...n}=e,l=ee(ei,e.__scopeScrollArea),s="horizontal"===e.orientation,d=eT(()=>u("SCROLL_END"),100),[c,u]=(i={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},a.useReducer((e,t)=>i[e][t]??e,"hidden"));return a.useEffect(()=>{if("idle"===c){let e=window.setTimeout(()=>u("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(e)}},[c,l.scrollHideDelay,u]),a.useEffect(()=>{let e=l.viewport,t=s?"scrollLeft":"scrollTop";if(e){let a=e[t],r=()=>{let r=e[t];a!==r&&(u("SCROLL"),d()),a=r};return e.addEventListener("scroll",r),()=>e.removeEventListener("scroll",r)}},[l.viewport,s,u,d]),(0,t.jsx)(F.Presence,{present:o||"hidden"!==c,children:(0,t.jsx)(ed,{"data-state":"hidden"===c?"hidden":"visible",...n,ref:r,onPointerEnter:(0,Z.composeEventHandlers)(e.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:(0,Z.composeEventHandlers)(e.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),es=a.forwardRef((e,r)=>{let i=ee(ei,e.__scopeScrollArea),{forceMount:o,...n}=e,[l,s]=a.useState(!1),d="horizontal"===e.orientation,c=eT(()=>{if(i.viewport){let e=i.viewport.offsetWidth<i.viewport.scrollWidth,t=i.viewport.offsetHeight<i.viewport.scrollHeight;s(d?e:t)}},10);return eE(i.viewport,c),eE(i.content,c),(0,t.jsx)(F.Presence,{present:o||l,children:(0,t.jsx)(ed,{"data-state":l?"visible":"hidden",...n,ref:r})})}),ed=a.forwardRef((e,r)=>{let{orientation:i="vertical",...o}=e,n=ee(ei,e.__scopeScrollArea),l=a.useRef(null),s=a.useRef(0),[d,c]=a.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=ej(d.viewport,d.content),p={...o,sizes:d,onSizesChange:c,hasThumb:!!(u>0&&u<1),onThumbChange:e=>l.current=e,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:e=>s.current=e};function f(e,t){return function(e,t,a,r="ltr"){let i=ey(a),o=t||i/2,n=a.scrollbar.paddingStart+o,l=a.scrollbar.size-a.scrollbar.paddingEnd-(i-o),s=a.content-a.viewport;return eN([n,l],"ltr"===r?[0,s]:[-1*s,0])(e)}(e,s.current,d,t)}return"horizontal"===i?(0,t.jsx)(ec,{...p,ref:r,onThumbPositionChange:()=>{if(n.viewport&&l.current){let e=eS(n.viewport.scrollLeft,d,n.dir);l.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{n.viewport&&(n.viewport.scrollLeft=e)},onDragScroll:e=>{n.viewport&&(n.viewport.scrollLeft=f(e,n.dir))}}):"vertical"===i?(0,t.jsx)(eu,{...p,ref:r,onThumbPositionChange:()=>{if(n.viewport&&l.current){let e=eS(n.viewport.scrollTop,d);l.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{n.viewport&&(n.viewport.scrollTop=e)},onDragScroll:e=>{n.viewport&&(n.viewport.scrollTop=f(e))}}):null}),ec=a.forwardRef((e,r)=>{let{sizes:i,onSizesChange:o,...n}=e,l=ee(ei,e.__scopeScrollArea),[s,d]=a.useState(),c=a.useRef(null),u=(0,X.useComposedRefs)(r,c,l.onScrollbarXChange);return a.useEffect(()=>{c.current&&d(getComputedStyle(c.current))},[c]),(0,t.jsx)(eh,{"data-orientation":"horizontal",...n,ref:u,sizes:i,style:{bottom:0,left:"rtl"===l.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===l.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ey(i)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,a)=>{if(l.viewport){var r,i;let o=l.viewport.scrollLeft+t.deltaX;e.onWheelScroll(o),r=o,i=a,r>0&&r<i&&t.preventDefault()}},onResize:()=>{c.current&&l.viewport&&s&&o({content:l.viewport.scrollWidth,viewport:l.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:eC(s.paddingLeft),paddingEnd:eC(s.paddingRight)}})}})}),eu=a.forwardRef((e,r)=>{let{sizes:i,onSizesChange:o,...n}=e,l=ee(ei,e.__scopeScrollArea),[s,d]=a.useState(),c=a.useRef(null),u=(0,X.useComposedRefs)(r,c,l.onScrollbarYChange);return a.useEffect(()=>{c.current&&d(getComputedStyle(c.current))},[c]),(0,t.jsx)(eh,{"data-orientation":"vertical",...n,ref:u,sizes:i,style:{top:0,right:"ltr"===l.dir?0:void 0,left:"rtl"===l.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ey(i)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,a)=>{if(l.viewport){var r,i;let o=l.viewport.scrollTop+t.deltaY;e.onWheelScroll(o),r=o,i=a,r>0&&r<i&&t.preventDefault()}},onResize:()=>{c.current&&l.viewport&&s&&o({content:l.viewport.scrollHeight,viewport:l.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:eC(s.paddingTop),paddingEnd:eC(s.paddingBottom)}})}})}),[ep,ef]=G(ei),eh=a.forwardRef((e,r)=>{let{__scopeScrollArea:i,sizes:o,hasThumb:n,onThumbChange:l,onThumbPointerUp:s,onThumbPointerDown:d,onThumbPositionChange:c,onDragScroll:u,onWheelScroll:p,onResize:f,...h}=e,m=ee(ei,i),[b,g]=a.useState(null),x=(0,X.useComposedRefs)(r,e=>g(e)),v=a.useRef(null),w=a.useRef(""),C=m.viewport,j=o.content-o.viewport,y=(0,$.useCallbackRef)(p),S=(0,$.useCallbackRef)(c),N=eT(f,10);function k(e){v.current&&u({x:e.clientX-v.current.left,y:e.clientY-v.current.top})}return a.useEffect(()=>{let e=e=>{let t=e.target;b?.contains(t)&&y(e,j)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[C,b,j,y]),a.useEffect(S,[o,S]),eE(b,N),eE(m.content,N),(0,t.jsx)(ep,{scope:i,scrollbar:b,hasThumb:n,onThumbChange:(0,$.useCallbackRef)(l),onThumbPointerUp:(0,$.useCallbackRef)(s),onThumbPositionChange:S,onThumbPointerDown:(0,$.useCallbackRef)(d),children:(0,t.jsx)(B.Primitive.div,{...h,ref:x,style:{position:"absolute",...h.style},onPointerDown:(0,Z.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),v.current=b.getBoundingClientRect(),w.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",m.viewport&&(m.viewport.style.scrollBehavior="auto"),k(e))}),onPointerMove:(0,Z.composeEventHandlers)(e.onPointerMove,k),onPointerUp:(0,Z.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=w.current,m.viewport&&(m.viewport.style.scrollBehavior=""),v.current=null})})})}),em="ScrollAreaThumb",eb=a.forwardRef((e,a)=>{let{forceMount:r,...i}=e,o=ef(em,e.__scopeScrollArea);return(0,t.jsx)(F.Presence,{present:r||o.hasThumb,children:(0,t.jsx)(eg,{ref:a,...i})})}),eg=a.forwardRef((e,r)=>{let{__scopeScrollArea:i,style:o,...n}=e,l=ee(em,i),s=ef(em,i),{onThumbPositionChange:d}=s,c=(0,X.useComposedRefs)(r,e=>s.onThumbChange(e)),u=a.useRef(void 0),p=eT(()=>{u.current&&(u.current(),u.current=void 0)},100);return a.useEffect(()=>{let e=l.viewport;if(e){let t=()=>{p(),u.current||(u.current=ek(e,d),d())};return d(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[l.viewport,p,d]),(0,t.jsx)(B.Primitive.div,{"data-state":s.hasThumb?"visible":"hidden",...n,ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...o},onPointerDownCapture:(0,Z.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),a=e.clientX-t.left,r=e.clientY-t.top;s.onThumbPointerDown({x:a,y:r})}),onPointerUp:(0,Z.composeEventHandlers)(e.onPointerUp,s.onThumbPointerUp)})});eb.displayName=em;var ex="ScrollAreaCorner",ev=a.forwardRef((e,a)=>{let r=ee(ex,e.__scopeScrollArea),i=!!(r.scrollbarX&&r.scrollbarY);return"scroll"!==r.type&&i?(0,t.jsx)(ew,{...e,ref:a}):null});ev.displayName=ex;var ew=a.forwardRef((e,r)=>{let{__scopeScrollArea:i,...o}=e,n=ee(ex,i),[l,s]=a.useState(0),[d,c]=a.useState(0),u=!!(l&&d);return eE(n.scrollbarX,()=>{let e=n.scrollbarX?.offsetHeight||0;n.onCornerHeightChange(e),c(e)}),eE(n.scrollbarY,()=>{let e=n.scrollbarY?.offsetWidth||0;n.onCornerWidthChange(e),s(e)}),u?(0,t.jsx)(B.Primitive.div,{...o,ref:r,style:{width:l,height:d,position:"absolute",right:"ltr"===n.dir?0:void 0,left:"rtl"===n.dir?0:void 0,bottom:0,...e.style}}):null});function eC(e){return e?parseInt(e,10):0}function ej(e,t){let a=e/t;return isNaN(a)?0:a}function ey(e){let t=ej(e.viewport,e.content),a=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-a)*t,18)}function eS(e,t,a="ltr"){let r=ey(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,o=t.scrollbar.size-i,n=t.content-t.viewport,l=(0,q.clamp)(e,"ltr"===a?[0,n]:[-1*n,0]);return eN([0,n],[0,o-r])(l)}function eN(e,t){return a=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(a-e[0])}}var ek=(e,t=()=>{})=>{let a={left:e.scrollLeft,top:e.scrollTop},r=0;return!function i(){let o={left:e.scrollLeft,top:e.scrollTop},n=a.left!==o.left,l=a.top!==o.top;(n||l)&&t(),a=o,r=window.requestAnimationFrame(i)}(),()=>window.cancelAnimationFrame(r)};function eT(e,t){let r=(0,$.useCallbackRef)(e),i=a.useRef(0);return a.useEffect(()=>()=>window.clearTimeout(i.current),[]),a.useCallback(()=>{window.clearTimeout(i.current),i.current=window.setTimeout(r,t)},[r,t])}function eE(e,t){let a=(0,$.useCallbackRef)(t);(0,Y.useLayoutEffect)(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(a)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,a])}e.s(["Corner",()=>ev,"Root",()=>et,"ScrollArea",()=>et,"ScrollAreaCorner",()=>ev,"ScrollAreaScrollbar",()=>eo,"ScrollAreaThumb",()=>eb,"ScrollAreaViewport",()=>er,"Scrollbar",()=>eo,"Thumb",()=>eb,"Viewport",()=>er,"createScrollAreaScope",()=>J],87516);var eR=e.i(87516),eR=eR;function eA({className:e,children:a,...r}){return(0,t.jsxs)(eR.Root,{"data-slot":"scroll-area",className:(0,s.cn)("relative",e),...r,children:[(0,t.jsx)(eR.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&>div]:block!",children:a}),(0,t.jsx)(eP,{}),(0,t.jsx)(eR.Corner,{})]})}function eP({className:e,orientation:a="vertical",...r}){return(0,t.jsx)(eR.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:a,className:(0,s.cn)("flex touch-none p-px transition-colors select-none","vertical"===a&&"h-full w-2.5 border-l border-l-transparent","horizontal"===a&&"h-2.5 flex-col border-t border-t-transparent",e),...r,children:(0,t.jsx)(eR.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}var eL=e.i(24035),ez=e.i(8361);function eD({icon:e,label:a,href:r,active:i=!1}){let o=(0,ez.useSoundAction)("navigate");return(0,t.jsx)(z,{"data-testid":"sidebar-nav-item",children:(0,t.jsx)(_,{asChild:!0,isActive:i,tooltip:a,children:(0,t.jsxs)(eL.default,{href:r,onClick:()=>o.play(),children:[(0,t.jsx)(e,{}),(0,t.jsx)("span",{children:a})]})})})}function e_({className:e}){let{toggleSidebar:a,open:r}=C(),i=(0,ez.useSoundAction)("expand"),o=(0,ez.useSoundAction)("collapse");return(0,t.jsx)("div",{className:(0,s.cn)("flex",e),children:(0,t.jsx)(d.Button,{"data-testid":"sidebar-collapse-toggle",variant:"ghost",size:"icon",className:"size-7 cursor-pointer group-data-[collapsible=icon]:size-8!",onClick:()=>{r?o.play():i.play(),a()},"aria-label":r?"Collapse sidebar":"Expand sidebar",children:(0,t.jsx)(n,{className:"size-4"})})})}function eM({className:e,size:a=24,variant:r="default"}){return(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 194 200",width:a,height:a,className:(0,s.cn)("shrink-0","dev"===r&&"text-cyan-400",e),"aria-hidden":"true",children:(0,t.jsx)("g",{transform:"matrix(1, 0, 0, 1, -111, -208)",children:(0,t.jsx)("path",{d:"M 198 406 C196,405 194,403 193,401 C192,399 191,398 186,398 C178,397 174,394 170,387 L 168 381 L 163 381 C156,381 150,377 147,370 C144,364 143,359 146,353 C148,348 148,347 147,347 C145,347 140,343 138,339 C133,329 139,314 149,311 L 152 311 L 149 307 C145,302 145,294 149,290 C151,288 152,287 151,286 C150,283 152,278 155,276 C156,275 159,274 162,273 C165,273 166,273 168,276 C171,278 171,280 172,287 C173,294 174,297 177,304 C180,309 182,314 183,316 C186,327 193,336 199,339 C204,342 211,342 216,340 C222,336 231,324 234,314 C235,312 237,307 239,302 C240,298 242,292 242,289 C243,281 245,278 247,275 C250,273 251,273 255,273 C261,274 264,278 264,282 C264,284 264,286 263,287 C262,287 263,288 265,290 C272,295 272,303 267,309 L 265 312 L 269 314 C276,317 279,323 279,332 C279,339 277,343 272,347 C268,351 268,351 269,354 C272,358 271,366 269,371 C266,376 259,381 254,381 C252,381 251,382 248,386 C242,395 234,400 227,399 C224,398 223,398 221,401 C220,403 217,405 216,406 C211,409 203,409 198,406 ZM 136 271 C123,267 115,262 113,256 C111,251 111,251 113,251 C118,254 124,254 132,252 C136,252 141,251 144,251 C149,251 157,253 162,256 C166,258 166,258 166,264 L 166 269 L 160 270 C149,272 142,272 136,271 ZM 264 271 C263,271 259,270 256,270 L 250 270 L 250 265 C249,259 250,257 259,254 C265,251 272,251 289,252 C297,253 299,253 302,252 C305,250 305,250 305,252 C305,255 301,262 297,264 C289,270 272,273 264,271 ZM 162 249 C160,247 159,245 159,242 C159,236 164,230 169,230 C170,230 171,228 171,225 C171,216 176,210 184,209 C189,209 195,211 195,213 C195,214 196,213 197,212 C201,209 204,208 208,208 C212,208 217,210 219,212 C220,214 220,213 223,211 C226,208 234,208 239,211 C243,214 246,221 246,226 C245,230 245,230 247,230 C253,230 258,238 257,244 C256,249 251,252 245,252 C241,252 237,251 234,248 C232,247 232,247 228,249 C225,251 222,252 220,252 C216,252 212,250 210,247 C209,246 209,246 206,248 C201,252 192,253 185,248 C183,247 183,247 178,249 C172,253 166,253 162,249 ZM 116 249 C112,248 114,247 119,247 C122,247 127,246 130,245 C138,242 146,242 152,245 L 158 248 L 148 247 C142,247 138,247 133,248 C128,250 120,250 116,249 ZM 284 248 C281,247 277,247 270,247 L 260 248 L 263 246 C269,243 276,242 284,245 C289,246 295,247 298,247 C303,247 304,247 303,248 C301,250 289,250 284,248 Z",fill:"currentColor"})})})}function eI({version:e,branch:a,commitHash:r,isDev:i=!1,packageName:o="@shepai/cli",description:n,instancePath:l}){let s=r?.slice(0,7),d=i?`${e}-dev`:`v${e}`;return(0,t.jsx)(v.TooltipProvider,{delayDuration:200,children:(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground/80 hover:text-muted-foreground cursor-default text-[11px] leading-tight transition-colors","data-testid":"version-label",children:d})}),(0,t.jsxs)(v.TooltipContent,{side:"right",className:"max-w-[280px] space-y-1 p-3 text-left",children:[(0,t.jsx)("div",{className:"mb-1.5 text-xs font-semibold",children:o}),n?(0,t.jsx)("div",{className:"text-[10px] leading-snug opacity-70",children:n}):null,(0,t.jsxs)("div",{className:"border-t border-white/10 pt-1.5",children:[(0,t.jsx)(eH,{label:"Version",value:d}),i&&a?(0,t.jsx)(eH,{label:"Branch",value:a}):null,i&&s?(0,t.jsx)(eH,{label:"Commit",value:s,mono:!0}):null,i&&l?(0,t.jsx)(eH,{label:"Path",value:l,mono:!0}):null]})]})]})})}function eH({label:e,value:a,highlight:r,mono:i}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 text-[10px]",children:[(0,t.jsx)("span",{className:"opacity-60",children:e}),(0,t.jsx)("span",{className:[r?"font-medium text-cyan-400":"",i||!r?"font-mono":""].filter(Boolean).join(" "),children:a})]})}function eW({startedAt:e}){let[r,i]=(0,a.useState)(()=>Date.now()-e);return(0,a.useEffect)(()=>{let t=setInterval(()=>{(0,a.startTransition)(()=>i(Date.now()-e))},1e3);return()=>clearInterval(t)},[e]),(0,t.jsx)("span",{"data-testid":"elapsed-time",className:"tabular-nums",children:function(e){let t=Math.floor(e/1e3);if(t>=3600){let e=Math.floor(t/3600);return`${e}h`}let a=Math.floor(t/60);return`${String(a).padStart(2,"0")}:${String(t%60).padStart(2,"0")}`}(r)})}var eO=e.i(51251),eB=e.i(83428),eF=e.i(10942),eV=e.i(94819),eX=e.i(54277);let e$={"action-needed":{icon:eO.CircleAlert,iconClass:"text-amber-500",bgClass:"bg-amber-500/10",label:"Action Needed"},"in-progress":{icon:eB.Loader2,iconClass:"text-blue-500 animate-spin",bgClass:"bg-blue-500/10",label:"In Progress"},blocked:{icon:eV.Ban,iconClass:"text-gray-400",bgClass:"bg-gray-400/10",label:"Blocked"},error:{icon:eX.CircleX,iconClass:"text-red-500",bgClass:"bg-red-500/10",label:"Error"},done:{icon:eF.CircleCheck,iconClass:"text-emerald-500",bgClass:"bg-emerald-500/10",label:"Done"}},eU=["action-needed","error","blocked","in-progress","done"];var eY=e.i(86782),eq=e.i(29847);function eZ({name:e,status:a,startedAt:r,duration:i,agentType:o,modelId:n,onClick:l}){let{icon:s,iconClass:d}=e$[a],c=o?(0,eY.getAgentTypeIcon)(o):null;return(0,t.jsx)(z,{"data-testid":"feature-list-item",children:(0,t.jsxs)(_,{size:"sm",onClick:l,tooltip:e,className:"cursor-pointer",children:[(0,t.jsx)(s,{className:d}),(0,t.jsx)("span",{className:"flex-1 truncate font-medium",children:e}),"in-progress"===a&&null!=r?(0,t.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:(0,t.jsx)(eW,{startedAt:r})}):null,"done"===a&&i?(0,t.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:i}):null,c?(0,t.jsx)(v.TooltipProvider,{children:(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"ml-auto shrink-0",children:(0,t.jsx)(c,{className:"h-3.5 w-3.5"})})}),(0,t.jsxs)(v.TooltipContent,{side:"right",children:[(0,t.jsx)("span",{className:"font-medium",children:eY.agentTypeLabels[o]??o}),n?(0,t.jsxs)("span",{className:"ml-1 opacity-70",children:["· ",(0,eq.getModelMeta)(n).displayName||n]}):null]})]})}):null]})})}function eK({label:e,count:a,children:r}){return(0,t.jsxs)(R,{"data-testid":"feature-status-group",className:"px-2 py-1",children:[(0,t.jsxs)(A,{className:"text-muted-foreground h-6 px-2 text-[0.65rem] font-semibold tracking-wider uppercase",children:[e,(0,t.jsx)("span",{"aria-label":`${a} items`,className:"bg-sidebar-accent text-sidebar-accent-foreground ml-1.5 inline-flex h-4 min-w-4 items-center justify-center rounded-full px-1 text-[0.6rem] font-medium tabular-nums",role:"img",children:a})]}),(0,t.jsx)(P,{children:(0,t.jsx)(L,{className:"gap-0.5",children:r})})]})}function eG({label:e,className:a}){return(0,t.jsx)(R,{"data-testid":"sidebar-section-header",className:(0,s.cn)("px-2 py-1",a),children:(0,t.jsx)("div",{className:"text-sidebar-foreground flex h-7 w-full shrink-0 items-center px-2 text-sm font-medium",children:(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e})})})}function eJ({features:e,featureFlags:i,showNewFeature:o=!1,onNewFeature:n,onFeatureClick:l}){let s=(0,r.usePathname)(),{state:d}=C(),{mounted:c,visible:u}=function(e,t){let[r,i]=(0,a.useState)(!e),[o,n]=(0,a.useState)(!e);return(0,a.useEffect)(()=>{if(!e){i(!0);let e=requestAnimationFrame(()=>n(!0));return()=>cancelAnimationFrame(e)}n(!1);let t=window.setTimeout(()=>i(!1),200);return()=>window.clearTimeout(t)},[e,200]),{mounted:r,visible:o}}("collapsed"===d,0),p=eU.map(t=>{let{label:a}=e$[t],r=e.filter(e=>e.status===t);return{key:t,label:a,items:r}});return(0,t.jsxs)(y,{"data-testid":"app-sidebar","data-no-drawer-close":!0,collapsible:"icon",children:[(0,t.jsx)(k,{children:(0,t.jsxs)(L,{children:[(0,t.jsx)(z,{children:(0,t.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[c?(0,t.jsxs)("div",{className:["flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2 transition-opacity duration-200 ease-out",u?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!u,children:[(0,t.jsx)(eM,{className:"shrink-0",size:20,variant:"default"}),(0,t.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"}),(0,t.jsx)(eI,{version:"1.98.0",branch:"main",commitHash:"4f92729b15eec9fee083e5ee2406c54a52d2a8b6",isDev:!1,packageName:"@shepai/cli",description:"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy",instancePath:"/home/runner/work/cli/cli/src/presentation/web"})]}):null,(0,t.jsx)(e_,{className:"shrink-0 transition-all duration-200"})]})}),(0,t.jsx)(eD,{icon:M,label:"Control Center",href:"/",active:"/"===s}),(0,t.jsx)(eD,{icon:I.Wrench,label:"Tools",href:"/tools",active:"/tools"===s}),i.skills?(0,t.jsx)(eD,{icon:H.Puzzle,label:"Skills",href:"/skills",active:"/skills"===s}):null,(0,t.jsx)(eD,{icon:O,label:"Settings",href:"/settings",active:"/settings"===s})]})}),(0,t.jsx)(E,{children:c?(0,t.jsxs)("div",{className:["min-w-0 overflow-hidden transition-opacity duration-200 ease-out [&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none",u?"opacity-100":"opacity-0"].join(" "),children:[(0,t.jsx)(eG,{label:"Features"}),(0,t.jsx)(eA,{children:p.map(({key:e,label:a,items:r})=>r.length>0?(0,t.jsx)(eK,{label:a,count:r.length,children:r.map(e=>(0,t.jsx)(eZ,{name:e.name,status:e.status,startedAt:e.startedAt,duration:e.duration,agentType:e.agentType,modelId:e.modelId,onClick:l?()=>l(e.featureId):void 0},e.featureId))},e):null)})]}):null}),o?(0,t.jsx)(T,{children:(0,t.jsx)(L,{children:(0,t.jsx)(z,{children:(0,t.jsxs)(_,{onClick:n,tooltip:"New feature",children:[(0,t.jsx)(W.Plus,{}),(0,t.jsx)("span",{children:"New feature"})]})})})}):null,(0,t.jsx)(S,{})]})}let eQ=(0,o.default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var e0=e.i(78521);function e2({onSelect:e}){let[r,i]=(0,a.useState)(!1);async function o(){if(!r){i(!0);try{let t=await (0,e0.pickFolder)();t&&e?.(t)}finally{i(!1)}}}return(0,t.jsx)(v.TooltipProvider,{children:(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(d.Button,{variant:"ghost",size:"icon","aria-label":"Add Repository","data-testid":"add-repository-button",onClick:o,disabled:r,children:r?(0,t.jsx)(eB.Loader2,{className:"h-5 w-5 animate-spin"}):(0,t.jsx)(eQ,{className:"h-5 w-5"})})}),(0,t.jsx)(v.TooltipContent,{children:"Add Repository"})]})})}let e1=(0,o.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),e3=(0,o.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),e4="shep-theme";function e5(){let{theme:e,resolvedTheme:r,setTheme:i}=function(){let[e,t]=(0,a.useState)("system"),[r,i]=(0,a.useState)("light"),o=(0,a.useCallback)(()=>window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[]),n=(0,a.useCallback)(e=>"system"===e?o():e,[o]),l=(0,a.useCallback)(e=>{if("u"<typeof document)return;let t=document.documentElement;t.classList.remove("light","dark"),t.classList.add(e),i(e)},[]),s=(0,a.useCallback)(e=>{t(e),"u">typeof localStorage&&localStorage.setItem(e4,e),l(n(e))},[n,l]);return(0,a.useEffect)(()=>{let e=localStorage.getItem(e4)??"system";t(e),l(n(e))},[n,l]),(0,a.useEffect)(()=>{let t=window.matchMedia("(prefers-color-scheme: dark)"),a=()=>{"system"===e&&l(n("system"))};return t.addEventListener("change",a),()=>t.removeEventListener("change",a)},[e,n,l]),{theme:e,resolvedTheme:r,setTheme:s}}(),o=(0,ez.useSoundAction)("toggle-on"),n=(0,ez.useSoundAction)("toggle-off");return(0,t.jsxs)(d.Button,{variant:"ghost",size:"icon",onClick:t=>{let a="system"===e?"dark"===r?"light":"dark":"dark"===e?"light":"dark";"dark"!==("system"===e?r:e)?o.play():n.play();let l=window.matchMedia("(prefers-reduced-motion: reduce)").matches;!document.startViewTransition||l?i(a):(document.documentElement.style.setProperty("--x",`${t.clientX}px`),document.documentElement.style.setProperty("--y",`${t.clientY}px`),document.startViewTransition(()=>{i(a)}))},"aria-label":`Switch to ${"dark"===r?"light":"dark"} mode`,children:[(0,t.jsx)(e3,{className:"h-5 w-5 scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90"}),(0,t.jsx)(e1,{className:"absolute h-5 w-5 scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}let e7=(0,o.default)("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),e6=(0,o.default)("volume-off",[["path",{d:"M16 9a5 5 0 0 1 .95 2.293",key:"1fgyg8"}],["path",{d:"M19.364 5.636a9 9 0 0 1 1.889 9.96",key:"l3zxae"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11",key:"1gbwow"}],["path",{d:"M9.828 4.172A.686.686 0 0 1 11 4.657v.686",key:"s2je0y"}]]);var e8=e.i(73709);function e9(){let{enabled:e,toggle:a}=(0,e8.useSoundEnabled)();return(0,t.jsxs)(d.Button,{variant:"ghost",size:"icon",onClick:a,"aria-label":e?"Mute sounds":"Unmute sounds",children:[e?(0,t.jsx)(e7,{className:"h-5 w-5"}):(0,t.jsx)(e6,{className:"h-5 w-5"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle sound"})]})}var te=e.i(39443),tt=e.i(30153),ta=e.i(5147),tr=e.i(60112),ti=e.i(17406);let to={[ti.NotificationSeverity.Success]:"success",[ti.NotificationSeverity.Error]:"error",[ti.NotificationSeverity.Warning]:"warning",[ti.NotificationSeverity.Info]:"info"},tn={[ti.NotificationSeverity.Success]:"notification-success",[ti.NotificationSeverity.Error]:"notification-error",[ti.NotificationSeverity.Warning]:"notification-warning",[ti.NotificationSeverity.Info]:"notification-info"};var tl=e.i(75921);function ts({children:e}){let i=(0,r.useRouter)(),{guardedNavigate:o}=(0,tt.useDrawerCloseGuard)(),n=(0,tl.useFeatureFlags)();!function(){let e=(0,r.useRouter)(),{events:t}=(0,te.useAgentEventsContext)(),i=(0,ez.useSoundAction)("notification-success"),o=(0,ez.useSoundAction)("notification-error"),n=(0,ez.useSoundAction)("notification-warning"),l=(0,ez.useSoundAction)("notification-info"),s=(0,a.useMemo)(()=>({"notification-success":i,"notification-error":o,"notification-warning":n,"notification-info":l}),[i,o,n,l]),d=(0,a.useRef)(0);(0,a.useEffect)(()=>{if(t.length<=d.current)return;let a=t.slice(d.current);for(let r of(d.current=t.length,a)){if(r.severity!==ti.NotificationSeverity.Error&&r.severity!==ti.NotificationSeverity.Warning&&r.severity!==ti.NotificationSeverity.Success)continue;!function(e,t){let a=to[e.severity]??"info",r=e.eventType===ti.NotificationEventType.WaitingApproval;tr.toast[a](e.featureName,{description:e.message,...r&&t&&{action:{label:"Review",onClick:()=>{t(`/feature/${e.featureId}`)}}}})}(r,t=>e.push(t));let t=tn[r.severity];s[t]?.play()}},[t,s,e])}();let{features:l}=(0,ta.useSidebarFeaturesContext)(),s=(0,a.useCallback)(()=>{o(()=>i.push("/create"))},[i,o]),d=(0,a.useCallback)(e=>{o(()=>i.push(`/feature/${e}`))},[i,o]),c=(0,a.useCallback)(e=>{window.dispatchEvent(new CustomEvent("shep:add-repository",{detail:{path:e}}))},[]);return(0,t.jsxs)(j,{defaultOpen:!1,children:[(0,t.jsx)(eJ,{features:l,featureFlags:n,onNewFeature:s,onFeatureClick:d}),(0,t.jsx)(N,{children:(0,t.jsxs)("div",{className:"relative h-full",children:[(0,t.jsxs)("div",{className:"absolute top-3 right-3 z-50 flex gap-1",children:[(0,t.jsx)(e2,{onSelect:c}),(0,t.jsx)(e9,{}),(0,t.jsx)(e5,{})]}),(0,t.jsx)("main",{className:"h-full",children:e})]})})]})}function td({children:e}){return(0,t.jsx)(te.AgentEventsProvider,{children:(0,t.jsx)(tt.DrawerCloseGuardProvider,{children:(0,t.jsx)(ta.SidebarFeaturesProvider,{children:(0,t.jsx)(ts,{children:e})})})})}e.s(["AppShell",()=>td],87292)},25251,e=>{"use strict";var t=e.i(20314),a=e.i(60112);let r=({...e})=>(0,t.jsx)(a.Toaster,{className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e});e.s(["Toaster",()=>r])}]);
|