@shipit-ai/cli 1.164.1 → 1.164.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/packages/core/src/infrastructure/services/agents/analyze-repo/analyze-repository-graph.d.ts +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/badge.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/button.d.ts +1 -1
- 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 +3 -3
- package/web/.next/fallback-build-manifest.json +3 -3
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +6 -6
- package/web/.next/required-server-files.json +6 -6
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
- 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 +27 -27
- 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 +30 -30
- 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 +37 -37
- 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 +37 -37
- 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 +28 -28
- 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 +28 -28
- 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 +27 -27
- 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 +30 -30
- 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 +37 -37
- 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 +37 -37
- 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 +27 -27
- 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 +28 -28
- 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 +28 -28
- 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 +1 -1
- 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 +6 -6
- 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 +9 -9
- 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 +11 -11
- 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 +11 -11
- 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 +6 -6
- 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]__0jx0isp._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__0jx0isp._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__0tb~wwk._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__0tb~wwk._.js.map +1 -1
- package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js +1 -1
- package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js.map +1 -1
- package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js +2 -2
- package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js.map +1 -1
- package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js +1 -1
- package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js.map +1 -1
- package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js +1 -1
- package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0.j0ktf._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0.j0ktf._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__07m44ax._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__07m44ax._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0frgz11._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0frgz11._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0oi7r67._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0pti1a3._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0pti1a3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0rv1gci._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0s9k_s3._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0s9k_s3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0v-vmgt._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0v-vmgt._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0yky~xo._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0yky~xo._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__11dc42t._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__11dc42t._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_0aakgii._.js → _05h68we._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_0aakgii._.js.map → _05h68we._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_0__4si~._.js +1 -1
- package/web/.next/server/chunks/ssr/_0__4si~._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0_m17kl._.js +1 -1
- package/web/.next/server/chunks/ssr/_0_m17kl._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0aa~oer._.js +1 -1
- package/web/.next/server/chunks/ssr/_0d4miu.._.js +1 -1
- package/web/.next/server/chunks/ssr/_0d4miu.._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0e8ern9._.js +1 -1
- package/web/.next/server/chunks/ssr/_0e8ern9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0ez.1o4._.js +1 -1
- package/web/.next/server/chunks/ssr/_0ez.1o4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0hovej-._.js +2 -2
- package/web/.next/server/chunks/ssr/_0hovej-._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0p3zs6p._.js +1 -1
- package/web/.next/server/chunks/ssr/_0p3zs6p._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0r.3n~3._.js +1 -1
- package/web/.next/server/chunks/ssr/_0r.3n~3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0sgeiju._.js +1 -1
- package/web/.next/server/chunks/ssr/_0sgeiju._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0t59q8r._.js +1 -1
- package/web/.next/server/chunks/ssr/_0t59q8r._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_133.z2f._.js → _0ts70ov._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_133.z2f._.js.map → _0ts70ov._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_0v.yfmg._.js +1 -1
- package/web/.next/server/chunks/ssr/_0v.yfmg._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0w-_hww._.js +1 -1
- package/web/.next/server/chunks/ssr/_0w-_hww._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0zk-h5w._.js +1 -1
- package/web/.next/server/chunks/ssr/_0zk-h5w._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0~ev6dw._.js +2 -2
- package/web/.next/server/chunks/ssr/_0~ev6dw._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1161g9x._.js +1 -1
- package/web/.next/server/chunks/ssr/_1161g9x._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_11kuznh._.js +1 -1
- package/web/.next/server/chunks/ssr/_11kuznh._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_13e1_1b._.js +3 -0
- package/web/.next/server/chunks/ssr/{_0427j6p._.js.map → _13e1_1b._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_0y11iiz._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_0y11iiz._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_0w2wqvu._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js.map +1 -1
- package/web/.next/server/middleware/middleware-manifest.json +5 -5
- package/web/.next/server/middleware-build-manifest.js +3 -3
- package/web/.next/server/middleware-manifest.json +5 -5
- package/web/.next/server/pages/500.html +1 -1
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +47 -47
- package/web/.next/static/chunks/{0qm-9ipi3co.d.js → 0.2owry_sk_ak.js} +1 -1
- package/web/.next/static/chunks/{0ureecfb3sk03.js → 01~tm1-qp0baa.js} +1 -1
- package/web/.next/static/chunks/{0si_11yihc0-l.js → 0_9hv9_f66hur.js} +1 -1
- package/web/.next/static/chunks/{0~io7k480nets.js → 0g-so1fagegtp.js} +1 -1
- package/web/.next/static/chunks/{09a1uo.4xdik3.js → 0in40lx7y7f8o.js} +1 -1
- package/web/.next/static/chunks/{0fc4~7_n~k~-y.js → 0qz02~wj25f-f.js} +1 -1
- package/web/.next/static/chunks/{0f698k1fycef7.js → 0rv6fo9ui94r9.js} +1 -1
- package/web/.next/static/chunks/{0yj1o1qkqnea0.js → 0t82zfhqgor5r.js} +1 -1
- package/web/.next/static/chunks/{0~d8qka._ncpd.js → 0whetjaoa5y.l.js} +2 -2
- package/web/.next/static/chunks/{0_5~ye5oqkvog.js → 0xs4~af3nc_15.js} +1 -1
- package/web/.next/static/chunks/{0dx9n.g50tq3h.js → 122mzkbtrj4-k.js} +2 -2
- package/web/.next/static/chunks/{0bkt5slti~l1x.js → 12pwrbjphv3z7.js} +1 -1
- package/web/.next/static/chunks/{0.ot~ed_rh0ui.js → 17jsatqy81xc..js} +2 -2
- package/web/.next/server/chunks/ssr/_0427j6p._.js +0 -3
- /package/web/.next/static/{ZJku-LesX1icuSm9WAIO0 → CJ4Fr1ggL4xWEe_fapYLv}/_buildManifest.js +0 -0
- /package/web/.next/static/{ZJku-LesX1icuSm9WAIO0 → CJ4Fr1ggL4xWEe_fapYLv}/_clientMiddlewareManifest.js +0 -0
- /package/web/.next/static/{ZJku-LesX1icuSm9WAIO0 → CJ4Fr1ggL4xWEe_fapYLv}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[79020,a=>{"use strict";var b=a.i(53083),c=a.i(11321),d=a.i(72016),e=a.i(34644),f=a.i(63698),g=a.i(53170),h=a.i(44981),i=a.i(25700);let j=(0,i.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"}]]),k=(0,i.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"}]]),l=(0,i.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 m=a.i(84494);let n=(0,i.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 o=a.i(7421),p=a.i(12882);let q=(0,i.default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);var r=a.i(52313);a.i(67999);var s=a.i(89246),t=a.i(85536),u=a.i(59175),v=a.i(6120);let w=(0,v.createServerReference)("4002c50773df6a66d80c66a754b2d564b1c81deb47",v.callServer,void 0,v.findSourceMapURL,"updateSettingsAction");var x=a.i(46847),y=a.i(7077),z=a.i(44447),A=a.i(87926);function B(a){return(0,b.jsx)(z.Code,{className:(0,t.cn)("h-4 w-4",a.className),...a})}function C({className:a}){return(0,b.jsx)(y.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,t.cn)("rounded-sm object-contain",a)})}function D({className:a}){return(0,b.jsx)(y.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,t.cn)("rounded-sm object-contain",a)})}function E({className:a}){return(0,b.jsx)(y.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,t.cn)("rounded-sm object-contain",a)})}function F({className:a}){return(0,b.jsx)(y.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,t.cn)("rounded-sm object-contain",a)})}function G({className:a,...c}){return(0,b.jsx)(A.Rocket,{className:(0,t.cn)("h-4 w-4",a),...c})}C.displayName="VsCodeIcon",D.displayName="CursorEditorIcon",E.displayName="WindsurfIcon",F.displayName="ZedIcon",G.displayName="AntigravityIcon";let H={vscode:C,cursor:D,windsurf:E,zed:F,antigravity:G};var I=a.i(61781),J=a.i(84117),K=a.i(584);let L=[{value:x.Language.English,label:"English",nativeName:"English"},{value:x.Language.Russian,label:"Русский",nativeName:"Русский"},{value:x.Language.Portuguese,label:"Português",nativeName:"Português"},{value:x.Language.Spanish,label:"Español",nativeName:"Español"},{value:x.Language.Arabic,label:"العربية",nativeName:"العربية"},{value:x.Language.Hebrew,label:"עברית",nativeName:"עברית"},{value:x.Language.French,label:"Français",nativeName:"Français"},{value:x.Language.German,label:"Deutsch",nativeName:"Deutsch"}];function M({language:a}){let{t:e,i18n:f}=(0,s.useTranslation)("web"),[g,h]=(0,c.useState)(a),[i,j]=(0,c.useTransition)(),[k,l]=(0,c.useState)(!1),n=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{if(n.current&&!i){l(!0);let a=setTimeout(()=>l(!1),2e3);return()=>clearTimeout(a)}n.current=i},[i]),(0,b.jsxs)(J.Card,{id:"language",className:"scroll-mt-6","data-testid":"language-settings-section",children:[(0,b.jsxs)(J.CardHeader,{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(m.Globe,{className:"text-muted-foreground h-4 w-4"}),(0,b.jsx)(J.CardTitle,{children:e("settings.language.title")})]}),i?(0,b.jsx)("span",{className:"text-muted-foreground text-xs",children:e("common:labels.saving")}):null,k&&!i?(0,b.jsxs)("span",{className:"flex items-center gap-1 text-xs text-green-600",children:[(0,b.jsx)(d.Check,{className:"h-3 w-3"}),e("common:labels.saved")]}):null]}),(0,b.jsx)(J.CardDescription,{children:e("settings.language.description")})]}),(0,b.jsx)(J.CardContent,{className:"space-y-4",children:(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(K.Label,{htmlFor:"display-language",children:e("settings.language.label")}),(0,b.jsxs)(u.Select,{value:g,onValueChange:function(a){h(a),f.changeLanguage(a);let b="ar"===a||"he"===a?"rtl":"ltr";document.documentElement.lang=a,document.documentElement.dir=b,j(async()=>{let b=await w({user:{preferredLanguage:a}});b.success||r.toast.error(b.error??e("settings.language.failedToSave","Failed to save language settings"))})},children:[(0,b.jsx)(u.SelectTrigger,{id:"display-language","data-testid":"language-select",children:(0,b.jsx)(u.SelectValue,{placeholder:e("settings.language.placeholder")})}),(0,b.jsx)(u.SelectContent,{children:L.map(a=>(0,b.jsx)(u.SelectItem,{value:a.value,children:a.nativeName},a.value))})]})]})})]})}var N=a.i(96853),N=N,O=a.i(67837),P=a.i(71238),Q=a.i(96867);function R({label:a,description:c,htmlFor:d,children:e}){return(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-2.5 last:border-b-0",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)(K.Label,{htmlFor:d,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:a}),c?(0,b.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:c}):null]}),(0,b.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:e})]})}function S({label:a,description:c,id:d,testId:e,checked:f,onChange:g,disabled:h}){return(0,b.jsx)(R,{label:a,description:c,htmlFor:d,children:(0,b.jsx)(Q.Switch,{id:d,"data-testid":e,checked:f,onCheckedChange:g,disabled:h,className:(0,t.cn)("cursor-pointer",h&&"cursor-not-allowed opacity-50")})})}function T({icon:a,title:c,description:d,badge:e,testId:f,children:g}){return(0,b.jsxs)("div",{className:"bg-background rounded-lg border","data-testid":f,children:[(0,b.jsxs)("div",{className:"bg-muted/30 border-b px-4 py-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(a,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,b.jsx)("h2",{className:"text-sm font-semibold",children:c}),e?(0,b.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider uppercase",children:e}):null]}),(0,b.jsx)("p",{className:"text-muted-foreground mt-0.5 text-[11px]",children:d})]}),(0,b.jsx)("div",{className:"px-4",children:g})]})}function U({id:a,testId:c,value:d,onChange:e,onBlur:f,placeholder:g,min:h=1,max:i,step:j=1,suffix:k}){let{t:l}=(0,s.useTranslation)("web"),m=""===d?void 0:parseInt(d,10);return(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center overflow-hidden rounded-md border",children:[(0,b.jsx)("button",{type:"button",onClick:()=>{e(String(Math.max(h,(m??parseInt(g,10))-j)))},onMouseUp:f,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":l("common.decrease"),children:(0,b.jsx)(N.default,{className:"h-3 w-3"})}),(0,b.jsx)("input",{id:a,"data-testid":c,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:d,placeholder:g,onChange:a=>{e(a.target.value.replace(/[^0-9]/g,""))},onBlur:f,className:"h-8 w-14 bg-transparent text-center text-xs outline-none"}),(0,b.jsx)("button",{type:"button",onClick:()=>{let a;a=m??parseInt(g,10),e(String(null!=i?Math.min(i,a+j):a+j))},onMouseUp:f,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":l("common.increase"),children:(0,b.jsx)(O.Plus,{className:"h-3 w-3"})})]}),k?(0,b.jsx)("span",{className:"text-muted-foreground text-[11px]",children:k}):null]})}function V({children:a}){return(0,b.jsx)("div",{className:"border-b pt-3 pb-1",children:(0,b.jsx)("span",{className:"text-muted-foreground text-[10px] font-semibold tracking-wider uppercase",children:a})})}function W({children:a,links:c}){return(0,b.jsxs)("div",{className:"hidden pt-2 lg:block",children:[(0,b.jsx)("p",{className:"text-muted-foreground/70 text-[11px] leading-relaxed",children:a}),null!=c&&c.length>0?(0,b.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:c.map(a=>(0,b.jsxs)("a",{href:a.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,b.jsx)(P.ExternalLink,{className:"h-2.5 w-2.5"}),a.label]},a.href))}):null]})}function X(a){if(""===a)return;let b=parseInt(a,10);return Number.isNaN(b)||b<=0?void 0:b}function Y({settings:a}){let{t:d}=(0,s.useTranslation)("web"),[,e]=(0,c.useTransition)(),[f,g]=(0,c.useState)(null!=a.workflow.ciMaxFixAttempts?String(a.workflow.ciMaxFixAttempts):""),[i,j]=(0,c.useState)(null!=a.workflow.ciWatchTimeoutMs?String(Math.round(a.workflow.ciWatchTimeoutMs/1e3)):""),[k,l]=(0,c.useState)(null!=a.workflow.ciLogMaxChars?String(a.workflow.ciLogMaxChars):""),[m,n]=(0,c.useState)(null!=a.workflow.ciWatchPollIntervalSeconds?String(a.workflow.ciWatchPollIntervalSeconds):""),[o,p]=(0,c.useState)(!1!==a.workflow.hideCiStatus),q=null!=a.workflow.ciMaxFixAttempts?String(a.workflow.ciMaxFixAttempts):"",t=null!=a.workflow.ciWatchTimeoutMs?String(Math.round(a.workflow.ciWatchTimeoutMs/1e3)):"",u=null!=a.workflow.ciLogMaxChars?String(a.workflow.ciLogMaxChars):"",v=null!=a.workflow.ciWatchPollIntervalSeconds?String(a.workflow.ciWatchPollIntervalSeconds):"";function x(a){e(async()=>{let b=await w(a);b.success||r.toast.error(b.error??d("settings.failedToSave"))})}function y(a){let b=X(a.ciTimeout??i);return{workflow:{ciMaxFixAttempts:X(a.ciMaxFix??f),ciWatchTimeoutMs:null!=b?1e3*b:void 0,ciLogMaxChars:X(a.ciLogMax??k),ciWatchPollIntervalSeconds:X(a.ciPollInterval??m),hideCiStatus:a.hideCiStatus??o}}}return(0,b.jsxs)(T,{icon:h.Activity,title:d("settings.ci.title"),description:d("settings.ci.description"),testId:"ci-settings-section",children:[(0,b.jsx)(R,{label:d("settings.ci.maxFixAttempts"),description:d("settings.ci.maxFixAttemptsDescription"),htmlFor:"ci-max-fix",children:(0,b.jsx)(U,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:f,onChange:g,onBlur:()=>{f!==q&&x(y({ciMaxFix:f}))},min:1,max:10})}),(0,b.jsx)(R,{label:d("settings.ci.watchTimeout"),description:d("settings.ci.watchTimeoutDescription"),htmlFor:"ci-timeout",children:(0,b.jsx)(U,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:i,onChange:j,onBlur:()=>{i!==t&&x(y({ciTimeout:i}))},min:30,step:30,suffix:"sec"})}),(0,b.jsx)(R,{label:d("settings.ci.maxLogSize"),description:d("settings.ci.maxLogSizeDescription"),htmlFor:"ci-log-max",children:(0,b.jsx)(U,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:k,onChange:l,onBlur:()=>{k!==u&&x(y({ciLogMax:k}))},min:1e3,step:5e3,suffix:"chars"})}),(0,b.jsx)(R,{label:d("settings.ci.pollInterval"),description:d("settings.ci.pollIntervalDescription"),htmlFor:"ci-poll-interval",children:(0,b.jsx)(U,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:m,onChange:n,onBlur:()=>{m!==v&&x(y({ciPollInterval:m}))},min:5,step:5,suffix:"sec"})}),(0,b.jsx)(S,{label:d("settings.ci.hideCiStatus"),description:d("settings.ci.hideCiStatusDescription"),id:"hide-ci-status",testId:"switch-hide-ci-status",checked:o,onChange:a=>{p(a),x(y({hideCiStatus:a}))}})]})}var Z=a.i(48972),$=a.i(59653),_=a.i(80303),aa=a.i(95819),ab=a.i(47427),ac=a.i(60380),ad=a.i(41387),ae=a.i(97045),af=a.i(30419),ag=a.i(69471),ah=["PageUp","PageDown"],ai=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],aj={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},ak="Slider",[al,am,an]=(0,ag.createCollection)(ak),[ao,ap]=(0,aa.createContextScope)(ak,[an]),[aq,ar]=ao(ak),as=c.forwardRef((a,d)=>{let{name:e,min:f=0,max:g=100,step:h=1,orientation:i="horizontal",disabled:j=!1,minStepsBetweenThumbs:k=0,defaultValue:l=[f],value:m,onValueChange:n=()=>{},onValueCommit:o=()=>{},inverted:p=!1,form:q,...r}=a,s=c.useRef(new Set),t=c.useRef(0),u="horizontal"===i,[v=[],w]=(0,ab.useControllableState)({prop:m,defaultProp:l,onChange:a=>{let b=[...s.current];b[t.current]?.focus(),n(a)}}),x=c.useRef(v);function y(a,b,{commit:c}={commit:!1}){let d,e=(String(h).split(".")[1]||"").length,i=Math.round((Math.round((a-f)/h)*h+f)*(d=Math.pow(10,e)))/d,j=(0,Z.clamp)(i,[f,g]);w((a=[])=>{let d=function(a=[],b,c){let d=[...a];return d[c]=b,d.sort((a,b)=>a-b)}(a,j,b);if(!function(a,b){if(b>0)return Math.min(...a.slice(0,-1).map((b,c)=>a[c+1]-b))>=b;return!0}(d,k*h))return a;{t.current=d.indexOf(j);let b=String(d)!==String(a);return b&&c&&o(d),b?d:a}})}return(0,b.jsx)(aq,{scope:a.__scopeSlider,name:e,disabled:j,min:f,max:g,valueIndexToChangeRef:t,thumbs:s.current,values:v,orientation:i,form:q,children:(0,b.jsx)(al.Provider,{scope:a.__scopeSlider,children:(0,b.jsx)(al.Slot,{scope:a.__scopeSlider,children:(0,b.jsx)(u?av:aw,{"aria-disabled":j,"data-disabled":j?"":void 0,...r,ref:d,onPointerDown:(0,$.composeEventHandlers)(r.onPointerDown,()=>{j||(x.current=v)}),min:f,max:g,inverted:p,onSlideStart:j?void 0:function(a){let b=function(a,b){if(1===a.length)return 0;let c=a.map(a=>Math.abs(a-b)),d=Math.min(...c);return c.indexOf(d)}(v,a);y(a,b)},onSlideMove:j?void 0:function(a){y(a,t.current)},onSlideEnd:j?void 0:function(){let a=x.current[t.current];v[t.current]!==a&&o(v)},onHomeKeyDown:()=>!j&&y(f,0,{commit:!0}),onEndKeyDown:()=>!j&&y(g,v.length-1,{commit:!0}),onStepKeyDown:({event:a,direction:b})=>{if(!j){let c=ah.includes(a.key)||a.shiftKey&&ai.includes(a.key),d=t.current;y(v[d]+h*(c?10:1)*b,d,{commit:!0})}}})})})})});as.displayName=ak;var[at,au]=ao(ak,{startEdge:"left",endEdge:"right",size:"width",direction:1}),av=c.forwardRef((a,d)=>{let{min:e,max:f,dir:g,inverted:h,onSlideStart:i,onSlideMove:j,onSlideEnd:k,onStepKeyDown:l,...m}=a,[n,o]=c.useState(null),p=(0,_.useComposedRefs)(d,a=>o(a)),q=c.useRef(void 0),r=(0,ac.useDirection)(g),s="ltr"===r,t=s&&!h||!s&&h;function u(a){let b=q.current||n.getBoundingClientRect(),c=aH([0,b.width],t?[e,f]:[f,e]);return q.current=b,c(a-b.left)}return(0,b.jsx)(at,{scope:a.__scopeSlider,startEdge:t?"left":"right",endEdge:t?"right":"left",direction:t?1:-1,size:"width",children:(0,b.jsx)(ax,{dir:r,"data-orientation":"horizontal",...m,ref:p,style:{...m.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:a=>{let b=u(a.clientX);i?.(b)},onSlideMove:a=>{let b=u(a.clientX);j?.(b)},onSlideEnd:()=>{q.current=void 0,k?.()},onStepKeyDown:a=>{let b=aj[t?"from-left":"from-right"].includes(a.key);l?.({event:a,direction:b?-1:1})}})})}),aw=c.forwardRef((a,d)=>{let{min:e,max:f,inverted:g,onSlideStart:h,onSlideMove:i,onSlideEnd:j,onStepKeyDown:k,...l}=a,m=c.useRef(null),n=(0,_.useComposedRefs)(d,m),o=c.useRef(void 0),p=!g;function q(a){let b=o.current||m.current.getBoundingClientRect(),c=aH([0,b.height],p?[f,e]:[e,f]);return o.current=b,c(a-b.top)}return(0,b.jsx)(at,{scope:a.__scopeSlider,startEdge:p?"bottom":"top",endEdge:p?"top":"bottom",size:"height",direction:p?1:-1,children:(0,b.jsx)(ax,{"data-orientation":"vertical",...l,ref:n,style:{...l.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:a=>{let b=q(a.clientY);h?.(b)},onSlideMove:a=>{let b=q(a.clientY);i?.(b)},onSlideEnd:()=>{o.current=void 0,j?.()},onStepKeyDown:a=>{let b=aj[p?"from-bottom":"from-top"].includes(a.key);k?.({event:a,direction:b?-1:1})}})})}),ax=c.forwardRef((a,c)=>{let{__scopeSlider:d,onSlideStart:e,onSlideMove:f,onSlideEnd:g,onHomeKeyDown:h,onEndKeyDown:i,onStepKeyDown:j,...k}=a,l=ar(ak,d);return(0,b.jsx)(af.Primitive.span,{...k,ref:c,onKeyDown:(0,$.composeEventHandlers)(a.onKeyDown,a=>{"Home"===a.key?(h(a),a.preventDefault()):"End"===a.key?(i(a),a.preventDefault()):ah.concat(ai).includes(a.key)&&(j(a),a.preventDefault())}),onPointerDown:(0,$.composeEventHandlers)(a.onPointerDown,a=>{let b=a.target;b.setPointerCapture(a.pointerId),a.preventDefault(),l.thumbs.has(b)?b.focus():e(a)}),onPointerMove:(0,$.composeEventHandlers)(a.onPointerMove,a=>{a.target.hasPointerCapture(a.pointerId)&&f(a)}),onPointerUp:(0,$.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&(b.releasePointerCapture(a.pointerId),g(a))})})}),ay="SliderTrack",az=c.forwardRef((a,c)=>{let{__scopeSlider:d,...e}=a,f=ar(ay,d);return(0,b.jsx)(af.Primitive.span,{"data-disabled":f.disabled?"":void 0,"data-orientation":f.orientation,...e,ref:c})});az.displayName=ay;var aA="SliderRange",aB=c.forwardRef((a,d)=>{let{__scopeSlider:e,...f}=a,g=ar(aA,e),h=au(aA,e),i=c.useRef(null),j=(0,_.useComposedRefs)(d,i),k=g.values.length,l=g.values.map(a=>aG(a,g.min,g.max)),m=k>1?Math.min(...l):0,n=100-Math.max(...l);return(0,b.jsx)(af.Primitive.span,{"data-orientation":g.orientation,"data-disabled":g.disabled?"":void 0,...f,ref:j,style:{...a.style,[h.startEdge]:m+"%",[h.endEdge]:n+"%"}})});aB.displayName=aA;var aC="SliderThumb",aD=c.forwardRef((a,d)=>{let e=am(a.__scopeSlider),[f,g]=c.useState(null),h=(0,_.useComposedRefs)(d,a=>g(a)),i=c.useMemo(()=>f?e().findIndex(a=>a.ref.current===f):-1,[e,f]);return(0,b.jsx)(aE,{...a,ref:h,index:i})}),aE=c.forwardRef((a,d)=>{var e,f,g,h,i;let j,k,{__scopeSlider:l,index:m,name:n,...o}=a,p=ar(aC,l),q=au(aC,l),[r,s]=c.useState(null),t=(0,_.useComposedRefs)(d,a=>s(a)),u=!r||p.form||!!r.closest("form"),v=(0,ae.useSize)(r),w=p.values[m],x=void 0===w?0:aG(w,p.min,p.max),y=(e=m,(f=p.values.length)>2?`Value ${e+1} of ${f}`:2===f?["Minimum","Maximum"][e]:void 0),z=v?.[q.size],A=z?(g=z,h=x,i=q.direction,k=aH([0,50],[0,j=g/2]),(j-k(h)*i)*i):0;return c.useEffect(()=>{if(r)return p.thumbs.add(r),()=>{p.thumbs.delete(r)}},[r,p.thumbs]),(0,b.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[q.startEdge]:`calc(${x}% + ${A}px)`},children:[(0,b.jsx)(al.ItemSlot,{scope:a.__scopeSlider,children:(0,b.jsx)(af.Primitive.span,{role:"slider","aria-label":a["aria-label"]||y,"aria-valuemin":p.min,"aria-valuenow":w,"aria-valuemax":p.max,"aria-orientation":p.orientation,"data-orientation":p.orientation,"data-disabled":p.disabled?"":void 0,tabIndex:p.disabled?void 0:0,...o,ref:t,style:void 0===w?{display:"none"}:a.style,onFocus:(0,$.composeEventHandlers)(a.onFocus,()=>{p.valueIndexToChangeRef.current=m})})}),u&&(0,b.jsx)(aF,{name:n??(p.name?p.name+(p.values.length>1?"[]":""):void 0),form:p.form,value:w},m)]})});aD.displayName=aC;var aF=c.forwardRef(({__scopeSlider:a,value:d,...e},f)=>{let g=c.useRef(null),h=(0,_.useComposedRefs)(g,f),i=(0,ad.usePrevious)(d);return c.useEffect(()=>{let a=g.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(i!==d&&b){let c=new Event("input",{bubbles:!0});b.call(a,d),a.dispatchEvent(c)}},[i,d]),(0,b.jsx)(af.Primitive.input,{style:{display:"none"},...e,ref:h,defaultValue:d})});function aG(a,b,c){return(0,Z.clamp)(100/(c-b)*(a-b),[0,100])}function aH(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}aF.displayName="RadioBubbleInput",a.s(["Range",0,aB,"Root",0,as,"Slider",0,as,"SliderRange",0,aB,"SliderThumb",0,aD,"SliderTrack",0,az,"Thumb",0,aD,"Track",0,az,"createSliderScope",0,ap],40432);var aI=a.i(40432),aI=aI;function aJ({className:a,defaultValue:d,value:e,min:f=0,max:g=100,...h}){let i=c.useMemo(()=>Array.isArray(e)?e:Array.isArray(d)?d:[f,g],[e,d,f,g]);return(0,b.jsxs)(aI.Root,{"data-slot":"slider",defaultValue:d,value:e,min:f,max:g,className:(0,t.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",a),...h,children:[(0,b.jsx)(aI.Track,{"data-slot":"slider-track",className:(0,t.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,b.jsx)(aI.Range,{"data-slot":"slider-range",className:(0,t.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:i.length},(a,c)=>(0,b.jsx)(aI.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"},c))]})}let aK=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],aL=aK.length-1;function aM(a){let b=0,c=Math.abs(a-aK[0]);for(let d=1;d<aK.length;d++){let e=Math.abs(a-aK[d]);e<c&&(c=e,b=d)}return b}function aN({id:a,testId:d,value:e,onChange:f,onBlur:g,defaultSeconds:h=1800}){var i;let j,k,l=(""===e?h:parseInt(e,10))||h,[m,n]=(0,c.useState)(()=>aM(l)),o=aM(l);o!==m&&aK[m]!==l&&n(o);let p=(0,c.useCallback)(([a])=>{n(a),f(String(aK[a]))},[f]);return(0,b.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,b.jsx)(aJ,{id:a,"data-testid":d,min:0,max:aL,step:1,value:[m],onValueChange:p,onValueCommit:()=>g(),className:"min-w-0 flex-1"}),(0,b.jsx)("span",{className:"text-muted-foreground shrink-0 text-end text-xs tabular-nums",children:(j=Math.floor((i=aK[m])/3600),k=Math.round(i%3600/60),0===j?`${k}m`:0===k?`${j}h`:`${j}h ${k}m`)})]})}function aO(a){if(void 0===a)return;let b=function(a){if(""===a)return;let b=parseInt(a,10);return Number.isNaN(b)||b<=0?void 0:b}(a);return null!=b?1e3*b:void 0}function aP({settings:a}){let{t:d}=(0,s.useTranslation)("web"),[,e]=(0,c.useTransition)(),f=a.workflow.stageTimeouts,g=a.workflow.analyzeRepoTimeouts,[h,i]=(0,c.useState)(String(Math.round((f?.analyzeMs??18e5)/1e3))),[j,k]=(0,c.useState)(String(Math.round((f?.requirementsMs??18e5)/1e3))),[l,m]=(0,c.useState)(String(Math.round((f?.researchMs??18e5)/1e3))),[n,p]=(0,c.useState)(String(Math.round((f?.planMs??18e5)/1e3))),[q,t]=(0,c.useState)(String(Math.round((f?.implementMs??18e5)/1e3))),[u,v]=(0,c.useState)(String(Math.round((f?.mergeMs??18e5)/1e3))),[x,y]=(0,c.useState)(String(Math.round((g?.analyzeMs??6e5)/1e3))),z=f?.analyzeMs!=null?String(Math.round(f.analyzeMs/1e3)):"",A=f?.requirementsMs!=null?String(Math.round(f.requirementsMs/1e3)):"",B=f?.researchMs!=null?String(Math.round(f.researchMs/1e3)):"",C=f?.planMs!=null?String(Math.round(f.planMs/1e3)):"",D=f?.implementMs!=null?String(Math.round(f.implementMs/1e3)):"",E=f?.mergeMs!=null?String(Math.round(f.mergeMs/1e3)):"",F=g?.analyzeMs!=null?String(Math.round(g.analyzeMs/1e3)):"";function G(a){return{workflow:{stageTimeouts:{analyzeMs:aO(a.analyzeTimeout??h),requirementsMs:aO(a.requirementsTimeout??j),researchMs:aO(a.researchTimeout??l),planMs:aO(a.planTimeout??n),implementMs:aO(a.implementTimeout??q),mergeMs:aO(a.mergeTimeout??u)},analyzeRepoTimeouts:{analyzeMs:aO(a.analyzeRepoTimeout??x)}}}}function H(a){e(async()=>{let b=await w(a);b.success||r.toast.error(b.error??d("settings.failedToSave"))})}return(0,b.jsxs)(T,{icon:o.Timer,title:d("settings.stageTimeouts.title"),description:d("settings.stageTimeouts.description"),testId:"stage-timeouts-settings-section",children:[(0,b.jsx)(V,{children:d("settings.stageTimeouts.subsections.featureAgent")}),(0,b.jsx)(R,{label:d("settings.stageTimeouts.analyze"),description:d("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze",children:(0,b.jsx)(aN,{id:"timeout-analyze",testId:"timeout-analyze-input",value:h,onChange:i,onBlur:()=>{h!==z&&H(G({analyzeTimeout:h}))},defaultSeconds:1800})}),(0,b.jsx)(R,{label:d("settings.stageTimeouts.requirements"),description:d("settings.stageTimeouts.requirementsDescription"),htmlFor:"timeout-requirements",children:(0,b.jsx)(aN,{id:"timeout-requirements",testId:"timeout-requirements-input",value:j,onChange:k,onBlur:()=>{j!==A&&H(G({requirementsTimeout:j}))},defaultSeconds:1800})}),(0,b.jsx)(R,{label:d("settings.stageTimeouts.research"),description:d("settings.stageTimeouts.researchDescription"),htmlFor:"timeout-research",children:(0,b.jsx)(aN,{id:"timeout-research",testId:"timeout-research-input",value:l,onChange:m,onBlur:()=>{l!==B&&H(G({researchTimeout:l}))},defaultSeconds:1800})}),(0,b.jsx)(R,{label:d("settings.stageTimeouts.plan"),description:d("settings.stageTimeouts.planDescription"),htmlFor:"timeout-plan",children:(0,b.jsx)(aN,{id:"timeout-plan",testId:"timeout-plan-input",value:n,onChange:p,onBlur:()=>{n!==C&&H(G({planTimeout:n}))},defaultSeconds:1800})}),(0,b.jsx)(R,{label:d("settings.stageTimeouts.implement"),description:d("settings.stageTimeouts.implementDescription"),htmlFor:"timeout-implement",children:(0,b.jsx)(aN,{id:"timeout-implement",testId:"timeout-implement-input",value:q,onChange:t,onBlur:()=>{q!==D&&H(G({implementTimeout:q}))},defaultSeconds:1800})}),(0,b.jsx)(R,{label:d("settings.stageTimeouts.merge"),description:d("settings.stageTimeouts.mergeDescription"),htmlFor:"timeout-merge",children:(0,b.jsx)(aN,{id:"timeout-merge",testId:"timeout-merge-input",value:u,onChange:v,onBlur:()=>{u!==E&&H(G({mergeTimeout:u}))},defaultSeconds:1800})}),(0,b.jsx)(V,{children:d("settings.stageTimeouts.subsections.analyzeRepoAgent")}),(0,b.jsx)(R,{label:d("settings.stageTimeouts.analyze"),description:d("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze-repo",children:(0,b.jsx)(aN,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:x,onChange:y,onBlur:()=>{x!==F&&H(G({analyzeRepoTimeout:x}))},defaultSeconds:600})})]})}function aQ({settings:a}){let{t:d}=(0,s.useTranslation)("web"),[,e]=(0,c.useTransition)(),f=a.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[g,h]=(0,c.useState)(f.enabled),[i,j]=(0,c.useState)(String(f.autoTimeoutMinutes)),[k,l]=(0,c.useState)(String(f.maxConcurrentSessions));function m(a){e(async()=>{let b=await w(a);b.success||r.toast.error(b.error??d("settings.failedToSave"))})}return(0,b.jsxs)(T,{icon:p.MessageSquare,title:d("settings.interactiveAgent.title"),description:d("settings.interactiveAgent.description"),testId:"interactive-agent-settings-section",children:[(0,b.jsx)(S,{label:d("settings.interactiveAgent.enableChatTab"),description:d("settings.interactiveAgent.enableChatTabDescription"),id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:g,onChange:a=>{h(a),m({interactiveAgent:{enabled:a,autoTimeoutMinutes:parseInt(i,10)||15,maxConcurrentSessions:parseInt(k,10)||3}})}}),(0,b.jsx)(R,{label:d("settings.interactiveAgent.autoTimeout"),description:d("settings.interactiveAgent.autoTimeoutDescription"),htmlFor:"interactive-agent-timeout",children:(0,b.jsx)(U,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:i,placeholder:"15",min:1,max:120,suffix:"min",onChange:j,onBlur:()=>{let a=parseInt(i,10),b=Number.isNaN(a)?15:Math.min(120,Math.max(1,a));j(String(b)),m({interactiveAgent:{enabled:g,autoTimeoutMinutes:b,maxConcurrentSessions:parseInt(k,10)||3}})}})}),(0,b.jsx)(R,{label:d("settings.interactiveAgent.maxConcurrentSessions"),description:d("settings.interactiveAgent.maxConcurrentSessionsDescription"),htmlFor:"interactive-agent-sessions",children:(0,b.jsx)(U,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:k,placeholder:"3",min:1,max:10,onChange:l,onBlur:()=>{let a=parseInt(k,10),b=Number.isNaN(a)?3:Math.min(10,Math.max(1,a));l(String(b)),m({interactiveAgent:{enabled:g,autoTimeoutMinutes:parseInt(i,10)||15,maxConcurrentSessions:b}})}})})]})}function aR({settings:a}){let{t:d}=(0,s.useTranslation)("web"),[,e]=(0,c.useTransition)(),f=a.fabLayout??{swapPosition:!1},[g,h]=(0,c.useState)(f.swapPosition);return(0,b.jsx)(T,{icon:q,title:d("settings.fabLayout.title"),description:d("settings.fabLayout.description"),testId:"fab-layout-settings-section",children:(0,b.jsx)(S,{label:d("settings.fabLayout.swapPosition"),description:d("settings.fabLayout.swapPositionDescription"),id:"fab-swap-position",testId:"switch-fab-swap-position",checked:g,onChange:a=>{var b;h(a),b={fabLayout:{swapPosition:a}},e(async()=>{let a=await w(b);a.success||r.toast.error(a.error??d("settings.failedToSave"))})}})})}let aS=[{value:x.EditorType.VsCode,label:"VS Code"},{value:x.EditorType.Cursor,label:"Cursor"},{value:x.EditorType.Windsurf,label:"Windsurf"},{value:x.EditorType.Zed,label:"Zed"},{value:x.EditorType.Antigravity,label:"Antigravity"}],aT=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],aU=[{id:"language",labelKey:"settings.sections.language",icon:m.Globe},{id:"agent",labelKey:"settings.sections.agent",icon:e.Bot},{id:"environment",labelKey:"settings.sections.environment",icon:f.Terminal},{id:"workflow",labelKey:"settings.sections.workflow",icon:g.GitBranch},{id:"ci",labelKey:"settings.sections.ci",icon:h.Activity},{id:"stage-timeouts",labelKey:"settings.sections.timeouts",icon:o.Timer},{id:"notifications",labelKey:"settings.sections.notifications",icon:j},{id:"feature-flags",labelKey:"settings.sections.flags",icon:k},{id:"interactive-agent",labelKey:"settings.sections.chat",icon:p.MessageSquare},{id:"fab-layout",labelKey:"settings.sections.layout",icon:q},{id:"database",labelKey:"settings.sections.database",icon:l}];a.s(["SettingsPageClient",0,function({settings:a,shipitAiHome:h,dbFileSize:i,availableTerminals:m}){let{t:o}=(0,s.useTranslation)("web"),{showSaving:p,showSaved:q,save:v}=function(){let{t:a}=(0,s.useTranslation)("web"),[b,d]=(0,c.useTransition)(),[e,f]=(0,c.useState)(!1),[g,h]=(0,c.useState)(!1),i=(0,c.useRef)(null),j=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{b&&!e&&(f(!0),j.current=!1,i.current=setTimeout(()=>{i.current=null,j.current&&(f(!1),h(!0),setTimeout(()=>h(!1),2e3))},350)),!b&&e&&(j.current=!0,i.current||(f(!1),h(!0),setTimeout(()=>h(!1),2e3)))},[b,e]),{showSaving:e,showSaved:g,save:(0,c.useCallback)(b=>{d(async()=>{let c=await w(b);c.success||r.toast.error(c.error??a("settings.failedToSave"))})},[d,a])}}(),y=a.featureFlags??{skills:!1,envDeploy:!1,debug:!1,githubImport:!1,adoptBranch:!1,gitRebaseSync:!1,reactFileManager:!1},[z,A]=(0,c.useState)(a.agent.type),[C,D]=(0,c.useState)(a.environment.defaultEditor),[E,F]=(0,c.useState)(a.environment.shellPreference),[G,J]=(0,c.useState)(a.environment.terminalPreference??x.TerminalType.System),K=m?m.filter(a=>a.available):[{id:x.TerminalType.System,name:o("settings.environment.systemTerminal"),available:!0}],[L,N]=(0,c.useState)(a.workflow.openPrOnImplementationComplete),[O,P]=(0,c.useState)(a.workflow.approvalGateDefaults.pushOnImplementationComplete),[Q,X]=(0,c.useState)(a.workflow.approvalGateDefaults.allowPrd),[Z,$]=(0,c.useState)(a.workflow.approvalGateDefaults.allowPlan),[_,aa]=(0,c.useState)(a.workflow.approvalGateDefaults.allowMerge),[ab,ac]=(0,c.useState)(a.workflow.enableEvidence),[ad,ae]=(0,c.useState)(a.workflow.commitEvidence),[af,ag]=(0,c.useState)(!1!==a.workflow.ciWatchEnabled),[ah,ai]=(0,c.useState)(!1!==a.workflow.defaultFastMode),[aj,ak]=(0,c.useState)((a.workflow.autoArchiveDelayMinutes??10)>0),[al,am]=(0,c.useState)(String(a.workflow.autoArchiveDelayMinutes??10)),[an,ao]=(0,c.useState)(a.notifications.inApp.enabled),[ap,aq]=(0,c.useState)({...a.notifications.events}),[ar,as]=(0,c.useState)({...y});function at(a={}){let b=a.autoArchiveEnabled??aj,c=parseInt(a.autoArchiveDelay??al,10);return{workflow:{openPrOnImplementationComplete:a.openPr??L,approvalGateDefaults:{pushOnImplementationComplete:a.pushOnComplete??O,allowPrd:a.allowPrd??Q,allowPlan:a.allowPlan??Z,allowMerge:a.allowMerge??_},enableEvidence:a.enableEvidence??ab,commitEvidence:a.commitEvidence??ad,ciWatchEnabled:a.ciWatchEnabled??af,defaultFastMode:a.defaultFastMode??ah,autoArchiveDelayMinutes:b?Number.isNaN(c)||c<1?10:c:0}}}function au(a={}){return{notifications:{inApp:{enabled:a.inApp??an},events:a.events??ap}}}let[av,aw]=(0,c.useState)("agent");(0,c.useEffect)(()=>{let a=aU.map(a=>document.getElementById(`section-${a.id}`)).filter(Boolean);if(0===a.length)return;let b=new IntersectionObserver(a=>{for(let b of a)b.isIntersecting&&aw(b.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let c of a)b.observe(c);return()=>b.disconnect()},[]);let ax=(0,c.useCallback)(a=>{let b=document.getElementById(`section-${a}`);b&&(b.scrollIntoView({behavior:"smooth",block:"start"}),b.style.animation="none",b.offsetHeight,b.style.animation="section-flash 1s ease-out")},[]);return(0,b.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-5xl",children:[(0,b.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,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(n,{className:"text-muted-foreground h-4 w-4"}),(0,b.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:o("settings.title")}),(0,b.jsxs)("span",{className:"relative h-4 w-16",children:[(0,b.jsx)("span",{className:(0,t.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",p?"opacity-100":"opacity-0"),children:o("settings.saving")}),(0,b.jsxs)("span",{className:(0,t.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",q&&!p?"opacity-100":"opacity-0"),children:[(0,b.jsx)(d.Check,{className:"h-3 w-3"}),o("settings.saved")]})]}),(0,b.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:aU.map(a=>{let c=a.icon,d=av===a.id;return(0,b.jsxs)("button",{type:"button",onClick:()=>ax(a.id),className:(0,t.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",d?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,b.jsx)(c,{className:"h-3 w-3"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:o(a.labelKey)})]},a.id)})})]})}),(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.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,b.jsx)(M,{language:a.user?.preferredLanguage??x.Language.English})}),(0,b.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,b.jsx)(T,{icon:e.Bot,title:o("settings.agent.sectionTitle"),description:o("settings.agent.sectionDescription"),testId:"agent-settings-section",children:(0,b.jsx)(R,{label:o("settings.agent.agentAndModel"),description:o("settings.agent.agentAndModelDescription"),htmlFor:"agent-model-picker",children:(0,b.jsx)(I.AgentModelPicker,{initialAgentType:z,initialModel:a.models.default,mode:"settings",onAgentModelChange:a=>A(a),className:"w-55"})})}),(0,b.jsx)(W,{links:[{label:o("settings.agent.links.agentSystem"),href:"https://github.com/jrmatherly/shipit/blob/main/docs/architecture/agent-system.md"},{label:o("settings.agent.links.addingAgents"),href:"https://github.com/jrmatherly/shipit/blob/main/docs/development/adding-agents.md"},{label:o("settings.agent.links.configurationGuide"),href:"https://github.com/jrmatherly/shipit/blob/main/docs/guides/configuration.md"}],children:o("settings.agent.hint")})]}),(0,b.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,b.jsxs)(T,{icon:f.Terminal,title:o("settings.environment.sectionTitle"),description:o("settings.environment.sectionDescription"),testId:"environment-settings-section",children:[(0,b.jsx)(R,{label:o("settings.environment.defaultEditor"),description:o("settings.environment.defaultEditorDescription"),htmlFor:"default-editor",children:(0,b.jsxs)(u.Select,{value:C,onValueChange:a=>{D(a),v({environment:{defaultEditor:a,shellPreference:E,terminalPreference:G}})},children:[(0,b.jsx)(u.SelectTrigger,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,b.jsx)(u.SelectValue,{})}),(0,b.jsx)(u.SelectContent,{children:aS.map(a=>{var c;let d=(c=a.value)&&c in H?H[c]:B;return(0,b.jsx)(u.SelectItem,{value:a.value,children:(0,b.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(d,{className:"h-4 w-4 shrink-0"}),a.label]})},a.value)})})]})}),(0,b.jsx)(R,{label:o("settings.environment.shell"),description:o("settings.environment.shellDescription"),htmlFor:"shell-preference",children:(0,b.jsxs)(u.Select,{value:E,onValueChange:a=>{F(a),v({environment:{defaultEditor:C,shellPreference:a,terminalPreference:G}})},children:[(0,b.jsx)(u.SelectTrigger,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,b.jsx)(u.SelectValue,{})}),(0,b.jsx)(u.SelectContent,{children:aT.map(a=>(0,b.jsx)(u.SelectItem,{value:a.value,children:a.label},a.value))})]})}),(0,b.jsx)(R,{label:o("settings.environment.terminal"),description:o("settings.environment.terminalDescription"),htmlFor:"terminal-preference",children:(0,b.jsxs)(u.Select,{value:G,onValueChange:a=>{J(a),v({environment:{defaultEditor:C,shellPreference:E,terminalPreference:a}})},children:[(0,b.jsx)(u.SelectTrigger,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,b.jsx)(u.SelectValue,{})}),(0,b.jsx)(u.SelectContent,{children:K.map(a=>(0,b.jsx)(u.SelectItem,{value:a.id,children:a.name},a.id))})]})})]}),(0,b.jsx)(W,{links:[{label:o("settings.environment.links.configurationGuide"),href:"https://github.com/jrmatherly/shipit/blob/main/docs/guides/configuration.md"}],children:o("settings.environment.hint")})]}),(0,b.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,b.jsxs)(T,{icon:g.GitBranch,title:o("settings.workflow.title"),description:o("settings.workflow.sectionDescription"),testId:"workflow-settings-section",children:[(0,b.jsx)(S,{label:o("settings.workflow.defaultFastMode"),description:o("settings.workflow.defaultFastModeDescription"),id:"default-fast-mode",testId:"switch-default-fast-mode",checked:ah,onChange:a=>{ai(a),v(at({defaultFastMode:a}))}}),(0,b.jsx)(V,{children:o("settings.workflow.subsections.approve")}),(0,b.jsx)(S,{label:o("settings.workflow.autoApprovePrd"),description:o("settings.workflow.autoApprovePrdDescription"),id:"allow-prd",testId:"switch-allow-prd",checked:Q,onChange:a=>{X(a),v(at({allowPrd:a}))}}),(0,b.jsx)(S,{label:o("settings.workflow.autoApprovePlan"),description:o("settings.workflow.autoApprovePlanDescription"),id:"allow-plan",testId:"switch-allow-plan",checked:Z,onChange:a=>{$(a),v(at({allowPlan:a}))}}),(0,b.jsx)(S,{label:o("settings.workflow.autoApproveMerge"),description:o("settings.workflow.autoApproveMergeDescription"),id:"allow-merge",testId:"switch-allow-merge",checked:_,onChange:a=>{aa(a),v(at({allowMerge:a}))}}),(0,b.jsx)(V,{children:o("settings.workflow.subsections.evidence")}),(0,b.jsx)(S,{label:o("settings.workflow.collectEvidence"),description:o("settings.workflow.collectEvidenceDescription"),id:"enable-evidence",testId:"switch-enable-evidence",checked:ab,onChange:a=>{ac(a),a?v(at({enableEvidence:a})):(ae(!1),v(at({enableEvidence:a,commitEvidence:!1})))}}),(0,b.jsx)(S,{label:o("settings.workflow.addEvidenceToPr"),description:o("settings.workflow.addEvidenceToPrDescription"),id:"commit-evidence",testId:"switch-commit-evidence",checked:ad,disabled:!ab||!L,onChange:a=>{ae(a),v(at({commitEvidence:a}))}}),(0,b.jsx)(V,{children:o("settings.workflow.subsections.git")}),(0,b.jsx)(S,{label:o("settings.workflow.pushOnComplete"),description:o("settings.workflow.pushOnCompleteDescription"),id:"push-on-complete",testId:"switch-push-on-complete",checked:O,onChange:a=>{P(a),v(at({pushOnComplete:a}))}}),(0,b.jsx)(S,{label:o("settings.workflow.openPrOnComplete"),description:o("settings.workflow.openPrOnCompleteDescription"),id:"open-pr",testId:"switch-open-pr",checked:L,onChange:a=>{N(a),a?v(at({openPr:a})):(ae(!1),v(at({openPr:a,commitEvidence:!1})))}}),(0,b.jsx)(S,{label:o("settings.workflow.watchCiAfterPush"),description:o("settings.workflow.watchCiAfterPushDescription"),id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:af,onChange:a=>{ag(a),v(at({ciWatchEnabled:a}))}}),(0,b.jsx)(V,{children:"Archive"}),(0,b.jsx)(S,{label:"Auto-archive completed",description:"Automatically archive features after they reach the completed state",id:"auto-archive-enabled",testId:"switch-auto-archive-enabled",checked:aj,onChange:a=>{ak(a),v(at({autoArchiveEnabled:a}))}}),(0,b.jsx)(R,{label:"Archive delay",description:"Minutes to wait after completion before archiving (1–1440)",htmlFor:"auto-archive-delay",children:(0,b.jsx)(U,{id:"auto-archive-delay",testId:"input-auto-archive-delay",value:al,placeholder:"10",min:1,max:1440,suffix:"min",onChange:a=>{am(a)},onBlur:()=>{if(!aj)return;let a=parseInt(al,10),b=Number.isNaN(a)?10:Math.min(1440,Math.max(1,a));am(String(b)),v(at({autoArchiveDelay:String(b)}))}})})]}),(0,b.jsx)(W,{links:[{label:o("settings.workflow.links.approvalGates"),href:"https://github.com/jrmatherly/shipit/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:o("settings.workflow.links.pushAndPrFlags"),href:"https://github.com/jrmatherly/shipit/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:o("settings.workflow.hint")})]}),(0,b.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,b.jsx)(Y,{settings:a}),(0,b.jsx)(W,{links:[{label:o("settings.ci.links.cicdPipeline"),href:"https://github.com/jrmatherly/shipit/blob/main/docs/development/cicd.md"},{label:o("settings.ci.links.ciSecurityGates"),href:"https://github.com/jrmatherly/shipit/blob/main/specs/003-cicd-security-gates/spec.md"}],children:o("settings.ci.hint")})]}),(0,b.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,b.jsx)(aP,{settings:a}),(0,b.jsx)(W,{children:o("settings.stageTimeouts.hint")})]}),(0,b.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,b.jsxs)(T,{icon:j,title:o("settings.notifications.title"),description:o("settings.notifications.sectionDescription"),testId:"notification-settings-section",children:[(0,b.jsx)(V,{children:o("settings.notifications.channels")}),(0,b.jsx)(S,{label:o("settings.notifications.inAppLabel"),description:o("settings.notifications.inAppDescription"),id:"notif-in-app",testId:"switch-in-app",checked:an,onChange:a=>{ao(a),v(au({inApp:a}))}}),(0,b.jsx)(V,{children:o("settings.notifications.subsections.agentEvents")}),(0,b.jsx)(S,{label:o("settings.notifications.events.agentStarted"),id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:ap.agentStarted,onChange:a=>{let b={...ap,agentStarted:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(S,{label:o("settings.notifications.events.phaseCompleted"),id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:ap.phaseCompleted,onChange:a=>{let b={...ap,phaseCompleted:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(S,{label:o("settings.notifications.events.waitingApproval"),id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:ap.waitingApproval,onChange:a=>{let b={...ap,waitingApproval:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(S,{label:o("settings.notifications.events.agentCompleted"),id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:ap.agentCompleted,onChange:a=>{let b={...ap,agentCompleted:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(S,{label:o("settings.notifications.events.agentFailed"),id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:ap.agentFailed,onChange:a=>{let b={...ap,agentFailed:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(V,{children:o("settings.notifications.subsections.pullRequestEvents")}),(0,b.jsx)(S,{label:o("settings.notifications.events.prMerged"),id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:ap.prMerged,onChange:a=>{let b={...ap,prMerged:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(S,{label:o("settings.notifications.events.prClosed"),id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:ap.prClosed,onChange:a=>{let b={...ap,prClosed:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(S,{label:o("settings.notifications.events.prChecksPassed"),id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:ap.prChecksPassed,onChange:a=>{let b={...ap,prChecksPassed:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(S,{label:o("settings.notifications.events.prChecksFailed"),id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:ap.prChecksFailed,onChange:a=>{let b={...ap,prChecksFailed:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(S,{label:o("settings.notifications.events.prBlocked"),id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:ap.prBlocked,onChange:a=>{let b={...ap,prBlocked:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(S,{label:o("settings.notifications.events.mergeReviewReady"),id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:ap.mergeReviewReady,onChange:a=>{let b={...ap,mergeReviewReady:a};aq(b),v(au({events:b}))}})]}),(0,b.jsx)(W,{links:[{label:o("settings.notifications.links.notificationSystem"),href:"https://github.com/jrmatherly/shipit/blob/main/specs/021-agent-notifications/spec.yaml"}],children:o("settings.notifications.hint")})]}),(0,b.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,b.jsxs)(T,{icon:k,title:o("settings.featureFlags.title"),description:o("settings.featureFlags.sectionDescription"),badge:o("settings.featureFlags.badge"),testId:"feature-flags-settings-section",children:[(0,b.jsx)(S,{label:o("settings.featureFlags.skills"),description:o("settings.featureFlags.skillsDescription"),id:"flag-skills",testId:"switch-flag-skills",checked:ar.skills,onChange:a=>{let b={...ar,skills:a};as(b),v({featureFlags:b})}}),(0,b.jsx)(S,{label:o("settings.featureFlags.deployments"),description:o("settings.featureFlags.deploymentsDescription"),id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:ar.envDeploy,onChange:a=>{let b={...ar,envDeploy:a};as(b),v({featureFlags:b})}}),(0,b.jsx)(S,{label:o("settings.featureFlags.debug"),description:o("settings.featureFlags.debugDescription"),id:"flag-debug",testId:"switch-flag-debug",checked:ar.debug,onChange:a=>{let b={...ar,debug:a};as(b),v({featureFlags:b})}}),(0,b.jsx)(S,{label:o("settings.featureFlags.githubImport"),description:o("settings.featureFlags.githubImportDescription"),id:"flag-githubImport",testId:"switch-flag-githubImport",checked:ar.githubImport,onChange:a=>{let b={...ar,githubImport:a};as(b),v({featureFlags:b})}}),(0,b.jsx)(S,{label:o("settings.featureFlags.adoptBranch"),description:o("settings.featureFlags.adoptBranchDescription"),id:"flag-adoptBranch",testId:"switch-flag-adoptBranch",checked:ar.adoptBranch,onChange:a=>{let b={...ar,adoptBranch:a};as(b),v({featureFlags:b})}}),(0,b.jsx)(S,{label:o("settings.featureFlags.gitRebaseSync"),description:o("settings.featureFlags.gitRebaseSyncDescription"),id:"flag-gitRebaseSync",testId:"switch-flag-gitRebaseSync",checked:ar.gitRebaseSync,onChange:a=>{let b={...ar,gitRebaseSync:a};as(b),v({featureFlags:b})}}),(0,b.jsx)(S,{label:o("settings.featureFlags.reactFileManager"),description:o("settings.featureFlags.reactFileManagerDescription"),id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:ar.reactFileManager,onChange:a=>{let b={...ar,reactFileManager:a};as(b),v({featureFlags:b})}})]}),(0,b.jsx)(W,{children:o("settings.featureFlags.hint")})]}),(0,b.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,b.jsx)(aQ,{settings:a}),(0,b.jsx)(W,{children:o("settings.interactiveAgent.hint")})]}),(0,b.jsxs)("div",{id:"section-fab-layout",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,b.jsx)(aR,{settings:a}),(0,b.jsx)(W,{children:o("settings.fabLayout.hint")})]}),(0,b.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,b.jsxs)(T,{icon:l,title:o("settings.database.title"),description:o("settings.database.sectionDescription"),testId:"database-settings-section",children:[(0,b.jsx)(R,{label:o("settings.database.location"),description:o("settings.database.locationDescription"),children:(0,b.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shipit-ai-home-path",children:h})}),(0,b.jsx)(R,{label:o("settings.database.size"),children:(0,b.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:i})})]}),(0,b.jsx)(W,{links:[{label:o("settings.database.links.settingsService"),href:"https://github.com/jrmatherly/shipit/blob/main/docs/architecture/settings-service.md"},{label:o("settings.database.links.settingsSpec"),href:"https://github.com/jrmatherly/shipit/blob/main/specs/005-global-settings-service/spec.md"}],children:o("settings.database.hint")})]})]})]})}],79020)}];
|
|
1
|
+
module.exports=[79020,a=>{"use strict";var b=a.i(53083),c=a.i(11321),d=a.i(72016),e=a.i(34644),f=a.i(63698),g=a.i(53170),h=a.i(44981),i=a.i(25700);let j=(0,i.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"}]]),k=(0,i.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"}]]),l=(0,i.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 m=a.i(84494);let n=(0,i.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 o=a.i(7421),p=a.i(12882);let q=(0,i.default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);var r=a.i(52313);a.i(67999);var s=a.i(89246),t=a.i(85536),u=a.i(59175),v=a.i(6120);let w=(0,v.createServerReference)("400e4e46405b9b45e7442f750b0ff21eded1528306",v.callServer,void 0,v.findSourceMapURL,"updateSettingsAction");var x=a.i(46847),y=a.i(7077),z=a.i(44447),A=a.i(87926);function B(a){return(0,b.jsx)(z.Code,{className:(0,t.cn)("h-4 w-4",a.className),...a})}function C({className:a}){return(0,b.jsx)(y.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,t.cn)("rounded-sm object-contain",a)})}function D({className:a}){return(0,b.jsx)(y.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,t.cn)("rounded-sm object-contain",a)})}function E({className:a}){return(0,b.jsx)(y.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,t.cn)("rounded-sm object-contain",a)})}function F({className:a}){return(0,b.jsx)(y.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,t.cn)("rounded-sm object-contain",a)})}function G({className:a,...c}){return(0,b.jsx)(A.Rocket,{className:(0,t.cn)("h-4 w-4",a),...c})}C.displayName="VsCodeIcon",D.displayName="CursorEditorIcon",E.displayName="WindsurfIcon",F.displayName="ZedIcon",G.displayName="AntigravityIcon";let H={vscode:C,cursor:D,windsurf:E,zed:F,antigravity:G};var I=a.i(61781),J=a.i(84117),K=a.i(584);let L=[{value:x.Language.English,label:"English",nativeName:"English"},{value:x.Language.Russian,label:"Русский",nativeName:"Русский"},{value:x.Language.Portuguese,label:"Português",nativeName:"Português"},{value:x.Language.Spanish,label:"Español",nativeName:"Español"},{value:x.Language.Arabic,label:"العربية",nativeName:"العربية"},{value:x.Language.Hebrew,label:"עברית",nativeName:"עברית"},{value:x.Language.French,label:"Français",nativeName:"Français"},{value:x.Language.German,label:"Deutsch",nativeName:"Deutsch"}];function M({language:a}){let{t:e,i18n:f}=(0,s.useTranslation)("web"),[g,h]=(0,c.useState)(a),[i,j]=(0,c.useTransition)(),[k,l]=(0,c.useState)(!1),n=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{if(n.current&&!i){l(!0);let a=setTimeout(()=>l(!1),2e3);return()=>clearTimeout(a)}n.current=i},[i]),(0,b.jsxs)(J.Card,{id:"language",className:"scroll-mt-6","data-testid":"language-settings-section",children:[(0,b.jsxs)(J.CardHeader,{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(m.Globe,{className:"text-muted-foreground h-4 w-4"}),(0,b.jsx)(J.CardTitle,{children:e("settings.language.title")})]}),i?(0,b.jsx)("span",{className:"text-muted-foreground text-xs",children:e("common:labels.saving")}):null,k&&!i?(0,b.jsxs)("span",{className:"flex items-center gap-1 text-xs text-green-600",children:[(0,b.jsx)(d.Check,{className:"h-3 w-3"}),e("common:labels.saved")]}):null]}),(0,b.jsx)(J.CardDescription,{children:e("settings.language.description")})]}),(0,b.jsx)(J.CardContent,{className:"space-y-4",children:(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(K.Label,{htmlFor:"display-language",children:e("settings.language.label")}),(0,b.jsxs)(u.Select,{value:g,onValueChange:function(a){h(a),f.changeLanguage(a);let b="ar"===a||"he"===a?"rtl":"ltr";document.documentElement.lang=a,document.documentElement.dir=b,j(async()=>{let b=await w({user:{preferredLanguage:a}});b.success||r.toast.error(b.error??e("settings.language.failedToSave","Failed to save language settings"))})},children:[(0,b.jsx)(u.SelectTrigger,{id:"display-language","data-testid":"language-select",children:(0,b.jsx)(u.SelectValue,{placeholder:e("settings.language.placeholder")})}),(0,b.jsx)(u.SelectContent,{children:L.map(a=>(0,b.jsx)(u.SelectItem,{value:a.value,children:a.nativeName},a.value))})]})]})})]})}var N=a.i(96853),N=N,O=a.i(67837),P=a.i(71238),Q=a.i(96867);function R({label:a,description:c,htmlFor:d,children:e}){return(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-2.5 last:border-b-0",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)(K.Label,{htmlFor:d,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:a}),c?(0,b.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:c}):null]}),(0,b.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:e})]})}function S({label:a,description:c,id:d,testId:e,checked:f,onChange:g,disabled:h}){return(0,b.jsx)(R,{label:a,description:c,htmlFor:d,children:(0,b.jsx)(Q.Switch,{id:d,"data-testid":e,checked:f,onCheckedChange:g,disabled:h,className:(0,t.cn)("cursor-pointer",h&&"cursor-not-allowed opacity-50")})})}function T({icon:a,title:c,description:d,badge:e,testId:f,children:g}){return(0,b.jsxs)("div",{className:"bg-background rounded-lg border","data-testid":f,children:[(0,b.jsxs)("div",{className:"bg-muted/30 border-b px-4 py-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(a,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,b.jsx)("h2",{className:"text-sm font-semibold",children:c}),e?(0,b.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider uppercase",children:e}):null]}),(0,b.jsx)("p",{className:"text-muted-foreground mt-0.5 text-[11px]",children:d})]}),(0,b.jsx)("div",{className:"px-4",children:g})]})}function U({id:a,testId:c,value:d,onChange:e,onBlur:f,placeholder:g,min:h=1,max:i,step:j=1,suffix:k}){let{t:l}=(0,s.useTranslation)("web"),m=""===d?void 0:parseInt(d,10);return(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center overflow-hidden rounded-md border",children:[(0,b.jsx)("button",{type:"button",onClick:()=>{e(String(Math.max(h,(m??parseInt(g,10))-j)))},onMouseUp:f,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":l("common.decrease"),children:(0,b.jsx)(N.default,{className:"h-3 w-3"})}),(0,b.jsx)("input",{id:a,"data-testid":c,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:d,placeholder:g,onChange:a=>{e(a.target.value.replace(/[^0-9]/g,""))},onBlur:f,className:"h-8 w-14 bg-transparent text-center text-xs outline-none"}),(0,b.jsx)("button",{type:"button",onClick:()=>{let a;a=m??parseInt(g,10),e(String(null!=i?Math.min(i,a+j):a+j))},onMouseUp:f,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":l("common.increase"),children:(0,b.jsx)(O.Plus,{className:"h-3 w-3"})})]}),k?(0,b.jsx)("span",{className:"text-muted-foreground text-[11px]",children:k}):null]})}function V({children:a}){return(0,b.jsx)("div",{className:"border-b pt-3 pb-1",children:(0,b.jsx)("span",{className:"text-muted-foreground text-[10px] font-semibold tracking-wider uppercase",children:a})})}function W({children:a,links:c}){return(0,b.jsxs)("div",{className:"hidden pt-2 lg:block",children:[(0,b.jsx)("p",{className:"text-muted-foreground/70 text-[11px] leading-relaxed",children:a}),null!=c&&c.length>0?(0,b.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:c.map(a=>(0,b.jsxs)("a",{href:a.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,b.jsx)(P.ExternalLink,{className:"h-2.5 w-2.5"}),a.label]},a.href))}):null]})}function X(a){if(""===a)return;let b=parseInt(a,10);return Number.isNaN(b)||b<=0?void 0:b}function Y({settings:a}){let{t:d}=(0,s.useTranslation)("web"),[,e]=(0,c.useTransition)(),[f,g]=(0,c.useState)(null!=a.workflow.ciMaxFixAttempts?String(a.workflow.ciMaxFixAttempts):""),[i,j]=(0,c.useState)(null!=a.workflow.ciWatchTimeoutMs?String(Math.round(a.workflow.ciWatchTimeoutMs/1e3)):""),[k,l]=(0,c.useState)(null!=a.workflow.ciLogMaxChars?String(a.workflow.ciLogMaxChars):""),[m,n]=(0,c.useState)(null!=a.workflow.ciWatchPollIntervalSeconds?String(a.workflow.ciWatchPollIntervalSeconds):""),[o,p]=(0,c.useState)(!1!==a.workflow.hideCiStatus),q=null!=a.workflow.ciMaxFixAttempts?String(a.workflow.ciMaxFixAttempts):"",t=null!=a.workflow.ciWatchTimeoutMs?String(Math.round(a.workflow.ciWatchTimeoutMs/1e3)):"",u=null!=a.workflow.ciLogMaxChars?String(a.workflow.ciLogMaxChars):"",v=null!=a.workflow.ciWatchPollIntervalSeconds?String(a.workflow.ciWatchPollIntervalSeconds):"";function x(a){e(async()=>{let b=await w(a);b.success||r.toast.error(b.error??d("settings.failedToSave"))})}function y(a){let b=X(a.ciTimeout??i);return{workflow:{ciMaxFixAttempts:X(a.ciMaxFix??f),ciWatchTimeoutMs:null!=b?1e3*b:void 0,ciLogMaxChars:X(a.ciLogMax??k),ciWatchPollIntervalSeconds:X(a.ciPollInterval??m),hideCiStatus:a.hideCiStatus??o}}}return(0,b.jsxs)(T,{icon:h.Activity,title:d("settings.ci.title"),description:d("settings.ci.description"),testId:"ci-settings-section",children:[(0,b.jsx)(R,{label:d("settings.ci.maxFixAttempts"),description:d("settings.ci.maxFixAttemptsDescription"),htmlFor:"ci-max-fix",children:(0,b.jsx)(U,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:f,onChange:g,onBlur:()=>{f!==q&&x(y({ciMaxFix:f}))},min:1,max:10})}),(0,b.jsx)(R,{label:d("settings.ci.watchTimeout"),description:d("settings.ci.watchTimeoutDescription"),htmlFor:"ci-timeout",children:(0,b.jsx)(U,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:i,onChange:j,onBlur:()=>{i!==t&&x(y({ciTimeout:i}))},min:30,step:30,suffix:"sec"})}),(0,b.jsx)(R,{label:d("settings.ci.maxLogSize"),description:d("settings.ci.maxLogSizeDescription"),htmlFor:"ci-log-max",children:(0,b.jsx)(U,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:k,onChange:l,onBlur:()=>{k!==u&&x(y({ciLogMax:k}))},min:1e3,step:5e3,suffix:"chars"})}),(0,b.jsx)(R,{label:d("settings.ci.pollInterval"),description:d("settings.ci.pollIntervalDescription"),htmlFor:"ci-poll-interval",children:(0,b.jsx)(U,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:m,onChange:n,onBlur:()=>{m!==v&&x(y({ciPollInterval:m}))},min:5,step:5,suffix:"sec"})}),(0,b.jsx)(S,{label:d("settings.ci.hideCiStatus"),description:d("settings.ci.hideCiStatusDescription"),id:"hide-ci-status",testId:"switch-hide-ci-status",checked:o,onChange:a=>{p(a),x(y({hideCiStatus:a}))}})]})}var Z=a.i(48972),$=a.i(59653),_=a.i(80303),aa=a.i(95819),ab=a.i(47427),ac=a.i(60380),ad=a.i(41387),ae=a.i(97045),af=a.i(30419),ag=a.i(69471),ah=["PageUp","PageDown"],ai=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],aj={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},ak="Slider",[al,am,an]=(0,ag.createCollection)(ak),[ao,ap]=(0,aa.createContextScope)(ak,[an]),[aq,ar]=ao(ak),as=c.forwardRef((a,d)=>{let{name:e,min:f=0,max:g=100,step:h=1,orientation:i="horizontal",disabled:j=!1,minStepsBetweenThumbs:k=0,defaultValue:l=[f],value:m,onValueChange:n=()=>{},onValueCommit:o=()=>{},inverted:p=!1,form:q,...r}=a,s=c.useRef(new Set),t=c.useRef(0),u="horizontal"===i,[v=[],w]=(0,ab.useControllableState)({prop:m,defaultProp:l,onChange:a=>{let b=[...s.current];b[t.current]?.focus(),n(a)}}),x=c.useRef(v);function y(a,b,{commit:c}={commit:!1}){let d,e=(String(h).split(".")[1]||"").length,i=Math.round((Math.round((a-f)/h)*h+f)*(d=Math.pow(10,e)))/d,j=(0,Z.clamp)(i,[f,g]);w((a=[])=>{let d=function(a=[],b,c){let d=[...a];return d[c]=b,d.sort((a,b)=>a-b)}(a,j,b);if(!function(a,b){if(b>0)return Math.min(...a.slice(0,-1).map((b,c)=>a[c+1]-b))>=b;return!0}(d,k*h))return a;{t.current=d.indexOf(j);let b=String(d)!==String(a);return b&&c&&o(d),b?d:a}})}return(0,b.jsx)(aq,{scope:a.__scopeSlider,name:e,disabled:j,min:f,max:g,valueIndexToChangeRef:t,thumbs:s.current,values:v,orientation:i,form:q,children:(0,b.jsx)(al.Provider,{scope:a.__scopeSlider,children:(0,b.jsx)(al.Slot,{scope:a.__scopeSlider,children:(0,b.jsx)(u?av:aw,{"aria-disabled":j,"data-disabled":j?"":void 0,...r,ref:d,onPointerDown:(0,$.composeEventHandlers)(r.onPointerDown,()=>{j||(x.current=v)}),min:f,max:g,inverted:p,onSlideStart:j?void 0:function(a){let b=function(a,b){if(1===a.length)return 0;let c=a.map(a=>Math.abs(a-b)),d=Math.min(...c);return c.indexOf(d)}(v,a);y(a,b)},onSlideMove:j?void 0:function(a){y(a,t.current)},onSlideEnd:j?void 0:function(){let a=x.current[t.current];v[t.current]!==a&&o(v)},onHomeKeyDown:()=>!j&&y(f,0,{commit:!0}),onEndKeyDown:()=>!j&&y(g,v.length-1,{commit:!0}),onStepKeyDown:({event:a,direction:b})=>{if(!j){let c=ah.includes(a.key)||a.shiftKey&&ai.includes(a.key),d=t.current;y(v[d]+h*(c?10:1)*b,d,{commit:!0})}}})})})})});as.displayName=ak;var[at,au]=ao(ak,{startEdge:"left",endEdge:"right",size:"width",direction:1}),av=c.forwardRef((a,d)=>{let{min:e,max:f,dir:g,inverted:h,onSlideStart:i,onSlideMove:j,onSlideEnd:k,onStepKeyDown:l,...m}=a,[n,o]=c.useState(null),p=(0,_.useComposedRefs)(d,a=>o(a)),q=c.useRef(void 0),r=(0,ac.useDirection)(g),s="ltr"===r,t=s&&!h||!s&&h;function u(a){let b=q.current||n.getBoundingClientRect(),c=aH([0,b.width],t?[e,f]:[f,e]);return q.current=b,c(a-b.left)}return(0,b.jsx)(at,{scope:a.__scopeSlider,startEdge:t?"left":"right",endEdge:t?"right":"left",direction:t?1:-1,size:"width",children:(0,b.jsx)(ax,{dir:r,"data-orientation":"horizontal",...m,ref:p,style:{...m.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:a=>{let b=u(a.clientX);i?.(b)},onSlideMove:a=>{let b=u(a.clientX);j?.(b)},onSlideEnd:()=>{q.current=void 0,k?.()},onStepKeyDown:a=>{let b=aj[t?"from-left":"from-right"].includes(a.key);l?.({event:a,direction:b?-1:1})}})})}),aw=c.forwardRef((a,d)=>{let{min:e,max:f,inverted:g,onSlideStart:h,onSlideMove:i,onSlideEnd:j,onStepKeyDown:k,...l}=a,m=c.useRef(null),n=(0,_.useComposedRefs)(d,m),o=c.useRef(void 0),p=!g;function q(a){let b=o.current||m.current.getBoundingClientRect(),c=aH([0,b.height],p?[f,e]:[e,f]);return o.current=b,c(a-b.top)}return(0,b.jsx)(at,{scope:a.__scopeSlider,startEdge:p?"bottom":"top",endEdge:p?"top":"bottom",size:"height",direction:p?1:-1,children:(0,b.jsx)(ax,{"data-orientation":"vertical",...l,ref:n,style:{...l.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:a=>{let b=q(a.clientY);h?.(b)},onSlideMove:a=>{let b=q(a.clientY);i?.(b)},onSlideEnd:()=>{o.current=void 0,j?.()},onStepKeyDown:a=>{let b=aj[p?"from-bottom":"from-top"].includes(a.key);k?.({event:a,direction:b?-1:1})}})})}),ax=c.forwardRef((a,c)=>{let{__scopeSlider:d,onSlideStart:e,onSlideMove:f,onSlideEnd:g,onHomeKeyDown:h,onEndKeyDown:i,onStepKeyDown:j,...k}=a,l=ar(ak,d);return(0,b.jsx)(af.Primitive.span,{...k,ref:c,onKeyDown:(0,$.composeEventHandlers)(a.onKeyDown,a=>{"Home"===a.key?(h(a),a.preventDefault()):"End"===a.key?(i(a),a.preventDefault()):ah.concat(ai).includes(a.key)&&(j(a),a.preventDefault())}),onPointerDown:(0,$.composeEventHandlers)(a.onPointerDown,a=>{let b=a.target;b.setPointerCapture(a.pointerId),a.preventDefault(),l.thumbs.has(b)?b.focus():e(a)}),onPointerMove:(0,$.composeEventHandlers)(a.onPointerMove,a=>{a.target.hasPointerCapture(a.pointerId)&&f(a)}),onPointerUp:(0,$.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&(b.releasePointerCapture(a.pointerId),g(a))})})}),ay="SliderTrack",az=c.forwardRef((a,c)=>{let{__scopeSlider:d,...e}=a,f=ar(ay,d);return(0,b.jsx)(af.Primitive.span,{"data-disabled":f.disabled?"":void 0,"data-orientation":f.orientation,...e,ref:c})});az.displayName=ay;var aA="SliderRange",aB=c.forwardRef((a,d)=>{let{__scopeSlider:e,...f}=a,g=ar(aA,e),h=au(aA,e),i=c.useRef(null),j=(0,_.useComposedRefs)(d,i),k=g.values.length,l=g.values.map(a=>aG(a,g.min,g.max)),m=k>1?Math.min(...l):0,n=100-Math.max(...l);return(0,b.jsx)(af.Primitive.span,{"data-orientation":g.orientation,"data-disabled":g.disabled?"":void 0,...f,ref:j,style:{...a.style,[h.startEdge]:m+"%",[h.endEdge]:n+"%"}})});aB.displayName=aA;var aC="SliderThumb",aD=c.forwardRef((a,d)=>{let e=am(a.__scopeSlider),[f,g]=c.useState(null),h=(0,_.useComposedRefs)(d,a=>g(a)),i=c.useMemo(()=>f?e().findIndex(a=>a.ref.current===f):-1,[e,f]);return(0,b.jsx)(aE,{...a,ref:h,index:i})}),aE=c.forwardRef((a,d)=>{var e,f,g,h,i;let j,k,{__scopeSlider:l,index:m,name:n,...o}=a,p=ar(aC,l),q=au(aC,l),[r,s]=c.useState(null),t=(0,_.useComposedRefs)(d,a=>s(a)),u=!r||p.form||!!r.closest("form"),v=(0,ae.useSize)(r),w=p.values[m],x=void 0===w?0:aG(w,p.min,p.max),y=(e=m,(f=p.values.length)>2?`Value ${e+1} of ${f}`:2===f?["Minimum","Maximum"][e]:void 0),z=v?.[q.size],A=z?(g=z,h=x,i=q.direction,k=aH([0,50],[0,j=g/2]),(j-k(h)*i)*i):0;return c.useEffect(()=>{if(r)return p.thumbs.add(r),()=>{p.thumbs.delete(r)}},[r,p.thumbs]),(0,b.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[q.startEdge]:`calc(${x}% + ${A}px)`},children:[(0,b.jsx)(al.ItemSlot,{scope:a.__scopeSlider,children:(0,b.jsx)(af.Primitive.span,{role:"slider","aria-label":a["aria-label"]||y,"aria-valuemin":p.min,"aria-valuenow":w,"aria-valuemax":p.max,"aria-orientation":p.orientation,"data-orientation":p.orientation,"data-disabled":p.disabled?"":void 0,tabIndex:p.disabled?void 0:0,...o,ref:t,style:void 0===w?{display:"none"}:a.style,onFocus:(0,$.composeEventHandlers)(a.onFocus,()=>{p.valueIndexToChangeRef.current=m})})}),u&&(0,b.jsx)(aF,{name:n??(p.name?p.name+(p.values.length>1?"[]":""):void 0),form:p.form,value:w},m)]})});aD.displayName=aC;var aF=c.forwardRef(({__scopeSlider:a,value:d,...e},f)=>{let g=c.useRef(null),h=(0,_.useComposedRefs)(g,f),i=(0,ad.usePrevious)(d);return c.useEffect(()=>{let a=g.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(i!==d&&b){let c=new Event("input",{bubbles:!0});b.call(a,d),a.dispatchEvent(c)}},[i,d]),(0,b.jsx)(af.Primitive.input,{style:{display:"none"},...e,ref:h,defaultValue:d})});function aG(a,b,c){return(0,Z.clamp)(100/(c-b)*(a-b),[0,100])}function aH(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}aF.displayName="RadioBubbleInput",a.s(["Range",0,aB,"Root",0,as,"Slider",0,as,"SliderRange",0,aB,"SliderThumb",0,aD,"SliderTrack",0,az,"Thumb",0,aD,"Track",0,az,"createSliderScope",0,ap],40432);var aI=a.i(40432),aI=aI;function aJ({className:a,defaultValue:d,value:e,min:f=0,max:g=100,...h}){let i=c.useMemo(()=>Array.isArray(e)?e:Array.isArray(d)?d:[f,g],[e,d,f,g]);return(0,b.jsxs)(aI.Root,{"data-slot":"slider",defaultValue:d,value:e,min:f,max:g,className:(0,t.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",a),...h,children:[(0,b.jsx)(aI.Track,{"data-slot":"slider-track",className:(0,t.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,b.jsx)(aI.Range,{"data-slot":"slider-range",className:(0,t.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:i.length},(a,c)=>(0,b.jsx)(aI.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"},c))]})}let aK=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],aL=aK.length-1;function aM(a){let b=0,c=Math.abs(a-aK[0]);for(let d=1;d<aK.length;d++){let e=Math.abs(a-aK[d]);e<c&&(c=e,b=d)}return b}function aN({id:a,testId:d,value:e,onChange:f,onBlur:g,defaultSeconds:h=1800}){var i;let j,k,l=(""===e?h:parseInt(e,10))||h,[m,n]=(0,c.useState)(()=>aM(l)),o=aM(l);o!==m&&aK[m]!==l&&n(o);let p=(0,c.useCallback)(([a])=>{n(a),f(String(aK[a]))},[f]);return(0,b.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,b.jsx)(aJ,{id:a,"data-testid":d,min:0,max:aL,step:1,value:[m],onValueChange:p,onValueCommit:()=>g(),className:"min-w-0 flex-1"}),(0,b.jsx)("span",{className:"text-muted-foreground shrink-0 text-end text-xs tabular-nums",children:(j=Math.floor((i=aK[m])/3600),k=Math.round(i%3600/60),0===j?`${k}m`:0===k?`${j}h`:`${j}h ${k}m`)})]})}function aO(a){if(void 0===a)return;let b=function(a){if(""===a)return;let b=parseInt(a,10);return Number.isNaN(b)||b<=0?void 0:b}(a);return null!=b?1e3*b:void 0}function aP({settings:a}){let{t:d}=(0,s.useTranslation)("web"),[,e]=(0,c.useTransition)(),f=a.workflow.stageTimeouts,g=a.workflow.analyzeRepoTimeouts,[h,i]=(0,c.useState)(String(Math.round((f?.analyzeMs??18e5)/1e3))),[j,k]=(0,c.useState)(String(Math.round((f?.requirementsMs??18e5)/1e3))),[l,m]=(0,c.useState)(String(Math.round((f?.researchMs??18e5)/1e3))),[n,p]=(0,c.useState)(String(Math.round((f?.planMs??18e5)/1e3))),[q,t]=(0,c.useState)(String(Math.round((f?.implementMs??18e5)/1e3))),[u,v]=(0,c.useState)(String(Math.round((f?.mergeMs??18e5)/1e3))),[x,y]=(0,c.useState)(String(Math.round((g?.analyzeMs??6e5)/1e3))),z=f?.analyzeMs!=null?String(Math.round(f.analyzeMs/1e3)):"",A=f?.requirementsMs!=null?String(Math.round(f.requirementsMs/1e3)):"",B=f?.researchMs!=null?String(Math.round(f.researchMs/1e3)):"",C=f?.planMs!=null?String(Math.round(f.planMs/1e3)):"",D=f?.implementMs!=null?String(Math.round(f.implementMs/1e3)):"",E=f?.mergeMs!=null?String(Math.round(f.mergeMs/1e3)):"",F=g?.analyzeMs!=null?String(Math.round(g.analyzeMs/1e3)):"";function G(a){return{workflow:{stageTimeouts:{analyzeMs:aO(a.analyzeTimeout??h),requirementsMs:aO(a.requirementsTimeout??j),researchMs:aO(a.researchTimeout??l),planMs:aO(a.planTimeout??n),implementMs:aO(a.implementTimeout??q),mergeMs:aO(a.mergeTimeout??u)},analyzeRepoTimeouts:{analyzeMs:aO(a.analyzeRepoTimeout??x)}}}}function H(a){e(async()=>{let b=await w(a);b.success||r.toast.error(b.error??d("settings.failedToSave"))})}return(0,b.jsxs)(T,{icon:o.Timer,title:d("settings.stageTimeouts.title"),description:d("settings.stageTimeouts.description"),testId:"stage-timeouts-settings-section",children:[(0,b.jsx)(V,{children:d("settings.stageTimeouts.subsections.featureAgent")}),(0,b.jsx)(R,{label:d("settings.stageTimeouts.analyze"),description:d("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze",children:(0,b.jsx)(aN,{id:"timeout-analyze",testId:"timeout-analyze-input",value:h,onChange:i,onBlur:()=>{h!==z&&H(G({analyzeTimeout:h}))},defaultSeconds:1800})}),(0,b.jsx)(R,{label:d("settings.stageTimeouts.requirements"),description:d("settings.stageTimeouts.requirementsDescription"),htmlFor:"timeout-requirements",children:(0,b.jsx)(aN,{id:"timeout-requirements",testId:"timeout-requirements-input",value:j,onChange:k,onBlur:()=>{j!==A&&H(G({requirementsTimeout:j}))},defaultSeconds:1800})}),(0,b.jsx)(R,{label:d("settings.stageTimeouts.research"),description:d("settings.stageTimeouts.researchDescription"),htmlFor:"timeout-research",children:(0,b.jsx)(aN,{id:"timeout-research",testId:"timeout-research-input",value:l,onChange:m,onBlur:()=>{l!==B&&H(G({researchTimeout:l}))},defaultSeconds:1800})}),(0,b.jsx)(R,{label:d("settings.stageTimeouts.plan"),description:d("settings.stageTimeouts.planDescription"),htmlFor:"timeout-plan",children:(0,b.jsx)(aN,{id:"timeout-plan",testId:"timeout-plan-input",value:n,onChange:p,onBlur:()=>{n!==C&&H(G({planTimeout:n}))},defaultSeconds:1800})}),(0,b.jsx)(R,{label:d("settings.stageTimeouts.implement"),description:d("settings.stageTimeouts.implementDescription"),htmlFor:"timeout-implement",children:(0,b.jsx)(aN,{id:"timeout-implement",testId:"timeout-implement-input",value:q,onChange:t,onBlur:()=>{q!==D&&H(G({implementTimeout:q}))},defaultSeconds:1800})}),(0,b.jsx)(R,{label:d("settings.stageTimeouts.merge"),description:d("settings.stageTimeouts.mergeDescription"),htmlFor:"timeout-merge",children:(0,b.jsx)(aN,{id:"timeout-merge",testId:"timeout-merge-input",value:u,onChange:v,onBlur:()=>{u!==E&&H(G({mergeTimeout:u}))},defaultSeconds:1800})}),(0,b.jsx)(V,{children:d("settings.stageTimeouts.subsections.analyzeRepoAgent")}),(0,b.jsx)(R,{label:d("settings.stageTimeouts.analyze"),description:d("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze-repo",children:(0,b.jsx)(aN,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:x,onChange:y,onBlur:()=>{x!==F&&H(G({analyzeRepoTimeout:x}))},defaultSeconds:600})})]})}function aQ({settings:a}){let{t:d}=(0,s.useTranslation)("web"),[,e]=(0,c.useTransition)(),f=a.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[g,h]=(0,c.useState)(f.enabled),[i,j]=(0,c.useState)(String(f.autoTimeoutMinutes)),[k,l]=(0,c.useState)(String(f.maxConcurrentSessions));function m(a){e(async()=>{let b=await w(a);b.success||r.toast.error(b.error??d("settings.failedToSave"))})}return(0,b.jsxs)(T,{icon:p.MessageSquare,title:d("settings.interactiveAgent.title"),description:d("settings.interactiveAgent.description"),testId:"interactive-agent-settings-section",children:[(0,b.jsx)(S,{label:d("settings.interactiveAgent.enableChatTab"),description:d("settings.interactiveAgent.enableChatTabDescription"),id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:g,onChange:a=>{h(a),m({interactiveAgent:{enabled:a,autoTimeoutMinutes:parseInt(i,10)||15,maxConcurrentSessions:parseInt(k,10)||3}})}}),(0,b.jsx)(R,{label:d("settings.interactiveAgent.autoTimeout"),description:d("settings.interactiveAgent.autoTimeoutDescription"),htmlFor:"interactive-agent-timeout",children:(0,b.jsx)(U,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:i,placeholder:"15",min:1,max:120,suffix:"min",onChange:j,onBlur:()=>{let a=parseInt(i,10),b=Number.isNaN(a)?15:Math.min(120,Math.max(1,a));j(String(b)),m({interactiveAgent:{enabled:g,autoTimeoutMinutes:b,maxConcurrentSessions:parseInt(k,10)||3}})}})}),(0,b.jsx)(R,{label:d("settings.interactiveAgent.maxConcurrentSessions"),description:d("settings.interactiveAgent.maxConcurrentSessionsDescription"),htmlFor:"interactive-agent-sessions",children:(0,b.jsx)(U,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:k,placeholder:"3",min:1,max:10,onChange:l,onBlur:()=>{let a=parseInt(k,10),b=Number.isNaN(a)?3:Math.min(10,Math.max(1,a));l(String(b)),m({interactiveAgent:{enabled:g,autoTimeoutMinutes:parseInt(i,10)||15,maxConcurrentSessions:b}})}})})]})}function aR({settings:a}){let{t:d}=(0,s.useTranslation)("web"),[,e]=(0,c.useTransition)(),f=a.fabLayout??{swapPosition:!1},[g,h]=(0,c.useState)(f.swapPosition);return(0,b.jsx)(T,{icon:q,title:d("settings.fabLayout.title"),description:d("settings.fabLayout.description"),testId:"fab-layout-settings-section",children:(0,b.jsx)(S,{label:d("settings.fabLayout.swapPosition"),description:d("settings.fabLayout.swapPositionDescription"),id:"fab-swap-position",testId:"switch-fab-swap-position",checked:g,onChange:a=>{var b;h(a),b={fabLayout:{swapPosition:a}},e(async()=>{let a=await w(b);a.success||r.toast.error(a.error??d("settings.failedToSave"))})}})})}let aS=[{value:x.EditorType.VsCode,label:"VS Code"},{value:x.EditorType.Cursor,label:"Cursor"},{value:x.EditorType.Windsurf,label:"Windsurf"},{value:x.EditorType.Zed,label:"Zed"},{value:x.EditorType.Antigravity,label:"Antigravity"}],aT=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],aU=[{id:"language",labelKey:"settings.sections.language",icon:m.Globe},{id:"agent",labelKey:"settings.sections.agent",icon:e.Bot},{id:"environment",labelKey:"settings.sections.environment",icon:f.Terminal},{id:"workflow",labelKey:"settings.sections.workflow",icon:g.GitBranch},{id:"ci",labelKey:"settings.sections.ci",icon:h.Activity},{id:"stage-timeouts",labelKey:"settings.sections.timeouts",icon:o.Timer},{id:"notifications",labelKey:"settings.sections.notifications",icon:j},{id:"feature-flags",labelKey:"settings.sections.flags",icon:k},{id:"interactive-agent",labelKey:"settings.sections.chat",icon:p.MessageSquare},{id:"fab-layout",labelKey:"settings.sections.layout",icon:q},{id:"database",labelKey:"settings.sections.database",icon:l}];a.s(["SettingsPageClient",0,function({settings:a,shipitAiHome:h,dbFileSize:i,availableTerminals:m}){let{t:o}=(0,s.useTranslation)("web"),{showSaving:p,showSaved:q,save:v}=function(){let{t:a}=(0,s.useTranslation)("web"),[b,d]=(0,c.useTransition)(),[e,f]=(0,c.useState)(!1),[g,h]=(0,c.useState)(!1),i=(0,c.useRef)(null),j=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{b&&!e&&(f(!0),j.current=!1,i.current=setTimeout(()=>{i.current=null,j.current&&(f(!1),h(!0),setTimeout(()=>h(!1),2e3))},350)),!b&&e&&(j.current=!0,i.current||(f(!1),h(!0),setTimeout(()=>h(!1),2e3)))},[b,e]),{showSaving:e,showSaved:g,save:(0,c.useCallback)(b=>{d(async()=>{let c=await w(b);c.success||r.toast.error(c.error??a("settings.failedToSave"))})},[d,a])}}(),y=a.featureFlags??{skills:!1,envDeploy:!1,debug:!1,githubImport:!1,adoptBranch:!1,gitRebaseSync:!1,reactFileManager:!1},[z,A]=(0,c.useState)(a.agent.type),[C,D]=(0,c.useState)(a.environment.defaultEditor),[E,F]=(0,c.useState)(a.environment.shellPreference),[G,J]=(0,c.useState)(a.environment.terminalPreference??x.TerminalType.System),K=m?m.filter(a=>a.available):[{id:x.TerminalType.System,name:o("settings.environment.systemTerminal"),available:!0}],[L,N]=(0,c.useState)(a.workflow.openPrOnImplementationComplete),[O,P]=(0,c.useState)(a.workflow.approvalGateDefaults.pushOnImplementationComplete),[Q,X]=(0,c.useState)(a.workflow.approvalGateDefaults.allowPrd),[Z,$]=(0,c.useState)(a.workflow.approvalGateDefaults.allowPlan),[_,aa]=(0,c.useState)(a.workflow.approvalGateDefaults.allowMerge),[ab,ac]=(0,c.useState)(a.workflow.enableEvidence),[ad,ae]=(0,c.useState)(a.workflow.commitEvidence),[af,ag]=(0,c.useState)(!1!==a.workflow.ciWatchEnabled),[ah,ai]=(0,c.useState)(!1!==a.workflow.defaultFastMode),[aj,ak]=(0,c.useState)((a.workflow.autoArchiveDelayMinutes??10)>0),[al,am]=(0,c.useState)(String(a.workflow.autoArchiveDelayMinutes??10)),[an,ao]=(0,c.useState)(a.notifications.inApp.enabled),[ap,aq]=(0,c.useState)({...a.notifications.events}),[ar,as]=(0,c.useState)({...y});function at(a={}){let b=a.autoArchiveEnabled??aj,c=parseInt(a.autoArchiveDelay??al,10);return{workflow:{openPrOnImplementationComplete:a.openPr??L,approvalGateDefaults:{pushOnImplementationComplete:a.pushOnComplete??O,allowPrd:a.allowPrd??Q,allowPlan:a.allowPlan??Z,allowMerge:a.allowMerge??_},enableEvidence:a.enableEvidence??ab,commitEvidence:a.commitEvidence??ad,ciWatchEnabled:a.ciWatchEnabled??af,defaultFastMode:a.defaultFastMode??ah,autoArchiveDelayMinutes:b?Number.isNaN(c)||c<1?10:c:0}}}function au(a={}){return{notifications:{inApp:{enabled:a.inApp??an},events:a.events??ap}}}let[av,aw]=(0,c.useState)("agent");(0,c.useEffect)(()=>{let a=aU.map(a=>document.getElementById(`section-${a.id}`)).filter(Boolean);if(0===a.length)return;let b=new IntersectionObserver(a=>{for(let b of a)b.isIntersecting&&aw(b.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let c of a)b.observe(c);return()=>b.disconnect()},[]);let ax=(0,c.useCallback)(a=>{let b=document.getElementById(`section-${a}`);b&&(b.scrollIntoView({behavior:"smooth",block:"start"}),b.style.animation="none",b.offsetHeight,b.style.animation="section-flash 1s ease-out")},[]);return(0,b.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-5xl",children:[(0,b.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,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(n,{className:"text-muted-foreground h-4 w-4"}),(0,b.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:o("settings.title")}),(0,b.jsxs)("span",{className:"relative h-4 w-16",children:[(0,b.jsx)("span",{className:(0,t.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",p?"opacity-100":"opacity-0"),children:o("settings.saving")}),(0,b.jsxs)("span",{className:(0,t.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",q&&!p?"opacity-100":"opacity-0"),children:[(0,b.jsx)(d.Check,{className:"h-3 w-3"}),o("settings.saved")]})]}),(0,b.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:aU.map(a=>{let c=a.icon,d=av===a.id;return(0,b.jsxs)("button",{type:"button",onClick:()=>ax(a.id),className:(0,t.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",d?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,b.jsx)(c,{className:"h-3 w-3"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:o(a.labelKey)})]},a.id)})})]})}),(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.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,b.jsx)(M,{language:a.user?.preferredLanguage??x.Language.English})}),(0,b.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,b.jsx)(T,{icon:e.Bot,title:o("settings.agent.sectionTitle"),description:o("settings.agent.sectionDescription"),testId:"agent-settings-section",children:(0,b.jsx)(R,{label:o("settings.agent.agentAndModel"),description:o("settings.agent.agentAndModelDescription"),htmlFor:"agent-model-picker",children:(0,b.jsx)(I.AgentModelPicker,{initialAgentType:z,initialModel:a.models.default,mode:"settings",onAgentModelChange:a=>A(a),className:"w-55"})})}),(0,b.jsx)(W,{links:[{label:o("settings.agent.links.agentSystem"),href:"https://github.com/jrmatherly/shipit/blob/main/docs/architecture/agent-system.md"},{label:o("settings.agent.links.addingAgents"),href:"https://github.com/jrmatherly/shipit/blob/main/docs/development/adding-agents.md"},{label:o("settings.agent.links.configurationGuide"),href:"https://github.com/jrmatherly/shipit/blob/main/docs/guides/configuration.md"}],children:o("settings.agent.hint")})]}),(0,b.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,b.jsxs)(T,{icon:f.Terminal,title:o("settings.environment.sectionTitle"),description:o("settings.environment.sectionDescription"),testId:"environment-settings-section",children:[(0,b.jsx)(R,{label:o("settings.environment.defaultEditor"),description:o("settings.environment.defaultEditorDescription"),htmlFor:"default-editor",children:(0,b.jsxs)(u.Select,{value:C,onValueChange:a=>{D(a),v({environment:{defaultEditor:a,shellPreference:E,terminalPreference:G}})},children:[(0,b.jsx)(u.SelectTrigger,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,b.jsx)(u.SelectValue,{})}),(0,b.jsx)(u.SelectContent,{children:aS.map(a=>{var c;let d=(c=a.value)&&c in H?H[c]:B;return(0,b.jsx)(u.SelectItem,{value:a.value,children:(0,b.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(d,{className:"h-4 w-4 shrink-0"}),a.label]})},a.value)})})]})}),(0,b.jsx)(R,{label:o("settings.environment.shell"),description:o("settings.environment.shellDescription"),htmlFor:"shell-preference",children:(0,b.jsxs)(u.Select,{value:E,onValueChange:a=>{F(a),v({environment:{defaultEditor:C,shellPreference:a,terminalPreference:G}})},children:[(0,b.jsx)(u.SelectTrigger,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,b.jsx)(u.SelectValue,{})}),(0,b.jsx)(u.SelectContent,{children:aT.map(a=>(0,b.jsx)(u.SelectItem,{value:a.value,children:a.label},a.value))})]})}),(0,b.jsx)(R,{label:o("settings.environment.terminal"),description:o("settings.environment.terminalDescription"),htmlFor:"terminal-preference",children:(0,b.jsxs)(u.Select,{value:G,onValueChange:a=>{J(a),v({environment:{defaultEditor:C,shellPreference:E,terminalPreference:a}})},children:[(0,b.jsx)(u.SelectTrigger,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,b.jsx)(u.SelectValue,{})}),(0,b.jsx)(u.SelectContent,{children:K.map(a=>(0,b.jsx)(u.SelectItem,{value:a.id,children:a.name},a.id))})]})})]}),(0,b.jsx)(W,{links:[{label:o("settings.environment.links.configurationGuide"),href:"https://github.com/jrmatherly/shipit/blob/main/docs/guides/configuration.md"}],children:o("settings.environment.hint")})]}),(0,b.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,b.jsxs)(T,{icon:g.GitBranch,title:o("settings.workflow.title"),description:o("settings.workflow.sectionDescription"),testId:"workflow-settings-section",children:[(0,b.jsx)(S,{label:o("settings.workflow.defaultFastMode"),description:o("settings.workflow.defaultFastModeDescription"),id:"default-fast-mode",testId:"switch-default-fast-mode",checked:ah,onChange:a=>{ai(a),v(at({defaultFastMode:a}))}}),(0,b.jsx)(V,{children:o("settings.workflow.subsections.approve")}),(0,b.jsx)(S,{label:o("settings.workflow.autoApprovePrd"),description:o("settings.workflow.autoApprovePrdDescription"),id:"allow-prd",testId:"switch-allow-prd",checked:Q,onChange:a=>{X(a),v(at({allowPrd:a}))}}),(0,b.jsx)(S,{label:o("settings.workflow.autoApprovePlan"),description:o("settings.workflow.autoApprovePlanDescription"),id:"allow-plan",testId:"switch-allow-plan",checked:Z,onChange:a=>{$(a),v(at({allowPlan:a}))}}),(0,b.jsx)(S,{label:o("settings.workflow.autoApproveMerge"),description:o("settings.workflow.autoApproveMergeDescription"),id:"allow-merge",testId:"switch-allow-merge",checked:_,onChange:a=>{aa(a),v(at({allowMerge:a}))}}),(0,b.jsx)(V,{children:o("settings.workflow.subsections.evidence")}),(0,b.jsx)(S,{label:o("settings.workflow.collectEvidence"),description:o("settings.workflow.collectEvidenceDescription"),id:"enable-evidence",testId:"switch-enable-evidence",checked:ab,onChange:a=>{ac(a),a?v(at({enableEvidence:a})):(ae(!1),v(at({enableEvidence:a,commitEvidence:!1})))}}),(0,b.jsx)(S,{label:o("settings.workflow.addEvidenceToPr"),description:o("settings.workflow.addEvidenceToPrDescription"),id:"commit-evidence",testId:"switch-commit-evidence",checked:ad,disabled:!ab||!L,onChange:a=>{ae(a),v(at({commitEvidence:a}))}}),(0,b.jsx)(V,{children:o("settings.workflow.subsections.git")}),(0,b.jsx)(S,{label:o("settings.workflow.pushOnComplete"),description:o("settings.workflow.pushOnCompleteDescription"),id:"push-on-complete",testId:"switch-push-on-complete",checked:O,onChange:a=>{P(a),v(at({pushOnComplete:a}))}}),(0,b.jsx)(S,{label:o("settings.workflow.openPrOnComplete"),description:o("settings.workflow.openPrOnCompleteDescription"),id:"open-pr",testId:"switch-open-pr",checked:L,onChange:a=>{N(a),a?v(at({openPr:a})):(ae(!1),v(at({openPr:a,commitEvidence:!1})))}}),(0,b.jsx)(S,{label:o("settings.workflow.watchCiAfterPush"),description:o("settings.workflow.watchCiAfterPushDescription"),id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:af,onChange:a=>{ag(a),v(at({ciWatchEnabled:a}))}}),(0,b.jsx)(V,{children:"Archive"}),(0,b.jsx)(S,{label:"Auto-archive completed",description:"Automatically archive features after they reach the completed state",id:"auto-archive-enabled",testId:"switch-auto-archive-enabled",checked:aj,onChange:a=>{ak(a),v(at({autoArchiveEnabled:a}))}}),(0,b.jsx)(R,{label:"Archive delay",description:"Minutes to wait after completion before archiving (1–1440)",htmlFor:"auto-archive-delay",children:(0,b.jsx)(U,{id:"auto-archive-delay",testId:"input-auto-archive-delay",value:al,placeholder:"10",min:1,max:1440,suffix:"min",onChange:a=>{am(a)},onBlur:()=>{if(!aj)return;let a=parseInt(al,10),b=Number.isNaN(a)?10:Math.min(1440,Math.max(1,a));am(String(b)),v(at({autoArchiveDelay:String(b)}))}})})]}),(0,b.jsx)(W,{links:[{label:o("settings.workflow.links.approvalGates"),href:"https://github.com/jrmatherly/shipit/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:o("settings.workflow.links.pushAndPrFlags"),href:"https://github.com/jrmatherly/shipit/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:o("settings.workflow.hint")})]}),(0,b.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,b.jsx)(Y,{settings:a}),(0,b.jsx)(W,{links:[{label:o("settings.ci.links.cicdPipeline"),href:"https://github.com/jrmatherly/shipit/blob/main/docs/development/cicd.md"},{label:o("settings.ci.links.ciSecurityGates"),href:"https://github.com/jrmatherly/shipit/blob/main/specs/003-cicd-security-gates/spec.md"}],children:o("settings.ci.hint")})]}),(0,b.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,b.jsx)(aP,{settings:a}),(0,b.jsx)(W,{children:o("settings.stageTimeouts.hint")})]}),(0,b.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,b.jsxs)(T,{icon:j,title:o("settings.notifications.title"),description:o("settings.notifications.sectionDescription"),testId:"notification-settings-section",children:[(0,b.jsx)(V,{children:o("settings.notifications.channels")}),(0,b.jsx)(S,{label:o("settings.notifications.inAppLabel"),description:o("settings.notifications.inAppDescription"),id:"notif-in-app",testId:"switch-in-app",checked:an,onChange:a=>{ao(a),v(au({inApp:a}))}}),(0,b.jsx)(V,{children:o("settings.notifications.subsections.agentEvents")}),(0,b.jsx)(S,{label:o("settings.notifications.events.agentStarted"),id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:ap.agentStarted,onChange:a=>{let b={...ap,agentStarted:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(S,{label:o("settings.notifications.events.phaseCompleted"),id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:ap.phaseCompleted,onChange:a=>{let b={...ap,phaseCompleted:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(S,{label:o("settings.notifications.events.waitingApproval"),id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:ap.waitingApproval,onChange:a=>{let b={...ap,waitingApproval:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(S,{label:o("settings.notifications.events.agentCompleted"),id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:ap.agentCompleted,onChange:a=>{let b={...ap,agentCompleted:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(S,{label:o("settings.notifications.events.agentFailed"),id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:ap.agentFailed,onChange:a=>{let b={...ap,agentFailed:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(V,{children:o("settings.notifications.subsections.pullRequestEvents")}),(0,b.jsx)(S,{label:o("settings.notifications.events.prMerged"),id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:ap.prMerged,onChange:a=>{let b={...ap,prMerged:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(S,{label:o("settings.notifications.events.prClosed"),id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:ap.prClosed,onChange:a=>{let b={...ap,prClosed:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(S,{label:o("settings.notifications.events.prChecksPassed"),id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:ap.prChecksPassed,onChange:a=>{let b={...ap,prChecksPassed:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(S,{label:o("settings.notifications.events.prChecksFailed"),id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:ap.prChecksFailed,onChange:a=>{let b={...ap,prChecksFailed:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(S,{label:o("settings.notifications.events.prBlocked"),id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:ap.prBlocked,onChange:a=>{let b={...ap,prBlocked:a};aq(b),v(au({events:b}))}}),(0,b.jsx)(S,{label:o("settings.notifications.events.mergeReviewReady"),id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:ap.mergeReviewReady,onChange:a=>{let b={...ap,mergeReviewReady:a};aq(b),v(au({events:b}))}})]}),(0,b.jsx)(W,{links:[{label:o("settings.notifications.links.notificationSystem"),href:"https://github.com/jrmatherly/shipit/blob/main/specs/021-agent-notifications/spec.yaml"}],children:o("settings.notifications.hint")})]}),(0,b.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,b.jsxs)(T,{icon:k,title:o("settings.featureFlags.title"),description:o("settings.featureFlags.sectionDescription"),badge:o("settings.featureFlags.badge"),testId:"feature-flags-settings-section",children:[(0,b.jsx)(S,{label:o("settings.featureFlags.skills"),description:o("settings.featureFlags.skillsDescription"),id:"flag-skills",testId:"switch-flag-skills",checked:ar.skills,onChange:a=>{let b={...ar,skills:a};as(b),v({featureFlags:b})}}),(0,b.jsx)(S,{label:o("settings.featureFlags.deployments"),description:o("settings.featureFlags.deploymentsDescription"),id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:ar.envDeploy,onChange:a=>{let b={...ar,envDeploy:a};as(b),v({featureFlags:b})}}),(0,b.jsx)(S,{label:o("settings.featureFlags.debug"),description:o("settings.featureFlags.debugDescription"),id:"flag-debug",testId:"switch-flag-debug",checked:ar.debug,onChange:a=>{let b={...ar,debug:a};as(b),v({featureFlags:b})}}),(0,b.jsx)(S,{label:o("settings.featureFlags.githubImport"),description:o("settings.featureFlags.githubImportDescription"),id:"flag-githubImport",testId:"switch-flag-githubImport",checked:ar.githubImport,onChange:a=>{let b={...ar,githubImport:a};as(b),v({featureFlags:b})}}),(0,b.jsx)(S,{label:o("settings.featureFlags.adoptBranch"),description:o("settings.featureFlags.adoptBranchDescription"),id:"flag-adoptBranch",testId:"switch-flag-adoptBranch",checked:ar.adoptBranch,onChange:a=>{let b={...ar,adoptBranch:a};as(b),v({featureFlags:b})}}),(0,b.jsx)(S,{label:o("settings.featureFlags.gitRebaseSync"),description:o("settings.featureFlags.gitRebaseSyncDescription"),id:"flag-gitRebaseSync",testId:"switch-flag-gitRebaseSync",checked:ar.gitRebaseSync,onChange:a=>{let b={...ar,gitRebaseSync:a};as(b),v({featureFlags:b})}}),(0,b.jsx)(S,{label:o("settings.featureFlags.reactFileManager"),description:o("settings.featureFlags.reactFileManagerDescription"),id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:ar.reactFileManager,onChange:a=>{let b={...ar,reactFileManager:a};as(b),v({featureFlags:b})}})]}),(0,b.jsx)(W,{children:o("settings.featureFlags.hint")})]}),(0,b.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,b.jsx)(aQ,{settings:a}),(0,b.jsx)(W,{children:o("settings.interactiveAgent.hint")})]}),(0,b.jsxs)("div",{id:"section-fab-layout",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,b.jsx)(aR,{settings:a}),(0,b.jsx)(W,{children:o("settings.fabLayout.hint")})]}),(0,b.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,b.jsxs)(T,{icon:l,title:o("settings.database.title"),description:o("settings.database.sectionDescription"),testId:"database-settings-section",children:[(0,b.jsx)(R,{label:o("settings.database.location"),description:o("settings.database.locationDescription"),children:(0,b.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shipit-ai-home-path",children:h})}),(0,b.jsx)(R,{label:o("settings.database.size"),children:(0,b.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:i})})]}),(0,b.jsx)(W,{links:[{label:o("settings.database.links.settingsService"),href:"https://github.com/jrmatherly/shipit/blob/main/docs/architecture/settings-service.md"},{label:o("settings.database.links.settingsSpec"),href:"https://github.com/jrmatherly/shipit/blob/main/specs/005-global-settings-service/spec.md"}],children:o("settings.database.hint")})]})]})]})}],79020)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js.map
|