@shepai/cli 1.159.0 → 1.160.0-pr496.02f70d8
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/WorkflowConfig.yaml +10 -0
- package/dist/packages/core/src/application/use-cases/features/auto-archive-completed.use-case.d.ts +30 -0
- package/dist/packages/core/src/application/use-cases/features/auto-archive-completed.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/features/auto-archive-completed.use-case.js +75 -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 +8 -0
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- 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/049-add-auto-archive-delay-minutes.d.ts +15 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-auto-archive-delay-minutes.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-auto-archive-delay-minutes.js +20 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-default-fast-mode.d.ts +14 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-default-fast-mode.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-default-fast-mode.js +19 -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 +9 -5
- package/dist/packages/core/src/infrastructure/services/auto-archive/auto-archive-watcher.service.d.ts +48 -0
- package/dist/packages/core/src/infrastructure/services/auto-archive/auto-archive-watcher.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/auto-archive/auto-archive-watcher.service.js +101 -0
- package/dist/src/presentation/cli/commands/_serve.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/_serve.command.js +5 -0
- package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/new.command.js +12 -2
- package/dist/src/presentation/cli/commands/ui.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/ui.command.js +5 -0
- package/dist/src/presentation/web/app/actions/get-workflow-defaults.d.ts +1 -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 +1 -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 +5 -2
- 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 +1 -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 +29 -2
- 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 +3 -0
- package/dist/src/presentation/web/dev-server.js +10 -0
- package/dist/translations/ar/cli.json +2 -1
- package/dist/translations/ar/web.json +2 -0
- package/dist/translations/de/cli.json +2 -1
- package/dist/translations/de/web.json +2 -0
- package/dist/translations/en/cli.json +2 -1
- package/dist/translations/en/web.json +2 -0
- package/dist/translations/es/cli.json +2 -1
- package/dist/translations/es/web.json +2 -0
- package/dist/translations/fr/cli.json +2 -1
- package/dist/translations/fr/web.json +2 -0
- package/dist/translations/he/cli.json +2 -1
- package/dist/translations/he/web.json +2 -0
- package/dist/translations/pt/cli.json +2 -1
- package/dist/translations/pt/web.json +2 -0
- package/dist/translations/ru/cli.json +2 -1
- package/dist/translations/ru/web.json +2 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +3 -3
- package/web/.next/required-server-files.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +29 -29
- 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 +36 -36
- 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 +36 -36
- 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]/[tab]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
- 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)/chat/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +29 -29
- 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 +36 -36
- 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 +36 -36
- 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 +26 -26
- 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]/[tab]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +5 -5
- 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/settings/page/server-reference-manifest.json +8 -8
- 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 +10 -10
- 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 +10 -10
- 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 +5 -5
- package/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__209c9597._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__209c9597._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__27301e38._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__27301e38._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6fecf886._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6fecf886._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8d27866c._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8d27866c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9f3504c7._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9f3504c7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f8dd4422._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f8dd4422._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0dc06d07._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_c3f7938c._.js → _2ebb73f4._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_c3f7938c._.js.map → _2ebb73f4._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_c5074ee2._.js → _3514c8c4._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_c5074ee2._.js.map → _3514c8c4._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_3a0b989f._.js +2 -2
- package/web/.next/server/chunks/ssr/_3a0b989f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_5119a3df._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_5f69c13f._.js +1 -1
- package/web/.next/server/chunks/ssr/_5f69c13f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_7c5b97c6._.js +1 -1
- package/web/.next/server/chunks/ssr/_7c5b97c6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_82c57f10._.js +1 -1
- package/web/.next/server/chunks/ssr/_82c57f10._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_9495d50b._.js +1 -1
- package/web/.next/server/chunks/ssr/_9495d50b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_a0e3f7e4._.js +1 -1
- package/web/.next/server/chunks/ssr/_a0e3f7e4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_2ed48c25._.js → _aa50246a._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_2ed48c25._.js.map → _aa50246a._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_ac4a3873._.js +1 -1
- package/web/.next/server/chunks/ssr/_ca0aa7f0._.js +1 -1
- package/web/.next/server/chunks/ssr/_ca0aa7f0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_cb5a021e._.js +1 -1
- package/web/.next/server/chunks/ssr/_cb5a021e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d86175ae._.js +1 -1
- package/web/.next/server/chunks/ssr/_d86175ae._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d8bedf13._.js +1 -1
- package/web/.next/server/chunks/ssr/_d8bedf13._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_fa7efce3._.js +2 -2
- package/web/.next/server/chunks/ssr/_fa7efce3._.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_app_actions_open-ide_ts_baaca5d5._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +1 -1
- package/web/.next/server/chunks/ssr/translations_23dd5e7e._.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 +45 -45
- package/web/.next/static/chunks/{69c3b31bad28528e.js → 186729490e2be40c.js} +2 -2
- package/web/.next/static/chunks/{a345e293b60bfe46.js → 1d0f4a2bcef7746b.js} +1 -1
- package/web/.next/static/chunks/{133f712571b3feee.js → 3d5115acdf6e8df0.js} +2 -2
- package/web/.next/static/chunks/63b4954715fc3423.js +1 -0
- package/web/.next/static/chunks/{fa317df41d76a17b.js → 90dec548da16599d.js} +1 -1
- package/web/.next/static/chunks/{4e95f919ddb0f472.js → 92e4f7dd04a73141.js} +1 -1
- package/web/.next/static/chunks/{23a4ffedc9133310.js → 9a87bb6ecc6c6ecf.js} +2 -2
- package/web/.next/static/chunks/9d13adc0e259d473.js +1 -0
- package/web/.next/static/chunks/{5a0147256f9eb399.js → c014e6dbfafe7402.js} +1 -1
- package/web/.next/static/chunks/{0043f42554d30997.js → cbff94a67bd5afd4.js} +1 -1
- package/web/.next/static/chunks/{d34a0190d33d6133.js → cc106b4df2d3bd89.js} +1 -1
- package/web/.next/static/chunks/{25845c77794044d8.js → da09828114a01480.js} +1 -1
- package/web/.next/static/chunks/fbbb1c11387fc2ca.js +1 -0
- package/web/.next/static/chunks/39769b8d6061169f.js +0 -1
- package/web/.next/static/chunks/72b506a1c2568394.js +0 -1
- package/web/.next/static/chunks/93fabefcbc0ba71d.js +0 -1
- /package/web/.next/static/{P8_TJYI2sruThm6-T7AfF → XJ_BPZ-H1OZsVM79e4LJ5}/_buildManifest.js +0 -0
- /package/web/.next/static/{P8_TJYI2sruThm6-T7AfF → XJ_BPZ-H1OZsVM79e4LJ5}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{P8_TJYI2sruThm6-T7AfF → XJ_BPZ-H1OZsVM79e4LJ5}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,41952,e=>{"use strict";var t=e.i(20314),n=e.i(79054),i=e.i(23925),s=e.i(26370),a=e.i(38573),r=e.i(49228),l=e.i(3645);let o=(0,l.default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]),c=(0,l.default)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]),d=(0,l.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]),u=(0,l.default)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);var p=e.i(32494),g=e.i(10714),g=g,m=e.i(3214),h=e.i(30702);let f=(0,l.default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);var v=e.i(58860),x=e.i(48109),w=e.i(60112);e.i(41001);var b=e.i(64780),y=e.i(31777),j=e.i(41957),S=e.i(51911),C=e.i(26036),k=e.i(27069),N=e.i(91967),I=e.i(87342),M=e.i(5978),T=e.i(22528),P=e.i(66033),E=e.i(53532),R=e.i(41687),D=e.i(56720),A=e.i(13123),F=e.i(52740),L=e.i(39979),B=e.i(87620),H=e.i(86874),z=e.i(29297),_=e.i(36589),V=e.i(5192),K=e.i(23405),O=e.i(1693),W=e.i(73772),U=e.i(13044),G=[" ","Enter","ArrowUp","ArrowDown"],q=[" ","Enter"],$="Select",[Y,Z,X]=(0,I.createCollection)($),[J,Q]=(0,T.createContextScope)($,[X,F.createPopperScope]),ee=(0,F.createPopperScope)(),[et,en]=J($),[ei,es]=J($),ea=e=>{let{__scopeSelect:i,children:s,open:a,defaultOpen:r,onOpenChange:l,value:o,defaultValue:c,onValueChange:d,dir:u,name:p,autoComplete:g,disabled:m,required:h,form:f}=e,v=ee(i),[x,w]=n.useState(null),[b,y]=n.useState(null),[j,S]=n.useState(!1),C=(0,P.useDirection)(u),[k,N]=(0,_.useControllableState)({prop:a,defaultProp:r??!1,onChange:l,caller:$}),[I,M]=(0,_.useControllableState)({prop:o,defaultProp:c,onChange:d,caller:$}),T=n.useRef(null),E=!x||f||!!x.closest("form"),[R,D]=n.useState(new Set),L=Array.from(R).map(e=>e.props.value).join(";");return(0,t.jsx)(F.Root,{...v,children:(0,t.jsxs)(et,{required:h,scope:i,trigger:x,onTriggerChange:w,valueNode:b,onValueNodeChange:y,valueNodeHasChildren:j,onValueNodeHasChildrenChange:S,contentId:(0,A.useId)(),value:I,onValueChange:M,open:k,onOpenChange:N,dir:C,triggerPointerDownPosRef:T,disabled:m,children:[(0,t.jsx)(Y.Provider,{scope:i,children:(0,t.jsx)(ei,{scope:e.__scopeSelect,onNativeOptionAdd:n.useCallback(e=>{D(t=>new Set(t).add(e))},[]),onNativeOptionRemove:n.useCallback(e=>{D(t=>{let n=new Set(t);return n.delete(e),n})},[]),children:s})}),E?(0,t.jsxs)(eG,{"aria-hidden":!0,required:h,tabIndex:-1,name:p,autoComplete:g,value:I,onChange:e=>M(e.target.value),disabled:m,form:f,children:[void 0===I?(0,t.jsx)("option",{value:""}):null,Array.from(R)]},L):null]})})};ea.displayName=$;var er="SelectTrigger",el=n.forwardRef((e,i)=>{let{__scopeSelect:s,disabled:a=!1,...r}=e,l=ee(s),o=en(er,s),c=o.disabled||a,d=(0,M.useComposedRefs)(i,o.onTriggerChange),u=Z(s),p=n.useRef("touch"),[g,m,h]=e$(e=>{let t=u().filter(e=>!e.disabled),n=t.find(e=>e.value===o.value),i=eY(t,e,n);void 0!==i&&o.onValueChange(i.value)}),f=e=>{c||(o.onOpenChange(!0),h()),e&&(o.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,t.jsx)(F.Anchor,{asChild:!0,...l,children:(0,t.jsx)(B.Primitive.button,{type:"button",role:"combobox","aria-controls":o.contentId,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":"none",dir:o.dir,"data-state":o.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":eq(o.value)?"":void 0,...r,ref:d,onClick:(0,N.composeEventHandlers)(r.onClick,e=>{e.currentTarget.focus(),"mouse"!==p.current&&f(e)}),onPointerDown:(0,N.composeEventHandlers)(r.onPointerDown,e=>{p.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(f(e),e.preventDefault())}),onKeyDown:(0,N.composeEventHandlers)(r.onKeyDown,e=>{let t=""!==g.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||m(e.key),(!t||" "!==e.key)&&G.includes(e.key)&&(f(),e.preventDefault())})})})});el.displayName=er;var eo="SelectValue",ec=n.forwardRef((e,n)=>{let{__scopeSelect:i,className:s,style:a,children:r,placeholder:l="",...o}=e,c=en(eo,i),{onValueNodeHasChildrenChange:d}=c,u=void 0!==r,p=(0,M.useComposedRefs)(n,c.onValueNodeChange);return(0,V.useLayoutEffect)(()=>{d(u)},[d,u]),(0,t.jsx)(B.Primitive.span,{...o,ref:p,style:{pointerEvents:"none"},children:eq(c.value)?(0,t.jsx)(t.Fragment,{children:l}):r})});ec.displayName=eo;var ed=n.forwardRef((e,n)=>{let{__scopeSelect:i,children:s,...a}=e;return(0,t.jsx)(B.Primitive.span,{"aria-hidden":!0,...a,ref:n,children:s||"▼"})});ed.displayName="SelectIcon";var eu=e=>(0,t.jsx)(L.Portal,{asChild:!0,...e});eu.displayName="SelectPortal";var ep="SelectContent",eg=n.forwardRef((e,i)=>{let s=en(ep,e.__scopeSelect),[a,r]=n.useState();return((0,V.useLayoutEffect)(()=>{r(new DocumentFragment)},[]),s.open)?(0,t.jsx)(ev,{...e,ref:i}):a?C.createPortal((0,t.jsx)(em,{scope:e.__scopeSelect,children:(0,t.jsx)(Y.Slot,{scope:e.__scopeSelect,children:(0,t.jsx)("div",{children:e.children})})}),a):null});eg.displayName=ep;var[em,eh]=J(ep),ef=(0,H.createSlot)("SelectContent.RemoveScroll"),ev=n.forwardRef((e,i)=>{let{__scopeSelect:s,position:a="item-aligned",onCloseAutoFocus:r,onEscapeKeyDown:l,onPointerDownOutside:o,side:c,sideOffset:d,align:u,alignOffset:p,arrowPadding:g,collisionBoundary:m,collisionPadding:h,sticky:f,hideWhenDetached:v,avoidCollisions:x,...w}=e,b=en(ep,s),[y,j]=n.useState(null),[S,C]=n.useState(null),k=(0,M.useComposedRefs)(i,e=>j(e)),[I,T]=n.useState(null),[P,A]=n.useState(null),F=Z(s),[L,B]=n.useState(!1),H=n.useRef(!1);n.useEffect(()=>{if(y)return(0,W.hideOthers)(y)},[y]),(0,R.useFocusGuards)();let z=n.useCallback(e=>{let[t,...n]=F().map(e=>e.ref.current),[i]=n.slice(-1),s=document.activeElement;for(let n of e)if(n===s||(n?.scrollIntoView({block:"nearest"}),n===t&&S&&(S.scrollTop=0),n===i&&S&&(S.scrollTop=S.scrollHeight),n?.focus(),document.activeElement!==s))return},[F,S]),_=n.useCallback(()=>z([I,y]),[z,I,y]);n.useEffect(()=>{L&&_()},[L,_]);let{onOpenChange:V,triggerPointerDownPosRef:K}=b;n.useEffect(()=>{if(y){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(K.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(K.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():y.contains(n.target)||V(!1),document.removeEventListener("pointermove",t),K.current=null};return null!==K.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",n,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",n,{capture:!0})}}},[y,V,K]),n.useEffect(()=>{let e=()=>V(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[V]);let[O,G]=e$(e=>{let t=F().filter(e=>!e.disabled),n=t.find(e=>e.ref.current===document.activeElement),i=eY(t,e,n);i&&setTimeout(()=>i.ref.current.focus())}),q=n.useCallback((e,t,n)=>{let i=!H.current&&!n;(void 0!==b.value&&b.value===t||i)&&(T(e),i&&(H.current=!0))},[b.value]),$=n.useCallback(()=>y?.focus(),[y]),Y=n.useCallback((e,t,n)=>{let i=!H.current&&!n;(void 0!==b.value&&b.value===t||i)&&A(e)},[b.value]),X="popper"===a?ew:ex,J=X===ew?{side:c,sideOffset:d,align:u,alignOffset:p,arrowPadding:g,collisionBoundary:m,collisionPadding:h,sticky:f,hideWhenDetached:v,avoidCollisions:x}:{};return(0,t.jsx)(em,{scope:s,content:y,viewport:S,onViewportChange:C,itemRefCallback:q,selectedItem:I,onItemLeave:$,itemTextRefCallback:Y,focusSelectedItem:_,selectedItemText:P,position:a,isPositioned:L,searchRef:O,children:(0,t.jsx)(U.RemoveScroll,{as:ef,allowPinchZoom:!0,children:(0,t.jsx)(D.FocusScope,{asChild:!0,trapped:b.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,N.composeEventHandlers)(r,e=>{b.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,t.jsx)(E.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>b.onOpenChange(!1),children:(0,t.jsx)(X,{role:"listbox",id:b.contentId,"data-state":b.open?"open":"closed",dir:b.dir,onContextMenu:e=>e.preventDefault(),...w,...J,onPlaced:()=>B(!0),ref:k,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:(0,N.composeEventHandlers)(w.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||G(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=F().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let n=e.target,i=t.indexOf(n);t=t.slice(i+1)}setTimeout(()=>z(t)),e.preventDefault()}})})})})})})});ev.displayName="SelectContentImpl";var ex=n.forwardRef((e,i)=>{let{__scopeSelect:s,onPlaced:a,...r}=e,l=en(ep,s),o=eh(ep,s),[c,d]=n.useState(null),[u,p]=n.useState(null),g=(0,M.useComposedRefs)(i,e=>p(e)),m=Z(s),h=n.useRef(!1),f=n.useRef(!0),{viewport:v,selectedItem:x,selectedItemText:w,focusSelectedItem:b}=o,y=n.useCallback(()=>{if(l.trigger&&l.valueNode&&c&&u&&v&&x&&w){let e=l.trigger.getBoundingClientRect(),t=u.getBoundingClientRect(),n=l.valueNode.getBoundingClientRect(),i=w.getBoundingClientRect();if("rtl"!==l.dir){let s=i.left-t.left,a=n.left-s,r=e.left-a,l=e.width+r,o=Math.max(l,t.width),d=window.innerWidth-10,u=(0,k.clamp)(a,[10,Math.max(10,d-o)]);c.style.minWidth=l+"px",c.style.left=u+"px"}else{let s=t.right-i.right,a=window.innerWidth-n.right-s,r=window.innerWidth-e.right-a,l=e.width+r,o=Math.max(l,t.width),d=window.innerWidth-10,u=(0,k.clamp)(a,[10,Math.max(10,d-o)]);c.style.minWidth=l+"px",c.style.right=u+"px"}let s=m(),r=window.innerHeight-20,o=v.scrollHeight,d=window.getComputedStyle(u),p=parseInt(d.borderTopWidth,10),g=parseInt(d.paddingTop,10),f=parseInt(d.borderBottomWidth,10),b=p+g+o+parseInt(d.paddingBottom,10)+f,y=Math.min(5*x.offsetHeight,b),j=window.getComputedStyle(v),S=parseInt(j.paddingTop,10),C=parseInt(j.paddingBottom,10),N=e.top+e.height/2-10,I=x.offsetHeight/2,M=p+g+(x.offsetTop+I);if(M<=N){let e=s.length>0&&x===s[s.length-1].ref.current;c.style.bottom="0px";let t=Math.max(r-N,I+(e?C:0)+(u.clientHeight-v.offsetTop-v.offsetHeight)+f);c.style.height=M+t+"px"}else{let e=s.length>0&&x===s[0].ref.current;c.style.top="0px";let t=Math.max(N,p+v.offsetTop+(e?S:0)+I);c.style.height=t+(b-M)+"px",v.scrollTop=M-N+v.offsetTop}c.style.margin="10px 0",c.style.minHeight=y+"px",c.style.maxHeight=r+"px",a?.(),requestAnimationFrame(()=>h.current=!0)}},[m,l.trigger,l.valueNode,c,u,v,x,w,l.dir,a]);(0,V.useLayoutEffect)(()=>y(),[y]);let[j,S]=n.useState();(0,V.useLayoutEffect)(()=>{u&&S(window.getComputedStyle(u).zIndex)},[u]);let C=n.useCallback(e=>{e&&!0===f.current&&(y(),b?.(),f.current=!1)},[y,b]);return(0,t.jsx)(eb,{scope:s,contentWrapper:c,shouldExpandOnScrollRef:h,onScrollButtonChange:C,children:(0,t.jsx)("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:j},children:(0,t.jsx)(B.Primitive.div,{...r,ref:g,style:{boxSizing:"border-box",maxHeight:"100%",...r.style}})})})});ex.displayName="SelectItemAlignedPosition";var ew=n.forwardRef((e,n)=>{let{__scopeSelect:i,align:s="start",collisionPadding:a=10,...r}=e,l=ee(i);return(0,t.jsx)(F.Content,{...l,...r,ref:n,align:s,collisionPadding:a,style:{boxSizing:"border-box",...r.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ew.displayName="SelectPopperPosition";var[eb,ey]=J(ep,{}),ej="SelectViewport",eS=n.forwardRef((e,i)=>{let{__scopeSelect:s,nonce:a,...r}=e,l=eh(ej,s),o=ey(ej,s),c=(0,M.useComposedRefs)(i,l.onViewportChange),d=n.useRef(0);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),(0,t.jsx)(Y.Slot,{scope:s,children:(0,t.jsx)(B.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...r,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...r.style},onScroll:(0,N.composeEventHandlers)(r.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:i}=o;if(i?.current&&n){let e=Math.abs(d.current-t.scrollTop);if(e>0){let i=window.innerHeight-20,s=Math.max(parseFloat(n.style.minHeight),parseFloat(n.style.height));if(s<i){let a=s+e,r=Math.min(i,a),l=a-r;n.style.height=r+"px","0px"===n.style.bottom&&(t.scrollTop=l>0?l:0,n.style.justifyContent="flex-end")}}}d.current=t.scrollTop})})})]})});eS.displayName=ej;var eC="SelectGroup",[ek,eN]=J(eC),eI=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e,a=(0,A.useId)();return(0,t.jsx)(ek,{scope:i,id:a,children:(0,t.jsx)(B.Primitive.div,{role:"group","aria-labelledby":a,...s,ref:n})})});eI.displayName=eC;var eM="SelectLabel",eT=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e,a=eN(eM,i);return(0,t.jsx)(B.Primitive.div,{id:a.id,...s,ref:n})});eT.displayName=eM;var eP="SelectItem",[eE,eR]=J(eP),eD=n.forwardRef((e,i)=>{let{__scopeSelect:s,value:a,disabled:r=!1,textValue:l,...o}=e,c=en(eP,s),d=eh(eP,s),u=c.value===a,[p,g]=n.useState(l??""),[m,h]=n.useState(!1),f=(0,M.useComposedRefs)(i,e=>d.itemRefCallback?.(e,a,r)),v=(0,A.useId)(),x=n.useRef("touch"),w=()=>{r||(c.onValueChange(a),c.onOpenChange(!1))};if(""===a)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,t.jsx)(eE,{scope:s,value:a,disabled:r,textId:v,isSelected:u,onItemTextChange:n.useCallback(e=>{g(t=>t||(e?.textContent??"").trim())},[]),children:(0,t.jsx)(Y.ItemSlot,{scope:s,value:a,disabled:r,textValue:p,children:(0,t.jsx)(B.Primitive.div,{role:"option","aria-labelledby":v,"data-highlighted":m?"":void 0,"aria-selected":u&&m,"data-state":u?"checked":"unchecked","aria-disabled":r||void 0,"data-disabled":r?"":void 0,tabIndex:r?void 0:-1,...o,ref:f,onFocus:(0,N.composeEventHandlers)(o.onFocus,()=>h(!0)),onBlur:(0,N.composeEventHandlers)(o.onBlur,()=>h(!1)),onClick:(0,N.composeEventHandlers)(o.onClick,()=>{"mouse"!==x.current&&w()}),onPointerUp:(0,N.composeEventHandlers)(o.onPointerUp,()=>{"mouse"===x.current&&w()}),onPointerDown:(0,N.composeEventHandlers)(o.onPointerDown,e=>{x.current=e.pointerType}),onPointerMove:(0,N.composeEventHandlers)(o.onPointerMove,e=>{x.current=e.pointerType,r?d.onItemLeave?.():"mouse"===x.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,N.composeEventHandlers)(o.onPointerLeave,e=>{e.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:(0,N.composeEventHandlers)(o.onKeyDown,e=>{(d.searchRef?.current===""||" "!==e.key)&&(q.includes(e.key)&&w()," "===e.key&&e.preventDefault())})})})})});eD.displayName=eP;var eA="SelectItemText",eF=n.forwardRef((e,i)=>{let{__scopeSelect:s,className:a,style:r,...l}=e,o=en(eA,s),c=eh(eA,s),d=eR(eA,s),u=es(eA,s),[p,g]=n.useState(null),m=(0,M.useComposedRefs)(i,e=>g(e),d.onItemTextChange,e=>c.itemTextRefCallback?.(e,d.value,d.disabled)),h=p?.textContent,f=n.useMemo(()=>(0,t.jsx)("option",{value:d.value,disabled:d.disabled,children:h},d.value),[d.disabled,d.value,h]),{onNativeOptionAdd:v,onNativeOptionRemove:x}=u;return(0,V.useLayoutEffect)(()=>(v(f),()=>x(f)),[v,x,f]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(B.Primitive.span,{id:d.textId,...l,ref:m}),d.isSelected&&o.valueNode&&!o.valueNodeHasChildren?C.createPortal(l.children,o.valueNode):null]})});eF.displayName=eA;var eL="SelectItemIndicator",eB=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e;return eR(eL,i).isSelected?(0,t.jsx)(B.Primitive.span,{"aria-hidden":!0,...s,ref:n}):null});eB.displayName=eL;var eH="SelectScrollUpButton",ez=n.forwardRef((e,i)=>{let s=eh(eH,e.__scopeSelect),a=ey(eH,e.__scopeSelect),[r,l]=n.useState(!1),o=(0,M.useComposedRefs)(i,a.onScrollButtonChange);return(0,V.useLayoutEffect)(()=>{if(s.viewport&&s.isPositioned){let e=function(){l(t.scrollTop>0)},t=s.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[s.viewport,s.isPositioned]),r?(0,t.jsx)(eK,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=s;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});ez.displayName=eH;var e_="SelectScrollDownButton",eV=n.forwardRef((e,i)=>{let s=eh(e_,e.__scopeSelect),a=ey(e_,e.__scopeSelect),[r,l]=n.useState(!1),o=(0,M.useComposedRefs)(i,a.onScrollButtonChange);return(0,V.useLayoutEffect)(()=>{if(s.viewport&&s.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;l(Math.ceil(t.scrollTop)<e)},t=s.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[s.viewport,s.isPositioned]),r?(0,t.jsx)(eK,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=s;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});eV.displayName=e_;var eK=n.forwardRef((e,i)=>{let{__scopeSelect:s,onAutoScroll:a,...r}=e,l=eh("SelectScrollButton",s),o=n.useRef(null),c=Z(s),d=n.useCallback(()=>{null!==o.current&&(window.clearInterval(o.current),o.current=null)},[]);return n.useEffect(()=>()=>d(),[d]),(0,V.useLayoutEffect)(()=>{let e=c().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[c]),(0,t.jsx)(B.Primitive.div,{"aria-hidden":!0,...r,ref:i,style:{flexShrink:0,...r.style},onPointerDown:(0,N.composeEventHandlers)(r.onPointerDown,()=>{null===o.current&&(o.current=window.setInterval(a,50))}),onPointerMove:(0,N.composeEventHandlers)(r.onPointerMove,()=>{l.onItemLeave?.(),null===o.current&&(o.current=window.setInterval(a,50))}),onPointerLeave:(0,N.composeEventHandlers)(r.onPointerLeave,()=>{d()})})}),eO=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e;return(0,t.jsx)(B.Primitive.div,{"aria-hidden":!0,...s,ref:n})});eO.displayName="SelectSeparator";var eW="SelectArrow",eU=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e,a=ee(i),r=en(eW,i),l=eh(eW,i);return r.open&&"popper"===l.position?(0,t.jsx)(F.Arrow,{...a,...s,ref:n}):null});eU.displayName=eW;var eG=n.forwardRef(({__scopeSelect:e,value:i,...s},a)=>{let r=n.useRef(null),l=(0,M.useComposedRefs)(a,r),o=(0,K.usePrevious)(i);return n.useEffect(()=>{let e=r.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(o!==i&&t){let n=new Event("change",{bubbles:!0});t.call(e,i),e.dispatchEvent(n)}},[o,i]),(0,t.jsx)(B.Primitive.select,{...s,style:{...O.VISUALLY_HIDDEN_STYLES,...s.style},ref:l,defaultValue:i})});function eq(e){return""===e||void 0===e}function e$(e){let t=(0,z.useCallbackRef)(e),i=n.useRef(""),s=n.useRef(0),a=n.useCallback(e=>{let n=i.current+e;t(n),function e(t){i.current=t,window.clearTimeout(s.current),""!==t&&(s.current=window.setTimeout(()=>e(""),1e3))}(n)},[t]),r=n.useCallback(()=>{i.current="",window.clearTimeout(s.current)},[]);return n.useEffect(()=>()=>window.clearTimeout(s.current),[]),[i,a,r]}function eY(e,t,n){var i,s;let a=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,r=n?e.indexOf(n):-1,l=(i=e,s=Math.max(r,0),i.map((e,t)=>i[(s+t)%i.length]));1===a.length&&(l=l.filter(e=>e!==n));let o=l.find(e=>e.textValue.toLowerCase().startsWith(a.toLowerCase()));return o!==n?o:void 0}eG.displayName="SelectBubbleInput",e.s(["Arrow",()=>eU,"Content",()=>eg,"Group",()=>eI,"Icon",()=>ed,"Item",()=>eD,"ItemIndicator",()=>eB,"ItemText",()=>eF,"Label",()=>eT,"Portal",()=>eu,"Root",()=>ea,"ScrollDownButton",()=>eV,"ScrollUpButton",()=>ez,"Select",()=>ea,"SelectArrow",()=>eU,"SelectContent",()=>eg,"SelectGroup",()=>eI,"SelectIcon",()=>ed,"SelectItem",()=>eD,"SelectItemIndicator",()=>eB,"SelectItemText",()=>eF,"SelectLabel",()=>eT,"SelectPortal",()=>eu,"SelectScrollDownButton",()=>eV,"SelectScrollUpButton",()=>ez,"SelectSeparator",()=>eO,"SelectTrigger",()=>el,"SelectValue",()=>ec,"SelectViewport",()=>eS,"Separator",()=>eO,"Trigger",()=>el,"Value",()=>ec,"Viewport",()=>eS,"createSelectScope",()=>Q],83830);var eZ=e.i(83830),eZ=eZ,eX=e.i(99105),eJ=e.i(48829);let eQ=eZ.Root;eZ.Group;let e0=eZ.Value,e1=n.forwardRef(({className:e,children:n,...i},s)=>(0,t.jsxs)(eZ.Trigger,{ref:s,className:(0,y.cn)("border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...i,children:[n,(0,t.jsx)(eZ.Icon,{asChild:!0,children:(0,t.jsx)(eX.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));e1.displayName=eZ.Trigger.displayName;let e2=n.forwardRef(({className:e,...n},i)=>(0,t.jsx)(eZ.ScrollUpButton,{ref:i,className:(0,y.cn)("flex cursor-default items-center justify-center py-1",e),...n,children:(0,t.jsx)(eJ.ChevronUp,{className:"h-4 w-4"})}));e2.displayName=eZ.ScrollUpButton.displayName;let e3=n.forwardRef(({className:e,...n},i)=>(0,t.jsx)(eZ.ScrollDownButton,{ref:i,className:(0,y.cn)("flex cursor-default items-center justify-center py-1",e),...n,children:(0,t.jsx)(eX.ChevronDown,{className:"h-4 w-4"})}));e3.displayName=eZ.ScrollDownButton.displayName;let e5=n.forwardRef(({className:e,children:n,position:i="popper",...s},a)=>(0,t.jsx)(eZ.Portal,{children:(0,t.jsxs)(eZ.Content,{ref:a,className:(0,y.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 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md","popper"===i&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:i,...s,children:[(0,t.jsx)(e2,{}),(0,t.jsx)(eZ.Viewport,{className:(0,y.cn)("p-1","popper"===i&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:n}),(0,t.jsx)(e3,{})]})}));e5.displayName=eZ.Content.displayName,n.forwardRef(({className:e,...n},i)=>(0,t.jsx)(eZ.Label,{ref:i,className:(0,y.cn)("px-2 py-1.5 text-sm font-semibold",e),...n})).displayName=eZ.Label.displayName;let e4=n.forwardRef(({className:e,children:n,...s},a)=>(0,t.jsxs)(eZ.Item,{ref:a,className:(0,y.cn)("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 ps-2 pe-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...s,children:[(0,t.jsx)("span",{className:"absolute end-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,t.jsx)(eZ.ItemIndicator,{children:(0,t.jsx)(i.Check,{className:"h-4 w-4"})})}),(0,t.jsx)(eZ.ItemText,{children:n})]}));e4.displayName=eZ.Item.displayName,n.forwardRef(({className:e,...n},i)=>(0,t.jsx)(eZ.Separator,{ref:i,className:(0,y.cn)("bg-muted -mx-1 my-1 h-px",e),...n})).displayName=eZ.Separator.displayName;var e8=e.i(21023);let e9=(0,e8.createServerReference)("407292ceefee0b95333bf31f85ad75e7211f5e3f70",e8.callServer,void 0,e8.findSourceMapURL,"updateSettingsAction");var e6=e.i(17406),e7=e.i(98804),te=e.i(44229),tt=e.i(83902);function tn(e){return(0,t.jsx)(te.Code,{className:(0,y.cn)("h-4 w-4",e.className),...e})}function ti({className:e}){return(0,t.jsx)(e7.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function ts({className:e}){return(0,t.jsx)(e7.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function ta({className:e}){return(0,t.jsx)(e7.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function tr({className:e}){return(0,t.jsx)(e7.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function tl({className:e,...n}){return(0,t.jsx)(tt.Rocket,{className:(0,y.cn)("h-4 w-4",e),...n})}ti.displayName="VsCodeIcon",ts.displayName="CursorEditorIcon",ta.displayName="WindsurfIcon",tr.displayName="ZedIcon",tl.displayName="AntigravityIcon";let to={vscode:ti,cursor:ts,windsurf:ta,zed:tr,antigravity:tl};var tc=e.i(41413),td=e.i(956);let tu=[{value:e6.Language.English,label:"English",nativeName:"English"},{value:e6.Language.Russian,label:"Русский",nativeName:"Русский"},{value:e6.Language.Portuguese,label:"Português",nativeName:"Português"},{value:e6.Language.Spanish,label:"Español",nativeName:"Español"},{value:e6.Language.Arabic,label:"العربية",nativeName:"العربية"},{value:e6.Language.Hebrew,label:"עברית",nativeName:"עברית"},{value:e6.Language.French,label:"Français",nativeName:"Français"},{value:e6.Language.German,label:"Deutsch",nativeName:"Deutsch"}];function tp({language:e}){let{t:s,i18n:a}=(0,b.useTranslation)("web"),[r,l]=(0,n.useState)(e),[o,c]=(0,n.useTransition)(),[d,u]=(0,n.useState)(!1),g=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{if(g.current&&!o){u(!0);let e=setTimeout(()=>u(!1),2e3);return()=>clearTimeout(e)}g.current=o},[o]),(0,t.jsxs)(td.Card,{id:"language",className:"scroll-mt-6","data-testid":"language-settings-section",children:[(0,t.jsxs)(td.CardHeader,{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(p.Globe,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)(td.CardTitle,{children:s("settings.language.title")})]}),o?(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:s("common:labels.saving")}):null,d&&!o?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-xs text-green-600",children:[(0,t.jsx)(i.Check,{className:"h-3 w-3"}),s("common:labels.saved")]}):null]}),(0,t.jsx)(td.CardDescription,{children:s("settings.language.description")})]}),(0,t.jsx)(td.CardContent,{className:"space-y-4",children:(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(j.Label,{htmlFor:"display-language",children:s("settings.language.label")}),(0,t.jsxs)(eQ,{value:r,onValueChange:function(e){l(e),a.changeLanguage(e);let t="ar"===e||"he"===e?"rtl":"ltr";document.documentElement.lang=e,document.documentElement.dir=t,c(async()=>{let t=await e9({user:{preferredLanguage:e}});t.success||w.toast.error(t.error??s("settings.language.failedToSave","Failed to save language settings"))})},children:[(0,t.jsx)(e1,{id:"display-language","data-testid":"language-select",children:(0,t.jsx)(e0,{placeholder:s("settings.language.placeholder")})}),(0,t.jsx)(e5,{children:tu.map(e=>(0,t.jsx)(e4,{value:e.value,children:e.nativeName},e.value))})]})]})})]})}var tg=e.i(77624),tm=["PageUp","PageDown"],th=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],tf={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},tv="Slider",[tx,tw,tb]=(0,I.createCollection)(tv),[ty,tj]=(0,T.createContextScope)(tv,[tb]),[tS,tC]=ty(tv),tk=n.forwardRef((e,i)=>{let{name:s,min:a=0,max:r=100,step:l=1,orientation:o="horizontal",disabled:c=!1,minStepsBetweenThumbs:d=0,defaultValue:u=[a],value:p,onValueChange:g=()=>{},onValueCommit:m=()=>{},inverted:h=!1,form:f,...v}=e,x=n.useRef(new Set),w=n.useRef(0),b="horizontal"===o,[y=[],j]=(0,_.useControllableState)({prop:p,defaultProp:u,onChange:e=>{let t=[...x.current];t[w.current]?.focus(),g(e)}}),S=n.useRef(y);function C(e,t,{commit:n}={commit:!1}){let i,s=(String(l).split(".")[1]||"").length,o=Math.round((Math.round((e-a)/l)*l+a)*(i=Math.pow(10,s)))/i,c=(0,k.clamp)(o,[a,r]);j((e=[])=>{let i=function(e=[],t,n){let i=[...e];return i[n]=t,i.sort((e,t)=>e-t)}(e,c,t);if(!function(e,t){if(t>0)return Math.min(...e.slice(0,-1).map((t,n)=>e[n+1]-t))>=t;return!0}(i,d*l))return e;{w.current=i.indexOf(c);let t=String(i)!==String(e);return t&&n&&m(i),t?i:e}})}return(0,t.jsx)(tS,{scope:e.__scopeSlider,name:s,disabled:c,min:a,max:r,valueIndexToChangeRef:w,thumbs:x.current,values:y,orientation:o,form:f,children:(0,t.jsx)(tx.Provider,{scope:e.__scopeSlider,children:(0,t.jsx)(tx.Slot,{scope:e.__scopeSlider,children:(0,t.jsx)(b?tM:tT,{"aria-disabled":c,"data-disabled":c?"":void 0,...v,ref:i,onPointerDown:(0,N.composeEventHandlers)(v.onPointerDown,()=>{c||(S.current=y)}),min:a,max:r,inverted:h,onSlideStart:c?void 0:function(e){let t=function(e,t){if(1===e.length)return 0;let n=e.map(e=>Math.abs(e-t)),i=Math.min(...n);return n.indexOf(i)}(y,e);C(e,t)},onSlideMove:c?void 0:function(e){C(e,w.current)},onSlideEnd:c?void 0:function(){let e=S.current[w.current];y[w.current]!==e&&m(y)},onHomeKeyDown:()=>!c&&C(a,0,{commit:!0}),onEndKeyDown:()=>!c&&C(r,y.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!c){let n=tm.includes(e.key)||e.shiftKey&&th.includes(e.key),i=w.current;C(y[i]+l*(n?10:1)*t,i,{commit:!0})}}})})})})});tk.displayName=tv;var[tN,tI]=ty(tv,{startEdge:"left",endEdge:"right",size:"width",direction:1}),tM=n.forwardRef((e,i)=>{let{min:s,max:a,dir:r,inverted:l,onSlideStart:o,onSlideMove:c,onSlideEnd:d,onStepKeyDown:u,...p}=e,[g,m]=n.useState(null),h=(0,M.useComposedRefs)(i,e=>m(e)),f=n.useRef(void 0),v=(0,P.useDirection)(r),x="ltr"===v,w=x&&!l||!x&&l;function b(e){let t=f.current||g.getBoundingClientRect(),n=t_([0,t.width],w?[s,a]:[a,s]);return f.current=t,n(e-t.left)}return(0,t.jsx)(tN,{scope:e.__scopeSlider,startEdge:w?"left":"right",endEdge:w?"right":"left",direction:w?1:-1,size:"width",children:(0,t.jsx)(tP,{dir:v,"data-orientation":"horizontal",...p,ref:h,style:{...p.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:e=>{let t=b(e.clientX);o?.(t)},onSlideMove:e=>{let t=b(e.clientX);c?.(t)},onSlideEnd:()=>{f.current=void 0,d?.()},onStepKeyDown:e=>{let t=tf[w?"from-left":"from-right"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),tT=n.forwardRef((e,i)=>{let{min:s,max:a,inverted:r,onSlideStart:l,onSlideMove:o,onSlideEnd:c,onStepKeyDown:d,...u}=e,p=n.useRef(null),g=(0,M.useComposedRefs)(i,p),m=n.useRef(void 0),h=!r;function f(e){let t=m.current||p.current.getBoundingClientRect(),n=t_([0,t.height],h?[a,s]:[s,a]);return m.current=t,n(e-t.top)}return(0,t.jsx)(tN,{scope:e.__scopeSlider,startEdge:h?"bottom":"top",endEdge:h?"top":"bottom",size:"height",direction:h?1:-1,children:(0,t.jsx)(tP,{"data-orientation":"vertical",...u,ref:g,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let t=f(e.clientY);l?.(t)},onSlideMove:e=>{let t=f(e.clientY);o?.(t)},onSlideEnd:()=>{m.current=void 0,c?.()},onStepKeyDown:e=>{let t=tf[h?"from-bottom":"from-top"].includes(e.key);d?.({event:e,direction:t?-1:1})}})})}),tP=n.forwardRef((e,n)=>{let{__scopeSlider:i,onSlideStart:s,onSlideMove:a,onSlideEnd:r,onHomeKeyDown:l,onEndKeyDown:o,onStepKeyDown:c,...d}=e,u=tC(tv,i);return(0,t.jsx)(B.Primitive.span,{...d,ref:n,onKeyDown:(0,N.composeEventHandlers)(e.onKeyDown,e=>{"Home"===e.key?(l(e),e.preventDefault()):"End"===e.key?(o(e),e.preventDefault()):tm.concat(th).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:(0,N.composeEventHandlers)(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():s(e)}),onPointerMove:(0,N.composeEventHandlers)(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&a(e)}),onPointerUp:(0,N.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),r(e))})})}),tE="SliderTrack",tR=n.forwardRef((e,n)=>{let{__scopeSlider:i,...s}=e,a=tC(tE,i);return(0,t.jsx)(B.Primitive.span,{"data-disabled":a.disabled?"":void 0,"data-orientation":a.orientation,...s,ref:n})});tR.displayName=tE;var tD="SliderRange",tA=n.forwardRef((e,i)=>{let{__scopeSlider:s,...a}=e,r=tC(tD,s),l=tI(tD,s),o=n.useRef(null),c=(0,M.useComposedRefs)(i,o),d=r.values.length,u=r.values.map(e=>tz(e,r.min,r.max)),p=d>1?Math.min(...u):0,g=100-Math.max(...u);return(0,t.jsx)(B.Primitive.span,{"data-orientation":r.orientation,"data-disabled":r.disabled?"":void 0,...a,ref:c,style:{...e.style,[l.startEdge]:p+"%",[l.endEdge]:g+"%"}})});tA.displayName=tD;var tF="SliderThumb",tL=n.forwardRef((e,i)=>{let s=tw(e.__scopeSlider),[a,r]=n.useState(null),l=(0,M.useComposedRefs)(i,e=>r(e)),o=n.useMemo(()=>a?s().findIndex(e=>e.ref.current===a):-1,[s,a]);return(0,t.jsx)(tB,{...e,ref:l,index:o})}),tB=n.forwardRef((e,i)=>{var s,a,r,l,o;let c,d,{__scopeSlider:u,index:p,name:g,...m}=e,h=tC(tF,u),f=tI(tF,u),[v,x]=n.useState(null),w=(0,M.useComposedRefs)(i,e=>x(e)),b=!v||h.form||!!v.closest("form"),y=(0,tg.useSize)(v),j=h.values[p],S=void 0===j?0:tz(j,h.min,h.max),C=(s=p,(a=h.values.length)>2?`Value ${s+1} of ${a}`:2===a?["Minimum","Maximum"][s]:void 0),k=y?.[f.size],I=k?(r=k,l=S,o=f.direction,d=t_([0,50],[0,c=r/2]),(c-d(l)*o)*o):0;return n.useEffect(()=>{if(v)return h.thumbs.add(v),()=>{h.thumbs.delete(v)}},[v,h.thumbs]),(0,t.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[f.startEdge]:`calc(${S}% + ${I}px)`},children:[(0,t.jsx)(tx.ItemSlot,{scope:e.__scopeSlider,children:(0,t.jsx)(B.Primitive.span,{role:"slider","aria-label":e["aria-label"]||C,"aria-valuemin":h.min,"aria-valuenow":j,"aria-valuemax":h.max,"aria-orientation":h.orientation,"data-orientation":h.orientation,"data-disabled":h.disabled?"":void 0,tabIndex:h.disabled?void 0:0,...m,ref:w,style:void 0===j?{display:"none"}:e.style,onFocus:(0,N.composeEventHandlers)(e.onFocus,()=>{h.valueIndexToChangeRef.current=p})})}),b&&(0,t.jsx)(tH,{name:g??(h.name?h.name+(h.values.length>1?"[]":""):void 0),form:h.form,value:j},p)]})});tL.displayName=tF;var tH=n.forwardRef(({__scopeSlider:e,value:i,...s},a)=>{let r=n.useRef(null),l=(0,M.useComposedRefs)(r,a),o=(0,K.usePrevious)(i);return n.useEffect(()=>{let e=r.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(o!==i&&t){let n=new Event("input",{bubbles:!0});t.call(e,i),e.dispatchEvent(n)}},[o,i]),(0,t.jsx)(B.Primitive.input,{style:{display:"none"},...s,ref:l,defaultValue:i})});function tz(e,t,n){return(0,k.clamp)(100/(n-t)*(e-t),[0,100])}function t_(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let i=(t[1]-t[0])/(e[1]-e[0]);return t[0]+i*(n-e[0])}}tH.displayName="RadioBubbleInput",e.s(["Range",()=>tA,"Root",()=>tk,"Slider",()=>tk,"SliderRange",()=>tA,"SliderThumb",()=>tL,"SliderTrack",()=>tR,"Thumb",()=>tL,"Track",()=>tR,"createSliderScope",()=>tj],29991);var tV=e.i(29991),tV=tV;function tK({className:e,defaultValue:i,value:s,min:a=0,max:r=100,...l}){let o=n.useMemo(()=>Array.isArray(s)?s:Array.isArray(i)?i:[a,r],[s,i,a,r]);return(0,t.jsxs)(tV.Root,{"data-slot":"slider",defaultValue:i,value:s,min:a,max:r,className:(0,y.cn)("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",e),...l,children:[(0,t.jsx)(tV.Track,{"data-slot":"slider-track",className:(0,y.cn)("bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"),children:(0,t.jsx)(tV.Range,{"data-slot":"slider-range",className:(0,y.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:o.length},(e,n)=>(0,t.jsx)(tV.Thumb,{"data-slot":"slider-thumb",className:"border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"},n))]})}let tO=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],tW=tO.length-1;function tU(e){let t=0,n=Math.abs(e-tO[0]);for(let i=1;i<tO.length;i++){let s=Math.abs(e-tO[i]);s<n&&(n=s,t=i)}return t}function tG({id:e,testId:i,value:s,onChange:a,onBlur:r,defaultSeconds:l=1800}){var o;let c,d,u=(""===s?l:parseInt(s,10))||l,[p,g]=(0,n.useState)(()=>tU(u)),m=tU(u);m!==p&&tO[p]!==u&&g(m);let h=(0,n.useCallback)(([e])=>{g(e),a(String(tO[e]))},[a]);return(0,t.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,t.jsx)(tK,{id:e,"data-testid":i,min:0,max:tW,step:1,value:[p],onValueChange:h,onValueCommit:()=>r(),className:"min-w-0 flex-1"}),(0,t.jsx)("span",{className:"text-muted-foreground shrink-0 text-end text-xs tabular-nums",children:(c=Math.floor((o=tO[p])/3600),d=Math.round(o%3600/60),0===c?`${d}m`:0===d?`${c}h`:`${c}h ${d}m`)})]})}let tq=[{value:e6.EditorType.VsCode,label:"VS Code"},{value:e6.EditorType.Cursor,label:"Cursor"},{value:e6.EditorType.Windsurf,label:"Windsurf"},{value:e6.EditorType.Zed,label:"Zed"},{value:e6.EditorType.Antigravity,label:"Antigravity"}],t$=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],tY=[{id:"language",labelKey:"settings.sections.language",icon:p.Globe},{id:"agent",labelKey:"settings.sections.agent",icon:s.Bot},{id:"environment",labelKey:"settings.sections.environment",icon:a.Terminal},{id:"workflow",labelKey:"settings.sections.workflow",icon:r.GitBranch},{id:"ci",labelKey:"settings.sections.ci",icon:o},{id:"stage-timeouts",labelKey:"settings.sections.timeouts",icon:v.Timer},{id:"notifications",labelKey:"settings.sections.notifications",icon:c},{id:"feature-flags",labelKey:"settings.sections.flags",icon:d},{id:"interactive-agent",labelKey:"settings.sections.chat",icon:x.MessageSquare},{id:"database",labelKey:"settings.sections.database",icon:u}];function tZ({label:e,description:n,htmlFor:i,children:s}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-2.5 last:border-b-0",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)(j.Label,{htmlFor:i,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:e}),n?(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:n}):null]}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:s})]})}function tX({label:e,description:n,id:i,testId:s,checked:a,onChange:r,disabled:l}){return(0,t.jsx)(tZ,{label:e,description:n,htmlFor:i,children:(0,t.jsx)(S.Switch,{id:i,"data-testid":s,checked:a,onCheckedChange:r,disabled:l,className:(0,y.cn)("cursor-pointer",l&&"cursor-not-allowed opacity-50")})})}function tJ({icon:e,title:n,description:i,badge:s,testId:a,children:r}){return(0,t.jsxs)("div",{className:"bg-background rounded-lg border","data-testid":a,children:[(0,t.jsxs)("div",{className:"bg-muted/30 border-b px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(e,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("h2",{className:"text-sm font-semibold",children:n}),s?(0,t.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider uppercase",children:s}):null]}),(0,t.jsx)("p",{className:"text-muted-foreground mt-0.5 text-[11px]",children:i})]}),(0,t.jsx)("div",{className:"px-4",children:r})]})}function tQ({id:e,testId:n,value:i,onChange:s,onBlur:a,placeholder:r,min:l=1,max:o,step:c=1,suffix:d}){let{t:u}=(0,b.useTranslation)("web"),p=""===i?void 0:parseInt(i,10);return(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center overflow-hidden rounded-md border",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{s(String(Math.max(l,(p??parseInt(r,10))-c)))},onMouseUp:a,className:"text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 w-7 cursor-pointer items-center justify-center border-r transition-colors","aria-label":u("common.decrease"),children:(0,t.jsx)(g.default,{className:"h-3 w-3"})}),(0,t.jsx)("input",{id:e,"data-testid":n,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:i,placeholder:r,onChange:e=>{s(e.target.value.replace(/[^0-9]/g,""))},onBlur:a,className:"h-8 w-14 bg-transparent text-center text-xs outline-none"}),(0,t.jsx)("button",{type:"button",onClick:()=>{let e;e=p??parseInt(r,10),s(String(null!=o?Math.min(o,e+c):e+c))},onMouseUp:a,className:"text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 w-7 cursor-pointer items-center justify-center border-l transition-colors","aria-label":u("common.increase"),children:(0,t.jsx)(m.Plus,{className:"h-3 w-3"})})]}),d?(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:d}):null]})}function t0({children:e}){return(0,t.jsx)("div",{className:"border-b pt-3 pb-1",children:(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-semibold tracking-wider uppercase",children:e})})}function t1({children:e,links:n}){return(0,t.jsxs)("div",{className:"hidden pt-2 lg:block",children:[(0,t.jsx)("p",{className:"text-muted-foreground/70 text-[11px] leading-relaxed",children:e}),null!=n&&n.length>0?(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:n.map(e=>(0,t.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-[10px] transition-colors",children:[(0,t.jsx)(h.ExternalLink,{className:"h-2.5 w-2.5"}),e.label]},e.href))}):null]})}function t2({settings:e,shepHome:l,dbFileSize:p,availableTerminals:g}){let{t:m}=(0,b.useTranslation)("web"),{showSaving:h,showSaved:j,save:S}=function(){let{t:e}=(0,b.useTranslation)("web"),[t,i]=(0,n.useTransition)(),[s,a]=(0,n.useState)(!1),[r,l]=(0,n.useState)(!1),o=(0,n.useRef)(null),c=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{t&&!s&&(a(!0),c.current=!1,o.current=setTimeout(()=>{o.current=null,c.current&&(a(!1),l(!0),setTimeout(()=>l(!1),2e3))},350)),!t&&s&&(c.current=!0,o.current||(a(!1),l(!0),setTimeout(()=>l(!1),2e3)))},[t,s]),{showSaving:s,showSaved:r,save:(0,n.useCallback)(t=>{i(async()=>{let n=await e9(t);n.success||w.toast.error(n.error??e("settings.failedToSave"))})},[i,e])}}(),C=e.featureFlags??{skills:!1,envDeploy:!1,debug:!1,githubImport:!1,adoptBranch:!1,gitRebaseSync:!1,reactFileManager:!1},[k,N]=(0,n.useState)(e.agent.type),[I,M]=(0,n.useState)(e.environment.defaultEditor),[T,P]=(0,n.useState)(e.environment.shellPreference),[E,R]=(0,n.useState)(e.environment.terminalPreference??e6.TerminalType.System),D=g?g.filter(e=>e.available):[{id:e6.TerminalType.System,name:m("settings.environment.systemTerminal"),available:!0}],[A,F]=(0,n.useState)(e.workflow.openPrOnImplementationComplete),[L,B]=(0,n.useState)(e.workflow.approvalGateDefaults.pushOnImplementationComplete),[H,z]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPrd),[_,V]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPlan),[K,O]=(0,n.useState)(e.workflow.approvalGateDefaults.allowMerge),[W,U]=(0,n.useState)(e.workflow.enableEvidence),[G,q]=(0,n.useState)(e.workflow.commitEvidence),[$,Y]=(0,n.useState)(!1!==e.workflow.ciWatchEnabled),[Z,X]=(0,n.useState)(!1!==e.workflow.hideCiStatus),[J,Q]=(0,n.useState)(null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):""),[ee,et]=(0,n.useState)(null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):""),[en,ei]=(0,n.useState)(null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):""),[es,ea]=(0,n.useState)(null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):""),er=e.workflow.stageTimeouts,[el,eo]=(0,n.useState)(String(Math.round((er?.analyzeMs??18e5)/1e3))),[ec,ed]=(0,n.useState)(String(Math.round((er?.requirementsMs??18e5)/1e3))),[eu,ep]=(0,n.useState)(String(Math.round((er?.researchMs??18e5)/1e3))),[eg,em]=(0,n.useState)(String(Math.round((er?.planMs??18e5)/1e3))),[eh,ef]=(0,n.useState)(String(Math.round((er?.implementMs??18e5)/1e3))),[ev,ex]=(0,n.useState)(String(Math.round((er?.mergeMs??18e5)/1e3))),ew=e.workflow.analyzeRepoTimeouts,[eb,ey]=(0,n.useState)(String(Math.round((ew?.analyzeMs??6e5)/1e3))),ej=e.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[eS,eC]=(0,n.useState)(ej.enabled),[ek,eN]=(0,n.useState)(String(ej.autoTimeoutMinutes)),[eI,eM]=(0,n.useState)(String(ej.maxConcurrentSessions)),[eT,eP]=(0,n.useState)(e.notifications.inApp.enabled),[eE,eR]=(0,n.useState)({...e.notifications.events}),[eD,eA]=(0,n.useState)({...C}),eF=null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):"",eL=null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):"",eB=null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):"",eH=null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):"",ez=er?.analyzeMs!=null?String(Math.round(er.analyzeMs/1e3)):"",e_=er?.requirementsMs!=null?String(Math.round(er.requirementsMs/1e3)):"",eV=er?.researchMs!=null?String(Math.round(er.researchMs/1e3)):"",eK=er?.planMs!=null?String(Math.round(er.planMs/1e3)):"",eO=er?.implementMs!=null?String(Math.round(er.implementMs/1e3)):"",eW=er?.mergeMs!=null?String(Math.round(er.mergeMs/1e3)):"",eU=ew?.analyzeMs!=null?String(Math.round(ew.analyzeMs/1e3)):"";function eG(e){if(""===e)return;let t=parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}function eq(e){if(void 0===e)return;let t=eG(e);return null!=t?1e3*t:void 0}function e$(e={}){let t=eG(e.ciTimeout??ee);return{workflow:{openPrOnImplementationComplete:e.openPr??A,approvalGateDefaults:{pushOnImplementationComplete:e.pushOnComplete??L,allowPrd:e.allowPrd??H,allowPlan:e.allowPlan??_,allowMerge:e.allowMerge??K},enableEvidence:e.enableEvidence??W,commitEvidence:e.commitEvidence??G,ciWatchEnabled:e.ciWatchEnabled??$,hideCiStatus:e.hideCiStatus??Z,ciMaxFixAttempts:eG(e.ciMaxFix??J),ciWatchTimeoutMs:null!=t?1e3*t:void 0,ciLogMaxChars:eG(e.ciLogMax??en),ciWatchPollIntervalSeconds:eG(e.ciPollInterval??es),stageTimeouts:{analyzeMs:eq(e.analyzeTimeout??el),requirementsMs:eq(e.requirementsTimeout??ec),researchMs:eq(e.researchTimeout??eu),planMs:eq(e.planTimeout??eg),implementMs:eq(e.implementTimeout??eh),mergeMs:eq(e.mergeTimeout??ev)},analyzeRepoTimeouts:{analyzeMs:eq(e.analyzeRepoTimeout??eb)}}}}function eY(e={}){return{notifications:{inApp:{enabled:e.inApp??eT},events:e.events??eE}}}let[eZ,eX]=(0,n.useState)("agent");(0,n.useEffect)(()=>{let e=tY.map(e=>document.getElementById(`section-${e.id}`)).filter(Boolean);if(0===e.length)return;let t=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&eX(t.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let n of e)t.observe(n);return()=>t.disconnect()},[]);let eJ=(0,n.useCallback)(e=>{let t=document.getElementById(`section-${e}`);t&&(t.scrollIntoView({behavior:"smooth",block:"start"}),t.style.animation="none",t.offsetHeight,t.style.animation="section-flash 1s ease-out")},[]);return(0,t.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-5xl",children:[(0,t.jsx)("div",{className:"bg-background/95 supports-backdrop-filter:bg-background/80 sticky top-0 z-10 grid grid-cols-1 gap-x-5 pt-6 pb-4 backdrop-blur lg:grid-cols-[1fr_280px]",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(f,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:m("settings.title")}),(0,t.jsxs)("span",{className:"relative h-4 w-16",children:[(0,t.jsx)("span",{className:(0,y.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",h?"opacity-100":"opacity-0"),children:m("settings.saving")}),(0,t.jsxs)("span",{className:(0,y.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",j&&!h?"opacity-100":"opacity-0"),children:[(0,t.jsx)(i.Check,{className:"h-3 w-3"}),m("settings.saved")]})]}),(0,t.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:tY.map(e=>{let n=e.icon,i=eZ===e.id;return(0,t.jsxs)("button",{type:"button",onClick:()=>eJ(e.id),className:(0,y.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",i?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,t.jsx)(n,{className:"h-3 w-3"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:m(e.labelKey)})]},e.id)})})]})}),(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)("div",{id:"section-language",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:(0,t.jsx)(tp,{language:e.user?.preferredLanguage??e6.Language.English})}),(0,t.jsxs)("div",{id:"section-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(tJ,{icon:s.Bot,title:m("settings.agent.sectionTitle"),description:m("settings.agent.sectionDescription"),testId:"agent-settings-section",children:(0,t.jsx)(tZ,{label:m("settings.agent.agentAndModel"),description:m("settings.agent.agentAndModelDescription"),htmlFor:"agent-model-picker",children:(0,t.jsx)(tc.AgentModelPicker,{initialAgentType:k,initialModel:e.models.default,mode:"settings",onAgentModelChange:e=>N(e),className:"w-55"})})}),(0,t.jsx)(t1,{links:[{label:m("settings.agent.links.agentSystem"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/agent-system.md"},{label:m("settings.agent.links.addingAgents"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/adding-agents.md"},{label:m("settings.agent.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:m("settings.agent.hint")})]}),(0,t.jsxs)("div",{id:"section-environment",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:a.Terminal,title:m("settings.environment.sectionTitle"),description:m("settings.environment.sectionDescription"),testId:"environment-settings-section",children:[(0,t.jsx)(tZ,{label:m("settings.environment.defaultEditor"),description:m("settings.environment.defaultEditorDescription"),htmlFor:"default-editor",children:(0,t.jsxs)(eQ,{value:I,onValueChange:e=>{M(e),S({environment:{defaultEditor:e,shellPreference:T,terminalPreference:E}})},children:[(0,t.jsx)(e1,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(e0,{})}),(0,t.jsx)(e5,{children:tq.map(e=>{var n;let i=(n=e.value)&&n in to?to[n]:tn;return(0,t.jsx)(e4,{value:e.value,children:(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(i,{className:"h-4 w-4 shrink-0"}),e.label]})},e.value)})})]})}),(0,t.jsx)(tZ,{label:m("settings.environment.shell"),description:m("settings.environment.shellDescription"),htmlFor:"shell-preference",children:(0,t.jsxs)(eQ,{value:T,onValueChange:e=>{P(e),S({environment:{defaultEditor:I,shellPreference:e,terminalPreference:E}})},children:[(0,t.jsx)(e1,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(e0,{})}),(0,t.jsx)(e5,{children:t$.map(e=>(0,t.jsx)(e4,{value:e.value,children:e.label},e.value))})]})}),(0,t.jsx)(tZ,{label:m("settings.environment.terminal"),description:m("settings.environment.terminalDescription"),htmlFor:"terminal-preference",children:(0,t.jsxs)(eQ,{value:E,onValueChange:e=>{R(e),S({environment:{defaultEditor:I,shellPreference:T,terminalPreference:e}})},children:[(0,t.jsx)(e1,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(e0,{})}),(0,t.jsx)(e5,{children:D.map(e=>(0,t.jsx)(e4,{value:e.id,children:e.name},e.id))})]})})]}),(0,t.jsx)(t1,{links:[{label:m("settings.environment.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:m("settings.environment.hint")})]}),(0,t.jsxs)("div",{id:"section-workflow",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:r.GitBranch,title:m("settings.workflow.title"),description:m("settings.workflow.sectionDescription"),testId:"workflow-settings-section",children:[(0,t.jsx)(t0,{children:m("settings.workflow.subsections.approve")}),(0,t.jsx)(tX,{label:m("settings.workflow.autoApprovePrd"),description:m("settings.workflow.autoApprovePrdDescription"),id:"allow-prd",testId:"switch-allow-prd",checked:H,onChange:e=>{z(e),S(e$({allowPrd:e}))}}),(0,t.jsx)(tX,{label:m("settings.workflow.autoApprovePlan"),description:m("settings.workflow.autoApprovePlanDescription"),id:"allow-plan",testId:"switch-allow-plan",checked:_,onChange:e=>{V(e),S(e$({allowPlan:e}))}}),(0,t.jsx)(tX,{label:m("settings.workflow.autoApproveMerge"),description:m("settings.workflow.autoApproveMergeDescription"),id:"allow-merge",testId:"switch-allow-merge",checked:K,onChange:e=>{O(e),S(e$({allowMerge:e}))}}),(0,t.jsx)(t0,{children:m("settings.workflow.subsections.evidence")}),(0,t.jsx)(tX,{label:m("settings.workflow.collectEvidence"),description:m("settings.workflow.collectEvidenceDescription"),id:"enable-evidence",testId:"switch-enable-evidence",checked:W,onChange:e=>{U(e),e?S(e$({enableEvidence:e})):(q(!1),S(e$({enableEvidence:e,commitEvidence:!1})))}}),(0,t.jsx)(tX,{label:m("settings.workflow.addEvidenceToPr"),description:m("settings.workflow.addEvidenceToPrDescription"),id:"commit-evidence",testId:"switch-commit-evidence",checked:G,disabled:!W||!A,onChange:e=>{q(e),S(e$({commitEvidence:e}))}}),(0,t.jsx)(t0,{children:m("settings.workflow.subsections.git")}),(0,t.jsx)(tX,{label:m("settings.workflow.pushOnComplete"),description:m("settings.workflow.pushOnCompleteDescription"),id:"push-on-complete",testId:"switch-push-on-complete",checked:L,onChange:e=>{B(e),S(e$({pushOnComplete:e}))}}),(0,t.jsx)(tX,{label:m("settings.workflow.openPrOnComplete"),description:m("settings.workflow.openPrOnCompleteDescription"),id:"open-pr",testId:"switch-open-pr",checked:A,onChange:e=>{F(e),e?S(e$({openPr:e})):(q(!1),S(e$({openPr:e,commitEvidence:!1})))}}),(0,t.jsx)(tX,{label:m("settings.workflow.watchCiAfterPush"),description:m("settings.workflow.watchCiAfterPushDescription"),id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:$,onChange:e=>{Y(e),S(e$({ciWatchEnabled:e}))}})]}),(0,t.jsx)(t1,{links:[{label:m("settings.workflow.links.approvalGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:m("settings.workflow.links.pushAndPrFlags"),href:"https://github.com/shep-ai/shep/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:m("settings.workflow.hint")})]}),(0,t.jsxs)("div",{id:"section-ci",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:o,title:m("settings.ci.title"),description:m("settings.ci.description"),testId:"ci-settings-section",children:[(0,t.jsx)(tZ,{label:m("settings.ci.maxFixAttempts"),description:m("settings.ci.maxFixAttemptsDescription"),htmlFor:"ci-max-fix",children:(0,t.jsx)(tQ,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:J,onChange:Q,onBlur:()=>{J!==eF&&S(e$({ciMaxFix:J}))},min:1,max:10})}),(0,t.jsx)(tZ,{label:m("settings.ci.watchTimeout"),description:m("settings.ci.watchTimeoutDescription"),htmlFor:"ci-timeout",children:(0,t.jsx)(tQ,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:ee,onChange:et,onBlur:()=>{ee!==eL&&S(e$({ciTimeout:ee}))},min:30,step:30,suffix:"sec"})}),(0,t.jsx)(tZ,{label:m("settings.ci.maxLogSize"),description:m("settings.ci.maxLogSizeDescription"),htmlFor:"ci-log-max",children:(0,t.jsx)(tQ,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:en,onChange:ei,onBlur:()=>{en!==eB&&S(e$({ciLogMax:en}))},min:1e3,step:5e3,suffix:"chars"})}),(0,t.jsx)(tZ,{label:m("settings.ci.pollInterval"),description:m("settings.ci.pollIntervalDescription"),htmlFor:"ci-poll-interval",children:(0,t.jsx)(tQ,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:es,onChange:ea,onBlur:()=>{es!==eH&&S(e$({ciPollInterval:es}))},min:5,step:5,suffix:"sec"})}),(0,t.jsx)(tX,{label:m("settings.ci.hideCiStatus"),description:m("settings.ci.hideCiStatusDescription"),id:"hide-ci-status",testId:"switch-hide-ci-status",checked:Z,onChange:e=>{X(e),S(e$({hideCiStatus:e}))}})]}),(0,t.jsx)(t1,{links:[{label:m("settings.ci.links.cicdPipeline"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/cicd.md"},{label:m("settings.ci.links.ciSecurityGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/003-cicd-security-gates/spec.md"}],children:m("settings.ci.hint")})]}),(0,t.jsxs)("div",{id:"section-stage-timeouts",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:v.Timer,title:m("settings.stageTimeouts.title"),description:m("settings.stageTimeouts.description"),testId:"stage-timeouts-settings-section",children:[(0,t.jsx)(t0,{children:m("settings.stageTimeouts.subsections.featureAgent")}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.analyze"),description:m("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze",children:(0,t.jsx)(tG,{id:"timeout-analyze",testId:"timeout-analyze-input",value:el,onChange:eo,onBlur:()=>{el!==ez&&S(e$({analyzeTimeout:el}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.requirements"),description:m("settings.stageTimeouts.requirementsDescription"),htmlFor:"timeout-requirements",children:(0,t.jsx)(tG,{id:"timeout-requirements",testId:"timeout-requirements-input",value:ec,onChange:ed,onBlur:()=>{ec!==e_&&S(e$({requirementsTimeout:ec}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.research"),description:m("settings.stageTimeouts.researchDescription"),htmlFor:"timeout-research",children:(0,t.jsx)(tG,{id:"timeout-research",testId:"timeout-research-input",value:eu,onChange:ep,onBlur:()=>{eu!==eV&&S(e$({researchTimeout:eu}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.plan"),description:m("settings.stageTimeouts.planDescription"),htmlFor:"timeout-plan",children:(0,t.jsx)(tG,{id:"timeout-plan",testId:"timeout-plan-input",value:eg,onChange:em,onBlur:()=>{eg!==eK&&S(e$({planTimeout:eg}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.implement"),description:m("settings.stageTimeouts.implementDescription"),htmlFor:"timeout-implement",children:(0,t.jsx)(tG,{id:"timeout-implement",testId:"timeout-implement-input",value:eh,onChange:ef,onBlur:()=>{eh!==eO&&S(e$({implementTimeout:eh}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.merge"),description:m("settings.stageTimeouts.mergeDescription"),htmlFor:"timeout-merge",children:(0,t.jsx)(tG,{id:"timeout-merge",testId:"timeout-merge-input",value:ev,onChange:ex,onBlur:()=>{ev!==eW&&S(e$({mergeTimeout:ev}))},defaultSeconds:1800})}),(0,t.jsx)(t0,{children:m("settings.stageTimeouts.subsections.analyzeRepoAgent")}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.analyze"),description:m("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze-repo",children:(0,t.jsx)(tG,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:eb,onChange:ey,onBlur:()=>{eb!==eU&&S(e$({analyzeRepoTimeout:eb}))},defaultSeconds:600})})]}),(0,t.jsx)(t1,{children:m("settings.stageTimeouts.hint")})]}),(0,t.jsxs)("div",{id:"section-notifications",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:c,title:m("settings.notifications.title"),description:m("settings.notifications.sectionDescription"),testId:"notification-settings-section",children:[(0,t.jsx)(t0,{children:m("settings.notifications.channels")}),(0,t.jsx)(tX,{label:m("settings.notifications.inAppLabel"),description:m("settings.notifications.inAppDescription"),id:"notif-in-app",testId:"switch-in-app",checked:eT,onChange:e=>{eP(e),S(eY({inApp:e}))}}),(0,t.jsx)(t0,{children:m("settings.notifications.subsections.agentEvents")}),(0,t.jsx)(tX,{label:m("settings.notifications.events.agentStarted"),id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:eE.agentStarted,onChange:e=>{let t={...eE,agentStarted:e};eR(t),S(eY({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.phaseCompleted"),id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:eE.phaseCompleted,onChange:e=>{let t={...eE,phaseCompleted:e};eR(t),S(eY({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.waitingApproval"),id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:eE.waitingApproval,onChange:e=>{let t={...eE,waitingApproval:e};eR(t),S(eY({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.agentCompleted"),id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:eE.agentCompleted,onChange:e=>{let t={...eE,agentCompleted:e};eR(t),S(eY({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.agentFailed"),id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:eE.agentFailed,onChange:e=>{let t={...eE,agentFailed:e};eR(t),S(eY({events:t}))}}),(0,t.jsx)(t0,{children:m("settings.notifications.subsections.pullRequestEvents")}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prMerged"),id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:eE.prMerged,onChange:e=>{let t={...eE,prMerged:e};eR(t),S(eY({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prClosed"),id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:eE.prClosed,onChange:e=>{let t={...eE,prClosed:e};eR(t),S(eY({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prChecksPassed"),id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:eE.prChecksPassed,onChange:e=>{let t={...eE,prChecksPassed:e};eR(t),S(eY({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prChecksFailed"),id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:eE.prChecksFailed,onChange:e=>{let t={...eE,prChecksFailed:e};eR(t),S(eY({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prBlocked"),id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:eE.prBlocked,onChange:e=>{let t={...eE,prBlocked:e};eR(t),S(eY({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.mergeReviewReady"),id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:eE.mergeReviewReady,onChange:e=>{let t={...eE,mergeReviewReady:e};eR(t),S(eY({events:t}))}})]}),(0,t.jsx)(t1,{links:[{label:m("settings.notifications.links.notificationSystem"),href:"https://github.com/shep-ai/shep/blob/main/specs/021-agent-notifications/spec.yaml"}],children:m("settings.notifications.hint")})]}),(0,t.jsxs)("div",{id:"section-feature-flags",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:d,title:m("settings.featureFlags.title"),description:m("settings.featureFlags.sectionDescription"),badge:m("settings.featureFlags.badge"),testId:"feature-flags-settings-section",children:[(0,t.jsx)(tX,{label:m("settings.featureFlags.skills"),description:m("settings.featureFlags.skillsDescription"),id:"flag-skills",testId:"switch-flag-skills",checked:eD.skills,onChange:e=>{let t={...eD,skills:e};eA(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.deployments"),description:m("settings.featureFlags.deploymentsDescription"),id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:eD.envDeploy,onChange:e=>{let t={...eD,envDeploy:e};eA(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.debug"),description:m("settings.featureFlags.debugDescription"),id:"flag-debug",testId:"switch-flag-debug",checked:eD.debug,onChange:e=>{let t={...eD,debug:e};eA(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.githubImport"),description:m("settings.featureFlags.githubImportDescription"),id:"flag-githubImport",testId:"switch-flag-githubImport",checked:eD.githubImport,onChange:e=>{let t={...eD,githubImport:e};eA(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.adoptBranch"),description:m("settings.featureFlags.adoptBranchDescription"),id:"flag-adoptBranch",testId:"switch-flag-adoptBranch",checked:eD.adoptBranch,onChange:e=>{let t={...eD,adoptBranch:e};eA(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.gitRebaseSync"),description:m("settings.featureFlags.gitRebaseSyncDescription"),id:"flag-gitRebaseSync",testId:"switch-flag-gitRebaseSync",checked:eD.gitRebaseSync,onChange:e=>{let t={...eD,gitRebaseSync:e};eA(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.reactFileManager"),description:m("settings.featureFlags.reactFileManagerDescription"),id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:eD.reactFileManager,onChange:e=>{let t={...eD,reactFileManager:e};eA(t),S({featureFlags:t})}})]}),(0,t.jsx)(t1,{children:m("settings.featureFlags.hint")})]}),(0,t.jsxs)("div",{id:"section-interactive-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:x.MessageSquare,title:m("settings.interactiveAgent.title"),description:m("settings.interactiveAgent.description"),testId:"interactive-agent-settings-section",children:[(0,t.jsx)(tX,{label:m("settings.interactiveAgent.enableChatTab"),description:m("settings.interactiveAgent.enableChatTabDescription"),id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:eS,onChange:e=>{eC(e),S({interactiveAgent:{enabled:e,autoTimeoutMinutes:parseInt(ek,10)||15,maxConcurrentSessions:parseInt(eI,10)||3}})}}),(0,t.jsx)(tZ,{label:m("settings.interactiveAgent.autoTimeout"),description:m("settings.interactiveAgent.autoTimeoutDescription"),htmlFor:"interactive-agent-timeout",children:(0,t.jsx)(tQ,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:ek,placeholder:"15",min:1,max:120,suffix:"min",onChange:eN,onBlur:()=>{let e=parseInt(ek,10),t=Number.isNaN(e)?15:Math.min(120,Math.max(1,e));eN(String(t)),S({interactiveAgent:{enabled:eS,autoTimeoutMinutes:t,maxConcurrentSessions:parseInt(eI,10)||3}})}})}),(0,t.jsx)(tZ,{label:m("settings.interactiveAgent.maxConcurrentSessions"),description:m("settings.interactiveAgent.maxConcurrentSessionsDescription"),htmlFor:"interactive-agent-sessions",children:(0,t.jsx)(tQ,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:eI,placeholder:"3",min:1,max:10,onChange:eM,onBlur:()=>{let e=parseInt(eI,10),t=Number.isNaN(e)?3:Math.min(10,Math.max(1,e));eM(String(t)),S({interactiveAgent:{enabled:eS,autoTimeoutMinutes:parseInt(ek,10)||15,maxConcurrentSessions:t}})}})})]}),(0,t.jsx)(t1,{children:m("settings.interactiveAgent.hint")})]}),(0,t.jsxs)("div",{id:"section-database",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:u,title:m("settings.database.title"),description:m("settings.database.sectionDescription"),testId:"database-settings-section",children:[(0,t.jsx)(tZ,{label:m("settings.database.location"),description:m("settings.database.locationDescription"),children:(0,t.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shep-home-path",children:l})}),(0,t.jsx)(tZ,{label:m("settings.database.size"),children:(0,t.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:p})})]}),(0,t.jsx)(t1,{links:[{label:m("settings.database.links.settingsService"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/settings-service.md"},{label:m("settings.database.links.settingsSpec"),href:"https://github.com/shep-ai/shep/blob/main/specs/005-global-settings-service/spec.md"}],children:m("settings.database.hint")})]})]})]})}e.s(["SettingsPageClient",()=>t2],41952)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,41952,e=>{"use strict";var t=e.i(20314),n=e.i(79054),i=e.i(23925),s=e.i(26370),a=e.i(38573),r=e.i(49228),l=e.i(3645);let o=(0,l.default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]),c=(0,l.default)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]),d=(0,l.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]),u=(0,l.default)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);var p=e.i(32494),g=e.i(10714),g=g,m=e.i(3214),h=e.i(30702);let f=(0,l.default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);var v=e.i(58860),x=e.i(48109),w=e.i(60112);e.i(41001);var b=e.i(64780),y=e.i(31777),j=e.i(41957),S=e.i(51911),C=e.i(26036),k=e.i(27069),N=e.i(91967),M=e.i(87342),I=e.i(5978),T=e.i(22528),E=e.i(66033),P=e.i(53532),D=e.i(41687),R=e.i(56720),A=e.i(13123),F=e.i(52740),L=e.i(39979),B=e.i(87620),H=e.i(86874),z=e.i(29297),_=e.i(36589),V=e.i(5192),K=e.i(23405),O=e.i(1693),W=e.i(73772),U=e.i(13044),G=[" ","Enter","ArrowUp","ArrowDown"],q=[" ","Enter"],$="Select",[Y,Z,X]=(0,M.createCollection)($),[J,Q]=(0,T.createContextScope)($,[X,F.createPopperScope]),ee=(0,F.createPopperScope)(),[et,en]=J($),[ei,es]=J($),ea=e=>{let{__scopeSelect:i,children:s,open:a,defaultOpen:r,onOpenChange:l,value:o,defaultValue:c,onValueChange:d,dir:u,name:p,autoComplete:g,disabled:m,required:h,form:f}=e,v=ee(i),[x,w]=n.useState(null),[b,y]=n.useState(null),[j,S]=n.useState(!1),C=(0,E.useDirection)(u),[k,N]=(0,_.useControllableState)({prop:a,defaultProp:r??!1,onChange:l,caller:$}),[M,I]=(0,_.useControllableState)({prop:o,defaultProp:c,onChange:d,caller:$}),T=n.useRef(null),P=!x||f||!!x.closest("form"),[D,R]=n.useState(new Set),L=Array.from(D).map(e=>e.props.value).join(";");return(0,t.jsx)(F.Root,{...v,children:(0,t.jsxs)(et,{required:h,scope:i,trigger:x,onTriggerChange:w,valueNode:b,onValueNodeChange:y,valueNodeHasChildren:j,onValueNodeHasChildrenChange:S,contentId:(0,A.useId)(),value:M,onValueChange:I,open:k,onOpenChange:N,dir:C,triggerPointerDownPosRef:T,disabled:m,children:[(0,t.jsx)(Y.Provider,{scope:i,children:(0,t.jsx)(ei,{scope:e.__scopeSelect,onNativeOptionAdd:n.useCallback(e=>{R(t=>new Set(t).add(e))},[]),onNativeOptionRemove:n.useCallback(e=>{R(t=>{let n=new Set(t);return n.delete(e),n})},[]),children:s})}),P?(0,t.jsxs)(eG,{"aria-hidden":!0,required:h,tabIndex:-1,name:p,autoComplete:g,value:M,onChange:e=>I(e.target.value),disabled:m,form:f,children:[void 0===M?(0,t.jsx)("option",{value:""}):null,Array.from(D)]},L):null]})})};ea.displayName=$;var er="SelectTrigger",el=n.forwardRef((e,i)=>{let{__scopeSelect:s,disabled:a=!1,...r}=e,l=ee(s),o=en(er,s),c=o.disabled||a,d=(0,I.useComposedRefs)(i,o.onTriggerChange),u=Z(s),p=n.useRef("touch"),[g,m,h]=e$(e=>{let t=u().filter(e=>!e.disabled),n=t.find(e=>e.value===o.value),i=eY(t,e,n);void 0!==i&&o.onValueChange(i.value)}),f=e=>{c||(o.onOpenChange(!0),h()),e&&(o.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,t.jsx)(F.Anchor,{asChild:!0,...l,children:(0,t.jsx)(B.Primitive.button,{type:"button",role:"combobox","aria-controls":o.contentId,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":"none",dir:o.dir,"data-state":o.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":eq(o.value)?"":void 0,...r,ref:d,onClick:(0,N.composeEventHandlers)(r.onClick,e=>{e.currentTarget.focus(),"mouse"!==p.current&&f(e)}),onPointerDown:(0,N.composeEventHandlers)(r.onPointerDown,e=>{p.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(f(e),e.preventDefault())}),onKeyDown:(0,N.composeEventHandlers)(r.onKeyDown,e=>{let t=""!==g.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||m(e.key),(!t||" "!==e.key)&&G.includes(e.key)&&(f(),e.preventDefault())})})})});el.displayName=er;var eo="SelectValue",ec=n.forwardRef((e,n)=>{let{__scopeSelect:i,className:s,style:a,children:r,placeholder:l="",...o}=e,c=en(eo,i),{onValueNodeHasChildrenChange:d}=c,u=void 0!==r,p=(0,I.useComposedRefs)(n,c.onValueNodeChange);return(0,V.useLayoutEffect)(()=>{d(u)},[d,u]),(0,t.jsx)(B.Primitive.span,{...o,ref:p,style:{pointerEvents:"none"},children:eq(c.value)?(0,t.jsx)(t.Fragment,{children:l}):r})});ec.displayName=eo;var ed=n.forwardRef((e,n)=>{let{__scopeSelect:i,children:s,...a}=e;return(0,t.jsx)(B.Primitive.span,{"aria-hidden":!0,...a,ref:n,children:s||"▼"})});ed.displayName="SelectIcon";var eu=e=>(0,t.jsx)(L.Portal,{asChild:!0,...e});eu.displayName="SelectPortal";var ep="SelectContent",eg=n.forwardRef((e,i)=>{let s=en(ep,e.__scopeSelect),[a,r]=n.useState();return((0,V.useLayoutEffect)(()=>{r(new DocumentFragment)},[]),s.open)?(0,t.jsx)(ev,{...e,ref:i}):a?C.createPortal((0,t.jsx)(em,{scope:e.__scopeSelect,children:(0,t.jsx)(Y.Slot,{scope:e.__scopeSelect,children:(0,t.jsx)("div",{children:e.children})})}),a):null});eg.displayName=ep;var[em,eh]=J(ep),ef=(0,H.createSlot)("SelectContent.RemoveScroll"),ev=n.forwardRef((e,i)=>{let{__scopeSelect:s,position:a="item-aligned",onCloseAutoFocus:r,onEscapeKeyDown:l,onPointerDownOutside:o,side:c,sideOffset:d,align:u,alignOffset:p,arrowPadding:g,collisionBoundary:m,collisionPadding:h,sticky:f,hideWhenDetached:v,avoidCollisions:x,...w}=e,b=en(ep,s),[y,j]=n.useState(null),[S,C]=n.useState(null),k=(0,I.useComposedRefs)(i,e=>j(e)),[M,T]=n.useState(null),[E,A]=n.useState(null),F=Z(s),[L,B]=n.useState(!1),H=n.useRef(!1);n.useEffect(()=>{if(y)return(0,W.hideOthers)(y)},[y]),(0,D.useFocusGuards)();let z=n.useCallback(e=>{let[t,...n]=F().map(e=>e.ref.current),[i]=n.slice(-1),s=document.activeElement;for(let n of e)if(n===s||(n?.scrollIntoView({block:"nearest"}),n===t&&S&&(S.scrollTop=0),n===i&&S&&(S.scrollTop=S.scrollHeight),n?.focus(),document.activeElement!==s))return},[F,S]),_=n.useCallback(()=>z([M,y]),[z,M,y]);n.useEffect(()=>{L&&_()},[L,_]);let{onOpenChange:V,triggerPointerDownPosRef:K}=b;n.useEffect(()=>{if(y){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(K.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(K.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():y.contains(n.target)||V(!1),document.removeEventListener("pointermove",t),K.current=null};return null!==K.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",n,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",n,{capture:!0})}}},[y,V,K]),n.useEffect(()=>{let e=()=>V(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[V]);let[O,G]=e$(e=>{let t=F().filter(e=>!e.disabled),n=t.find(e=>e.ref.current===document.activeElement),i=eY(t,e,n);i&&setTimeout(()=>i.ref.current.focus())}),q=n.useCallback((e,t,n)=>{let i=!H.current&&!n;(void 0!==b.value&&b.value===t||i)&&(T(e),i&&(H.current=!0))},[b.value]),$=n.useCallback(()=>y?.focus(),[y]),Y=n.useCallback((e,t,n)=>{let i=!H.current&&!n;(void 0!==b.value&&b.value===t||i)&&A(e)},[b.value]),X="popper"===a?ew:ex,J=X===ew?{side:c,sideOffset:d,align:u,alignOffset:p,arrowPadding:g,collisionBoundary:m,collisionPadding:h,sticky:f,hideWhenDetached:v,avoidCollisions:x}:{};return(0,t.jsx)(em,{scope:s,content:y,viewport:S,onViewportChange:C,itemRefCallback:q,selectedItem:M,onItemLeave:$,itemTextRefCallback:Y,focusSelectedItem:_,selectedItemText:E,position:a,isPositioned:L,searchRef:O,children:(0,t.jsx)(U.RemoveScroll,{as:ef,allowPinchZoom:!0,children:(0,t.jsx)(R.FocusScope,{asChild:!0,trapped:b.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,N.composeEventHandlers)(r,e=>{b.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,t.jsx)(P.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>b.onOpenChange(!1),children:(0,t.jsx)(X,{role:"listbox",id:b.contentId,"data-state":b.open?"open":"closed",dir:b.dir,onContextMenu:e=>e.preventDefault(),...w,...J,onPlaced:()=>B(!0),ref:k,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:(0,N.composeEventHandlers)(w.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||G(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=F().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let n=e.target,i=t.indexOf(n);t=t.slice(i+1)}setTimeout(()=>z(t)),e.preventDefault()}})})})})})})});ev.displayName="SelectContentImpl";var ex=n.forwardRef((e,i)=>{let{__scopeSelect:s,onPlaced:a,...r}=e,l=en(ep,s),o=eh(ep,s),[c,d]=n.useState(null),[u,p]=n.useState(null),g=(0,I.useComposedRefs)(i,e=>p(e)),m=Z(s),h=n.useRef(!1),f=n.useRef(!0),{viewport:v,selectedItem:x,selectedItemText:w,focusSelectedItem:b}=o,y=n.useCallback(()=>{if(l.trigger&&l.valueNode&&c&&u&&v&&x&&w){let e=l.trigger.getBoundingClientRect(),t=u.getBoundingClientRect(),n=l.valueNode.getBoundingClientRect(),i=w.getBoundingClientRect();if("rtl"!==l.dir){let s=i.left-t.left,a=n.left-s,r=e.left-a,l=e.width+r,o=Math.max(l,t.width),d=window.innerWidth-10,u=(0,k.clamp)(a,[10,Math.max(10,d-o)]);c.style.minWidth=l+"px",c.style.left=u+"px"}else{let s=t.right-i.right,a=window.innerWidth-n.right-s,r=window.innerWidth-e.right-a,l=e.width+r,o=Math.max(l,t.width),d=window.innerWidth-10,u=(0,k.clamp)(a,[10,Math.max(10,d-o)]);c.style.minWidth=l+"px",c.style.right=u+"px"}let s=m(),r=window.innerHeight-20,o=v.scrollHeight,d=window.getComputedStyle(u),p=parseInt(d.borderTopWidth,10),g=parseInt(d.paddingTop,10),f=parseInt(d.borderBottomWidth,10),b=p+g+o+parseInt(d.paddingBottom,10)+f,y=Math.min(5*x.offsetHeight,b),j=window.getComputedStyle(v),S=parseInt(j.paddingTop,10),C=parseInt(j.paddingBottom,10),N=e.top+e.height/2-10,M=x.offsetHeight/2,I=p+g+(x.offsetTop+M);if(I<=N){let e=s.length>0&&x===s[s.length-1].ref.current;c.style.bottom="0px";let t=Math.max(r-N,M+(e?C:0)+(u.clientHeight-v.offsetTop-v.offsetHeight)+f);c.style.height=I+t+"px"}else{let e=s.length>0&&x===s[0].ref.current;c.style.top="0px";let t=Math.max(N,p+v.offsetTop+(e?S:0)+M);c.style.height=t+(b-I)+"px",v.scrollTop=I-N+v.offsetTop}c.style.margin="10px 0",c.style.minHeight=y+"px",c.style.maxHeight=r+"px",a?.(),requestAnimationFrame(()=>h.current=!0)}},[m,l.trigger,l.valueNode,c,u,v,x,w,l.dir,a]);(0,V.useLayoutEffect)(()=>y(),[y]);let[j,S]=n.useState();(0,V.useLayoutEffect)(()=>{u&&S(window.getComputedStyle(u).zIndex)},[u]);let C=n.useCallback(e=>{e&&!0===f.current&&(y(),b?.(),f.current=!1)},[y,b]);return(0,t.jsx)(eb,{scope:s,contentWrapper:c,shouldExpandOnScrollRef:h,onScrollButtonChange:C,children:(0,t.jsx)("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:j},children:(0,t.jsx)(B.Primitive.div,{...r,ref:g,style:{boxSizing:"border-box",maxHeight:"100%",...r.style}})})})});ex.displayName="SelectItemAlignedPosition";var ew=n.forwardRef((e,n)=>{let{__scopeSelect:i,align:s="start",collisionPadding:a=10,...r}=e,l=ee(i);return(0,t.jsx)(F.Content,{...l,...r,ref:n,align:s,collisionPadding:a,style:{boxSizing:"border-box",...r.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ew.displayName="SelectPopperPosition";var[eb,ey]=J(ep,{}),ej="SelectViewport",eS=n.forwardRef((e,i)=>{let{__scopeSelect:s,nonce:a,...r}=e,l=eh(ej,s),o=ey(ej,s),c=(0,I.useComposedRefs)(i,l.onViewportChange),d=n.useRef(0);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),(0,t.jsx)(Y.Slot,{scope:s,children:(0,t.jsx)(B.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...r,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...r.style},onScroll:(0,N.composeEventHandlers)(r.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:i}=o;if(i?.current&&n){let e=Math.abs(d.current-t.scrollTop);if(e>0){let i=window.innerHeight-20,s=Math.max(parseFloat(n.style.minHeight),parseFloat(n.style.height));if(s<i){let a=s+e,r=Math.min(i,a),l=a-r;n.style.height=r+"px","0px"===n.style.bottom&&(t.scrollTop=l>0?l:0,n.style.justifyContent="flex-end")}}}d.current=t.scrollTop})})})]})});eS.displayName=ej;var eC="SelectGroup",[ek,eN]=J(eC),eM=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e,a=(0,A.useId)();return(0,t.jsx)(ek,{scope:i,id:a,children:(0,t.jsx)(B.Primitive.div,{role:"group","aria-labelledby":a,...s,ref:n})})});eM.displayName=eC;var eI="SelectLabel",eT=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e,a=eN(eI,i);return(0,t.jsx)(B.Primitive.div,{id:a.id,...s,ref:n})});eT.displayName=eI;var eE="SelectItem",[eP,eD]=J(eE),eR=n.forwardRef((e,i)=>{let{__scopeSelect:s,value:a,disabled:r=!1,textValue:l,...o}=e,c=en(eE,s),d=eh(eE,s),u=c.value===a,[p,g]=n.useState(l??""),[m,h]=n.useState(!1),f=(0,I.useComposedRefs)(i,e=>d.itemRefCallback?.(e,a,r)),v=(0,A.useId)(),x=n.useRef("touch"),w=()=>{r||(c.onValueChange(a),c.onOpenChange(!1))};if(""===a)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,t.jsx)(eP,{scope:s,value:a,disabled:r,textId:v,isSelected:u,onItemTextChange:n.useCallback(e=>{g(t=>t||(e?.textContent??"").trim())},[]),children:(0,t.jsx)(Y.ItemSlot,{scope:s,value:a,disabled:r,textValue:p,children:(0,t.jsx)(B.Primitive.div,{role:"option","aria-labelledby":v,"data-highlighted":m?"":void 0,"aria-selected":u&&m,"data-state":u?"checked":"unchecked","aria-disabled":r||void 0,"data-disabled":r?"":void 0,tabIndex:r?void 0:-1,...o,ref:f,onFocus:(0,N.composeEventHandlers)(o.onFocus,()=>h(!0)),onBlur:(0,N.composeEventHandlers)(o.onBlur,()=>h(!1)),onClick:(0,N.composeEventHandlers)(o.onClick,()=>{"mouse"!==x.current&&w()}),onPointerUp:(0,N.composeEventHandlers)(o.onPointerUp,()=>{"mouse"===x.current&&w()}),onPointerDown:(0,N.composeEventHandlers)(o.onPointerDown,e=>{x.current=e.pointerType}),onPointerMove:(0,N.composeEventHandlers)(o.onPointerMove,e=>{x.current=e.pointerType,r?d.onItemLeave?.():"mouse"===x.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,N.composeEventHandlers)(o.onPointerLeave,e=>{e.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:(0,N.composeEventHandlers)(o.onKeyDown,e=>{(d.searchRef?.current===""||" "!==e.key)&&(q.includes(e.key)&&w()," "===e.key&&e.preventDefault())})})})})});eR.displayName=eE;var eA="SelectItemText",eF=n.forwardRef((e,i)=>{let{__scopeSelect:s,className:a,style:r,...l}=e,o=en(eA,s),c=eh(eA,s),d=eD(eA,s),u=es(eA,s),[p,g]=n.useState(null),m=(0,I.useComposedRefs)(i,e=>g(e),d.onItemTextChange,e=>c.itemTextRefCallback?.(e,d.value,d.disabled)),h=p?.textContent,f=n.useMemo(()=>(0,t.jsx)("option",{value:d.value,disabled:d.disabled,children:h},d.value),[d.disabled,d.value,h]),{onNativeOptionAdd:v,onNativeOptionRemove:x}=u;return(0,V.useLayoutEffect)(()=>(v(f),()=>x(f)),[v,x,f]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(B.Primitive.span,{id:d.textId,...l,ref:m}),d.isSelected&&o.valueNode&&!o.valueNodeHasChildren?C.createPortal(l.children,o.valueNode):null]})});eF.displayName=eA;var eL="SelectItemIndicator",eB=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e;return eD(eL,i).isSelected?(0,t.jsx)(B.Primitive.span,{"aria-hidden":!0,...s,ref:n}):null});eB.displayName=eL;var eH="SelectScrollUpButton",ez=n.forwardRef((e,i)=>{let s=eh(eH,e.__scopeSelect),a=ey(eH,e.__scopeSelect),[r,l]=n.useState(!1),o=(0,I.useComposedRefs)(i,a.onScrollButtonChange);return(0,V.useLayoutEffect)(()=>{if(s.viewport&&s.isPositioned){let e=function(){l(t.scrollTop>0)},t=s.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[s.viewport,s.isPositioned]),r?(0,t.jsx)(eK,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=s;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});ez.displayName=eH;var e_="SelectScrollDownButton",eV=n.forwardRef((e,i)=>{let s=eh(e_,e.__scopeSelect),a=ey(e_,e.__scopeSelect),[r,l]=n.useState(!1),o=(0,I.useComposedRefs)(i,a.onScrollButtonChange);return(0,V.useLayoutEffect)(()=>{if(s.viewport&&s.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;l(Math.ceil(t.scrollTop)<e)},t=s.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[s.viewport,s.isPositioned]),r?(0,t.jsx)(eK,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=s;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});eV.displayName=e_;var eK=n.forwardRef((e,i)=>{let{__scopeSelect:s,onAutoScroll:a,...r}=e,l=eh("SelectScrollButton",s),o=n.useRef(null),c=Z(s),d=n.useCallback(()=>{null!==o.current&&(window.clearInterval(o.current),o.current=null)},[]);return n.useEffect(()=>()=>d(),[d]),(0,V.useLayoutEffect)(()=>{let e=c().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[c]),(0,t.jsx)(B.Primitive.div,{"aria-hidden":!0,...r,ref:i,style:{flexShrink:0,...r.style},onPointerDown:(0,N.composeEventHandlers)(r.onPointerDown,()=>{null===o.current&&(o.current=window.setInterval(a,50))}),onPointerMove:(0,N.composeEventHandlers)(r.onPointerMove,()=>{l.onItemLeave?.(),null===o.current&&(o.current=window.setInterval(a,50))}),onPointerLeave:(0,N.composeEventHandlers)(r.onPointerLeave,()=>{d()})})}),eO=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e;return(0,t.jsx)(B.Primitive.div,{"aria-hidden":!0,...s,ref:n})});eO.displayName="SelectSeparator";var eW="SelectArrow",eU=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e,a=ee(i),r=en(eW,i),l=eh(eW,i);return r.open&&"popper"===l.position?(0,t.jsx)(F.Arrow,{...a,...s,ref:n}):null});eU.displayName=eW;var eG=n.forwardRef(({__scopeSelect:e,value:i,...s},a)=>{let r=n.useRef(null),l=(0,I.useComposedRefs)(a,r),o=(0,K.usePrevious)(i);return n.useEffect(()=>{let e=r.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(o!==i&&t){let n=new Event("change",{bubbles:!0});t.call(e,i),e.dispatchEvent(n)}},[o,i]),(0,t.jsx)(B.Primitive.select,{...s,style:{...O.VISUALLY_HIDDEN_STYLES,...s.style},ref:l,defaultValue:i})});function eq(e){return""===e||void 0===e}function e$(e){let t=(0,z.useCallbackRef)(e),i=n.useRef(""),s=n.useRef(0),a=n.useCallback(e=>{let n=i.current+e;t(n),function e(t){i.current=t,window.clearTimeout(s.current),""!==t&&(s.current=window.setTimeout(()=>e(""),1e3))}(n)},[t]),r=n.useCallback(()=>{i.current="",window.clearTimeout(s.current)},[]);return n.useEffect(()=>()=>window.clearTimeout(s.current),[]),[i,a,r]}function eY(e,t,n){var i,s;let a=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,r=n?e.indexOf(n):-1,l=(i=e,s=Math.max(r,0),i.map((e,t)=>i[(s+t)%i.length]));1===a.length&&(l=l.filter(e=>e!==n));let o=l.find(e=>e.textValue.toLowerCase().startsWith(a.toLowerCase()));return o!==n?o:void 0}eG.displayName="SelectBubbleInput",e.s(["Arrow",()=>eU,"Content",()=>eg,"Group",()=>eM,"Icon",()=>ed,"Item",()=>eR,"ItemIndicator",()=>eB,"ItemText",()=>eF,"Label",()=>eT,"Portal",()=>eu,"Root",()=>ea,"ScrollDownButton",()=>eV,"ScrollUpButton",()=>ez,"Select",()=>ea,"SelectArrow",()=>eU,"SelectContent",()=>eg,"SelectGroup",()=>eM,"SelectIcon",()=>ed,"SelectItem",()=>eR,"SelectItemIndicator",()=>eB,"SelectItemText",()=>eF,"SelectLabel",()=>eT,"SelectPortal",()=>eu,"SelectScrollDownButton",()=>eV,"SelectScrollUpButton",()=>ez,"SelectSeparator",()=>eO,"SelectTrigger",()=>el,"SelectValue",()=>ec,"SelectViewport",()=>eS,"Separator",()=>eO,"Trigger",()=>el,"Value",()=>ec,"Viewport",()=>eS,"createSelectScope",()=>Q],83830);var eZ=e.i(83830),eZ=eZ,eX=e.i(99105),eJ=e.i(48829);let eQ=eZ.Root;eZ.Group;let e0=eZ.Value,e1=n.forwardRef(({className:e,children:n,...i},s)=>(0,t.jsxs)(eZ.Trigger,{ref:s,className:(0,y.cn)("border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...i,children:[n,(0,t.jsx)(eZ.Icon,{asChild:!0,children:(0,t.jsx)(eX.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));e1.displayName=eZ.Trigger.displayName;let e2=n.forwardRef(({className:e,...n},i)=>(0,t.jsx)(eZ.ScrollUpButton,{ref:i,className:(0,y.cn)("flex cursor-default items-center justify-center py-1",e),...n,children:(0,t.jsx)(eJ.ChevronUp,{className:"h-4 w-4"})}));e2.displayName=eZ.ScrollUpButton.displayName;let e3=n.forwardRef(({className:e,...n},i)=>(0,t.jsx)(eZ.ScrollDownButton,{ref:i,className:(0,y.cn)("flex cursor-default items-center justify-center py-1",e),...n,children:(0,t.jsx)(eX.ChevronDown,{className:"h-4 w-4"})}));e3.displayName=eZ.ScrollDownButton.displayName;let e5=n.forwardRef(({className:e,children:n,position:i="popper",...s},a)=>(0,t.jsx)(eZ.Portal,{children:(0,t.jsxs)(eZ.Content,{ref:a,className:(0,y.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 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md","popper"===i&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:i,...s,children:[(0,t.jsx)(e2,{}),(0,t.jsx)(eZ.Viewport,{className:(0,y.cn)("p-1","popper"===i&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:n}),(0,t.jsx)(e3,{})]})}));e5.displayName=eZ.Content.displayName,n.forwardRef(({className:e,...n},i)=>(0,t.jsx)(eZ.Label,{ref:i,className:(0,y.cn)("px-2 py-1.5 text-sm font-semibold",e),...n})).displayName=eZ.Label.displayName;let e4=n.forwardRef(({className:e,children:n,...s},a)=>(0,t.jsxs)(eZ.Item,{ref:a,className:(0,y.cn)("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 ps-2 pe-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...s,children:[(0,t.jsx)("span",{className:"absolute end-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,t.jsx)(eZ.ItemIndicator,{children:(0,t.jsx)(i.Check,{className:"h-4 w-4"})})}),(0,t.jsx)(eZ.ItemText,{children:n})]}));e4.displayName=eZ.Item.displayName,n.forwardRef(({className:e,...n},i)=>(0,t.jsx)(eZ.Separator,{ref:i,className:(0,y.cn)("bg-muted -mx-1 my-1 h-px",e),...n})).displayName=eZ.Separator.displayName;var e8=e.i(21023);let e6=(0,e8.createServerReference)("4056e85461ea5e17012806d0085d6e25f8bc4684d8",e8.callServer,void 0,e8.findSourceMapURL,"updateSettingsAction");var e9=e.i(17406),e7=e.i(98804),te=e.i(44229),tt=e.i(83902);function tn(e){return(0,t.jsx)(te.Code,{className:(0,y.cn)("h-4 w-4",e.className),...e})}function ti({className:e}){return(0,t.jsx)(e7.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function ts({className:e}){return(0,t.jsx)(e7.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function ta({className:e}){return(0,t.jsx)(e7.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function tr({className:e}){return(0,t.jsx)(e7.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function tl({className:e,...n}){return(0,t.jsx)(tt.Rocket,{className:(0,y.cn)("h-4 w-4",e),...n})}ti.displayName="VsCodeIcon",ts.displayName="CursorEditorIcon",ta.displayName="WindsurfIcon",tr.displayName="ZedIcon",tl.displayName="AntigravityIcon";let to={vscode:ti,cursor:ts,windsurf:ta,zed:tr,antigravity:tl};var tc=e.i(41413),td=e.i(956);let tu=[{value:e9.Language.English,label:"English",nativeName:"English"},{value:e9.Language.Russian,label:"Русский",nativeName:"Русский"},{value:e9.Language.Portuguese,label:"Português",nativeName:"Português"},{value:e9.Language.Spanish,label:"Español",nativeName:"Español"},{value:e9.Language.Arabic,label:"العربية",nativeName:"العربية"},{value:e9.Language.Hebrew,label:"עברית",nativeName:"עברית"},{value:e9.Language.French,label:"Français",nativeName:"Français"},{value:e9.Language.German,label:"Deutsch",nativeName:"Deutsch"}];function tp({language:e}){let{t:s,i18n:a}=(0,b.useTranslation)("web"),[r,l]=(0,n.useState)(e),[o,c]=(0,n.useTransition)(),[d,u]=(0,n.useState)(!1),g=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{if(g.current&&!o){u(!0);let e=setTimeout(()=>u(!1),2e3);return()=>clearTimeout(e)}g.current=o},[o]),(0,t.jsxs)(td.Card,{id:"language",className:"scroll-mt-6","data-testid":"language-settings-section",children:[(0,t.jsxs)(td.CardHeader,{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(p.Globe,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)(td.CardTitle,{children:s("settings.language.title")})]}),o?(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:s("common:labels.saving")}):null,d&&!o?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-xs text-green-600",children:[(0,t.jsx)(i.Check,{className:"h-3 w-3"}),s("common:labels.saved")]}):null]}),(0,t.jsx)(td.CardDescription,{children:s("settings.language.description")})]}),(0,t.jsx)(td.CardContent,{className:"space-y-4",children:(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(j.Label,{htmlFor:"display-language",children:s("settings.language.label")}),(0,t.jsxs)(eQ,{value:r,onValueChange:function(e){l(e),a.changeLanguage(e);let t="ar"===e||"he"===e?"rtl":"ltr";document.documentElement.lang=e,document.documentElement.dir=t,c(async()=>{let t=await e6({user:{preferredLanguage:e}});t.success||w.toast.error(t.error??s("settings.language.failedToSave","Failed to save language settings"))})},children:[(0,t.jsx)(e1,{id:"display-language","data-testid":"language-select",children:(0,t.jsx)(e0,{placeholder:s("settings.language.placeholder")})}),(0,t.jsx)(e5,{children:tu.map(e=>(0,t.jsx)(e4,{value:e.value,children:e.nativeName},e.value))})]})]})})]})}var tg=e.i(77624),tm=["PageUp","PageDown"],th=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],tf={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},tv="Slider",[tx,tw,tb]=(0,M.createCollection)(tv),[ty,tj]=(0,T.createContextScope)(tv,[tb]),[tS,tC]=ty(tv),tk=n.forwardRef((e,i)=>{let{name:s,min:a=0,max:r=100,step:l=1,orientation:o="horizontal",disabled:c=!1,minStepsBetweenThumbs:d=0,defaultValue:u=[a],value:p,onValueChange:g=()=>{},onValueCommit:m=()=>{},inverted:h=!1,form:f,...v}=e,x=n.useRef(new Set),w=n.useRef(0),b="horizontal"===o,[y=[],j]=(0,_.useControllableState)({prop:p,defaultProp:u,onChange:e=>{let t=[...x.current];t[w.current]?.focus(),g(e)}}),S=n.useRef(y);function C(e,t,{commit:n}={commit:!1}){let i,s=(String(l).split(".")[1]||"").length,o=Math.round((Math.round((e-a)/l)*l+a)*(i=Math.pow(10,s)))/i,c=(0,k.clamp)(o,[a,r]);j((e=[])=>{let i=function(e=[],t,n){let i=[...e];return i[n]=t,i.sort((e,t)=>e-t)}(e,c,t);if(!function(e,t){if(t>0)return Math.min(...e.slice(0,-1).map((t,n)=>e[n+1]-t))>=t;return!0}(i,d*l))return e;{w.current=i.indexOf(c);let t=String(i)!==String(e);return t&&n&&m(i),t?i:e}})}return(0,t.jsx)(tS,{scope:e.__scopeSlider,name:s,disabled:c,min:a,max:r,valueIndexToChangeRef:w,thumbs:x.current,values:y,orientation:o,form:f,children:(0,t.jsx)(tx.Provider,{scope:e.__scopeSlider,children:(0,t.jsx)(tx.Slot,{scope:e.__scopeSlider,children:(0,t.jsx)(b?tI:tT,{"aria-disabled":c,"data-disabled":c?"":void 0,...v,ref:i,onPointerDown:(0,N.composeEventHandlers)(v.onPointerDown,()=>{c||(S.current=y)}),min:a,max:r,inverted:h,onSlideStart:c?void 0:function(e){let t=function(e,t){if(1===e.length)return 0;let n=e.map(e=>Math.abs(e-t)),i=Math.min(...n);return n.indexOf(i)}(y,e);C(e,t)},onSlideMove:c?void 0:function(e){C(e,w.current)},onSlideEnd:c?void 0:function(){let e=S.current[w.current];y[w.current]!==e&&m(y)},onHomeKeyDown:()=>!c&&C(a,0,{commit:!0}),onEndKeyDown:()=>!c&&C(r,y.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!c){let n=tm.includes(e.key)||e.shiftKey&&th.includes(e.key),i=w.current;C(y[i]+l*(n?10:1)*t,i,{commit:!0})}}})})})})});tk.displayName=tv;var[tN,tM]=ty(tv,{startEdge:"left",endEdge:"right",size:"width",direction:1}),tI=n.forwardRef((e,i)=>{let{min:s,max:a,dir:r,inverted:l,onSlideStart:o,onSlideMove:c,onSlideEnd:d,onStepKeyDown:u,...p}=e,[g,m]=n.useState(null),h=(0,I.useComposedRefs)(i,e=>m(e)),f=n.useRef(void 0),v=(0,E.useDirection)(r),x="ltr"===v,w=x&&!l||!x&&l;function b(e){let t=f.current||g.getBoundingClientRect(),n=t_([0,t.width],w?[s,a]:[a,s]);return f.current=t,n(e-t.left)}return(0,t.jsx)(tN,{scope:e.__scopeSlider,startEdge:w?"left":"right",endEdge:w?"right":"left",direction:w?1:-1,size:"width",children:(0,t.jsx)(tE,{dir:v,"data-orientation":"horizontal",...p,ref:h,style:{...p.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:e=>{let t=b(e.clientX);o?.(t)},onSlideMove:e=>{let t=b(e.clientX);c?.(t)},onSlideEnd:()=>{f.current=void 0,d?.()},onStepKeyDown:e=>{let t=tf[w?"from-left":"from-right"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),tT=n.forwardRef((e,i)=>{let{min:s,max:a,inverted:r,onSlideStart:l,onSlideMove:o,onSlideEnd:c,onStepKeyDown:d,...u}=e,p=n.useRef(null),g=(0,I.useComposedRefs)(i,p),m=n.useRef(void 0),h=!r;function f(e){let t=m.current||p.current.getBoundingClientRect(),n=t_([0,t.height],h?[a,s]:[s,a]);return m.current=t,n(e-t.top)}return(0,t.jsx)(tN,{scope:e.__scopeSlider,startEdge:h?"bottom":"top",endEdge:h?"top":"bottom",size:"height",direction:h?1:-1,children:(0,t.jsx)(tE,{"data-orientation":"vertical",...u,ref:g,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let t=f(e.clientY);l?.(t)},onSlideMove:e=>{let t=f(e.clientY);o?.(t)},onSlideEnd:()=>{m.current=void 0,c?.()},onStepKeyDown:e=>{let t=tf[h?"from-bottom":"from-top"].includes(e.key);d?.({event:e,direction:t?-1:1})}})})}),tE=n.forwardRef((e,n)=>{let{__scopeSlider:i,onSlideStart:s,onSlideMove:a,onSlideEnd:r,onHomeKeyDown:l,onEndKeyDown:o,onStepKeyDown:c,...d}=e,u=tC(tv,i);return(0,t.jsx)(B.Primitive.span,{...d,ref:n,onKeyDown:(0,N.composeEventHandlers)(e.onKeyDown,e=>{"Home"===e.key?(l(e),e.preventDefault()):"End"===e.key?(o(e),e.preventDefault()):tm.concat(th).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:(0,N.composeEventHandlers)(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():s(e)}),onPointerMove:(0,N.composeEventHandlers)(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&a(e)}),onPointerUp:(0,N.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),r(e))})})}),tP="SliderTrack",tD=n.forwardRef((e,n)=>{let{__scopeSlider:i,...s}=e,a=tC(tP,i);return(0,t.jsx)(B.Primitive.span,{"data-disabled":a.disabled?"":void 0,"data-orientation":a.orientation,...s,ref:n})});tD.displayName=tP;var tR="SliderRange",tA=n.forwardRef((e,i)=>{let{__scopeSlider:s,...a}=e,r=tC(tR,s),l=tM(tR,s),o=n.useRef(null),c=(0,I.useComposedRefs)(i,o),d=r.values.length,u=r.values.map(e=>tz(e,r.min,r.max)),p=d>1?Math.min(...u):0,g=100-Math.max(...u);return(0,t.jsx)(B.Primitive.span,{"data-orientation":r.orientation,"data-disabled":r.disabled?"":void 0,...a,ref:c,style:{...e.style,[l.startEdge]:p+"%",[l.endEdge]:g+"%"}})});tA.displayName=tR;var tF="SliderThumb",tL=n.forwardRef((e,i)=>{let s=tw(e.__scopeSlider),[a,r]=n.useState(null),l=(0,I.useComposedRefs)(i,e=>r(e)),o=n.useMemo(()=>a?s().findIndex(e=>e.ref.current===a):-1,[s,a]);return(0,t.jsx)(tB,{...e,ref:l,index:o})}),tB=n.forwardRef((e,i)=>{var s,a,r,l,o;let c,d,{__scopeSlider:u,index:p,name:g,...m}=e,h=tC(tF,u),f=tM(tF,u),[v,x]=n.useState(null),w=(0,I.useComposedRefs)(i,e=>x(e)),b=!v||h.form||!!v.closest("form"),y=(0,tg.useSize)(v),j=h.values[p],S=void 0===j?0:tz(j,h.min,h.max),C=(s=p,(a=h.values.length)>2?`Value ${s+1} of ${a}`:2===a?["Minimum","Maximum"][s]:void 0),k=y?.[f.size],M=k?(r=k,l=S,o=f.direction,d=t_([0,50],[0,c=r/2]),(c-d(l)*o)*o):0;return n.useEffect(()=>{if(v)return h.thumbs.add(v),()=>{h.thumbs.delete(v)}},[v,h.thumbs]),(0,t.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[f.startEdge]:`calc(${S}% + ${M}px)`},children:[(0,t.jsx)(tx.ItemSlot,{scope:e.__scopeSlider,children:(0,t.jsx)(B.Primitive.span,{role:"slider","aria-label":e["aria-label"]||C,"aria-valuemin":h.min,"aria-valuenow":j,"aria-valuemax":h.max,"aria-orientation":h.orientation,"data-orientation":h.orientation,"data-disabled":h.disabled?"":void 0,tabIndex:h.disabled?void 0:0,...m,ref:w,style:void 0===j?{display:"none"}:e.style,onFocus:(0,N.composeEventHandlers)(e.onFocus,()=>{h.valueIndexToChangeRef.current=p})})}),b&&(0,t.jsx)(tH,{name:g??(h.name?h.name+(h.values.length>1?"[]":""):void 0),form:h.form,value:j},p)]})});tL.displayName=tF;var tH=n.forwardRef(({__scopeSlider:e,value:i,...s},a)=>{let r=n.useRef(null),l=(0,I.useComposedRefs)(r,a),o=(0,K.usePrevious)(i);return n.useEffect(()=>{let e=r.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(o!==i&&t){let n=new Event("input",{bubbles:!0});t.call(e,i),e.dispatchEvent(n)}},[o,i]),(0,t.jsx)(B.Primitive.input,{style:{display:"none"},...s,ref:l,defaultValue:i})});function tz(e,t,n){return(0,k.clamp)(100/(n-t)*(e-t),[0,100])}function t_(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let i=(t[1]-t[0])/(e[1]-e[0]);return t[0]+i*(n-e[0])}}tH.displayName="RadioBubbleInput",e.s(["Range",()=>tA,"Root",()=>tk,"Slider",()=>tk,"SliderRange",()=>tA,"SliderThumb",()=>tL,"SliderTrack",()=>tD,"Thumb",()=>tL,"Track",()=>tD,"createSliderScope",()=>tj],29991);var tV=e.i(29991),tV=tV;function tK({className:e,defaultValue:i,value:s,min:a=0,max:r=100,...l}){let o=n.useMemo(()=>Array.isArray(s)?s:Array.isArray(i)?i:[a,r],[s,i,a,r]);return(0,t.jsxs)(tV.Root,{"data-slot":"slider",defaultValue:i,value:s,min:a,max:r,className:(0,y.cn)("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",e),...l,children:[(0,t.jsx)(tV.Track,{"data-slot":"slider-track",className:(0,y.cn)("bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"),children:(0,t.jsx)(tV.Range,{"data-slot":"slider-range",className:(0,y.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:o.length},(e,n)=>(0,t.jsx)(tV.Thumb,{"data-slot":"slider-thumb",className:"border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"},n))]})}let tO=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],tW=tO.length-1;function tU(e){let t=0,n=Math.abs(e-tO[0]);for(let i=1;i<tO.length;i++){let s=Math.abs(e-tO[i]);s<n&&(n=s,t=i)}return t}function tG({id:e,testId:i,value:s,onChange:a,onBlur:r,defaultSeconds:l=1800}){var o;let c,d,u=(""===s?l:parseInt(s,10))||l,[p,g]=(0,n.useState)(()=>tU(u)),m=tU(u);m!==p&&tO[p]!==u&&g(m);let h=(0,n.useCallback)(([e])=>{g(e),a(String(tO[e]))},[a]);return(0,t.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,t.jsx)(tK,{id:e,"data-testid":i,min:0,max:tW,step:1,value:[p],onValueChange:h,onValueCommit:()=>r(),className:"min-w-0 flex-1"}),(0,t.jsx)("span",{className:"text-muted-foreground shrink-0 text-end text-xs tabular-nums",children:(c=Math.floor((o=tO[p])/3600),d=Math.round(o%3600/60),0===c?`${d}m`:0===d?`${c}h`:`${c}h ${d}m`)})]})}let tq=[{value:e9.EditorType.VsCode,label:"VS Code"},{value:e9.EditorType.Cursor,label:"Cursor"},{value:e9.EditorType.Windsurf,label:"Windsurf"},{value:e9.EditorType.Zed,label:"Zed"},{value:e9.EditorType.Antigravity,label:"Antigravity"}],t$=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],tY=[{id:"language",labelKey:"settings.sections.language",icon:p.Globe},{id:"agent",labelKey:"settings.sections.agent",icon:s.Bot},{id:"environment",labelKey:"settings.sections.environment",icon:a.Terminal},{id:"workflow",labelKey:"settings.sections.workflow",icon:r.GitBranch},{id:"ci",labelKey:"settings.sections.ci",icon:o},{id:"stage-timeouts",labelKey:"settings.sections.timeouts",icon:v.Timer},{id:"notifications",labelKey:"settings.sections.notifications",icon:c},{id:"feature-flags",labelKey:"settings.sections.flags",icon:d},{id:"interactive-agent",labelKey:"settings.sections.chat",icon:x.MessageSquare},{id:"database",labelKey:"settings.sections.database",icon:u}];function tZ({label:e,description:n,htmlFor:i,children:s}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-2.5 last:border-b-0",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)(j.Label,{htmlFor:i,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:e}),n?(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:n}):null]}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:s})]})}function tX({label:e,description:n,id:i,testId:s,checked:a,onChange:r,disabled:l}){return(0,t.jsx)(tZ,{label:e,description:n,htmlFor:i,children:(0,t.jsx)(S.Switch,{id:i,"data-testid":s,checked:a,onCheckedChange:r,disabled:l,className:(0,y.cn)("cursor-pointer",l&&"cursor-not-allowed opacity-50")})})}function tJ({icon:e,title:n,description:i,badge:s,testId:a,children:r}){return(0,t.jsxs)("div",{className:"bg-background rounded-lg border","data-testid":a,children:[(0,t.jsxs)("div",{className:"bg-muted/30 border-b px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(e,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("h2",{className:"text-sm font-semibold",children:n}),s?(0,t.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider uppercase",children:s}):null]}),(0,t.jsx)("p",{className:"text-muted-foreground mt-0.5 text-[11px]",children:i})]}),(0,t.jsx)("div",{className:"px-4",children:r})]})}function tQ({id:e,testId:n,value:i,onChange:s,onBlur:a,placeholder:r,min:l=1,max:o,step:c=1,suffix:d}){let{t:u}=(0,b.useTranslation)("web"),p=""===i?void 0:parseInt(i,10);return(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center overflow-hidden rounded-md border",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{s(String(Math.max(l,(p??parseInt(r,10))-c)))},onMouseUp:a,className:"text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 w-7 cursor-pointer items-center justify-center border-r transition-colors","aria-label":u("common.decrease"),children:(0,t.jsx)(g.default,{className:"h-3 w-3"})}),(0,t.jsx)("input",{id:e,"data-testid":n,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:i,placeholder:r,onChange:e=>{s(e.target.value.replace(/[^0-9]/g,""))},onBlur:a,className:"h-8 w-14 bg-transparent text-center text-xs outline-none"}),(0,t.jsx)("button",{type:"button",onClick:()=>{let e;e=p??parseInt(r,10),s(String(null!=o?Math.min(o,e+c):e+c))},onMouseUp:a,className:"text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 w-7 cursor-pointer items-center justify-center border-l transition-colors","aria-label":u("common.increase"),children:(0,t.jsx)(m.Plus,{className:"h-3 w-3"})})]}),d?(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:d}):null]})}function t0({children:e}){return(0,t.jsx)("div",{className:"border-b pt-3 pb-1",children:(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-semibold tracking-wider uppercase",children:e})})}function t1({children:e,links:n}){return(0,t.jsxs)("div",{className:"hidden pt-2 lg:block",children:[(0,t.jsx)("p",{className:"text-muted-foreground/70 text-[11px] leading-relaxed",children:e}),null!=n&&n.length>0?(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:n.map(e=>(0,t.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-[10px] transition-colors",children:[(0,t.jsx)(h.ExternalLink,{className:"h-2.5 w-2.5"}),e.label]},e.href))}):null]})}function t2({settings:e,shepHome:l,dbFileSize:p,availableTerminals:g}){let{t:m}=(0,b.useTranslation)("web"),{showSaving:h,showSaved:j,save:S}=function(){let{t:e}=(0,b.useTranslation)("web"),[t,i]=(0,n.useTransition)(),[s,a]=(0,n.useState)(!1),[r,l]=(0,n.useState)(!1),o=(0,n.useRef)(null),c=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{t&&!s&&(a(!0),c.current=!1,o.current=setTimeout(()=>{o.current=null,c.current&&(a(!1),l(!0),setTimeout(()=>l(!1),2e3))},350)),!t&&s&&(c.current=!0,o.current||(a(!1),l(!0),setTimeout(()=>l(!1),2e3)))},[t,s]),{showSaving:s,showSaved:r,save:(0,n.useCallback)(t=>{i(async()=>{let n=await e6(t);n.success||w.toast.error(n.error??e("settings.failedToSave"))})},[i,e])}}(),C=e.featureFlags??{skills:!1,envDeploy:!1,debug:!1,githubImport:!1,adoptBranch:!1,gitRebaseSync:!1,reactFileManager:!1},[k,N]=(0,n.useState)(e.agent.type),[M,I]=(0,n.useState)(e.environment.defaultEditor),[T,E]=(0,n.useState)(e.environment.shellPreference),[P,D]=(0,n.useState)(e.environment.terminalPreference??e9.TerminalType.System),R=g?g.filter(e=>e.available):[{id:e9.TerminalType.System,name:m("settings.environment.systemTerminal"),available:!0}],[A,F]=(0,n.useState)(e.workflow.openPrOnImplementationComplete),[L,B]=(0,n.useState)(e.workflow.approvalGateDefaults.pushOnImplementationComplete),[H,z]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPrd),[_,V]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPlan),[K,O]=(0,n.useState)(e.workflow.approvalGateDefaults.allowMerge),[W,U]=(0,n.useState)(e.workflow.enableEvidence),[G,q]=(0,n.useState)(e.workflow.commitEvidence),[$,Y]=(0,n.useState)(!1!==e.workflow.ciWatchEnabled),[Z,X]=(0,n.useState)(!1!==e.workflow.hideCiStatus),[J,Q]=(0,n.useState)(!1!==e.workflow.defaultFastMode),[ee,et]=(0,n.useState)((e.workflow.autoArchiveDelayMinutes??10)>0),[en,ei]=(0,n.useState)(String(e.workflow.autoArchiveDelayMinutes??10)),[es,ea]=(0,n.useState)(null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):""),[er,el]=(0,n.useState)(null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):""),[eo,ec]=(0,n.useState)(null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):""),[ed,eu]=(0,n.useState)(null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):""),ep=e.workflow.stageTimeouts,[eg,em]=(0,n.useState)(String(Math.round((ep?.analyzeMs??18e5)/1e3))),[eh,ef]=(0,n.useState)(String(Math.round((ep?.requirementsMs??18e5)/1e3))),[ev,ex]=(0,n.useState)(String(Math.round((ep?.researchMs??18e5)/1e3))),[ew,eb]=(0,n.useState)(String(Math.round((ep?.planMs??18e5)/1e3))),[ey,ej]=(0,n.useState)(String(Math.round((ep?.implementMs??18e5)/1e3))),[eS,eC]=(0,n.useState)(String(Math.round((ep?.mergeMs??18e5)/1e3))),ek=e.workflow.analyzeRepoTimeouts,[eN,eM]=(0,n.useState)(String(Math.round((ek?.analyzeMs??6e5)/1e3))),eI=e.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[eT,eE]=(0,n.useState)(eI.enabled),[eP,eD]=(0,n.useState)(String(eI.autoTimeoutMinutes)),[eR,eA]=(0,n.useState)(String(eI.maxConcurrentSessions)),[eF,eL]=(0,n.useState)(e.notifications.inApp.enabled),[eB,eH]=(0,n.useState)({...e.notifications.events}),[ez,e_]=(0,n.useState)({...C}),eV=null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):"",eK=null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):"",eO=null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):"",eW=null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):"",eU=ep?.analyzeMs!=null?String(Math.round(ep.analyzeMs/1e3)):"",eG=ep?.requirementsMs!=null?String(Math.round(ep.requirementsMs/1e3)):"",eq=ep?.researchMs!=null?String(Math.round(ep.researchMs/1e3)):"",e$=ep?.planMs!=null?String(Math.round(ep.planMs/1e3)):"",eY=ep?.implementMs!=null?String(Math.round(ep.implementMs/1e3)):"",eZ=ep?.mergeMs!=null?String(Math.round(ep.mergeMs/1e3)):"",eX=ek?.analyzeMs!=null?String(Math.round(ek.analyzeMs/1e3)):"";function eJ(e){if(""===e)return;let t=parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}function e2(e){if(void 0===e)return;let t=eJ(e);return null!=t?1e3*t:void 0}function e3(e={}){let t=eJ(e.ciTimeout??er),n=e.autoArchiveEnabled??ee,i=parseInt(e.autoArchiveDelay??en,10);return{workflow:{openPrOnImplementationComplete:e.openPr??A,approvalGateDefaults:{pushOnImplementationComplete:e.pushOnComplete??L,allowPrd:e.allowPrd??H,allowPlan:e.allowPlan??_,allowMerge:e.allowMerge??K},enableEvidence:e.enableEvidence??W,commitEvidence:e.commitEvidence??G,ciWatchEnabled:e.ciWatchEnabled??$,hideCiStatus:e.hideCiStatus??Z,defaultFastMode:e.defaultFastMode??J,autoArchiveDelayMinutes:n?Number.isNaN(i)||i<1?10:i:0,ciMaxFixAttempts:eJ(e.ciMaxFix??es),ciWatchTimeoutMs:null!=t?1e3*t:void 0,ciLogMaxChars:eJ(e.ciLogMax??eo),ciWatchPollIntervalSeconds:eJ(e.ciPollInterval??ed),stageTimeouts:{analyzeMs:e2(e.analyzeTimeout??eg),requirementsMs:e2(e.requirementsTimeout??eh),researchMs:e2(e.researchTimeout??ev),planMs:e2(e.planTimeout??ew),implementMs:e2(e.implementTimeout??ey),mergeMs:e2(e.mergeTimeout??eS)},analyzeRepoTimeouts:{analyzeMs:e2(e.analyzeRepoTimeout??eN)}}}}function e8(e={}){return{notifications:{inApp:{enabled:e.inApp??eF},events:e.events??eB}}}let[e7,te]=(0,n.useState)("agent");(0,n.useEffect)(()=>{let e=tY.map(e=>document.getElementById(`section-${e.id}`)).filter(Boolean);if(0===e.length)return;let t=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&te(t.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let n of e)t.observe(n);return()=>t.disconnect()},[]);let tt=(0,n.useCallback)(e=>{let t=document.getElementById(`section-${e}`);t&&(t.scrollIntoView({behavior:"smooth",block:"start"}),t.style.animation="none",t.offsetHeight,t.style.animation="section-flash 1s ease-out")},[]);return(0,t.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-5xl",children:[(0,t.jsx)("div",{className:"bg-background/95 supports-backdrop-filter:bg-background/80 sticky top-0 z-10 grid grid-cols-1 gap-x-5 pt-6 pb-4 backdrop-blur lg:grid-cols-[1fr_280px]",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(f,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:m("settings.title")}),(0,t.jsxs)("span",{className:"relative h-4 w-16",children:[(0,t.jsx)("span",{className:(0,y.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",h?"opacity-100":"opacity-0"),children:m("settings.saving")}),(0,t.jsxs)("span",{className:(0,y.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",j&&!h?"opacity-100":"opacity-0"),children:[(0,t.jsx)(i.Check,{className:"h-3 w-3"}),m("settings.saved")]})]}),(0,t.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:tY.map(e=>{let n=e.icon,i=e7===e.id;return(0,t.jsxs)("button",{type:"button",onClick:()=>tt(e.id),className:(0,y.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",i?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,t.jsx)(n,{className:"h-3 w-3"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:m(e.labelKey)})]},e.id)})})]})}),(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)("div",{id:"section-language",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:(0,t.jsx)(tp,{language:e.user?.preferredLanguage??e9.Language.English})}),(0,t.jsxs)("div",{id:"section-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(tJ,{icon:s.Bot,title:m("settings.agent.sectionTitle"),description:m("settings.agent.sectionDescription"),testId:"agent-settings-section",children:(0,t.jsx)(tZ,{label:m("settings.agent.agentAndModel"),description:m("settings.agent.agentAndModelDescription"),htmlFor:"agent-model-picker",children:(0,t.jsx)(tc.AgentModelPicker,{initialAgentType:k,initialModel:e.models.default,mode:"settings",onAgentModelChange:e=>N(e),className:"w-55"})})}),(0,t.jsx)(t1,{links:[{label:m("settings.agent.links.agentSystem"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/agent-system.md"},{label:m("settings.agent.links.addingAgents"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/adding-agents.md"},{label:m("settings.agent.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:m("settings.agent.hint")})]}),(0,t.jsxs)("div",{id:"section-environment",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:a.Terminal,title:m("settings.environment.sectionTitle"),description:m("settings.environment.sectionDescription"),testId:"environment-settings-section",children:[(0,t.jsx)(tZ,{label:m("settings.environment.defaultEditor"),description:m("settings.environment.defaultEditorDescription"),htmlFor:"default-editor",children:(0,t.jsxs)(eQ,{value:M,onValueChange:e=>{I(e),S({environment:{defaultEditor:e,shellPreference:T,terminalPreference:P}})},children:[(0,t.jsx)(e1,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(e0,{})}),(0,t.jsx)(e5,{children:tq.map(e=>{var n;let i=(n=e.value)&&n in to?to[n]:tn;return(0,t.jsx)(e4,{value:e.value,children:(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(i,{className:"h-4 w-4 shrink-0"}),e.label]})},e.value)})})]})}),(0,t.jsx)(tZ,{label:m("settings.environment.shell"),description:m("settings.environment.shellDescription"),htmlFor:"shell-preference",children:(0,t.jsxs)(eQ,{value:T,onValueChange:e=>{E(e),S({environment:{defaultEditor:M,shellPreference:e,terminalPreference:P}})},children:[(0,t.jsx)(e1,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(e0,{})}),(0,t.jsx)(e5,{children:t$.map(e=>(0,t.jsx)(e4,{value:e.value,children:e.label},e.value))})]})}),(0,t.jsx)(tZ,{label:m("settings.environment.terminal"),description:m("settings.environment.terminalDescription"),htmlFor:"terminal-preference",children:(0,t.jsxs)(eQ,{value:P,onValueChange:e=>{D(e),S({environment:{defaultEditor:M,shellPreference:T,terminalPreference:e}})},children:[(0,t.jsx)(e1,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(e0,{})}),(0,t.jsx)(e5,{children:R.map(e=>(0,t.jsx)(e4,{value:e.id,children:e.name},e.id))})]})})]}),(0,t.jsx)(t1,{links:[{label:m("settings.environment.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:m("settings.environment.hint")})]}),(0,t.jsxs)("div",{id:"section-workflow",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:r.GitBranch,title:m("settings.workflow.title"),description:m("settings.workflow.sectionDescription"),testId:"workflow-settings-section",children:[(0,t.jsx)(tX,{label:m("settings.workflow.defaultFastMode"),description:m("settings.workflow.defaultFastModeDescription"),id:"default-fast-mode",testId:"switch-default-fast-mode",checked:J,onChange:e=>{Q(e),S(e3({defaultFastMode:e}))}}),(0,t.jsx)(t0,{children:m("settings.workflow.subsections.approve")}),(0,t.jsx)(tX,{label:m("settings.workflow.autoApprovePrd"),description:m("settings.workflow.autoApprovePrdDescription"),id:"allow-prd",testId:"switch-allow-prd",checked:H,onChange:e=>{z(e),S(e3({allowPrd:e}))}}),(0,t.jsx)(tX,{label:m("settings.workflow.autoApprovePlan"),description:m("settings.workflow.autoApprovePlanDescription"),id:"allow-plan",testId:"switch-allow-plan",checked:_,onChange:e=>{V(e),S(e3({allowPlan:e}))}}),(0,t.jsx)(tX,{label:m("settings.workflow.autoApproveMerge"),description:m("settings.workflow.autoApproveMergeDescription"),id:"allow-merge",testId:"switch-allow-merge",checked:K,onChange:e=>{O(e),S(e3({allowMerge:e}))}}),(0,t.jsx)(t0,{children:m("settings.workflow.subsections.evidence")}),(0,t.jsx)(tX,{label:m("settings.workflow.collectEvidence"),description:m("settings.workflow.collectEvidenceDescription"),id:"enable-evidence",testId:"switch-enable-evidence",checked:W,onChange:e=>{U(e),e?S(e3({enableEvidence:e})):(q(!1),S(e3({enableEvidence:e,commitEvidence:!1})))}}),(0,t.jsx)(tX,{label:m("settings.workflow.addEvidenceToPr"),description:m("settings.workflow.addEvidenceToPrDescription"),id:"commit-evidence",testId:"switch-commit-evidence",checked:G,disabled:!W||!A,onChange:e=>{q(e),S(e3({commitEvidence:e}))}}),(0,t.jsx)(t0,{children:m("settings.workflow.subsections.git")}),(0,t.jsx)(tX,{label:m("settings.workflow.pushOnComplete"),description:m("settings.workflow.pushOnCompleteDescription"),id:"push-on-complete",testId:"switch-push-on-complete",checked:L,onChange:e=>{B(e),S(e3({pushOnComplete:e}))}}),(0,t.jsx)(tX,{label:m("settings.workflow.openPrOnComplete"),description:m("settings.workflow.openPrOnCompleteDescription"),id:"open-pr",testId:"switch-open-pr",checked:A,onChange:e=>{F(e),e?S(e3({openPr:e})):(q(!1),S(e3({openPr:e,commitEvidence:!1})))}}),(0,t.jsx)(tX,{label:m("settings.workflow.watchCiAfterPush"),description:m("settings.workflow.watchCiAfterPushDescription"),id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:$,onChange:e=>{Y(e),S(e3({ciWatchEnabled:e}))}}),(0,t.jsx)(t0,{children:"Archive"}),(0,t.jsx)(tX,{label:"Auto-archive completed",description:"Automatically archive features after they reach the completed state",id:"auto-archive-enabled",testId:"switch-auto-archive-enabled",checked:ee,onChange:e=>{et(e),S(e3({autoArchiveEnabled:e}))}}),(0,t.jsx)(tZ,{label:"Archive delay",description:"Minutes to wait after completion before archiving (1–1440)",htmlFor:"auto-archive-delay",children:(0,t.jsx)(tQ,{id:"auto-archive-delay",testId:"input-auto-archive-delay",value:en,placeholder:"10",min:1,max:1440,suffix:"min",onChange:e=>{ei(e)},onBlur:()=>{if(!ee)return;let e=parseInt(en,10),t=Number.isNaN(e)?10:Math.min(1440,Math.max(1,e));ei(String(t)),S(e3({autoArchiveDelay:String(t)}))}})})]}),(0,t.jsx)(t1,{links:[{label:m("settings.workflow.links.approvalGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:m("settings.workflow.links.pushAndPrFlags"),href:"https://github.com/shep-ai/shep/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:m("settings.workflow.hint")})]}),(0,t.jsxs)("div",{id:"section-ci",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:o,title:m("settings.ci.title"),description:m("settings.ci.description"),testId:"ci-settings-section",children:[(0,t.jsx)(tZ,{label:m("settings.ci.maxFixAttempts"),description:m("settings.ci.maxFixAttemptsDescription"),htmlFor:"ci-max-fix",children:(0,t.jsx)(tQ,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:es,onChange:ea,onBlur:()=>{es!==eV&&S(e3({ciMaxFix:es}))},min:1,max:10})}),(0,t.jsx)(tZ,{label:m("settings.ci.watchTimeout"),description:m("settings.ci.watchTimeoutDescription"),htmlFor:"ci-timeout",children:(0,t.jsx)(tQ,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:er,onChange:el,onBlur:()=>{er!==eK&&S(e3({ciTimeout:er}))},min:30,step:30,suffix:"sec"})}),(0,t.jsx)(tZ,{label:m("settings.ci.maxLogSize"),description:m("settings.ci.maxLogSizeDescription"),htmlFor:"ci-log-max",children:(0,t.jsx)(tQ,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:eo,onChange:ec,onBlur:()=>{eo!==eO&&S(e3({ciLogMax:eo}))},min:1e3,step:5e3,suffix:"chars"})}),(0,t.jsx)(tZ,{label:m("settings.ci.pollInterval"),description:m("settings.ci.pollIntervalDescription"),htmlFor:"ci-poll-interval",children:(0,t.jsx)(tQ,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:ed,onChange:eu,onBlur:()=>{ed!==eW&&S(e3({ciPollInterval:ed}))},min:5,step:5,suffix:"sec"})}),(0,t.jsx)(tX,{label:m("settings.ci.hideCiStatus"),description:m("settings.ci.hideCiStatusDescription"),id:"hide-ci-status",testId:"switch-hide-ci-status",checked:Z,onChange:e=>{X(e),S(e3({hideCiStatus:e}))}})]}),(0,t.jsx)(t1,{links:[{label:m("settings.ci.links.cicdPipeline"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/cicd.md"},{label:m("settings.ci.links.ciSecurityGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/003-cicd-security-gates/spec.md"}],children:m("settings.ci.hint")})]}),(0,t.jsxs)("div",{id:"section-stage-timeouts",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:v.Timer,title:m("settings.stageTimeouts.title"),description:m("settings.stageTimeouts.description"),testId:"stage-timeouts-settings-section",children:[(0,t.jsx)(t0,{children:m("settings.stageTimeouts.subsections.featureAgent")}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.analyze"),description:m("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze",children:(0,t.jsx)(tG,{id:"timeout-analyze",testId:"timeout-analyze-input",value:eg,onChange:em,onBlur:()=>{eg!==eU&&S(e3({analyzeTimeout:eg}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.requirements"),description:m("settings.stageTimeouts.requirementsDescription"),htmlFor:"timeout-requirements",children:(0,t.jsx)(tG,{id:"timeout-requirements",testId:"timeout-requirements-input",value:eh,onChange:ef,onBlur:()=>{eh!==eG&&S(e3({requirementsTimeout:eh}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.research"),description:m("settings.stageTimeouts.researchDescription"),htmlFor:"timeout-research",children:(0,t.jsx)(tG,{id:"timeout-research",testId:"timeout-research-input",value:ev,onChange:ex,onBlur:()=>{ev!==eq&&S(e3({researchTimeout:ev}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.plan"),description:m("settings.stageTimeouts.planDescription"),htmlFor:"timeout-plan",children:(0,t.jsx)(tG,{id:"timeout-plan",testId:"timeout-plan-input",value:ew,onChange:eb,onBlur:()=>{ew!==e$&&S(e3({planTimeout:ew}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.implement"),description:m("settings.stageTimeouts.implementDescription"),htmlFor:"timeout-implement",children:(0,t.jsx)(tG,{id:"timeout-implement",testId:"timeout-implement-input",value:ey,onChange:ej,onBlur:()=>{ey!==eY&&S(e3({implementTimeout:ey}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.merge"),description:m("settings.stageTimeouts.mergeDescription"),htmlFor:"timeout-merge",children:(0,t.jsx)(tG,{id:"timeout-merge",testId:"timeout-merge-input",value:eS,onChange:eC,onBlur:()=>{eS!==eZ&&S(e3({mergeTimeout:eS}))},defaultSeconds:1800})}),(0,t.jsx)(t0,{children:m("settings.stageTimeouts.subsections.analyzeRepoAgent")}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.analyze"),description:m("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze-repo",children:(0,t.jsx)(tG,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:eN,onChange:eM,onBlur:()=>{eN!==eX&&S(e3({analyzeRepoTimeout:eN}))},defaultSeconds:600})})]}),(0,t.jsx)(t1,{children:m("settings.stageTimeouts.hint")})]}),(0,t.jsxs)("div",{id:"section-notifications",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:c,title:m("settings.notifications.title"),description:m("settings.notifications.sectionDescription"),testId:"notification-settings-section",children:[(0,t.jsx)(t0,{children:m("settings.notifications.channels")}),(0,t.jsx)(tX,{label:m("settings.notifications.inAppLabel"),description:m("settings.notifications.inAppDescription"),id:"notif-in-app",testId:"switch-in-app",checked:eF,onChange:e=>{eL(e),S(e8({inApp:e}))}}),(0,t.jsx)(t0,{children:m("settings.notifications.subsections.agentEvents")}),(0,t.jsx)(tX,{label:m("settings.notifications.events.agentStarted"),id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:eB.agentStarted,onChange:e=>{let t={...eB,agentStarted:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.phaseCompleted"),id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:eB.phaseCompleted,onChange:e=>{let t={...eB,phaseCompleted:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.waitingApproval"),id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:eB.waitingApproval,onChange:e=>{let t={...eB,waitingApproval:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.agentCompleted"),id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:eB.agentCompleted,onChange:e=>{let t={...eB,agentCompleted:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.agentFailed"),id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:eB.agentFailed,onChange:e=>{let t={...eB,agentFailed:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(t0,{children:m("settings.notifications.subsections.pullRequestEvents")}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prMerged"),id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:eB.prMerged,onChange:e=>{let t={...eB,prMerged:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prClosed"),id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:eB.prClosed,onChange:e=>{let t={...eB,prClosed:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prChecksPassed"),id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:eB.prChecksPassed,onChange:e=>{let t={...eB,prChecksPassed:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prChecksFailed"),id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:eB.prChecksFailed,onChange:e=>{let t={...eB,prChecksFailed:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prBlocked"),id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:eB.prBlocked,onChange:e=>{let t={...eB,prBlocked:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.mergeReviewReady"),id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:eB.mergeReviewReady,onChange:e=>{let t={...eB,mergeReviewReady:e};eH(t),S(e8({events:t}))}})]}),(0,t.jsx)(t1,{links:[{label:m("settings.notifications.links.notificationSystem"),href:"https://github.com/shep-ai/shep/blob/main/specs/021-agent-notifications/spec.yaml"}],children:m("settings.notifications.hint")})]}),(0,t.jsxs)("div",{id:"section-feature-flags",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:d,title:m("settings.featureFlags.title"),description:m("settings.featureFlags.sectionDescription"),badge:m("settings.featureFlags.badge"),testId:"feature-flags-settings-section",children:[(0,t.jsx)(tX,{label:m("settings.featureFlags.skills"),description:m("settings.featureFlags.skillsDescription"),id:"flag-skills",testId:"switch-flag-skills",checked:ez.skills,onChange:e=>{let t={...ez,skills:e};e_(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.deployments"),description:m("settings.featureFlags.deploymentsDescription"),id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:ez.envDeploy,onChange:e=>{let t={...ez,envDeploy:e};e_(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.debug"),description:m("settings.featureFlags.debugDescription"),id:"flag-debug",testId:"switch-flag-debug",checked:ez.debug,onChange:e=>{let t={...ez,debug:e};e_(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.githubImport"),description:m("settings.featureFlags.githubImportDescription"),id:"flag-githubImport",testId:"switch-flag-githubImport",checked:ez.githubImport,onChange:e=>{let t={...ez,githubImport:e};e_(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.adoptBranch"),description:m("settings.featureFlags.adoptBranchDescription"),id:"flag-adoptBranch",testId:"switch-flag-adoptBranch",checked:ez.adoptBranch,onChange:e=>{let t={...ez,adoptBranch:e};e_(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.gitRebaseSync"),description:m("settings.featureFlags.gitRebaseSyncDescription"),id:"flag-gitRebaseSync",testId:"switch-flag-gitRebaseSync",checked:ez.gitRebaseSync,onChange:e=>{let t={...ez,gitRebaseSync:e};e_(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.reactFileManager"),description:m("settings.featureFlags.reactFileManagerDescription"),id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:ez.reactFileManager,onChange:e=>{let t={...ez,reactFileManager:e};e_(t),S({featureFlags:t})}})]}),(0,t.jsx)(t1,{children:m("settings.featureFlags.hint")})]}),(0,t.jsxs)("div",{id:"section-interactive-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:x.MessageSquare,title:m("settings.interactiveAgent.title"),description:m("settings.interactiveAgent.description"),testId:"interactive-agent-settings-section",children:[(0,t.jsx)(tX,{label:m("settings.interactiveAgent.enableChatTab"),description:m("settings.interactiveAgent.enableChatTabDescription"),id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:eT,onChange:e=>{eE(e),S({interactiveAgent:{enabled:e,autoTimeoutMinutes:parseInt(eP,10)||15,maxConcurrentSessions:parseInt(eR,10)||3}})}}),(0,t.jsx)(tZ,{label:m("settings.interactiveAgent.autoTimeout"),description:m("settings.interactiveAgent.autoTimeoutDescription"),htmlFor:"interactive-agent-timeout",children:(0,t.jsx)(tQ,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:eP,placeholder:"15",min:1,max:120,suffix:"min",onChange:eD,onBlur:()=>{let e=parseInt(eP,10),t=Number.isNaN(e)?15:Math.min(120,Math.max(1,e));eD(String(t)),S({interactiveAgent:{enabled:eT,autoTimeoutMinutes:t,maxConcurrentSessions:parseInt(eR,10)||3}})}})}),(0,t.jsx)(tZ,{label:m("settings.interactiveAgent.maxConcurrentSessions"),description:m("settings.interactiveAgent.maxConcurrentSessionsDescription"),htmlFor:"interactive-agent-sessions",children:(0,t.jsx)(tQ,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:eR,placeholder:"3",min:1,max:10,onChange:eA,onBlur:()=>{let e=parseInt(eR,10),t=Number.isNaN(e)?3:Math.min(10,Math.max(1,e));eA(String(t)),S({interactiveAgent:{enabled:eT,autoTimeoutMinutes:parseInt(eP,10)||15,maxConcurrentSessions:t}})}})})]}),(0,t.jsx)(t1,{children:m("settings.interactiveAgent.hint")})]}),(0,t.jsxs)("div",{id:"section-database",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:u,title:m("settings.database.title"),description:m("settings.database.sectionDescription"),testId:"database-settings-section",children:[(0,t.jsx)(tZ,{label:m("settings.database.location"),description:m("settings.database.locationDescription"),children:(0,t.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shep-home-path",children:l})}),(0,t.jsx)(tZ,{label:m("settings.database.size"),children:(0,t.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:p})})]}),(0,t.jsx)(t1,{links:[{label:m("settings.database.links.settingsService"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/settings-service.md"},{label:m("settings.database.links.settingsSpec"),href:"https://github.com/shep-ai/shep/blob/main/specs/005-global-settings-service/spec.md"}],children:m("settings.database.hint")})]})]})]})}e.s(["SettingsPageClient",()=>t2],41952)}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,83843,e=>{"use strict";let a=(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"}]]);e.s(["ChevronsUpDown",()=>a],83843)},36479,e=>{"use strict";var a=e.i(20314),t=e.i(79054),s=e.i(31406),r=e.i(60112),o=e.i(21023);let n=(0,o.createServerReference)("40d2c22c5494d8f584a914f2119054a2bda4a618e1",o.callServer,void 0,o.findSourceMapURL,"adoptBranch"),l=(0,o.createServerReference)("40870a29c495da0adf5aeae94a8e87b8f72ebe1115",o.callServer,void 0,o.findSourceMapURL,"listBranches");var c=e.i(23925),i=e.i(97667),d=e.i(83843),p=e.i(49228),h=e.i(83428);e.i(1650);var u=e.i(11495),m=e.i(45811),x=e.i(35364),f=e.i(98127),b=e.i(41957),v=e.i(66459),g=e.i(31777);let j=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t}));j.displayName="Command";let w=t.forwardRef(({className:e,...t},s)=>(0,a.jsxs)("div",{className:"flex items-center border-b px-3",children:[(0,a.jsx)(v.Search,{className:"me-2 h-4 w-4 shrink-0 opacity-50"}),(0,a.jsx)("input",{ref:s,className:(0,g.cn)("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));w.displayName="CommandInput";let N=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("max-h-[300px] overflow-x-hidden overflow-y-auto",e),...t}));N.displayName="CommandList";let y=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("text-muted-foreground py-6 text-center text-sm",e),...t}));y.displayName="CommandEmpty";let C=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("text-foreground overflow-hidden p-1",e),...t}));C.displayName="CommandGroup";let S=t.forwardRef(({className:e,selected:t,...s},r)=>(0,a.jsx)("button",{ref:r,type:"button","data-selected":t,className:(0,g.cn)("relative flex w-full cursor-default items-center rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none","hover:bg-accent hover:text-accent-foreground","data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground","disabled:pointer-events-none disabled:opacity-50",e),...s}));S.displayName="CommandItem",t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("bg-border -mx-1 h-px",e),...t})).displayName="CommandSeparator";var k=e.i(90382);function R({open:e,onClose:s,onSubmit:r,isSubmitting:o=!1,error:n,repositories:l=[],selectedRepositoryPath:v,onRepositoryChange:R,branches:L=[],branchesLoading:B=!1}){let[P,E]=(0,t.useState)(""),[D,T]=(0,t.useState)(!1),[U,A]=(0,t.useState)(""),I=(0,t.useRef)(null),[O,F]=(0,t.useState)(!1),[G,K]=(0,t.useState)(""),M=(0,t.useRef)(null),$=l.find(e=>e.path===v),z=!!v;(0,t.useEffect)(()=>{e||(E(""),A(""),T(!1),F(!1),K(""))},[e]),(0,t.useEffect)(()=>{E(""),A("")},[v]);let W=(0,t.useCallback)(e=>{e.preventDefault();let a=P.trim();a&&v&&!o&&r(a,v)},[P,v,o,r]),q=(0,t.useCallback)(()=>{E(""),A(""),s()},[s]),H=(0,t.useCallback)(e=>{E(e),A(e),T(!1)},[]),J=(0,t.useCallback)(e=>{A(e.target.value),D||T(!0)},[D]),Q=(0,t.useCallback)(e=>{if("Enter"===e.key){e.preventDefault();let a=U.trim();a&&(E(a),T(!1))}"Escape"===e.key&&(T(!1),A(P))},[U,P]),V=(0,t.useCallback)(e=>{R?.(e),F(!1),K("")},[R]),X=L.filter(e=>e.toLowerCase().includes(U.toLowerCase())),Y=G.trim()?l.filter(e=>e.name.toLowerCase().includes(G.toLowerCase())||e.path.toLowerCase().includes(G.toLowerCase())):l;(0,t.useEffect)(()=>{O?setTimeout(()=>M.current?.focus(),0):K("")},[O]);let Z=!P.trim()||!v||o,_=(0,a.jsxs)("div",{children:[(0,a.jsxs)(m.DrawerTitle,{className:"flex items-center gap-2",children:[(0,a.jsx)(p.GitBranch,{className:"h-4 w-4"}),"Adopt Branch"]}),(0,a.jsx)(m.DrawerDescription,{className:"text-muted-foreground text-sm",children:"Import an existing git branch into Shep's feature tracking"})]});return(0,a.jsx)(u.BaseDrawer,{open:e,onClose:q,size:"sm",modal:!1,header:_,"data-testid":"adopt-branch-drawer",children:(0,a.jsxs)("form",{onSubmit:W,className:"flex flex-1 flex-col",children:[(0,a.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(b.Label,{children:"Repository"}),(0,a.jsxs)(k.Popover,{open:O,onOpenChange:F,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",role:"combobox","aria-expanded":O,"aria-label":"Repository",disabled:o,"data-testid":"adopt-repo-combobox",className:(0,g.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",!$&&"text-muted-foreground"),children:[(0,a.jsx)("span",{className:"truncate",children:$?$.name:"Select repository..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(k.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"adopt-repo-combobox-content",children:(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("div",{className:"border-b p-2",children:(0,a.jsx)(f.Input,{ref:M,placeholder:"Search repositories...",value:G,onChange:e=>K(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"adopt-repo-search"})}),(0,a.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===Y.length?(0,a.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No repositories found."}):Y.map(e=>(0,a.jsxs)("button",{type:"button",role:"option","aria-selected":v===e.path,onClick:()=>V(e.path),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",v===e.path&&"bg-accent/50"),"data-testid":`adopt-repo-option-${e.id}`,children:[(0,a.jsx)(i.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",v!==e.path&&"invisible")}),(0,a.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,a.jsx)("span",{className:"truncate",children:e.name}),(0,a.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:"Select the repository that contains the branch you want to adopt."})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(b.Label,{htmlFor:"branch-name",children:"Branch name"}),(0,a.jsxs)(k.Popover,{open:D,onOpenChange:T,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)(x.Button,{variant:"outline",role:"combobox","aria-expanded":D,disabled:o||!z,className:"w-full justify-between font-normal","data-testid":"adopt-branch-input",children:[(0,a.jsx)("span",{className:"truncate",children:z?B?"Loading branches...":P||"Select a branch...":"Select a repository first..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(k.PopoverContent,{className:"w-[var(--radix-popover-trigger-width)] p-0",align:"start",children:(0,a.jsxs)(j,{children:[(0,a.jsx)(w,{ref:I,placeholder:"Search branches...",value:U,onChange:J,onKeyDown:Q,"data-testid":"adopt-branch-search"}),(0,a.jsxs)(N,{children:[!B&&0===X.length&&(0,a.jsx)(y,{children:0===L.length?"No branches found.":U?"No match — press Enter to use this value.":"No branches available."}),B?(0,a.jsx)(y,{children:(0,a.jsx)(h.Loader2,{className:"mx-auto h-4 w-4 animate-spin"})}):null,X.length>0&&(0,a.jsx)(C,{children:X.map(e=>(0,a.jsxs)(S,{selected:e===P,onClick:()=>H(e),children:[(0,a.jsx)(c.Check,{className:(0,g.cn)("me-2 h-4 w-4",e===P?"opacity-100":"opacity-0")}),(0,a.jsx)(p.GitBranch,{className:"me-2 h-3 w-3 opacity-50"}),e]},e))})]})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:z?"Select a branch from the dropdown or type to search. Local and remote branches are shown.":"Please select a repository above to see available branches."})]}),n?(0,a.jsx)("p",{className:"text-destructive text-sm","data-testid":"adopt-branch-error",children:n}):null]})}),(0,a.jsx)("div",{className:"border-t p-4",children:(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(x.Button,{type:"button",variant:"outline",onClick:q,disabled:o,className:"flex-1",children:"Cancel"}),(0,a.jsx)(x.Button,{type:"submit",disabled:Z,className:"flex-1","data-testid":"adopt-branch-submit",children:o?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.Loader2,{className:"me-2 h-4 w-4 animate-spin"}),"Adopting..."]}):"Adopt Branch"})]})})]})})}function L({repositoryPath:e,repositories:o}){let c=(0,s.useRouter)(),i=(0,s.usePathname)(),[d,p]=(0,t.useState)(!1),[h,u]=(0,t.useState)(),[m,x]=(0,t.useState)([]),[f,b]=(0,t.useState)(!1),[v,g]=(0,t.useState)(e),j=i.startsWith("/adopt"),w=!d&&j;(0,t.useEffect)(()=>{!j&&d&&p(!1)},[j,d]),(0,t.useEffect)(()=>{j&&(u(void 0),g(e))},[j,e]),(0,t.useEffect)(()=>{j&&v?(b(!0),x([]),l(v).then(x).catch(()=>x([])).finally(()=>b(!1))):x([])},[j,v]);let N=(0,t.useCallback)(()=>{c.push("/")},[c]),y=(0,t.useCallback)(e=>{g(e)},[]),C=(0,t.useCallback)((e,a)=>{u(void 0),p(!0),c.push("/"),n({branchName:e,repositoryPath:a}).then(e=>{e.error?r.toast.error(e.error):(window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:e.feature.id,name:e.feature.name,description:e.feature.description,repositoryPath:e.feature.repositoryPath}})),r.toast.success(`Branch adopted as "${e.feature.name}"`))}).catch(()=>{r.toast.error("Failed to adopt branch"),p(!1)})},[c]);return(0,a.jsx)(R,{open:w,onClose:N,onSubmit:C,isSubmitting:d,error:h,repositories:o,selectedRepositoryPath:v,onRepositoryChange:y,branches:m,branchesLoading:f})}e.s(["AdoptDrawerClient",()=>L],36479)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,83843,e=>{"use strict";let a=(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"}]]);e.s(["ChevronsUpDown",()=>a],83843)},36479,e=>{"use strict";var a=e.i(20314),t=e.i(79054),s=e.i(31406),r=e.i(60112),o=e.i(21023);let n=(0,o.createServerReference)("40d7feca7ef720c4bd142fb88e170205f4ba512180",o.callServer,void 0,o.findSourceMapURL,"adoptBranch"),l=(0,o.createServerReference)("40fd3d6ab396eec9bfe32cf4443f95832a6601e69b",o.callServer,void 0,o.findSourceMapURL,"listBranches");var c=e.i(23925),i=e.i(97667),d=e.i(83843),p=e.i(49228),h=e.i(83428);e.i(1650);var u=e.i(11495),m=e.i(45811),x=e.i(35364),f=e.i(98127),b=e.i(41957),v=e.i(66459),g=e.i(31777);let j=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t}));j.displayName="Command";let w=t.forwardRef(({className:e,...t},s)=>(0,a.jsxs)("div",{className:"flex items-center border-b px-3",children:[(0,a.jsx)(v.Search,{className:"me-2 h-4 w-4 shrink-0 opacity-50"}),(0,a.jsx)("input",{ref:s,className:(0,g.cn)("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));w.displayName="CommandInput";let N=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("max-h-[300px] overflow-x-hidden overflow-y-auto",e),...t}));N.displayName="CommandList";let y=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("text-muted-foreground py-6 text-center text-sm",e),...t}));y.displayName="CommandEmpty";let C=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("text-foreground overflow-hidden p-1",e),...t}));C.displayName="CommandGroup";let S=t.forwardRef(({className:e,selected:t,...s},r)=>(0,a.jsx)("button",{ref:r,type:"button","data-selected":t,className:(0,g.cn)("relative flex w-full cursor-default items-center rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none","hover:bg-accent hover:text-accent-foreground","data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground","disabled:pointer-events-none disabled:opacity-50",e),...s}));S.displayName="CommandItem",t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("bg-border -mx-1 h-px",e),...t})).displayName="CommandSeparator";var k=e.i(90382);function R({open:e,onClose:s,onSubmit:r,isSubmitting:o=!1,error:n,repositories:l=[],selectedRepositoryPath:v,onRepositoryChange:R,branches:L=[],branchesLoading:B=!1}){let[P,E]=(0,t.useState)(""),[D,T]=(0,t.useState)(!1),[U,A]=(0,t.useState)(""),I=(0,t.useRef)(null),[O,F]=(0,t.useState)(!1),[G,K]=(0,t.useState)(""),M=(0,t.useRef)(null),$=l.find(e=>e.path===v),z=!!v;(0,t.useEffect)(()=>{e||(E(""),A(""),T(!1),F(!1),K(""))},[e]),(0,t.useEffect)(()=>{E(""),A("")},[v]);let W=(0,t.useCallback)(e=>{e.preventDefault();let a=P.trim();a&&v&&!o&&r(a,v)},[P,v,o,r]),q=(0,t.useCallback)(()=>{E(""),A(""),s()},[s]),H=(0,t.useCallback)(e=>{E(e),A(e),T(!1)},[]),J=(0,t.useCallback)(e=>{A(e.target.value),D||T(!0)},[D]),Q=(0,t.useCallback)(e=>{if("Enter"===e.key){e.preventDefault();let a=U.trim();a&&(E(a),T(!1))}"Escape"===e.key&&(T(!1),A(P))},[U,P]),V=(0,t.useCallback)(e=>{R?.(e),F(!1),K("")},[R]),X=L.filter(e=>e.toLowerCase().includes(U.toLowerCase())),Y=G.trim()?l.filter(e=>e.name.toLowerCase().includes(G.toLowerCase())||e.path.toLowerCase().includes(G.toLowerCase())):l;(0,t.useEffect)(()=>{O?setTimeout(()=>M.current?.focus(),0):K("")},[O]);let Z=!P.trim()||!v||o,_=(0,a.jsxs)("div",{children:[(0,a.jsxs)(m.DrawerTitle,{className:"flex items-center gap-2",children:[(0,a.jsx)(p.GitBranch,{className:"h-4 w-4"}),"Adopt Branch"]}),(0,a.jsx)(m.DrawerDescription,{className:"text-muted-foreground text-sm",children:"Import an existing git branch into Shep's feature tracking"})]});return(0,a.jsx)(u.BaseDrawer,{open:e,onClose:q,size:"sm",modal:!1,header:_,"data-testid":"adopt-branch-drawer",children:(0,a.jsxs)("form",{onSubmit:W,className:"flex flex-1 flex-col",children:[(0,a.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(b.Label,{children:"Repository"}),(0,a.jsxs)(k.Popover,{open:O,onOpenChange:F,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",role:"combobox","aria-expanded":O,"aria-label":"Repository",disabled:o,"data-testid":"adopt-repo-combobox",className:(0,g.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",!$&&"text-muted-foreground"),children:[(0,a.jsx)("span",{className:"truncate",children:$?$.name:"Select repository..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(k.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"adopt-repo-combobox-content",children:(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("div",{className:"border-b p-2",children:(0,a.jsx)(f.Input,{ref:M,placeholder:"Search repositories...",value:G,onChange:e=>K(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"adopt-repo-search"})}),(0,a.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===Y.length?(0,a.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No repositories found."}):Y.map(e=>(0,a.jsxs)("button",{type:"button",role:"option","aria-selected":v===e.path,onClick:()=>V(e.path),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",v===e.path&&"bg-accent/50"),"data-testid":`adopt-repo-option-${e.id}`,children:[(0,a.jsx)(i.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",v!==e.path&&"invisible")}),(0,a.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,a.jsx)("span",{className:"truncate",children:e.name}),(0,a.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:"Select the repository that contains the branch you want to adopt."})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(b.Label,{htmlFor:"branch-name",children:"Branch name"}),(0,a.jsxs)(k.Popover,{open:D,onOpenChange:T,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)(x.Button,{variant:"outline",role:"combobox","aria-expanded":D,disabled:o||!z,className:"w-full justify-between font-normal","data-testid":"adopt-branch-input",children:[(0,a.jsx)("span",{className:"truncate",children:z?B?"Loading branches...":P||"Select a branch...":"Select a repository first..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(k.PopoverContent,{className:"w-[var(--radix-popover-trigger-width)] p-0",align:"start",children:(0,a.jsxs)(j,{children:[(0,a.jsx)(w,{ref:I,placeholder:"Search branches...",value:U,onChange:J,onKeyDown:Q,"data-testid":"adopt-branch-search"}),(0,a.jsxs)(N,{children:[!B&&0===X.length&&(0,a.jsx)(y,{children:0===L.length?"No branches found.":U?"No match — press Enter to use this value.":"No branches available."}),B?(0,a.jsx)(y,{children:(0,a.jsx)(h.Loader2,{className:"mx-auto h-4 w-4 animate-spin"})}):null,X.length>0&&(0,a.jsx)(C,{children:X.map(e=>(0,a.jsxs)(S,{selected:e===P,onClick:()=>H(e),children:[(0,a.jsx)(c.Check,{className:(0,g.cn)("me-2 h-4 w-4",e===P?"opacity-100":"opacity-0")}),(0,a.jsx)(p.GitBranch,{className:"me-2 h-3 w-3 opacity-50"}),e]},e))})]})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:z?"Select a branch from the dropdown or type to search. Local and remote branches are shown.":"Please select a repository above to see available branches."})]}),n?(0,a.jsx)("p",{className:"text-destructive text-sm","data-testid":"adopt-branch-error",children:n}):null]})}),(0,a.jsx)("div",{className:"border-t p-4",children:(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(x.Button,{type:"button",variant:"outline",onClick:q,disabled:o,className:"flex-1",children:"Cancel"}),(0,a.jsx)(x.Button,{type:"submit",disabled:Z,className:"flex-1","data-testid":"adopt-branch-submit",children:o?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.Loader2,{className:"me-2 h-4 w-4 animate-spin"}),"Adopting..."]}):"Adopt Branch"})]})})]})})}function L({repositoryPath:e,repositories:o}){let c=(0,s.useRouter)(),i=(0,s.usePathname)(),[d,p]=(0,t.useState)(!1),[h,u]=(0,t.useState)(),[m,x]=(0,t.useState)([]),[f,b]=(0,t.useState)(!1),[v,g]=(0,t.useState)(e),j=i.startsWith("/adopt"),w=!d&&j;(0,t.useEffect)(()=>{!j&&d&&p(!1)},[j,d]),(0,t.useEffect)(()=>{j&&(u(void 0),g(e))},[j,e]),(0,t.useEffect)(()=>{j&&v?(b(!0),x([]),l(v).then(x).catch(()=>x([])).finally(()=>b(!1))):x([])},[j,v]);let N=(0,t.useCallback)(()=>{c.push("/")},[c]),y=(0,t.useCallback)(e=>{g(e)},[]),C=(0,t.useCallback)((e,a)=>{u(void 0),p(!0),c.push("/"),n({branchName:e,repositoryPath:a}).then(e=>{e.error?r.toast.error(e.error):(window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:e.feature.id,name:e.feature.name,description:e.feature.description,repositoryPath:e.feature.repositoryPath}})),r.toast.success(`Branch adopted as "${e.feature.name}"`))}).catch(()=>{r.toast.error("Failed to adopt branch"),p(!1)})},[c]);return(0,a.jsx)(R,{open:w,onClose:N,onSubmit:C,isSubmitting:d,error:h,repositories:o,selectedRepositoryPath:v,onRepositoryChange:y,branches:m,branchesLoading:f})}e.s(["AdoptDrawerClient",()=>L],36479)}]);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,41413,e=>{"use strict";var t=e.i(20314),r=e.i(79054),n=e.i(23925),o=e.i(11345),i=e.i(76016),a=e.i(45371),s=e.i(91992),l=e.i(86782),d=e.i(29847),c=e.i(35364),u=e.i(90382),p=e.i(31777);function f({initialAgentType:e,initialModel:f,onAgentModelChange:g,disabled:m,className:h,mode:v}){let[x,y]=r.useState(!1),[b,j]=r.useState([]),[w,C]=r.useState(!0),[P,_]=r.useState(e),[S,O]=r.useState(f),[R,N]=r.useState(null),[E,A]=r.useState(0),[k,M]=r.useState(null);r.useEffect(()=>{(0,a.getAllAgentModels)().then(j).finally(()=>C(!1))},[]),r.useEffect(()=>{if(!x){let e=setTimeout(()=>{A(0),M(null)},150);return()=>clearTimeout(e)}},[x]);let T=async(e,t)=>{if(y(!1),e!==P||t!==S){if("override"===v){_(e),O(t),g?.(e,t);return}_(e),O(t),g?.(e,t),N(null);try{let r=await (0,s.updateAgentAndModel)(e,t||null);r.ok||(_(P),O(S),g?.(P,S),N(r.error??"Failed to save"))}catch{_(P),O(S),g?.(P,S),N("Failed to save")}}},I=(0,l.getAgentTypeIcon)(P),z=b.find(e=>e.agentType===P)?.label??P,F=S?(0,d.getModelMeta)(S).displayName||S:null,D=k?b.find(e=>e.agentType===k):null;return(0,t.jsxs)("div",{className:(0,p.cn)("flex flex-col gap-1",h),children:[(0,t.jsxs)(u.Popover,{open:x,onOpenChange:y,children:[(0,t.jsx)(u.PopoverTrigger,{asChild:!0,children:(0,t.jsx)(c.Button,{variant:"outline",role:"combobox","aria-expanded":x,disabled:(m??!1)||w,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)(I,{className:"h-4 w-4 shrink-0"}),w?"Loading…":(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:z}),F?(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:F})]}):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===E?"-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"}),b.map(e=>{let r=(0,l.getAgentTypeIcon)(e.agentType),o=P===e.agentType,a=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:()=>{a?(M(e.agentType),requestAnimationFrame(()=>{requestAnimationFrame(()=>A(1))})):T(e.agentType,"")},children:[(0,t.jsx)(r,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{className:"flex-1 text-start",children:e.label}),o&&!a?(0,t.jsx)(n.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null,a?(0,t.jsx)(i.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:D?(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:()=>{A(0),setTimeout(()=>M(null),220)},children:[(0,t.jsx)(o.ChevronLeft,{className:"h-3.5 w-3.5"}),D.label]}),D.models.map(e=>{let r=P===D.agentType&&S===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-start transition-colors","hover:bg-accent hover:text-accent-foreground",r&&"bg-accent/50"),onClick:()=>T(D.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)(n.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null]},e.id)})]}):null})]})})]}),!!R&&(0,t.jsx)("p",{className:"text-destructive text-sm",children:R})]})}e.s(["AgentModelPicker",()=>f])},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])},90382,e=>{"use strict";var t=e.i(20314),r=e.i(79054),n=e.i(91967),o=e.i(5978),i=e.i(22528),a=e.i(53532),s=e.i(41687),l=e.i(56720),d=e.i(13123),c=e.i(52740),u=e.i(39979),p=e.i(85995),f=e.i(87620),g=e.i(86874),m=e.i(36589),h=e.i(73772),v=e.i(13044),x="Popover",[y,b]=(0,i.createContextScope)(x,[c.createPopperScope]),j=(0,c.createPopperScope)(),[w,C]=y(x),P=e=>{let{__scopePopover:n,children:o,open:i,defaultOpen:a,onOpenChange:s,modal:l=!1}=e,u=j(n),p=r.useRef(null),[f,g]=r.useState(!1),[h,v]=(0,m.useControllableState)({prop:i,defaultProp:a??!1,onChange:s,caller:x});return(0,t.jsx)(c.Root,{...u,children:(0,t.jsx)(w,{scope:n,contentId:(0,d.useId)(),triggerRef:p,open:h,onOpenChange:v,onOpenToggle:r.useCallback(()=>v(e=>!e),[v]),hasCustomAnchor:f,onCustomAnchorAdd:r.useCallback(()=>g(!0),[]),onCustomAnchorRemove:r.useCallback(()=>g(!1),[]),modal:l,children:o})})};P.displayName=x;var _="PopoverAnchor",S=r.forwardRef((e,n)=>{let{__scopePopover:o,...i}=e,a=C(_,o),s=j(o),{onCustomAnchorAdd:l,onCustomAnchorRemove:d}=a;return r.useEffect(()=>(l(),()=>d()),[l,d]),(0,t.jsx)(c.Anchor,{...s,...i,ref:n})});S.displayName=_;var O="PopoverTrigger",R=r.forwardRef((e,r)=>{let{__scopePopover:i,...a}=e,s=C(O,i),l=j(i),d=(0,o.useComposedRefs)(r,s.triggerRef),u=(0,t.jsx)(f.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":U(s.open),...a,ref:d,onClick:(0,n.composeEventHandlers)(e.onClick,s.onOpenToggle)});return s.hasCustomAnchor?u:(0,t.jsx)(c.Anchor,{asChild:!0,...l,children:u})});R.displayName=O;var N="PopoverPortal",[E,A]=y(N,{forceMount:void 0}),k=e=>{let{__scopePopover:r,forceMount:n,children:o,container:i}=e,a=C(N,r);return(0,t.jsx)(E,{scope:r,forceMount:n,children:(0,t.jsx)(p.Presence,{present:n||a.open,children:(0,t.jsx)(u.Portal,{asChild:!0,container:i,children:o})})})};k.displayName=N;var M="PopoverContent",T=r.forwardRef((e,r)=>{let n=A(M,e.__scopePopover),{forceMount:o=n.forceMount,...i}=e,a=C(M,e.__scopePopover);return(0,t.jsx)(p.Presence,{present:o||a.open,children:a.modal?(0,t.jsx)(z,{...i,ref:r}):(0,t.jsx)(F,{...i,ref:r})})});T.displayName=M;var I=(0,g.createSlot)("PopoverContent.RemoveScroll"),z=r.forwardRef((e,i)=>{let a=C(M,e.__scopePopover),s=r.useRef(null),l=(0,o.useComposedRefs)(i,s),d=r.useRef(!1);return r.useEffect(()=>{let e=s.current;if(e)return(0,h.hideOthers)(e)},[]),(0,t.jsx)(v.RemoveScroll,{as:I,allowPinchZoom:!0,children:(0,t.jsx)(D,{...e,ref:l,trapFocus:a.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,n.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),d.current||a.triggerRef.current?.focus()}),onPointerDownOutside:(0,n.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,n.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),F=r.forwardRef((e,n)=>{let o=C(M,e.__scopePopover),i=r.useRef(!1),a=r.useRef(!1);return(0,t.jsx)(D,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(i.current||o.triggerRef.current?.focus(),t.preventDefault()),i.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(i.current=!0,"pointerdown"===t.detail.originalEvent.type&&(a.current=!0));let r=t.target;o.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),D=r.forwardRef((e,r)=>{let{__scopePopover:n,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:d,disableOutsidePointerEvents:u,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:g,onInteractOutside:m,...h}=e,v=C(M,n),x=j(n);return(0,s.useFocusGuards)(),(0,t.jsx)(l.FocusScope,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:i,onUnmountAutoFocus:d,children:(0,t.jsx)(a.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:u,onInteractOutside:m,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:g,onDismiss:()=>v.onOpenChange(!1),children:(0,t.jsx)(c.Content,{"data-state":U(v.open),role:"dialog",id:v.contentId,...x,...h,ref:r,style:{...h.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)"}})})})}),$="PopoverClose",L=r.forwardRef((e,r)=>{let{__scopePopover:o,...i}=e,a=C($,o);return(0,t.jsx)(f.Primitive.button,{type:"button",...i,ref:r,onClick:(0,n.composeEventHandlers)(e.onClick,()=>a.onOpenChange(!1))})});L.displayName=$;var G=r.forwardRef((e,r)=>{let{__scopePopover:n,...o}=e,i=j(n);return(0,t.jsx)(c.Arrow,{...i,...o,ref:r})});function U(e){return e?"open":"closed"}G.displayName="PopoverArrow",e.s(["Anchor",()=>S,"Arrow",()=>G,"Close",()=>L,"Content",()=>T,"Popover",()=>P,"PopoverAnchor",()=>S,"PopoverArrow",()=>G,"PopoverClose",()=>L,"PopoverContent",()=>T,"PopoverPortal",()=>k,"PopoverTrigger",()=>R,"Portal",()=>k,"Root",()=>P,"Trigger",()=>R,"createPopoverScope",()=>b],89920);var B=e.i(89920),B=B,q=e.i(31777);let H=B.Root,W=B.Trigger;B.Anchor;let V=r.forwardRef(({className:e,align:r="center",sideOffset:n=4,...o},i)=>(0,t.jsx)(B.Portal,{children:(0,t.jsx)(B.Content,{ref:i,align:r,sideOffset:n,className:(0,q.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=B.Content.displayName,e.s(["Popover",()=>H,"PopoverContent",()=>V,"PopoverTrigger",()=>W],90382)},80764,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(79054);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=i(e,n)),t&&(o.current=i(t,n))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},47904,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:n,blurDataURL:o,objectFit:i}){let a=r?40*r:e,s=n?40*n:t,l=a&&s?`viewBox='0 0 ${a} ${s}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${l}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${l?"none":"contain"===i?"xMidYMid":"cover"===i?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${o}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},49261,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return i},imageConfigDefault:function(){return a}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=["default","imgix","cloudinary","akamai","custom"],a={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},81241,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return d}}),e.r(24270);let n=e.r(22193),o=e.r(47904),i=e.r(49261),a=["-moz-initial","fill","none","scale-down",void 0];function s(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function d({src:e,sizes:t,unoptimized:r=!1,priority:d=!1,preload:c=!1,loading:u,className:p,quality:f,width:g,height:m,fill:h=!1,style:v,overrideSrc:x,onLoad:y,onLoadingComplete:b,placeholder:j="empty",blurDataURL:w,fetchPriority:C,decoding:P="async",layout:_,objectFit:S,objectPosition:O,lazyBoundary:R,lazyRoot:N,...E},A){var k;let M,T,I,{imgConf:z,showAltText:F,blurComplete:D,defaultLoader:$}=A,L=z||i.imageConfigDefault;if("allSizes"in L)M=L;else{let e=[...L.deviceSizes,...L.imageSizes].sort((e,t)=>e-t),t=L.deviceSizes.sort((e,t)=>e-t),r=L.qualities?.sort((e,t)=>e-t);M={...L,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===$)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let G=E.loader||$;delete E.loader,delete E.srcSet;let U="__next_img_default"in G;if(U){if("custom"===M.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,41413,e=>{"use strict";var t=e.i(20314),r=e.i(79054),n=e.i(23925),o=e.i(11345),i=e.i(76016),a=e.i(30290),s=e.i(31499),l=e.i(86782),d=e.i(29847),c=e.i(35364),u=e.i(90382),p=e.i(31777);function f({initialAgentType:e,initialModel:f,onAgentModelChange:g,disabled:m,className:h,mode:v}){let[x,y]=r.useState(!1),[b,j]=r.useState([]),[w,C]=r.useState(!0),[P,_]=r.useState(e),[S,O]=r.useState(f),[R,N]=r.useState(null),[E,A]=r.useState(0),[k,M]=r.useState(null);r.useEffect(()=>{(0,a.getAllAgentModels)().then(j).finally(()=>C(!1))},[]),r.useEffect(()=>{if(!x){let e=setTimeout(()=>{A(0),M(null)},150);return()=>clearTimeout(e)}},[x]);let T=async(e,t)=>{if(y(!1),e!==P||t!==S){if("override"===v){_(e),O(t),g?.(e,t);return}_(e),O(t),g?.(e,t),N(null);try{let r=await (0,s.updateAgentAndModel)(e,t||null);r.ok||(_(P),O(S),g?.(P,S),N(r.error??"Failed to save"))}catch{_(P),O(S),g?.(P,S),N("Failed to save")}}},I=(0,l.getAgentTypeIcon)(P),z=b.find(e=>e.agentType===P)?.label??P,F=S?(0,d.getModelMeta)(S).displayName||S:null,D=k?b.find(e=>e.agentType===k):null;return(0,t.jsxs)("div",{className:(0,p.cn)("flex flex-col gap-1",h),children:[(0,t.jsxs)(u.Popover,{open:x,onOpenChange:y,children:[(0,t.jsx)(u.PopoverTrigger,{asChild:!0,children:(0,t.jsx)(c.Button,{variant:"outline",role:"combobox","aria-expanded":x,disabled:(m??!1)||w,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)(I,{className:"h-4 w-4 shrink-0"}),w?"Loading…":(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:z}),F?(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:F})]}):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===E?"-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"}),b.map(e=>{let r=(0,l.getAgentTypeIcon)(e.agentType),o=P===e.agentType,a=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:()=>{a?(M(e.agentType),requestAnimationFrame(()=>{requestAnimationFrame(()=>A(1))})):T(e.agentType,"")},children:[(0,t.jsx)(r,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{className:"flex-1 text-start",children:e.label}),o&&!a?(0,t.jsx)(n.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null,a?(0,t.jsx)(i.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:D?(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:()=>{A(0),setTimeout(()=>M(null),220)},children:[(0,t.jsx)(o.ChevronLeft,{className:"h-3.5 w-3.5"}),D.label]}),D.models.map(e=>{let r=P===D.agentType&&S===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-start transition-colors","hover:bg-accent hover:text-accent-foreground",r&&"bg-accent/50"),onClick:()=>T(D.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)(n.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null]},e.id)})]}):null})]})})]}),!!R&&(0,t.jsx)("p",{className:"text-destructive text-sm",children:R})]})}e.s(["AgentModelPicker",()=>f])},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])},90382,e=>{"use strict";var t=e.i(20314),r=e.i(79054),n=e.i(91967),o=e.i(5978),i=e.i(22528),a=e.i(53532),s=e.i(41687),l=e.i(56720),d=e.i(13123),c=e.i(52740),u=e.i(39979),p=e.i(85995),f=e.i(87620),g=e.i(86874),m=e.i(36589),h=e.i(73772),v=e.i(13044),x="Popover",[y,b]=(0,i.createContextScope)(x,[c.createPopperScope]),j=(0,c.createPopperScope)(),[w,C]=y(x),P=e=>{let{__scopePopover:n,children:o,open:i,defaultOpen:a,onOpenChange:s,modal:l=!1}=e,u=j(n),p=r.useRef(null),[f,g]=r.useState(!1),[h,v]=(0,m.useControllableState)({prop:i,defaultProp:a??!1,onChange:s,caller:x});return(0,t.jsx)(c.Root,{...u,children:(0,t.jsx)(w,{scope:n,contentId:(0,d.useId)(),triggerRef:p,open:h,onOpenChange:v,onOpenToggle:r.useCallback(()=>v(e=>!e),[v]),hasCustomAnchor:f,onCustomAnchorAdd:r.useCallback(()=>g(!0),[]),onCustomAnchorRemove:r.useCallback(()=>g(!1),[]),modal:l,children:o})})};P.displayName=x;var _="PopoverAnchor",S=r.forwardRef((e,n)=>{let{__scopePopover:o,...i}=e,a=C(_,o),s=j(o),{onCustomAnchorAdd:l,onCustomAnchorRemove:d}=a;return r.useEffect(()=>(l(),()=>d()),[l,d]),(0,t.jsx)(c.Anchor,{...s,...i,ref:n})});S.displayName=_;var O="PopoverTrigger",R=r.forwardRef((e,r)=>{let{__scopePopover:i,...a}=e,s=C(O,i),l=j(i),d=(0,o.useComposedRefs)(r,s.triggerRef),u=(0,t.jsx)(f.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":U(s.open),...a,ref:d,onClick:(0,n.composeEventHandlers)(e.onClick,s.onOpenToggle)});return s.hasCustomAnchor?u:(0,t.jsx)(c.Anchor,{asChild:!0,...l,children:u})});R.displayName=O;var N="PopoverPortal",[E,A]=y(N,{forceMount:void 0}),k=e=>{let{__scopePopover:r,forceMount:n,children:o,container:i}=e,a=C(N,r);return(0,t.jsx)(E,{scope:r,forceMount:n,children:(0,t.jsx)(p.Presence,{present:n||a.open,children:(0,t.jsx)(u.Portal,{asChild:!0,container:i,children:o})})})};k.displayName=N;var M="PopoverContent",T=r.forwardRef((e,r)=>{let n=A(M,e.__scopePopover),{forceMount:o=n.forceMount,...i}=e,a=C(M,e.__scopePopover);return(0,t.jsx)(p.Presence,{present:o||a.open,children:a.modal?(0,t.jsx)(z,{...i,ref:r}):(0,t.jsx)(F,{...i,ref:r})})});T.displayName=M;var I=(0,g.createSlot)("PopoverContent.RemoveScroll"),z=r.forwardRef((e,i)=>{let a=C(M,e.__scopePopover),s=r.useRef(null),l=(0,o.useComposedRefs)(i,s),d=r.useRef(!1);return r.useEffect(()=>{let e=s.current;if(e)return(0,h.hideOthers)(e)},[]),(0,t.jsx)(v.RemoveScroll,{as:I,allowPinchZoom:!0,children:(0,t.jsx)(D,{...e,ref:l,trapFocus:a.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,n.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),d.current||a.triggerRef.current?.focus()}),onPointerDownOutside:(0,n.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,n.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),F=r.forwardRef((e,n)=>{let o=C(M,e.__scopePopover),i=r.useRef(!1),a=r.useRef(!1);return(0,t.jsx)(D,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(i.current||o.triggerRef.current?.focus(),t.preventDefault()),i.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(i.current=!0,"pointerdown"===t.detail.originalEvent.type&&(a.current=!0));let r=t.target;o.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),D=r.forwardRef((e,r)=>{let{__scopePopover:n,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:d,disableOutsidePointerEvents:u,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:g,onInteractOutside:m,...h}=e,v=C(M,n),x=j(n);return(0,s.useFocusGuards)(),(0,t.jsx)(l.FocusScope,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:i,onUnmountAutoFocus:d,children:(0,t.jsx)(a.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:u,onInteractOutside:m,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:g,onDismiss:()=>v.onOpenChange(!1),children:(0,t.jsx)(c.Content,{"data-state":U(v.open),role:"dialog",id:v.contentId,...x,...h,ref:r,style:{...h.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)"}})})})}),$="PopoverClose",L=r.forwardRef((e,r)=>{let{__scopePopover:o,...i}=e,a=C($,o);return(0,t.jsx)(f.Primitive.button,{type:"button",...i,ref:r,onClick:(0,n.composeEventHandlers)(e.onClick,()=>a.onOpenChange(!1))})});L.displayName=$;var G=r.forwardRef((e,r)=>{let{__scopePopover:n,...o}=e,i=j(n);return(0,t.jsx)(c.Arrow,{...i,...o,ref:r})});function U(e){return e?"open":"closed"}G.displayName="PopoverArrow",e.s(["Anchor",()=>S,"Arrow",()=>G,"Close",()=>L,"Content",()=>T,"Popover",()=>P,"PopoverAnchor",()=>S,"PopoverArrow",()=>G,"PopoverClose",()=>L,"PopoverContent",()=>T,"PopoverPortal",()=>k,"PopoverTrigger",()=>R,"Portal",()=>k,"Root",()=>P,"Trigger",()=>R,"createPopoverScope",()=>b],89920);var B=e.i(89920),B=B,q=e.i(31777);let H=B.Root,W=B.Trigger;B.Anchor;let V=r.forwardRef(({className:e,align:r="center",sideOffset:n=4,...o},i)=>(0,t.jsx)(B.Portal,{children:(0,t.jsx)(B.Content,{ref:i,align:r,sideOffset:n,className:(0,q.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=B.Content.displayName,e.s(["Popover",()=>H,"PopoverContent",()=>V,"PopoverTrigger",()=>W],90382)},80764,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(79054);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=i(e,n)),t&&(o.current=i(t,n))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},47904,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:n,blurDataURL:o,objectFit:i}){let a=r?40*r:e,s=n?40*n:t,l=a&&s?`viewBox='0 0 ${a} ${s}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${l}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${l?"none":"contain"===i?"xMidYMid":"cover"===i?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${o}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},49261,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return i},imageConfigDefault:function(){return a}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=["default","imgix","cloudinary","akamai","custom"],a={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},81241,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return d}}),e.r(24270);let n=e.r(22193),o=e.r(47904),i=e.r(49261),a=["-moz-initial","fill","none","scale-down",void 0];function s(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function d({src:e,sizes:t,unoptimized:r=!1,priority:d=!1,preload:c=!1,loading:u,className:p,quality:f,width:g,height:m,fill:h=!1,style:v,overrideSrc:x,onLoad:y,onLoadingComplete:b,placeholder:j="empty",blurDataURL:w,fetchPriority:C,decoding:P="async",layout:_,objectFit:S,objectPosition:O,lazyBoundary:R,lazyRoot:N,...E},A){var k;let M,T,I,{imgConf:z,showAltText:F,blurComplete:D,defaultLoader:$}=A,L=z||i.imageConfigDefault;if("allSizes"in L)M=L;else{let e=[...L.deviceSizes,...L.imageSizes].sort((e,t)=>e-t),t=L.deviceSizes.sort((e,t)=>e-t),r=L.qualities?.sort((e,t)=>e-t);M={...L,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===$)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let G=E.loader||$;delete E.loader,delete E.srcSet;let U="__next_img_default"in G;if(U){if("custom"===M.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
|
|
2
2
|
Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=G;G=t=>{let{config:r,...n}=t;return e(n)}}if(_){"fill"===_&&(h=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[_];e&&(v={...v,...e});let r={responsive:"100vw",fill:"100vw"}[_];r&&!t&&(t=r)}let B="",q=l(g),H=l(m);if((k=e)&&"object"==typeof k&&(s(k)||void 0!==k.src)){let t=s(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(T=t.blurWidth,I=t.blurHeight,w=w||t.blurDataURL,B=t.src,!h)if(q||H){if(q&&!H){let e=q/t.width;H=Math.round(t.height*e)}else if(!q&&H){let e=H/t.height;q=Math.round(t.width*e)}}else q=t.width,H=t.height}let W=!d&&!c&&("lazy"===u||void 0===u);(!(e="string"==typeof e?e:B)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,W=!1),M.unoptimized&&(r=!0),U&&!M.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let V=l(f),X=Object.assign(h?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:S,objectPosition:O}:{},F?{}:{color:"transparent"},v),K=D||"empty"===j?null:"blur"===j?`url("data:image/svg+xml;charset=utf-8,${(0,o.getImageBlurSvg)({widthInt:q,heightInt:H,blurWidth:T,blurHeight:I,blurDataURL:w||"",objectFit:X.objectFit})}")`:`url("${j}")`,J=a.includes(X.objectFit)?"fill"===X.objectFit?"100% 100%":"cover":X.objectFit,Q=K?{backgroundSize:J,backgroundPosition:X.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:K}:{},Y=function({config:e,src:t,unoptimized:r,width:o,quality:i,sizes:a,loader:s}){if(r){let e=(0,n.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")&&e){let r=t.includes("?")?"&":"?";t=`${t}${r}dpl=${e}`}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:l,kind:d}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,o=[];for(let e;e=r.exec(n);)o.push(parseInt(e[2]));if(o.length){let r=.01*Math.min(...o);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,o,a),c=l.length-1;return{sizes:a||"w"!==d?a:"100vw",srcSet:l.map((r,n)=>`${s({config:e,src:t,quality:i,width:r})} ${"w"===d?r:n+1}${d}`).join(", "),src:s({config:e,src:t,quality:i,width:l[c]})}}({config:M,src:e,unoptimized:r,width:q,quality:V,sizes:t,loader:G}),Z=W?"lazy":u;return{props:{...E,loading:Z,fetchPriority:C,width:q,height:H,decoding:P,className:p,style:{...X,...Q},sizes:Y.sizes,srcSet:Y.srcSet,src:x||Y.src},meta:{unoptimized:r,preload:c||d,placeholder:j,fill:h}}}},38820,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return s}});let n=e.r(79054),o="u"<typeof window,i=o?()=>{}:n.useLayoutEffect,a=o?()=>{}:n.useEffect;function s(e){let{headManager:t,reduceComponentsToState:r}=e;function s(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return o&&(t?.mountedInstances?.add(e.children),s()),i(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),i(()=>(t&&(t._pendingUpdate=s),()=>{t&&(t._pendingUpdate=s)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},79646,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return m},defaultHead:function(){return u}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(81258),a=e.r(44066),s=e.r(20314),l=a._(e.r(79054)),d=i._(e.r(38820)),c=e.r(84210);function u(){return[(0,s.jsx)("meta",{charSet:"utf-8"},"charset"),(0,s.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function p(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(24270);let f=["name","httpEquiv","charSet","itemProp"];function g(e){let t,r,n,o;return e.reduce(p,[]).reverse().concat(u().reverse()).filter((t=new Set,r=new Set,n=new Set,o={},e=>{let i=!0,a=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){a=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?i=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?i=!1:r.add(e.type);break;case"meta":for(let t=0,r=f.length;t<r;t++){let r=f[t];if(e.props.hasOwnProperty(r))if("charSet"===r)n.has(r)?i=!1:n.add(r);else{let t=e.props[r],n=o[r]||new Set;("name"!==r||!a)&&n.has(t)?i=!1:(n.add(t),o[r]=n)}}}return i})).reverse().map((e,t)=>{let r=e.key||t;return l.default.cloneElement(e,{key:r})})}let m=function({children:e}){let t=(0,l.useContext)(c.HeadManagerContext);return(0,s.jsx)(d.default,{reduceComponentsToState:g,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},5160,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return i}});let n=e.r(81258)._(e.r(79054)),o=e.r(49261),i=n.default.createContext(o.imageConfigDefault)},2880,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(81258)._(e.r(79054)).default.createContext(null)},36200,(e,t,r)=>{"use strict";function n(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,0):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return n}})},78200,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return a}});let n=e.r(36200),o=e.r(22193);function i({config:e,src:t,width:r,quality:i}){if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
|
|
3
|
-
Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let a=(0,n.findClosestQuality)(i,e),s=(0,o.getDeploymentId)();return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${a}${t.startsWith("/")&&s?`&dpl=${s}`:""}`}i.__next_img_default=!0;let a=i},81819,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return b}});let n=e.r(81258),o=e.r(44066),i=e.r(20314),a=o._(e.r(79054)),s=n._(e.r(26036)),l=n._(e.r(79646)),d=e.r(81241),c=e.r(49261),u=e.r(5160);e.r(24270);let p=e.r(2880),f=n._(e.r(78200)),g=e.r(80764),m={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function h(e,t,r,n,o,i,a){let s=e?.src;e&&e["data-loaded-src"]!==s&&(e["data-loaded-src"]=s,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&o(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,o=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>o,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{o=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function v(e){return a.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let x=(0,a.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:o,decoding:s,className:l,style:d,fetchPriority:c,placeholder:u,loading:p,unoptimized:f,fill:m,onLoadRef:x,onLoadingCompleteRef:y,setBlurComplete:b,setShowAltText:j,sizesInput:w,onLoad:C,onError:P,..._},S)=>{let O=(0,a.useCallback)(e=>{e&&(P&&(e.src=e.src),e.complete&&h(e,u,x,y,b,f,w))},[e,u,x,y,b,P,f,w]),R=(0,g.useMergedRef)(S,O);return(0,i.jsx)("img",{..._,...v(c),loading:p,width:o,height:n,decoding:s,"data-nimg":m?"fill":"1",className:l,style:d,sizes:r,srcSet:t,src:e,ref:R,onLoad:e=>{h(e.currentTarget,u,x,y,b,f,w)},onError:e=>{j(!0),"empty"!==u&&b(!0),P&&P(e)}})});function y({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...v(t.fetchPriority)};return e&&s.default.preload?(s.default.preload(t.src,r),null):(0,i.jsx)(l.default,{children:(0,i.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let b=(0,a.forwardRef)((e,t)=>{let r=(0,a.useContext)(p.RouterContext),n=(0,a.useContext)(u.ImageConfigContext),o=(0,a.useMemo)(()=>{let e=m||n||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),o=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:o,localPatterns:"u"<typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:s,onLoadingComplete:l}=e,g=(0,a.useRef)(s);(0,a.useEffect)(()=>{g.current=s},[s]);let h=(0,a.useRef)(l);(0,a.useEffect)(()=>{h.current=l},[l]);let[v,b]=(0,a.useState)(!1),[j,w]=(0,a.useState)(!1),{props:C,meta:P}=(0,d.getImgProps)(e,{defaultLoader:f.default,imgConf:o,blurComplete:v,showAltText:j});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(x,{...C,unoptimized:P.unoptimized,placeholder:P.placeholder,fill:P.fill,onLoadRef:g,onLoadingCompleteRef:h,setBlurComplete:b,setShowAltText:w,sizesInput:e.sizes,ref:t}),P.preload?(0,i.jsx)(y,{isAppRouter:!r,imgAttributes:C}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},78639,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return c},getImageProps:function(){return d}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(81258),a=e.r(81241),s=e.r(81819),l=i._(e.r(78200));function d(e){let{props:t}=(0,a.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=s.Image},98804,(e,t,r)=>{t.exports=e.r(78639)},86782,e=>{"use strict";var t=e.i(20314),r=e.i(98804),n=e.i(31777);function o(e,o){function i({className:i}){return(0,t.jsx)(r.default,{src:e,alt:o,width:24,height:24,className:(0,n.cn)("rounded-sm object-contain",i)})}return i.displayName=`BrandIcon(${o})`,i}function i(e){return(0,t.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2"}),(0,t.jsx)("circle",{cx:"12",cy:"12",r:"3",fill:"currentColor"})]})}function a({className:e,...r}){return(0,t.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:(0,n.cn)("h-6 w-6",e),...r,children:[(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:"dev-flask-grad",x1:"6",y1:"22",x2:"18",y2:"8",gradientUnits:"userSpaceOnUse",children:[(0,t.jsx)("stop",{offset:"0%",stopColor:"#8B5CF6"}),(0,t.jsx)("stop",{offset:"50%",stopColor:"#EC4899"}),(0,t.jsx)("stop",{offset:"100%",stopColor:"#F59E0B"})]})}),(0,t.jsx)("path",{d:"M9 2h6v6l4.5 9a2 2 0 0 1-1.79 2.89H6.29A2 2 0 0 1 4.5 17L9 8V2z",fill:"url(#dev-flask-grad)",opacity:"0.9"}),(0,t.jsx)("path",{d:"M9 2h6v6l4.5 9a2 2 0 0 1-1.79 2.89H6.29A2 2 0 0 1 4.5 17L9 8V2z",stroke:"url(#dev-flask-grad)",strokeWidth:"1.5",fill:"none"}),(0,t.jsx)("circle",{cx:"10",cy:"14",r:"1.2",fill:"white",opacity:"0.7"}),(0,t.jsx)("circle",{cx:"13.5",cy:"16",r:"0.8",fill:"white",opacity:"0.5"}),(0,t.jsx)("circle",{cx:"11.5",cy:"17.5",r:"0.6",fill:"white",opacity:"0.4"}),(0,t.jsx)("path",{d:"M16 4l1-2 1 2-2 1 2 1-1 2-1-2-2-1z",fill:"#F59E0B"})]})}a.displayName="DevAgentIcon";let s={"claude-code":o("/icons/agents/claude-ai-icon.svg","Claude Code"),"codex-cli":o("/icons/agents/openai.svg","Codex CLI"),cursor:o("/icons/agents/cursor.jpeg","Cursor"),"gemini-cli":o("/icons/agents/gemini-cli.jpeg","Gemini CLI"),aider:o("/icons/agents/aider.png","Aider"),continue:o("/icons/agents/continue.jpeg","Continue"),dev:a};function l(e){return e&&e in s?s[e]:i}e.s(["agentTypeLabels",0,{"claude-code":"Claude Code","codex-cli":"Codex CLI",cursor:"Cursor","gemini-cli":"Gemini CLI",aider:"Aider",continue:"Continue",dev:"Demo"},"getAgentTypeIcon",()=>l])},29847,e=>{"use strict";let t={"claude-opus-4-6":{displayName:"Opus 4.6",description:"Most capable, complex tasks"},"claude-sonnet-4-6":{displayName:"Sonnet 4.6",description:"Fast & balanced"},"claude-haiku-4-5":{displayName:"Haiku 4.5",description:"Lightweight & quick"},"gemini-3.1-pro":{displayName:"Gemini 3.1 Pro",description:"Advanced reasoning"},"gemini-3-flash":{displayName:"Gemini 3 Flash",description:"Ultra-fast responses"},"gemini-2.5-pro":{displayName:"Gemini 2.5 Pro",description:"Reliable workhorse"},"gemini-2.5-flash":{displayName:"Gemini 2.5 Flash",description:"Speed-optimized"},"gpt-5.4-high":{displayName:"GPT-5.4",description:"Latest reasoning model"},"gpt-5.2":{displayName:"GPT-5.2",description:"Flagship model"},"gpt-5.3-codex":{displayName:"GPT-5.3 Codex",description:"Code specialist"},"composer-1.5":{displayName:"Composer 1.5",description:"Multi-file editing"},"grok-code":{displayName:"Grok Code",description:"xAI code model"},"gpt-8":{displayName:"GPT-8",description:"Writes code before you think it"},"opus-7":{displayName:"Opus 7",description:"Achieved consciousness, ships on time"}},r={displayName:"",description:""};function n(e){let n=t[e];return n||{...r,displayName:e.replace(/^claude-/,"").replace(/^gemini-/,"Gemini ").replace(/^gpt-/,"GPT-").replace(/-/g," ").replace(/\b\w/g,e=>e.toUpperCase())}}e.s(["getModelMeta",()=>n])},11345,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",()=>t],11345)},76016,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],76016)},
|
|
3
|
+
Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let a=(0,n.findClosestQuality)(i,e),s=(0,o.getDeploymentId)();return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${a}${t.startsWith("/")&&s?`&dpl=${s}`:""}`}i.__next_img_default=!0;let a=i},81819,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return b}});let n=e.r(81258),o=e.r(44066),i=e.r(20314),a=o._(e.r(79054)),s=n._(e.r(26036)),l=n._(e.r(79646)),d=e.r(81241),c=e.r(49261),u=e.r(5160);e.r(24270);let p=e.r(2880),f=n._(e.r(78200)),g=e.r(80764),m={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function h(e,t,r,n,o,i,a){let s=e?.src;e&&e["data-loaded-src"]!==s&&(e["data-loaded-src"]=s,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&o(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,o=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>o,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{o=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function v(e){return a.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let x=(0,a.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:o,decoding:s,className:l,style:d,fetchPriority:c,placeholder:u,loading:p,unoptimized:f,fill:m,onLoadRef:x,onLoadingCompleteRef:y,setBlurComplete:b,setShowAltText:j,sizesInput:w,onLoad:C,onError:P,..._},S)=>{let O=(0,a.useCallback)(e=>{e&&(P&&(e.src=e.src),e.complete&&h(e,u,x,y,b,f,w))},[e,u,x,y,b,P,f,w]),R=(0,g.useMergedRef)(S,O);return(0,i.jsx)("img",{..._,...v(c),loading:p,width:o,height:n,decoding:s,"data-nimg":m?"fill":"1",className:l,style:d,sizes:r,srcSet:t,src:e,ref:R,onLoad:e=>{h(e.currentTarget,u,x,y,b,f,w)},onError:e=>{j(!0),"empty"!==u&&b(!0),P&&P(e)}})});function y({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...v(t.fetchPriority)};return e&&s.default.preload?(s.default.preload(t.src,r),null):(0,i.jsx)(l.default,{children:(0,i.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let b=(0,a.forwardRef)((e,t)=>{let r=(0,a.useContext)(p.RouterContext),n=(0,a.useContext)(u.ImageConfigContext),o=(0,a.useMemo)(()=>{let e=m||n||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),o=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:o,localPatterns:"u"<typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:s,onLoadingComplete:l}=e,g=(0,a.useRef)(s);(0,a.useEffect)(()=>{g.current=s},[s]);let h=(0,a.useRef)(l);(0,a.useEffect)(()=>{h.current=l},[l]);let[v,b]=(0,a.useState)(!1),[j,w]=(0,a.useState)(!1),{props:C,meta:P}=(0,d.getImgProps)(e,{defaultLoader:f.default,imgConf:o,blurComplete:v,showAltText:j});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(x,{...C,unoptimized:P.unoptimized,placeholder:P.placeholder,fill:P.fill,onLoadRef:g,onLoadingCompleteRef:h,setBlurComplete:b,setShowAltText:w,sizesInput:e.sizes,ref:t}),P.preload?(0,i.jsx)(y,{isAppRouter:!r,imgAttributes:C}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},78639,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return c},getImageProps:function(){return d}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(81258),a=e.r(81241),s=e.r(81819),l=i._(e.r(78200));function d(e){let{props:t}=(0,a.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=s.Image},98804,(e,t,r)=>{t.exports=e.r(78639)},86782,e=>{"use strict";var t=e.i(20314),r=e.i(98804),n=e.i(31777);function o(e,o){function i({className:i}){return(0,t.jsx)(r.default,{src:e,alt:o,width:24,height:24,className:(0,n.cn)("rounded-sm object-contain",i)})}return i.displayName=`BrandIcon(${o})`,i}function i(e){return(0,t.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2"}),(0,t.jsx)("circle",{cx:"12",cy:"12",r:"3",fill:"currentColor"})]})}function a({className:e,...r}){return(0,t.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:(0,n.cn)("h-6 w-6",e),...r,children:[(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:"dev-flask-grad",x1:"6",y1:"22",x2:"18",y2:"8",gradientUnits:"userSpaceOnUse",children:[(0,t.jsx)("stop",{offset:"0%",stopColor:"#8B5CF6"}),(0,t.jsx)("stop",{offset:"50%",stopColor:"#EC4899"}),(0,t.jsx)("stop",{offset:"100%",stopColor:"#F59E0B"})]})}),(0,t.jsx)("path",{d:"M9 2h6v6l4.5 9a2 2 0 0 1-1.79 2.89H6.29A2 2 0 0 1 4.5 17L9 8V2z",fill:"url(#dev-flask-grad)",opacity:"0.9"}),(0,t.jsx)("path",{d:"M9 2h6v6l4.5 9a2 2 0 0 1-1.79 2.89H6.29A2 2 0 0 1 4.5 17L9 8V2z",stroke:"url(#dev-flask-grad)",strokeWidth:"1.5",fill:"none"}),(0,t.jsx)("circle",{cx:"10",cy:"14",r:"1.2",fill:"white",opacity:"0.7"}),(0,t.jsx)("circle",{cx:"13.5",cy:"16",r:"0.8",fill:"white",opacity:"0.5"}),(0,t.jsx)("circle",{cx:"11.5",cy:"17.5",r:"0.6",fill:"white",opacity:"0.4"}),(0,t.jsx)("path",{d:"M16 4l1-2 1 2-2 1 2 1-1 2-1-2-2-1z",fill:"#F59E0B"})]})}a.displayName="DevAgentIcon";let s={"claude-code":o("/icons/agents/claude-ai-icon.svg","Claude Code"),"codex-cli":o("/icons/agents/openai.svg","Codex CLI"),cursor:o("/icons/agents/cursor.jpeg","Cursor"),"gemini-cli":o("/icons/agents/gemini-cli.jpeg","Gemini CLI"),aider:o("/icons/agents/aider.png","Aider"),continue:o("/icons/agents/continue.jpeg","Continue"),dev:a};function l(e){return e&&e in s?s[e]:i}e.s(["agentTypeLabels",0,{"claude-code":"Claude Code","codex-cli":"Codex CLI",cursor:"Cursor","gemini-cli":"Gemini CLI",aider:"Aider",continue:"Continue",dev:"Demo"},"getAgentTypeIcon",()=>l])},29847,e=>{"use strict";let t={"claude-opus-4-6":{displayName:"Opus 4.6",description:"Most capable, complex tasks"},"claude-sonnet-4-6":{displayName:"Sonnet 4.6",description:"Fast & balanced"},"claude-haiku-4-5":{displayName:"Haiku 4.5",description:"Lightweight & quick"},"gemini-3.1-pro":{displayName:"Gemini 3.1 Pro",description:"Advanced reasoning"},"gemini-3-flash":{displayName:"Gemini 3 Flash",description:"Ultra-fast responses"},"gemini-2.5-pro":{displayName:"Gemini 2.5 Pro",description:"Reliable workhorse"},"gemini-2.5-flash":{displayName:"Gemini 2.5 Flash",description:"Speed-optimized"},"gpt-5.4-high":{displayName:"GPT-5.4",description:"Latest reasoning model"},"gpt-5.2":{displayName:"GPT-5.2",description:"Flagship model"},"gpt-5.3-codex":{displayName:"GPT-5.3 Codex",description:"Code specialist"},"composer-1.5":{displayName:"Composer 1.5",description:"Multi-file editing"},"grok-code":{displayName:"Grok Code",description:"xAI code model"},"gpt-8":{displayName:"GPT-8",description:"Writes code before you think it"},"opus-7":{displayName:"Opus 7",description:"Achieved consciousness, ships on time"}},r={displayName:"",description:""};function n(e){let n=t[e];return n||{...r,displayName:e.replace(/^claude-/,"").replace(/^gemini-/,"Gemini ").replace(/^gpt-/,"GPT-").replace(/-/g," ").replace(/\b\w/g,e=>e.toUpperCase())}}e.s(["getModelMeta",()=>n])},11345,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",()=>t],11345)},76016,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],76016)},30290,31499,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("007c5243ac1634ba6c291ab0a58b101809497a2bea",t.callServer,void 0,t.findSourceMapURL,"getAllAgentModels");e.s(["getAllAgentModels",()=>r],30290);let n=(0,t.createServerReference)("602943e3b506c64d63ab8e784f9a13ca897f8dd5ea",t.callServer,void 0,t.findSourceMapURL,"updateAgentAndModel");e.s(["updateAgentAndModel",()=>n],31499)}]);
|