@cats-inc/cats-platform 0.3.4 → 0.3.6

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.
Files changed (34) hide show
  1. package/README.md +8 -1
  2. package/build/desktop/main.js +7 -0
  3. package/build/desktop/main.js.map +1 -1
  4. package/build/renderer/assets/{ActiveSessionPermissionChip-B49WcZBJ.js → ActiveSessionPermissionChip-DAYmT6k1.js} +1 -1
  5. package/build/renderer/assets/{App-BpxZB5ym.js → App-CqijA1ay.js} +1 -1
  6. package/build/renderer/assets/{App-DYTUfAl6.js → App-D7pZpZJb.js} +1 -1
  7. package/build/renderer/assets/{App-boB4WrmU.js → App-DmYMY-0Q.js} +1 -1
  8. package/build/renderer/assets/{WorkspaceAppRoutes-CPqz85iw.js → WorkspaceAppRoutes-QRbLsP-X.js} +1 -1
  9. package/build/renderer/assets/{app-C52wwCGz.js → app-BPrJ5yTD.js} +3 -3
  10. package/build/renderer/assets/{conversationSidebarRecentEntries-DK0iWS73.js → conversationSidebarRecentEntries-CRQbuF0s.js} +1 -1
  11. package/build/renderer/assets/{useDraftSessionChips-BdZ_B1gy.js → useDraftSessionChips-DzYjw4iK.js} +1 -1
  12. package/build/renderer/index.html +1 -1
  13. package/build/server/app/server/requestRouter.d.ts.map +1 -1
  14. package/build/server/app/server/requestRouter.js +4 -1
  15. package/build/server/app/server/requestRouter.js.map +1 -1
  16. package/build/server/app/server/shutdown.d.ts.map +1 -1
  17. package/build/server/app/server/shutdown.js +3 -1
  18. package/build/server/app/server/shutdown.js.map +1 -1
  19. package/build/server/app/server/startup.d.ts +4 -3
  20. package/build/server/app/server/startup.d.ts.map +1 -1
  21. package/build/server/app/server/startup.js +8 -0
  22. package/build/server/app/server/startup.js.map +1 -1
  23. package/build/server/index.js +30 -0
  24. package/build/server/index.js.map +1 -1
  25. package/build/server/shared/cliInteraction.d.ts +17 -0
  26. package/build/server/shared/cliInteraction.d.ts.map +1 -0
  27. package/build/server/shared/cliInteraction.js +106 -0
  28. package/build/server/shared/cliInteraction.js.map +1 -0
  29. package/build/server/shared/providerCatalogData.d.ts +56 -41
  30. package/build/server/shared/providerCatalogData.d.ts.map +1 -1
  31. package/build/server/shared/providerCatalogData.js +23 -17
  32. package/build/server/shared/providerCatalogData.js.map +1 -1
  33. package/package.json +2 -2
  34. package/scripts/dev-server.mjs +4 -1
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/App-boB4WrmU.js","assets/client-DREGSZqQ.js","assets/conversationSidebarRecentEntries-DK0iWS73.js","assets/ActiveSessionPermissionChip-B49WcZBJ.js","assets/useDraftSessionChips-BdZ_B1gy.js","assets/App-BXCQs2gk.css","assets/App-BpxZB5ym.js","assets/WorkspaceAppRoutes-CPqz85iw.js","assets/App-DxsV-tKS.css","assets/App-DYTUfAl6.js","assets/App-DKequja8.css"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/App-DmYMY-0Q.js","assets/client-DREGSZqQ.js","assets/conversationSidebarRecentEntries-CRQbuF0s.js","assets/ActiveSessionPermissionChip-DAYmT6k1.js","assets/useDraftSessionChips-DzYjw4iK.js","assets/App-BXCQs2gk.css","assets/App-CqijA1ay.js","assets/WorkspaceAppRoutes-QRbLsP-X.js","assets/App-DxsV-tKS.css","assets/App-D7pZpZJb.js","assets/App-DKequja8.css"])))=>i.map(i=>d[i]);
2
2
  import{r as d,a as hd,j as r,R as md,b as gd}from"./client-DREGSZqQ.js";var Fo=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,Ai=/^[\\/]{2}/;function kd(e,t){return t+e.replace(/\\/g,"/")}var Bn="popstate";function Fn(e){return typeof e=="object"&&e!=null&&"pathname"in e&&"search"in e&&"hash"in e&&"state"in e&&"key"in e}function wd(e={}){function t(o,n){let i=n.state?.masked,{pathname:s,search:c,hash:h}=i||o.location;return ao("",{pathname:s,search:c,hash:h},n.state&&n.state.usr||null,n.state&&n.state.key||"default",i?{pathname:o.location.pathname,search:o.location.search,hash:o.location.hash}:void 0)}function a(o,n){return typeof n=="string"?n:ya(n)}return bd(t,a,null,e)}function Pe(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Ze(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function fd(){return Math.random().toString(36).substring(2,10)}function On(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function ao(e,t,a=null,o,n){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?aa(t):t,state:a,key:t&&t.key||o||fd(),mask:n}}function ya({pathname:e="/",search:t="",hash:a=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),a&&a!=="#"&&(e+=a.charAt(0)==="#"?a:"#"+a),e}function aa(e){let t={};if(e){let a=e.indexOf("#");a>=0&&(t.hash=e.substring(a),e=e.substring(0,a));let o=e.indexOf("?");o>=0&&(t.search=e.substring(o),e=e.substring(0,o)),e&&(t.pathname=e)}return t}function bd(e,t,a,o={}){let{window:n=document.defaultView,v5Compat:i=!1}=o,s=n.history,c="POP",h=null,u=g();u==null&&(u=0,s.replaceState({...s.state,idx:u},""));function g(){return(s.state||{idx:null}).idx}function p(){c="POP";let m=g(),C=m==null?null:m-u;u=m,h&&h({action:c,location:y.location,delta:C})}function f(m,C){c="PUSH";let v=Fn(m)?m:ao(y.location,m,C);u=g()+1;let b=On(v,u),S=y.createHref(v.mask||v);try{s.pushState(b,"",S)}catch(T){if(T instanceof DOMException&&T.name==="DataCloneError")throw T;n.location.assign(S)}i&&h&&h({action:c,location:y.location,delta:1})}function w(m,C){c="REPLACE";let v=Fn(m)?m:ao(y.location,m,C);u=g();let b=On(v,u),S=y.createHref(v.mask||v);s.replaceState(b,"",S),i&&h&&h({action:c,location:y.location,delta:0})}function k(m){return yd(n,m)}let y={get action(){return c},get location(){return e(n,s)},listen(m){if(h)throw new Error("A history only accepts one active listener");return n.addEventListener(Bn,p),h=m,()=>{n.removeEventListener(Bn,p),h=null}},createHref(m){return t(n,m)},createURL:k,encodeLocation(m){let C=k(m);return{pathname:C.pathname,search:C.search,hash:C.hash}},push:f,replace:w,go(m){return s.go(m)}};return y}function yd(e,t,a=!1){let o="http://localhost";e&&(o=e.location.origin!=="null"?e.location.origin:e.location.href),Pe(o,"No window.location.(origin|href) available to create URL");let n=typeof t=="string"?t:ya(t);return n=n.replace(/ $/,"%20"),!a&&Ai.test(n)&&(n=o+n),new URL(n,o)}function Ti(e,t,a="/"){return vd(e,t,a,!1)}function vd(e,t,a,o,n){let i=typeof t=="string"?aa(t):t,s=St(i.pathname||"/",a);if(s==null)return null;let c=Cd(e),h=null,u=Ei(s);for(let g=0;h==null&&g<c.length;++g)h=jd(c[g],u,o);return h}function Cd(e){let t=Di(e);return Sd(t),t}function Di(e,t=[],a=[],o="",n=!1){let i=(s,c,h=n,u)=>{let g={relativePath:u===void 0?s.path||"":u,caseSensitive:s.caseSensitive===!0,childrenIndex:c,route:s};if(g.relativePath.startsWith("/")){if(!g.relativePath.startsWith(o)&&h)return;Pe(g.relativePath.startsWith(o),`Absolute route path "${g.relativePath}" nested under path "${o}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),g.relativePath=g.relativePath.slice(o.length)}let p=it([o,g.relativePath]),f=a.concat(g);s.children&&s.children.length>0&&(Pe(s.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${p}".`),Di(s.children,t,f,p,h)),!(s.path==null&&!s.index)&&t.push({path:p,score:Dd(p,s.index),routesMeta:f.map((w,k)=>{let[y,m]=Mi(w.relativePath,w.caseSensitive,k===f.length-1);return{...w,matcher:y,compiledParams:m}})})};return e.forEach((s,c)=>{if(s.path===""||!s.path?.includes("?"))i(s,c);else for(let h of Ni(s.path))i(s,c,!0,h)}),t}function Ni(e){let t=e.split("/");if(t.length===0)return[];let[a,...o]=t,n=a.endsWith("?"),i=a.replace(/\?$/,"");if(o.length===0)return n?[i,""]:[i];let s=Ni(o.join("/")),c=[];return c.push(...s.map(h=>h===""?i:[i,h].join("/"))),n&&c.push(...s),c.map(h=>e.startsWith("/")&&h===""?"/":h)}function Sd(e){e.sort((t,a)=>t.score!==a.score?a.score-t.score:Nd(t.routesMeta.map(o=>o.childrenIndex),a.routesMeta.map(o=>o.childrenIndex)))}var Ld=/^:[\w-]+$/,Pd=3,Rd=2,xd=1,Ad=10,Td=-2,Wn=e=>e==="*";function Dd(e,t){let a=e.split("/"),o=a.length;return a.some(Wn)&&(o+=Td),t&&(o+=Rd),a.filter(n=>!Wn(n)).reduce((n,i)=>n+(Ld.test(i)?Pd:i===""?xd:Ad),o)}function Nd(e,t){return e.length===t.length&&e.slice(0,-1).every((o,n)=>o===t[n])?e[e.length-1]-t[t.length-1]:0}function jd(e,t,a=!1){let{routesMeta:o}=e,n={},i="/",s=[];for(let c=0;c<o.length;++c){let h=o[c],u=c===o.length-1,g=i==="/"?t:t.slice(i.length)||"/",p={path:h.relativePath,caseSensitive:h.caseSensitive,end:u},f=h.matcher&&h.compiledParams?ji(p,g,h.matcher,h.compiledParams):va(p,g),w=h.route;if(!f&&u&&a&&!o[o.length-1].route.index&&(f=va({path:h.relativePath,caseSensitive:h.caseSensitive,end:!1},g)),!f)return null;Object.assign(n,f.params),s.push({params:n,pathname:it([i,f.pathname]),pathnameBase:Id(it([i,f.pathnameBase])),route:w}),f.pathnameBase!=="/"&&(i=it([i,f.pathnameBase]))}return s}function va(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[a,o]=Mi(e.path,e.caseSensitive,e.end);return ji(e,t,a,o)}function ji(e,t,a,o){let n=t.match(a);if(!n)return null;let i=n[0],s=i.replace(/(.)\/+$/,"$1"),c=n.slice(1);return{params:o.reduce((u,{paramName:g,isOptional:p},f)=>{if(g==="*"){let k=c[f]||"";s=i.slice(0,i.length-k.length).replace(/(.)\/+$/,"$1")}const w=c[f];return p&&!w?u[g]=void 0:u[g]=(w||"").replace(/%2F/g,"/"),u},{}),pathname:i,pathnameBase:s,pattern:e}}function Mi(e,t=!1,a=!0){Ze(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let o=[],n="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,c,h,u,g)=>{if(o.push({paramName:c,isOptional:h!=null}),h){let p=g.charAt(u+s.length);return p&&p!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(o.push({paramName:"*"}),n+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?n+="\\/*$":e!==""&&e!=="/"&&(n+="(?:(?=\\/|$))"),[new RegExp(n,t?void 0:"i"),o]}function Ei(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Ze(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function St(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let a=t.endsWith("/")?t.length-1:t.length,o=e.charAt(a);return o&&o!=="/"?null:e.slice(a)||"/"}function Md(e,t="/"){let{pathname:a,search:o="",hash:n=""}=typeof e=="string"?aa(e):e,i;return a?(a=Ii(a),a.startsWith("/")?i=Un(a.substring(1),"/"):i=Un(a,t)):i=t,{pathname:i,search:Bd(o),hash:Fd(n)}}function Un(e,t){let a=Ja(t).split("/");return e.split("/").forEach(n=>{n===".."?a.length>1&&a.pop():n!=="."&&a.push(n)}),a.length>1?a.join("/"):"/"}function Dr(e,t,a,o){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(o)}]. Please separate it out to the \`to.${a}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Ed(e){return e.filter((t,a)=>a===0||t.route.path&&t.route.path.length>0)}function Oo(e){let t=Ed(e);return t.map((a,o)=>o===t.length-1?a.pathname:a.pathnameBase)}function cr(e,t,a,o=!1){let n;typeof e=="string"?n=aa(e):(n={...e},Pe(!n.pathname||!n.pathname.includes("?"),Dr("?","pathname","search",n)),Pe(!n.pathname||!n.pathname.includes("#"),Dr("#","pathname","hash",n)),Pe(!n.search||!n.search.includes("#"),Dr("#","search","hash",n)));let i=e===""||n.pathname==="",s=i?"/":n.pathname,c;if(s==null)c=a;else{let p=t.length-1;if(!o&&s.startsWith("..")){let f=s.split("/");for(;f[0]==="..";)f.shift(),p-=1;n.pathname=f.join("/")}c=p>=0?t[p]:"/"}let h=Md(n,c),u=s&&s!=="/"&&s.endsWith("/"),g=(i||s===".")&&a.endsWith("/");return!h.pathname.endsWith("/")&&(u||g)&&(h.pathname+="/"),h}var Ii=e=>e.replace(/[\\/]{2,}/g,"/"),it=e=>Ii(e.join("/")),Ja=e=>e.replace(/\/+$/,""),Id=e=>Ja(e).replace(/^\/*/,"/"),Bd=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Fd=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,Od=class{constructor(e,t,a,o=!1){this.status=e,this.statusText=t||"",this.internal=o,a instanceof Error?(this.data=a.toString(),this.error=a):this.data=a}};function Wd(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function Ud(e){let t=e.map(a=>a.route.path).filter(Boolean);return it(t)||"/"}var Bi=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Fi(e,t){let a=e;if(typeof a!="string"||!Fo.test(a))return{absoluteURL:void 0,isExternal:!1,to:a};let o=a,n=!1;if(Bi)try{let i=new URL(window.location.href),s=Ai.test(a)?new URL(kd(a,i.protocol)):new URL(a),c=St(s.pathname,t);s.origin===i.origin&&c!=null?a=c+s.search+s.hash:n=!0}catch{Ze(!1,`<Link to="${a}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:o,isExternal:n,to:a}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Oi=["POST","PUT","PATCH","DELETE"];new Set(Oi);var Hd=["GET",...Oi];new Set(Hd);var Gd=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];function _d(e){try{return Gd.includes(new URL(e).protocol)}catch{return!1}}var ra=d.createContext(null);ra.displayName="DataRouter";var dr=d.createContext(null);dr.displayName="DataRouterState";var Wi=d.createContext(!1);function Kd(){return d.useContext(Wi)}var Ui=d.createContext({isTransitioning:!1});Ui.displayName="ViewTransition";var qd=d.createContext(new Map);qd.displayName="Fetchers";var zd=d.createContext(null);zd.displayName="Await";var Qe=d.createContext(null);Qe.displayName="Navigation";var Ma=d.createContext(null);Ma.displayName="Location";var et=d.createContext({outlet:null,matches:[],isDataRoute:!1});et.displayName="Route";var Wo=d.createContext(null);Wo.displayName="RouteError";var Hi="REACT_ROUTER_ERROR",$d="REDIRECT",Vd="ROUTE_ERROR_RESPONSE";function Yd(e){if(e.startsWith(`${Hi}:${$d}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function Qd(e){if(e.startsWith(`${Hi}:${Vd}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new Od(t.status,t.statusText,t.data)}catch{}}function Jd(e,{relative:t}={}){Pe(Ht(),"useHref() may be used only in the context of a <Router> component.");let{basename:a,navigator:o}=d.useContext(Qe),{hash:n,pathname:i,search:s}=Ea(e,{relative:t}),c=i;return a!=="/"&&(c=i==="/"?a:it([a,i])),o.createHref({pathname:c,search:s,hash:n})}function Ht(){return d.useContext(Ma)!=null}function Ne(){return Pe(Ht(),"useLocation() may be used only in the context of a <Router> component."),d.useContext(Ma).location}function Xd(e){Pe(Ht(),"useMatch() may be used only in the context of a <Router> component.");let{pathname:t}=Ne();return d.useMemo(()=>va(e,Ei(t)),[t,e])}var Gi="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function _i(e){d.useContext(Qe).static||d.useLayoutEffect(e)}function Ue(){let{isDataRoute:e}=d.useContext(et);return e?hu():Zd()}function Zd(){Pe(Ht(),"useNavigate() may be used only in the context of a <Router> component.");let e=d.useContext(ra),{basename:t,navigator:a}=d.useContext(Qe),{matches:o}=d.useContext(et),{pathname:n}=Ne(),i=JSON.stringify(Oo(o)),s=d.useRef(!1);return _i(()=>{s.current=!0}),d.useCallback((h,u={})=>{if(Ze(s.current,Gi),!s.current)return;if(typeof h=="number"){a.go(h);return}let g=cr(h,JSON.parse(i),n,u.relative==="path");e==null&&t!=="/"&&(g.pathname=g.pathname==="/"?t:it([t,g.pathname])),(u.replace?a.replace:a.push)(g,u.state,u)},[t,a,i,n,e])}var Ki=d.createContext(null);function eu(){return d.useContext(Ki)}function tu(e){let t=d.useContext(et).outlet;return d.useMemo(()=>t&&d.createElement(Ki.Provider,{value:e},t),[t,e])}function ur(){let{matches:e}=d.useContext(et);return e[e.length-1]?.params??{}}function Ea(e,{relative:t}={}){let{matches:a}=d.useContext(et),{pathname:o}=Ne(),n=JSON.stringify(Oo(a));return d.useMemo(()=>cr(e,JSON.parse(n),o,t==="path"),[e,n,o,t])}function au(e,t){return qi(e,t)}function qi(e,t,a){Pe(Ht(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:o}=d.useContext(Qe),{matches:n}=d.useContext(et),i=n[n.length-1],s=i?i.params:{},c=i?i.pathname:"/",h=i?i.pathnameBase:"/",u=i&&i.route;{let m=u&&u.path||"";$i(c,!u||m.endsWith("*")||m.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${c}" (under <Route path="${m}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
3
3
 
4
4
  Please change the parent <Route path="${m}"> to <Route path="${m==="/"?"*":`${m}/*`}">.`)}let g=Ne(),p;if(t){let m=typeof t=="string"?aa(t):t;Pe(h==="/"||m.pathname?.startsWith(h),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${h}" but pathname "${m.pathname}" was given in the \`location\` prop.`),p=m}else p=g;let f=p.pathname||"/",w=f;if(h!=="/"){let m=h.replace(/^\//,"").split("/");w="/"+f.replace(/^\//,"").split("/").slice(m.length).join("/")}let k=a&&a.state.matches.length?a.state.matches.map(m=>Object.assign(m,{route:a.manifest[m.route.id]||m.route})):Ti(e,{pathname:w});Ze(u||k!=null,`No routes matched location "${p.pathname}${p.search}${p.hash}" `),Ze(k==null||k[k.length-1].route.element!==void 0||k[k.length-1].route.Component!==void 0||k[k.length-1].route.lazy!==void 0,`Matched leaf route at location "${p.pathname}${p.search}${p.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let y=iu(k&&k.map(m=>Object.assign({},m,{params:Object.assign({},s,m.params),pathname:it([h,o.encodeLocation?o.encodeLocation(m.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:m.pathname]),pathnameBase:m.pathnameBase==="/"?h:it([h,o.encodeLocation?o.encodeLocation(m.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:m.pathnameBase])})),n,a);return t&&y?d.createElement(Ma.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...p},navigationType:"POP"}},y):y}function ru(){let e=pu(),t=Wd(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),a=e instanceof Error?e.stack:null,o="rgba(200,200,200, 0.5)",n={padding:"0.5rem",backgroundColor:o},i={padding:"2px 4px",backgroundColor:o},s=null;return console.error("Error handled by React Router default ErrorBoundary:",e),s=d.createElement(d.Fragment,null,d.createElement("p",null,"💿 Hey developer 👋"),d.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",d.createElement("code",{style:i},"ErrorBoundary")," or"," ",d.createElement("code",{style:i},"errorElement")," prop on your route.")),d.createElement(d.Fragment,null,d.createElement("h2",null,"Unexpected Application Error!"),d.createElement("h3",{style:{fontStyle:"italic"}},t),a?d.createElement("pre",{style:n},a):null,s)}var ou=d.createElement(ru,null),zi=class extends d.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const a=Qd(e.digest);a&&(e=a)}let t=e!==void 0?d.createElement(et.Provider,{value:this.props.routeContext},d.createElement(Wo.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?d.createElement(nu,{error:e},t):t}};zi.contextType=Wi;var Nr=new WeakMap;function nu({children:e,error:t}){let{basename:a}=d.useContext(Qe);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let o=Yd(t.digest);if(o){let n=Nr.get(t);if(n)throw n;let i=Fi(o.location,a),s=i.absoluteURL||i.to;if(_d(s))throw new Error("Invalid redirect location");if(Bi&&!Nr.get(t))if(i.isExternal||o.reloadDocument)window.location.href=s;else{const c=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:o.replace}));throw Nr.set(t,c),c}return d.createElement("meta",{httpEquiv:"refresh",content:`0;url=${s}`})}}return e}function su({routeContext:e,match:t,children:a}){let o=d.useContext(ra);return o&&o.static&&o.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=t.route.id),d.createElement(et.Provider,{value:e},a)}function iu(e,t=[],a){let o=a?.state;if(e==null){if(!o)return null;if(o.errors)e=o.matches;else if(t.length===0&&!o.initialized&&o.matches.length>0)e=o.matches;else return null}let n=e,i=o?.errors;if(i!=null){let g=n.findIndex(p=>p.route.id&&i?.[p.route.id]!==void 0);Pe(g>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(i).join(",")}`),n=n.slice(0,Math.min(n.length,g+1))}let s=!1,c=-1;if(a&&o){s=o.renderFallback;for(let g=0;g<n.length;g++){let p=n[g];if((p.route.HydrateFallback||p.route.hydrateFallbackElement)&&(c=g),p.route.id){let{loaderData:f,errors:w}=o,k=p.route.loader&&!f.hasOwnProperty(p.route.id)&&(!w||w[p.route.id]===void 0);if(p.route.lazy||k){a.isStatic&&(s=!0),c>=0?n=n.slice(0,c+1):n=[n[0]];break}}}}let h=a?.onError,u=o&&h?(g,p)=>{h(g,{location:o.location,params:o.matches?.[0]?.params??{},pattern:Ud(o.matches),errorInfo:p})}:void 0;return n.reduceRight((g,p,f)=>{let w,k=!1,y=null,m=null;o&&(w=i&&p.route.id?i[p.route.id]:void 0,y=p.route.errorElement||ou,s&&(c<0&&f===0?($i("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),k=!0,m=null):c===f&&(k=!0,m=p.route.hydrateFallbackElement||null)));let C=t.concat(n.slice(0,f+1)),v=()=>{let b;return w?b=y:k?b=m:p.route.Component?b=d.createElement(p.route.Component,null):p.route.element?b=p.route.element:b=g,d.createElement(su,{match:p,routeContext:{outlet:g,matches:C,isDataRoute:o!=null},children:b})};return o&&(p.route.ErrorBoundary||p.route.errorElement||f===0)?d.createElement(zi,{location:o.location,revalidation:o.revalidation,component:y,error:w,children:v(),routeContext:{outlet:null,matches:C,isDataRoute:!0},onError:u}):v()},null)}function Uo(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function lu(e){let t=d.useContext(ra);return Pe(t,Uo(e)),t}function cu(e){let t=d.useContext(dr);return Pe(t,Uo(e)),t}function du(e){let t=d.useContext(et);return Pe(t,Uo(e)),t}function Ho(e){let t=du(e),a=t.matches[t.matches.length-1];return Pe(a.route.id,`${e} can only be used on routes that contain a unique "id"`),a.route.id}function uu(){return Ho("useRouteId")}function pu(){let e=d.useContext(Wo),t=cu("useRouteError"),a=Ho("useRouteError");return e!==void 0?e:t.errors?.[a]}function hu(){let{router:e}=lu("useNavigate"),t=Ho("useNavigate"),a=d.useRef(!1);return _i(()=>{a.current=!0}),d.useCallback(async(n,i={})=>{Ze(a.current,Gi),a.current&&(typeof n=="number"?await e.navigate(n):await e.navigate(n,{fromRouteId:t,...i}))},[e,t])}var Hn={};function $i(e,t,a){!t&&!Hn[e]&&(Hn[e]=!0,Ze(!1,a))}d.memo(mu);function mu({routes:e,manifest:t,future:a,state:o,isStatic:n,onError:i}){return qi(e,void 0,{manifest:t,state:o,isStatic:n,onError:i})}function Lt({to:e,replace:t,state:a,relative:o}){Pe(Ht(),"<Navigate> may be used only in the context of a <Router> component.");let{static:n}=d.useContext(Qe);Ze(!n,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:i}=d.useContext(et),{pathname:s}=Ne(),c=Ue(),h=cr(e,Oo(i),s,o==="path"),u=JSON.stringify(h);return d.useEffect(()=>{c(JSON.parse(u),{replace:t,state:a,relative:o})},[c,u,o,t,a]),null}function Vi(e){return tu(e.context)}function se(e){Pe(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function gu({basename:e="/",children:t=null,location:a,navigationType:o="POP",navigator:n,static:i=!1,useTransitions:s}){Pe(!Ht(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let c=e.replace(/^\/*/,"/"),h=d.useMemo(()=>({basename:c,navigator:n,static:i,useTransitions:s,future:{}}),[c,n,i,s]);typeof a=="string"&&(a=aa(a));let{pathname:u="/",search:g="",hash:p="",state:f=null,key:w="default",mask:k}=a,y=d.useMemo(()=>{let m=St(u,c);return m==null?null:{location:{pathname:m,search:g,hash:p,state:f,key:w,mask:k},navigationType:o}},[c,u,g,p,f,w,o,k]);return Ze(y!=null,`<Router basename="${c}"> is not able to match the URL "${u}${g}${p}" because it does not start with the basename, so the <Router> won't render anything.`),y==null?null:d.createElement(Qe.Provider,{value:h},d.createElement(Ma.Provider,{children:t,value:y}))}function ma({children:e,location:t}){return au(ro(e),t)}function ro(e,t=[]){let a=[];return d.Children.forEach(e,(o,n)=>{if(!d.isValidElement(o))return;let i=[...t,n];if(o.type===d.Fragment){a.push.apply(a,ro(o.props.children,i));return}Pe(o.type===se,`[${typeof o.type=="string"?o.type:o.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),Pe(!o.props.index||!o.props.children,"An index route cannot have child routes.");let s={id:o.props.id||i.join("-"),caseSensitive:o.props.caseSensitive,element:o.props.element,Component:o.props.Component,index:o.props.index,path:o.props.path,middleware:o.props.middleware,loader:o.props.loader,action:o.props.action,hydrateFallbackElement:o.props.hydrateFallbackElement,HydrateFallback:o.props.HydrateFallback,errorElement:o.props.errorElement,ErrorBoundary:o.props.ErrorBoundary,hasErrorBoundary:o.props.hasErrorBoundary===!0||o.props.ErrorBoundary!=null||o.props.errorElement!=null,shouldRevalidate:o.props.shouldRevalidate,handle:o.props.handle,lazy:o.props.lazy};o.props.children&&(s.children=ro(o.props.children,i)),a.push(s)}),a}var $a="get",Va="application/x-www-form-urlencoded";function pr(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function ku(e){return pr(e)&&e.tagName.toLowerCase()==="button"}function wu(e){return pr(e)&&e.tagName.toLowerCase()==="form"}function fu(e){return pr(e)&&e.tagName.toLowerCase()==="input"}function bu(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function yu(e,t){return e.button===0&&(!t||t==="_self")&&!bu(e)}function oo(e=""){return new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,a)=>{let o=e[a];return t.concat(Array.isArray(o)?o.map(n=>[a,n]):[[a,o]])},[]))}function vu(e,t){let a=oo(e);return t&&t.forEach((o,n)=>{a.has(n)||t.getAll(n).forEach(i=>{a.append(n,i)})}),a}var Wa=null;function Cu(){if(Wa===null)try{new FormData(document.createElement("form"),0),Wa=!1}catch{Wa=!0}return Wa}var Su=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function jr(e){return e!=null&&!Su.has(e)?(Ze(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Va}"`),null):e}function Lu(e,t){let a,o,n,i,s;if(wu(e)){let c=e.getAttribute("action");o=c?St(c,t):null,a=e.getAttribute("method")||$a,n=jr(e.getAttribute("enctype"))||Va,i=new FormData(e)}else if(ku(e)||fu(e)&&(e.type==="submit"||e.type==="image")){let c=e.form;if(c==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let h=e.getAttribute("formaction")||c.getAttribute("action");if(o=h?St(h,t):null,a=e.getAttribute("formmethod")||c.getAttribute("method")||$a,n=jr(e.getAttribute("formenctype"))||jr(c.getAttribute("enctype"))||Va,i=new FormData(c,e),!Cu()){let{name:u,type:g,value:p}=e;if(g==="image"){let f=u?`${u}.`:"";i.append(`${f}x`,"0"),i.append(`${f}y`,"0")}else u&&i.append(u,p)}}else{if(pr(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');a=$a,o=null,n=Va,s=e}return i&&n==="text/plain"&&(s=i,i=void 0),{action:o,method:a.toLowerCase(),encType:n,formData:i,body:s}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function Go(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Yi(e,t,a,o){let n=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return a?n.pathname.endsWith("/")?n.pathname=`${n.pathname}_.${o}`:n.pathname=`${n.pathname}.${o}`:n.pathname==="/"?n.pathname=`_root.${o}`:t&&St(n.pathname,t)==="/"?n.pathname=`${Ja(t)}/_root.${o}`:n.pathname=`${Ja(n.pathname)}.${o}`,n}async function Pu(e,t){if(e.id in t)return t[e.id];try{let a=await import(e.module);return t[e.id]=a,a}catch(a){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(a),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Ru(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function xu(e,t,a){let o=await Promise.all(e.map(async n=>{let i=t.routes[n.route.id];if(i){let s=await Pu(i,a);return s.links?s.links():[]}return[]}));return Nu(o.flat(1).filter(Ru).filter(n=>n.rel==="stylesheet"||n.rel==="preload").map(n=>n.rel==="stylesheet"?{...n,rel:"prefetch",as:"style"}:{...n,rel:"prefetch"}))}function Gn(e,t,a,o,n,i){let s=(h,u)=>a[u]?h.route.id!==a[u].route.id:!0,c=(h,u)=>a[u].pathname!==h.pathname||a[u].route.path?.endsWith("*")&&a[u].params["*"]!==h.params["*"];return i==="assets"?t.filter((h,u)=>s(h,u)||c(h,u)):i==="data"?t.filter((h,u)=>{let g=o.routes[h.route.id];if(!g||!g.hasLoader)return!1;if(s(h,u)||c(h,u))return!0;if(h.route.shouldRevalidate){let p=h.route.shouldRevalidate({currentUrl:new URL(n.pathname+n.search+n.hash,window.origin),currentParams:a[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:h.params,defaultShouldRevalidate:!0});if(typeof p=="boolean")return p}return!0}):[]}function Au(e,t,{includeHydrateFallback:a}={}){return Tu(e.map(o=>{let n=t.routes[o.route.id];if(!n)return[];let i=[n.module];return n.clientActionModule&&(i=i.concat(n.clientActionModule)),n.clientLoaderModule&&(i=i.concat(n.clientLoaderModule)),a&&n.hydrateFallbackModule&&(i=i.concat(n.hydrateFallbackModule)),n.imports&&(i=i.concat(n.imports)),i}).flat(1))}function Tu(e){return[...new Set(e)]}function Du(e){let t={},a=Object.keys(e).sort();for(let o of a)t[o]=e[o];return t}function Nu(e,t){let a=new Set;return new Set(t),e.reduce((o,n)=>{let i=JSON.stringify(Du(n));return a.has(i)||(a.add(i),o.push({key:i,link:n})),o},[])}function _o(){let e=d.useContext(ra);return Go(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function ju(){let e=d.useContext(dr);return Go(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var Ko=d.createContext(void 0);Ko.displayName="FrameworkContext";function hr(){let e=d.useContext(Ko);return Go(e,"You must render this element inside a <HydratedRouter> element"),e}function Mu(e,t){let a=d.useContext(Ko),[o,n]=d.useState(!1),[i,s]=d.useState(!1),{onFocus:c,onBlur:h,onMouseEnter:u,onMouseLeave:g,onTouchStart:p}=t,f=d.useRef(null);d.useEffect(()=>{if(e==="render"&&s(!0),e==="viewport"){let y=C=>{C.forEach(v=>{s(v.isIntersecting)})},m=new IntersectionObserver(y,{threshold:.5});return f.current&&m.observe(f.current),()=>{m.disconnect()}}},[e]),d.useEffect(()=>{if(o){let y=setTimeout(()=>{s(!0)},100);return()=>{clearTimeout(y)}}},[o]);let w=()=>{n(!0)},k=()=>{n(!1),s(!1)};return a?e!=="intent"?[i,f,{}]:[i,f,{onFocus:la(c,w),onBlur:la(h,k),onMouseEnter:la(u,w),onMouseLeave:la(g,k),onTouchStart:la(p,w)}]:[!1,f,{}]}function la(e,t){return a=>{e&&e(a),a.defaultPrevented||t(a)}}function Eu({page:e,...t}){let a=Kd(),{nonce:o}=hr(),{router:n}=_o(),i=d.useMemo(()=>Ti(n.routes,e,n.basename),[n.routes,e,n.basename]);return i?(t.nonce==null&&o&&(t={...t,nonce:o}),a?d.createElement(Bu,{page:e,matches:i,...t}):d.createElement(Fu,{page:e,matches:i,...t})):null}function Iu(e){let{manifest:t,routeModules:a}=hr(),[o,n]=d.useState([]);return d.useEffect(()=>{let i=!1;return xu(e,t,a).then(s=>{i||n(s)}),()=>{i=!0}},[e,t,a]),o}function Bu({page:e,matches:t,...a}){let o=Ne(),{future:n}=hr(),{basename:i}=_o(),s=d.useMemo(()=>{if(e===o.pathname+o.search+o.hash)return[];let c=Yi(e,i,n.v8_trailingSlashAwareDataRequests,"rsc"),h=!1,u=[];for(let g of t)typeof g.route.shouldRevalidate=="function"?h=!0:u.push(g.route.id);return h&&u.length>0&&c.searchParams.set("_routes",u.join(",")),[c.pathname+c.search]},[i,n.v8_trailingSlashAwareDataRequests,e,o,t]);return d.createElement(d.Fragment,null,s.map(c=>d.createElement("link",{key:c,rel:"prefetch",as:"fetch",href:c,...a})))}function Fu({page:e,matches:t,...a}){let o=Ne(),{future:n,manifest:i,routeModules:s}=hr(),{basename:c}=_o(),{loaderData:h,matches:u}=ju(),g=d.useMemo(()=>Gn(e,t,u,i,o,"data"),[e,t,u,i,o]),p=d.useMemo(()=>Gn(e,t,u,i,o,"assets"),[e,t,u,i,o]),f=d.useMemo(()=>{if(e===o.pathname+o.search+o.hash)return[];let y=new Set,m=!1;if(t.forEach(v=>{let b=i.routes[v.route.id];!b||!b.hasLoader||(!g.some(S=>S.route.id===v.route.id)&&v.route.id in h&&s[v.route.id]?.shouldRevalidate||b.hasClientLoader?m=!0:y.add(v.route.id))}),y.size===0)return[];let C=Yi(e,c,n.v8_trailingSlashAwareDataRequests,"data");return m&&y.size>0&&C.searchParams.set("_routes",t.filter(v=>y.has(v.route.id)).map(v=>v.route.id).join(",")),[C.pathname+C.search]},[c,n.v8_trailingSlashAwareDataRequests,h,o,i,g,t,e,s]),w=d.useMemo(()=>Au(p,i),[p,i]),k=Iu(p);return d.createElement(d.Fragment,null,f.map(y=>d.createElement("link",{key:y,rel:"prefetch",as:"fetch",href:y,...a})),w.map(y=>d.createElement("link",{key:y,rel:"modulepreload",href:y,...a})),k.map(({key:y,link:m})=>d.createElement("link",{key:y,nonce:a.nonce,...m,crossOrigin:m.crossOrigin??a.crossOrigin})))}function Ou(...e){return t=>{e.forEach(a=>{typeof a=="function"?a(t):a!=null&&(a.current=t)})}}var Wu=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Wu&&(window.__reactRouterVersion="7.18.1")}catch{}function Uu({basename:e,children:t,useTransitions:a,window:o}){let n=d.useRef();n.current==null&&(n.current=wd({window:o,v5Compat:!0}));let i=n.current,[s,c]=d.useState({action:i.action,location:i.location}),h=d.useCallback(u=>{a===!1?c(u):d.startTransition(()=>c(u))},[a]);return d.useLayoutEffect(()=>i.listen(h),[i,h]),d.createElement(gu,{basename:e,children:t,location:s.location,navigationType:s.action,navigator:i,useTransitions:a})}var Wt=d.forwardRef(function({onClick:t,discover:a="render",prefetch:o="none",relative:n,reloadDocument:i,replace:s,mask:c,state:h,target:u,to:g,preventScrollReset:p,viewTransition:f,defaultShouldRevalidate:w,...k},y){let{basename:m,navigator:C,useTransitions:v}=d.useContext(Qe),b=typeof g=="string"&&Fo.test(g),S=Fi(g,m);g=S.to;let T=Jd(g,{relative:n}),M=Ne(),j=null;if(c){let K=cr(c,[],M.mask?M.mask.pathname:"/",!0);m!=="/"&&(K.pathname=K.pathname==="/"?m:it([m,K.pathname])),j=C.createHref(K)}let[R,P,A]=Mu(o,k),x=Ku(g,{replace:s,mask:c,state:h,target:u,preventScrollReset:p,relative:n,viewTransition:f,defaultShouldRevalidate:w,useTransitions:v});function E(K){t&&t(K),K.defaultPrevented||x(K)}let O=!(S.isExternal||i),$=d.createElement("a",{...k,...A,href:(O?j:void 0)||S.absoluteURL||T,onClick:O?E:t,ref:Ou(y,P),target:u,"data-discover":!b&&a==="render"?"true":void 0});return R&&!b?d.createElement(d.Fragment,null,$,d.createElement(Eu,{page:T})):$});Wt.displayName="Link";var Hu=d.forwardRef(function({"aria-current":t="page",caseSensitive:a=!1,className:o="",end:n=!1,style:i,to:s,viewTransition:c,children:h,...u},g){let p=Ea(s,{relative:u.relative}),f=Ne(),w=d.useContext(dr),{navigator:k,basename:y}=d.useContext(Qe),m=w!=null&&Yu(p)&&c===!0,C=k.encodeLocation?k.encodeLocation(p).pathname:p.pathname,v=f.pathname,b=w&&w.navigation&&w.navigation.location?w.navigation.location.pathname:null;a||(v=v.toLowerCase(),b=b?b.toLowerCase():null,C=C.toLowerCase()),b&&y&&(b=St(b,y)||b);const S=C!=="/"&&C.endsWith("/")?C.length-1:C.length;let T=v===C||!n&&v.startsWith(C)&&v.charAt(S)==="/",M=b!=null&&(b===C||!n&&b.startsWith(C)&&b.charAt(C.length)==="/"),j={isActive:T,isPending:M,isTransitioning:m},R=T?t:void 0,P;typeof o=="function"?P=o(j):P=[o,T?"active":null,M?"pending":null,m?"transitioning":null].filter(Boolean).join(" ");let A=typeof i=="function"?i(j):i;return d.createElement(Wt,{...u,"aria-current":R,className:P,ref:g,style:A,to:s,viewTransition:c},typeof h=="function"?h(j):h)});Hu.displayName="NavLink";var Gu=d.forwardRef(({discover:e="render",fetcherKey:t,navigate:a,reloadDocument:o,replace:n,state:i,method:s=$a,action:c,onSubmit:h,relative:u,preventScrollReset:g,viewTransition:p,defaultShouldRevalidate:f,...w},k)=>{let{useTransitions:y}=d.useContext(Qe),m=$u(),C=Vu(c,{relative:u}),v=s.toLowerCase()==="get"?"get":"post",b=typeof c=="string"&&Fo.test(c),S=T=>{if(h&&h(T),T.defaultPrevented)return;T.preventDefault();let M=T.nativeEvent.submitter,j=M?.getAttribute("formmethod")||s,R=()=>m(M||T.currentTarget,{fetcherKey:t,method:j,navigate:a,replace:n,state:i,relative:u,preventScrollReset:g,viewTransition:p,defaultShouldRevalidate:f});y&&a!==!1?d.startTransition(()=>R()):R()};return d.createElement("form",{ref:k,method:v,action:C,onSubmit:o?h:S,...w,"data-discover":!b&&e==="render"?"true":void 0})});Gu.displayName="Form";function _u(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Qi(e){let t=d.useContext(ra);return Pe(t,_u(e)),t}function Ku(e,{target:t,replace:a,mask:o,state:n,preventScrollReset:i,relative:s,viewTransition:c,defaultShouldRevalidate:h,useTransitions:u}={}){let g=Ue(),p=Ne(),f=Ea(e,{relative:s});return d.useCallback(w=>{if(yu(w,t)){w.preventDefault();let k=a!==void 0?a:ya(p)===ya(f),y=()=>g(e,{replace:k,mask:o,state:n,preventScrollReset:i,relative:s,viewTransition:c,defaultShouldRevalidate:h});u?d.startTransition(()=>y()):y()}},[p,g,f,a,o,n,t,e,i,s,c,h,u])}function NS(e){Ze(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=d.useRef(oo(e)),a=d.useRef(!1),o=Ne(),n=d.useMemo(()=>vu(o.search,a.current?null:t.current),[o.search]),i=Ue(),s=d.useCallback((c,h)=>{const u=oo(typeof c=="function"?c(new URLSearchParams(n)):c);a.current=!0,i("?"+u,h)},[i,n]);return[n,s]}var qu=0,zu=()=>`__${String(++qu)}__`;function $u(){let{router:e}=Qi("useSubmit"),{basename:t}=d.useContext(Qe),a=uu(),o=e.fetch,n=e.navigate;return d.useCallback(async(i,s={})=>{let{action:c,method:h,encType:u,formData:g,body:p}=Lu(i,t);if(s.navigate===!1){let f=s.fetcherKey||zu();await o(f,a,s.action||c,{defaultShouldRevalidate:s.defaultShouldRevalidate,preventScrollReset:s.preventScrollReset,formData:g,body:p,formMethod:s.method||h,formEncType:s.encType||u,flushSync:s.flushSync})}else await n(s.action||c,{defaultShouldRevalidate:s.defaultShouldRevalidate,preventScrollReset:s.preventScrollReset,formData:g,body:p,formMethod:s.method||h,formEncType:s.encType||u,replace:s.replace,state:s.state,fromRouteId:a,flushSync:s.flushSync,viewTransition:s.viewTransition})},[o,n,t,a])}function Vu(e,{relative:t}={}){let{basename:a}=d.useContext(Qe),o=d.useContext(et);Pe(o,"useFormAction must be used inside a RouteContext");let[n]=o.matches.slice(-1),i={...Ea(e||".",{relative:t})},s=Ne();if(e==null){i.search=s.search;let c=new URLSearchParams(i.search),h=c.getAll("index");if(h.some(g=>g==="")){c.delete("index"),h.filter(p=>p).forEach(p=>c.append("index",p));let g=c.toString();i.search=g?`?${g}`:""}}return(!e||e===".")&&n.route.index&&(i.search=i.search?i.search.replace(/^\?/,"?index&"):"?index"),a!=="/"&&(i.pathname=i.pathname==="/"?a:it([a,i.pathname])),ya(i)}function Yu(e,{relative:t}={}){let a=d.useContext(Ui);Pe(a!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:o}=Qi("useViewTransitionState"),n=Ea(e,{relative:t});if(!a.isTransitioning)return!1;let i=St(a.currentLocation.pathname,o)||a.currentLocation.pathname,s=St(a.nextLocation.pathname,o)||a.nextLocation.pathname;return va(n.pathname,s)!=null||va(n.pathname,i)!=null}var Vt=hd(),mr=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Qu=class extends mr{#e;#t;#a;constructor(){super(),this.#a=e=>{if(typeof window<"u"&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#a)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#a=e,this.#t?.(),this.#t=e(t=>{typeof t=="boolean"?this.setFocused(t):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},Ji=new Qu,Ju={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Xu=class{#e=Ju;#t=!1;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}},no=new Xu;function Zu(e){setTimeout(e,0)}var ep=typeof window>"u"||"Deno"in globalThis;function ot(){}function tp(e,t){return typeof e=="function"?e(t):e}function ap(e){return typeof e=="number"&&e>=0&&e!==1/0}function rp(e,t){return Math.max(e+(t||0)-Date.now(),0)}function so(e,t){return typeof e=="function"?e(t):e}function op(e,t){return typeof e=="function"?e(t):e}function _n(e,t){const{type:a="all",exact:o,fetchStatus:n,predicate:i,queryKey:s,stale:c}=e;if(s){if(o){if(t.queryHash!==qo(s,t.options))return!1}else if(!Sa(t.queryKey,s))return!1}if(a!=="all"){const h=t.isActive();if(a==="active"&&!h||a==="inactive"&&h)return!1}return!(typeof c=="boolean"&&t.isStale()!==c||n&&n!==t.state.fetchStatus||i&&!i(t))}function Kn(e,t){const{exact:a,status:o,predicate:n,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(a){if(Ca(t.options.mutationKey)!==Ca(i))return!1}else if(!Sa(t.options.mutationKey,i))return!1}return!(o&&t.state.status!==o||n&&!n(t))}function qo(e,t){return(t?.queryKeyHashFn||Ca)(e)}function Ca(e){return JSON.stringify(e,(t,a)=>io(a)?Object.keys(a).sort().reduce((o,n)=>(o[n]=a[n],o),{}):a)}function Sa(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(a=>Sa(e[a],t[a])):!1}var np=Object.prototype.hasOwnProperty;function Xi(e,t,a=0){if(e===t)return e;if(a>500)return t;const o=qn(e)&&qn(t);if(!o&&!(io(e)&&io(t)))return t;const i=(o?e:Object.keys(e)).length,s=o?t:Object.keys(t),c=s.length,h=o?new Array(c):{};let u=0;for(let g=0;g<c;g++){const p=o?g:s[g],f=e[p],w=t[p];if(f===w){h[p]=f,(o?g<i:np.call(e,p))&&u++;continue}if(f===null||w===null||typeof f!="object"||typeof w!="object"){h[p]=w;continue}const k=Xi(f,w,a+1);h[p]=k,k===f&&u++}return i===c&&u===i?e:h}function jS(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const a in e)if(e[a]!==t[a])return!1;return!0}function qn(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function io(e){if(!zn(e))return!1;const t=e.constructor;if(t===void 0)return!0;const a=t.prototype;return!(!zn(a)||!a.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function zn(e){return Object.prototype.toString.call(e)==="[object Object]"}function sp(e){return new Promise(t=>{no.setTimeout(t,e)})}function ip(e,t,a){return typeof a.structuralSharing=="function"?a.structuralSharing(e,t):a.structuralSharing!==!1?Xi(e,t):t}function lp(e,t,a=0){const o=[...e,t];return a&&o.length>a?o.slice(1):o}function cp(e,t,a=0){const o=[t,...e];return a&&o.length>a?o.slice(0,-1):o}var zo=Symbol();function Zi(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===zo?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function MS(e,t){return typeof e=="function"?e(...t):!!e}function dp(e,t,a){let o=!1,n;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(n??=t(),o||(o=!0,n.aborted?a():n.addEventListener("abort",a,{once:!0})),n)}),e}var el=(()=>{let e=()=>ep;return{isServer(){return e()},setIsServer(t){e=t}}})();function up(){let e,t;const a=new Promise((n,i)=>{e=n,t=i});a.status="pending",a.catch(()=>{});function o(n){Object.assign(a,n),delete a.resolve,delete a.reject}return a.resolve=n=>{o({status:"fulfilled",value:n}),e(n)},a.reject=n=>{o({status:"rejected",reason:n}),t(n)},a}var pp=Zu;function hp(){let e=[],t=0,a=c=>{c()},o=c=>{c()},n=pp;const i=c=>{t?e.push(c):n(()=>{a(c)})},s=()=>{const c=e;e=[],c.length&&n(()=>{o(()=>{c.forEach(h=>{a(h)})})})};return{batch:c=>{let h;t++;try{h=c()}finally{t--,t||s()}return h},batchCalls:c=>(...h)=>{i(()=>{c(...h)})},schedule:i,setNotifyFunction:c=>{a=c},setBatchNotifyFunction:c=>{o=c},setScheduler:c=>{n=c}}}var Ke=hp(),mp=class extends mr{#e=!0;#t;#a;constructor(){super(),this.#a=e=>{if(typeof window<"u"&&window.addEventListener){const t=()=>e(!0),a=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",a,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",a)}}}}onSubscribe(){this.#t||this.setEventListener(this.#a)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#a=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(a=>{a(e)}))}isOnline(){return this.#e}},Xa=new mp;function gp(e){return Math.min(1e3*2**e,3e4)}function tl(e){return(e??"online")==="online"?Xa.isOnline():!0}var lo=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function al(e){let t=!1,a=0,o;const n=up(),i=()=>n.status!=="pending",s=y=>{if(!i()){const m=new lo(y);f(m),e.onCancel?.(m)}},c=()=>{t=!0},h=()=>{t=!1},u=()=>Ji.isFocused()&&(e.networkMode==="always"||Xa.isOnline())&&e.canRun(),g=()=>tl(e.networkMode)&&e.canRun(),p=y=>{i()||(o?.(),n.resolve(y))},f=y=>{i()||(o?.(),n.reject(y))},w=()=>new Promise(y=>{o=m=>{(i()||u())&&y(m)},e.onPause?.()}).then(()=>{o=void 0,i()||e.onContinue?.()}),k=()=>{if(i())return;let y;const m=a===0?e.initialPromise:void 0;try{y=m??e.fn()}catch(C){y=Promise.reject(C)}Promise.resolve(y).then(p).catch(C=>{if(i())return;const v=e.retry??(el.isServer()?0:3),b=e.retryDelay??gp,S=typeof b=="function"?b(a,C):b,T=v===!0||typeof v=="number"&&a<v||typeof v=="function"&&v(a,C);if(t||!T){f(C);return}a++,e.onFail?.(a,C),sp(S).then(()=>u()?void 0:w()).then(()=>{t?f(C):k()})})};return{promise:n,status:()=>n.status,cancel:s,continue:()=>(o?.(),n),cancelRetry:c,continueRetry:h,canStart:g,start:()=>(g()?k():w().then(k),n)}}var rl=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),ap(this.gcTime)&&(this.#e=no.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(el.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(no.clearTimeout(this.#e),this.#e=void 0)}};function kp(e){return{onFetch:(t,a)=>{const o=t.options,n=t.fetchOptions?.meta?.fetchMore?.direction,i=t.state.data?.pages||[],s=t.state.data?.pageParams||[];let c={pages:[],pageParams:[]},h=0;const u=async()=>{let g=!1;const p=k=>{dp(k,()=>t.signal,()=>g=!0)},f=Zi(t.options,t.fetchOptions),w=async(k,y,m)=>{if(g)return Promise.reject(t.signal.reason);if(y==null&&k.pages.length)return Promise.resolve(k);const v=(()=>{const M={client:t.client,queryKey:t.queryKey,pageParam:y,direction:m?"backward":"forward",meta:t.options.meta};return p(M),M})(),b=await f(v),{maxPages:S}=t.options,T=m?cp:lp;return{pages:T(k.pages,b,S),pageParams:T(k.pageParams,y,S)}};if(n&&i.length){const k=n==="backward",y=k?wp:$n,m={pages:i,pageParams:s},C=y(o,m);c=await w(m,C,k)}else{const k=e??i.length;do{const y=h===0?s[0]??o.initialPageParam:$n(o,c);if(h>0&&y==null)break;c=await w(c,y),h++}while(h<k)}return c};t.options.persister?t.fetchFn=()=>t.options.persister?.(u,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},a):t.fetchFn=u}}}function $n(e,{pages:t,pageParams:a}){const o=t.length-1;return t.length>0?e.getNextPageParam(t[o],t,a[o],a):void 0}function wp(e,{pages:t,pageParams:a}){return t.length>0?e.getPreviousPageParam?.(t[0],t,a[0],a):void 0}var fp=class extends rl{#e;#t;#a;#o;#n;#r;#l;#s;constructor(e){super(),this.#s=!1,this.#l=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#n=e.client,this.#o=this.#n.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=Yn(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#r?.promise}setOptions(e){if(this.options={...this.#l,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const t=Yn(this.options);t.data!==void 0&&(this.setState(Vn(t.data,t.dataUpdatedAt)),this.#t=t)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#o.remove(this)}setData(e,t){const a=ip(this.state.data,e,this.options);return this.#i({data:a,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),a}setState(e){this.#i({type:"setState",state:e})}cancel(e){const t=this.#r?.promise;return this.#r?.cancel(e),t?t.then(ot).catch(ot):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>op(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===zo||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>so(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!rp(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(t=>t.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#r?.continue()}onOnline(){this.observers.find(t=>t.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#r?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#o.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#r&&(this.#s||this.#c()?this.#r.cancel({revert:!0}):this.#r.cancelRetry()),this.scheduleGc()),this.#o.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}#c(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"}invalidate(){this.state.isInvalidated||this.#i({type:"invalidate"})}async fetch(e,t){if(this.state.fetchStatus!=="idle"&&this.#r?.status()!=="rejected"){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#r)return this.#r.continueRetry(),this.#r.promise}if(e&&this.setOptions(e),!this.options.queryFn){const h=this.observers.find(u=>u.options.queryFn);h&&this.setOptions(h.options)}const a=new AbortController,o=h=>{Object.defineProperty(h,"signal",{enumerable:!0,get:()=>(this.#s=!0,a.signal)})},n=()=>{const h=Zi(this.options,t),g=(()=>{const p={client:this.#n,queryKey:this.queryKey,meta:this.meta};return o(p),p})();return this.#s=!1,this.options.persister?this.options.persister(h,g,this):h(g)},s=(()=>{const h={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#n,state:this.state,fetchFn:n};return o(h),h})();(this.#e==="infinite"?kp(this.options.pages):this.options.behavior)?.onFetch(s,this),this.#a=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==s.fetchOptions?.meta)&&this.#i({type:"fetch",meta:s.fetchOptions?.meta}),this.#r=al({initialPromise:t?.initialPromise,fn:s.fetchFn,onCancel:h=>{h instanceof lo&&h.revert&&this.setState({...this.#a,fetchStatus:"idle"}),a.abort()},onFail:(h,u)=>{this.#i({type:"failed",failureCount:h,error:u})},onPause:()=>{this.#i({type:"pause"})},onContinue:()=>{this.#i({type:"continue"})},retry:s.options.retry,retryDelay:s.options.retryDelay,networkMode:s.options.networkMode,canRun:()=>!0});try{const h=await this.#r.start();if(h===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(h),this.#o.config.onSuccess?.(h,this),this.#o.config.onSettled?.(h,this.state.error,this),h}catch(h){if(h instanceof lo){if(h.silent)return this.#r.promise;if(h.revert){if(this.state.data===void 0)throw h;return this.state.data}}throw this.#i({type:"error",error:h}),this.#o.config.onError?.(h,this),this.#o.config.onSettled?.(this.state.data,h,this),h}finally{this.scheduleGc()}}#i(e){const t=a=>{switch(e.type){case"failed":return{...a,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...a,fetchStatus:"paused"};case"continue":return{...a,fetchStatus:"fetching"};case"fetch":return{...a,...bp(a.data,this.options),fetchMeta:e.meta??null};case"success":const o={...a,...Vn(e.data,e.dataUpdatedAt),dataUpdateCount:a.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#a=e.manual?o:void 0,o;case"error":const n=e.error;return{...a,error:n,errorUpdateCount:a.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:a.fetchFailureCount+1,fetchFailureReason:n,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...a,isInvalidated:!0};case"setState":return{...a,...e.state}}};this.state=t(this.state),Ke.batch(()=>{this.observers.forEach(a=>{a.onQueryUpdate()}),this.#o.notify({query:this,type:"updated",action:e})})}};function bp(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:tl(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Vn(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Yn(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,a=t!==void 0,o=a?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:a?o??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:a?"success":"pending",fetchStatus:"idle"}}var yp=class extends rl{#e;#t;#a;#o;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#a=e.mutationCache,this.#t=[],this.state=e.state||vp(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#a.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#a.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status==="pending"?this.scheduleGc():this.#a.remove(this))}continue(){return this.#o?.continue()??this.execute(this.state.variables)}async execute(e){const t=()=>{this.#n({type:"continue"})},a={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#o=al({fn:()=>this.options.mutationFn?this.options.mutationFn(e,a):Promise.reject(new Error("No mutationFn found")),onFail:(i,s)=>{this.#n({type:"failed",failureCount:i,error:s})},onPause:()=>{this.#n({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#a.canRun(this)});const o=this.state.status==="pending",n=!this.#o.canStart();try{if(o)t();else{this.#n({type:"pending",variables:e,isPaused:n}),this.#a.config.onMutate&&await this.#a.config.onMutate(e,this,a);const s=await this.options.onMutate?.(e,a);s!==this.state.context&&this.#n({type:"pending",context:s,variables:e,isPaused:n})}const i=await this.#o.start();return await this.#a.config.onSuccess?.(i,e,this.state.context,this,a),await this.options.onSuccess?.(i,e,this.state.context,a),await this.#a.config.onSettled?.(i,null,this.state.variables,this.state.context,this,a),await this.options.onSettled?.(i,null,e,this.state.context,a),this.#n({type:"success",data:i}),i}catch(i){try{await this.#a.config.onError?.(i,e,this.state.context,this,a)}catch(s){Promise.reject(s)}try{await this.options.onError?.(i,e,this.state.context,a)}catch(s){Promise.reject(s)}try{await this.#a.config.onSettled?.(void 0,i,this.state.variables,this.state.context,this,a)}catch(s){Promise.reject(s)}try{await this.options.onSettled?.(void 0,i,e,this.state.context,a)}catch(s){Promise.reject(s)}throw this.#n({type:"error",error:i}),i}finally{this.#a.runNext(this)}}#n(e){const t=a=>{switch(e.type){case"failed":return{...a,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...a,isPaused:!0};case"continue":return{...a,isPaused:!1};case"pending":return{...a,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...a,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...a,data:void 0,error:e.error,failureCount:a.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=t(this.state),Ke.batch(()=>{this.#t.forEach(a=>{a.onMutationUpdate(e)}),this.#a.notify({mutation:this,type:"updated",action:e})})}};function vp(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Cp=class extends mr{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#a=0}#e;#t;#a;build(e,t,a){const o=new yp({client:e,mutationCache:this,mutationId:++this.#a,options:e.defaultMutationOptions(t),state:a});return this.add(o),o}add(e){this.#e.add(e);const t=Ua(e);if(typeof t=="string"){const a=this.#t.get(t);a?a.push(e):this.#t.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#e.delete(e)){const t=Ua(e);if(typeof t=="string"){const a=this.#t.get(t);if(a)if(a.length>1){const o=a.indexOf(e);o!==-1&&a.splice(o,1)}else a[0]===e&&this.#t.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){const t=Ua(e);if(typeof t=="string"){const o=this.#t.get(t)?.find(n=>n.state.status==="pending");return!o||o===e}else return!0}runNext(e){const t=Ua(e);return typeof t=="string"?this.#t.get(t)?.find(o=>o!==e&&o.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){Ke.batch(()=>{this.#e.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){const t={exact:!0,...e};return this.getAll().find(a=>Kn(t,a))}findAll(e={}){return this.getAll().filter(t=>Kn(e,t))}notify(e){Ke.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){const e=this.getAll().filter(t=>t.state.isPaused);return Ke.batch(()=>Promise.all(e.map(t=>t.continue().catch(ot))))}};function Ua(e){return e.options.scope?.id}var Sp=class extends mr{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,a){const o=t.queryKey,n=t.queryHash??qo(o,t);let i=this.get(n);return i||(i=new fp({client:e,queryKey:o,queryHash:n,options:e.defaultQueryOptions(t),state:a,defaultOptions:e.getQueryDefaults(o)}),this.add(i)),i}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){Ke.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){const t={exact:!0,...e};return this.getAll().find(a=>_n(t,a))}findAll(e={}){const t=this.getAll();return Object.keys(e).length>0?t.filter(a=>_n(e,a)):t}notify(e){Ke.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){Ke.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Ke.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Lp=class{#e;#t;#a;#o;#n;#r;#l;#s;constructor(e={}){this.#e=e.queryCache||new Sp,this.#t=e.mutationCache||new Cp,this.#a=e.defaultOptions||{},this.#o=new Map,this.#n=new Map,this.#r=0}mount(){this.#r++,this.#r===1&&(this.#l=Ji.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Xa.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#r--,this.#r===0&&(this.#l?.(),this.#l=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#t.findAll({...e,status:"pending"}).length}getQueryData(e){const t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),a=this.#e.build(this,t),o=a.state.data;return o===void 0?this.fetchQuery(e):(e.revalidateIfStale&&a.isStaleByTime(so(t.staleTime,a))&&this.prefetchQuery(t),Promise.resolve(o))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:t,state:a})=>{const o=a.data;return[t,o]})}setQueryData(e,t,a){const o=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(o.queryHash)?.state.data,s=tp(t,i);if(s!==void 0)return this.#e.build(this,o).setData(s,{...a,manual:!0})}setQueriesData(e,t,a){return Ke.batch(()=>this.#e.findAll(e).map(({queryKey:o})=>[o,this.setQueryData(o,t,a)]))}getQueryState(e){const t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){const t=this.#e;Ke.batch(()=>{t.findAll(e).forEach(a=>{t.remove(a)})})}resetQueries(e,t){const a=this.#e;return Ke.batch(()=>(a.findAll(e).forEach(o=>{o.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const a={revert:!0,...t},o=Ke.batch(()=>this.#e.findAll(e).map(n=>n.cancel(a)));return Promise.all(o).then(ot).catch(ot)}invalidateQueries(e,t={}){return Ke.batch(()=>(this.#e.findAll(e).forEach(a=>{a.invalidate()}),e?.refetchType==="none"?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t)))}refetchQueries(e,t={}){const a={...t,cancelRefetch:t.cancelRefetch??!0},o=Ke.batch(()=>this.#e.findAll(e).filter(n=>!n.isDisabled()&&!n.isStatic()).map(n=>{let i=n.fetch(void 0,a);return a.throwOnError||(i=i.catch(ot)),n.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(o).then(ot)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const a=this.#e.build(this,t);return a.isStaleByTime(so(t.staleTime,a))?a.fetch(t):Promise.resolve(a.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(ot).catch(ot)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(ot).catch(ot)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return Xa.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#a}setDefaultOptions(e){this.#a=e}setQueryDefaults(e,t){this.#o.set(Ca(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...this.#o.values()],a={};return t.forEach(o=>{Sa(e,o.queryKey)&&Object.assign(a,o.defaultOptions)}),a}setMutationDefaults(e,t){this.#n.set(Ca(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...this.#n.values()],a={};return t.forEach(o=>{Sa(e,o.mutationKey)&&Object.assign(a,o.defaultOptions)}),a}defaultQueryOptions(e){if(e._defaulted)return e;const t={...this.#a.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=qo(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===zo&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#a.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},ol=d.createContext(void 0),ES=e=>{const t=d.useContext(ol);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},Pp=({client:e,children:t})=>(d.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),r.jsx(ol.Provider,{value:e,children:t}));const $o=[{id:"chat",surface:"chat",routePrefix:"/chat",productName:"Cats Chat",subtitle:"Conversations with companions and personal agents",group:"home",installPolicy:"required",installState:"installed",maturity:"active",setup:{selectable:!0},settings:[{id:"chat",label:"Chat",path:"/settings/chat"}]},{id:"code",surface:"code",routePrefix:"/code",productName:"Cats Code",subtitle:"Repos, runs, and codespaces",group:"office",installPolicy:"required",installState:"installed",maturity:"preview",setup:{selectable:!0},settings:[{id:"code",label:"Code",path:"/settings/code"}]},{id:"work",surface:"work",routePrefix:"/work",productName:"Cats Work",subtitle:"Projects, approvals, and operator workflow",group:"office",installPolicy:"required",installState:"installed",maturity:"preview",setup:{selectable:!0},settings:[{id:"work",label:"Work",path:"/settings/work"}]}];new Map($o.map(e=>[e.id,e]));const nl=new Map($o.filter(e=>e.surface!==null).map(e=>[e.surface,e]));function Rp(e){return{...e,setup:{...e.setup},settings:e.settings?.map(t=>({...t}))}}function xp(){return $o.map(Rp)}function Ap(e){return nl.get(e)?.routePrefix??"/chat"}function Tp(e){return nl.get(e)?.productName??"Cats Chat"}const Vo=xp().filter(e=>e.surface!==null).map(e=>({id:e.surface,routePrefix:e.routePrefix,productName:e.productName,subtitle:e.subtitle}));new Map(Vo.map(e=>[e.id,e]));const Dp={chat:"Chat",work:"Work",code:"Code"};function Np(){return Vo}function jp(e){return Vo.find(a=>e===a.routePrefix||e.startsWith(`${a.routePrefix}/`))?.id??"chat"}function IS(e){return Tp(e)}function Mp(e){return Dp[e]??"Chat"}function gr(e){return Ap(e)}const l={appBrandName:"app.brandName",appLoadingWithSurface:"app.loadingWithSurface",appLoadingEllipsis:"app.loadingEllipsis",appErrorTitle:"app.errorTitle",appErrorEyebrow:"app.errorEyebrow",appTitle:"app.title",appLoadErrorMessage:"app.loadErrorMessage",appLoadStateFailedWithStatus:"app.loadStateFailedWithStatus",setupWizardAdminCredentialsHint:"setupWizard.adminCredentialsHint",setupWizardAdminIdentifierLabel:"setupWizard.adminIdentifierLabel",setupWizardAdminIdentifierPlaceholder:"setupWizard.adminIdentifierPlaceholder",setupWizardAdminPasswordLabel:"setupWizard.adminPasswordLabel",setupWizardAdminPasswordPlaceholder:"setupWizard.adminPasswordPlaceholder",authLoginTitle:"auth.login.title",authLoginSubtitle:"auth.login.subtitle",authLoginIdentifierLabel:"auth.login.identifierLabel",authLoginIdentifierPlaceholder:"auth.login.identifierPlaceholder",authLoginPasswordLabel:"auth.login.passwordLabel",authLoginPasswordPlaceholder:"auth.login.passwordPlaceholder",authLoginSubmit:"auth.login.submit",authLoginSubmitting:"auth.login.submitting",authLoginInvalidCredentials:"auth.login.invalidCredentials",authLoginForbidden:"auth.login.forbidden",authLoginCsrfMismatch:"auth.login.csrfMismatch",authLoginFailed:"auth.login.failed",authLoginFailedWithStatus:"auth.login.failedWithStatus",authLoginGoogleOriginHint:"auth.login.googleOriginHint",authLoginGoogleUnavailable:"auth.login.googleUnavailable",authRepairTitle:"auth.repair.title",authRepairSubtitle:"auth.repair.subtitle",authRepairDisplayNameLabel:"auth.repair.displayNameLabel",authRepairDisplayNamePlaceholder:"auth.repair.displayNamePlaceholder",authRepairIdentifierLabel:"auth.repair.identifierLabel",authRepairIdentifierPlaceholder:"auth.repair.identifierPlaceholder",authRepairPasswordLabel:"auth.repair.passwordLabel",authRepairPasswordPlaceholder:"auth.repair.passwordPlaceholder",authRepairRecoveryTokenLabel:"auth.repair.recoveryTokenLabel",authRepairRecoveryTokenPlaceholder:"auth.repair.recoveryTokenPlaceholder",authRepairRecoveryTokenHint:"auth.repair.recoveryTokenHint",authRepairSubmit:"auth.repair.submit",authRepairSubmitting:"auth.repair.submitting",authRepairForbidden:"auth.repair.forbidden",authRepairFailed:"auth.repair.failed",authRepairFailedWithStatus:"auth.repair.failedWithStatus",appHostLabel:"appHost.label",appHostNotInstalledTitle:"appHost.notInstalledTitle",appHostBackToLobby:"appHost.backToLobby",appHostRendererUnavailable:"appHost.rendererUnavailable",appHostRendererTimedOut:"appHost.rendererTimedOut",appHostRendererRetry:"appHost.rendererRetry",appHostRendererAccessChanged:"appHost.rendererAccessChanged",appHostRendererNavigatedAway:"appHost.rendererNavigatedAway",appHostSubtitleRendererPending:"appHost.subtitleRendererPending",appHostSubtitleDisabled:"appHost.subtitleDisabled",appHostSectionPackage:"appHost.sectionPackage",appHostSectionStatus:"appHost.sectionStatus",appHostSectionPublisher:"appHost.sectionPublisher",sharedProductRendererErrorEyebrow:"shared.productRenderer.errorEyebrow",sharedProductRendererChatUnavailableTitle:"shared.productRenderer.chatUnavailableTitle",sharedProductRendererUnknownError:"shared.productRenderer.unknownError",sharedProductBootLoadingAria:"shared.product.bootLoadingAria",platformProductChatName:"platform.product.chat.name",platformProductChatSubtitle:"platform.product.chat.subtitle",platformProductChatSettingsLabel:"platform.product.chat.settingsLabel",platformProductCodeName:"platform.product.code.name",platformProductCodeSubtitle:"platform.product.code.subtitle",platformProductCodeSettingsLabel:"platform.product.code.settingsLabel",platformProductWorkName:"platform.product.work.name",platformProductWorkSubtitle:"platform.product.work.subtitle",platformProductWorkSettingsLabel:"platform.product.work.settingsLabel",lobbyAccountSettingsAriaLabel:"lobby.accountSettingsAriaLabel",lobbyOpenAccountSettings:"lobby.openAccountSettings",lobbyRuntimeStatusLabel:"lobby.runtimeStatusLabel",lobbyProductsSectionTitle:"lobby.productsSectionTitle",lobbyAppsSectionTitle:"lobby.appsSectionTitle",lobbyContinueText:"lobby.continueText",lobbyOpenEntry:"lobby.openEntry",lobbyGreetingChooseSurface:"lobby.greeting.chooseSurface",lobbyGreetingHomeReady:"lobby.greeting.homeReady",lobbyGreetingPickProduct:"lobby.greeting.pickProduct",lobbyGreetingEverythingStaged:"lobby.greeting.everythingStaged",lobbyGreetingOpenSurface:"lobby.greeting.openSurface",lobbyGreetingAwake:"lobby.greeting.awake",lobbyGreetingContinue:"lobby.greeting.continue",sharedRuntimeStatusTooltipReady:"shared.runtimeStatus.tooltip.ready",sharedRuntimeStatusTooltipDegraded:"shared.runtimeStatus.tooltip.degraded",sharedRuntimeStatusTooltipUnavailable:"shared.runtimeStatus.tooltip.unavailable",sharedRuntimeStatusTooltipUnknown:"shared.runtimeStatus.tooltip.unknown",sharedRuntimeStatusChipReady:"shared.runtimeStatus.chip.ready",sharedRuntimeStatusChipDegraded:"shared.runtimeStatus.chip.degraded",sharedRuntimeStatusChipUnavailable:"shared.runtimeStatus.chip.unavailable",settingsGeneralProfileTitle:"settings.general.profileTitle",settingsGeneralProfileDescription:"settings.general.profileDescription",settingsGeneralAvatarLabel:"settings.general.avatarLabel",settingsGeneralAvatarChangeLabel:"settings.general.avatarChangeLabel",settingsGeneralAvatarUploadLabel:"settings.general.avatarUploadLabel",settingsGeneralAvatarRemoveLabel:"settings.general.avatarRemoveLabel",settingsGeneralNameLabel:"settings.general.nameLabel",settingsGeneralAccountTitle:"settings.general.accountTitle",settingsGeneralAccountDescription:"settings.general.accountDescription",settingsGeneralSignOutButton:"settings.general.signOutButton",settingsGeneralSigningOutButton:"settings.general.signingOutButton",settingsGeneralSignOutFailed:"settings.general.signOutFailed",settingsGeneralSignOutFailedWithStatus:"settings.general.signOutFailedWithStatus",settingsGeneralSignOutCsrfError:"settings.general.signOutCsrfError",settingsGeneralSignOutForbiddenError:"settings.general.signOutForbiddenError",settingsGeneralSignOutUnauthenticated:"settings.general.signOutUnauthenticated",settingsAccountSignedInAs:"settings.account.signedInAs",settingsAccountLoginMethodsTitle:"settings.account.loginMethodsTitle",settingsAccountLocalPasswordLabel:"settings.account.localPasswordLabel",settingsAccountLocalPasswordDescription:"settings.account.localPasswordDescription",settingsAccountLocalPasswordLinked:"settings.account.localPasswordLinked",settingsAccountLocalPasswordMissing:"settings.account.localPasswordMissing",settingsAccountGoogleLabel:"settings.account.googleLabel",settingsAccountGoogleDescription:"settings.account.googleDescription",settingsAccountGoogleLinkedStatus:"settings.account.googleLinkedStatus",settingsAccountGoogleNotLinkedStatus:"settings.account.googleNotLinkedStatus",settingsAccountGoogleUnavailableStatus:"settings.account.googleUnavailableStatus",settingsAccountGoogleUnavailableHint:"settings.account.googleUnavailableHint",settingsAccountGoogleLinkButton:"settings.account.googleLinkButton",settingsAccountGoogleUnlinkButton:"settings.account.googleUnlinkButton",settingsAccountGoogleLinkingLabel:"settings.account.googleLinkingLabel",settingsAccountGoogleUnlinkingLabel:"settings.account.googleUnlinkingLabel",settingsAccountReauthTitle:"settings.account.reauthTitle",settingsAccountReauthLinkDescription:"settings.account.reauthLinkDescription",settingsAccountReauthUnlinkDescription:"settings.account.reauthUnlinkDescription",settingsAccountReauthPasswordLabel:"settings.account.reauthPasswordLabel",settingsAccountReauthPasswordPlaceholder:"settings.account.reauthPasswordPlaceholder",settingsAccountReauthSubmit:"settings.account.reauthSubmit",settingsAccountReauthSubmitting:"settings.account.reauthSubmitting",settingsAccountReauthCancel:"settings.account.reauthCancel",settingsAccountGoogleContinueTitle:"settings.account.googleContinueTitle",settingsAccountGoogleContinueDescription:"settings.account.googleContinueDescription",settingsAccountUnlinkWarning:"settings.account.unlinkWarning",settingsAccountReauthFailed:"settings.account.reauthFailed",settingsAccountReauthFailedWithStatus:"settings.account.reauthFailedWithStatus",settingsAccountReauthInvalidPassword:"settings.account.reauthInvalidPassword",settingsAccountReauthRequired:"settings.account.reauthRequired",settingsAccountLinkFailed:"settings.account.linkFailed",settingsAccountLinkFailedWithStatus:"settings.account.linkFailedWithStatus",settingsAccountLinkConflict:"settings.account.linkConflict",settingsAccountUnlinkFailed:"settings.account.unlinkFailed",settingsAccountUnlinkFailedWithStatus:"settings.account.unlinkFailedWithStatus",settingsAccountUnlinkConflict:"settings.account.unlinkConflict",settingsAccountGoogleUnavailableError:"settings.account.googleUnavailableError",settingsGeneralLanguageTitle:"settings.general.languageTitle",settingsGeneralLanguageDescription:"settings.general.languageDescription",settingsGeneralAssistantLanguagePreferenceLabel:"settings.general.assistantLanguagePreferenceLabel",settingsGeneralAssistantLanguagePreferenceDescription:"settings.general.assistantLanguagePreferenceDescription",settingsGeneralAssistantLanguageSelectAriaLabel:"settings.general.assistantLanguageSelectAriaLabel",settingsGeneralAssistantLanguageUnspecifiedOption:"settings.general.assistantLanguageUnspecifiedOption",settingsGeneralLanguagePreferenceLabel:"settings.general.languagePreferenceLabel",settingsGeneralLanguagePreferenceDescription:"settings.general.languagePreferenceDescription",settingsGeneralLanguageSelectAriaLabel:"settings.general.languageSelectAriaLabel",settingsGeneralLanguageAutoOption:"settings.general.languageAutoOption",settingsGeneralLanguageEnglishOption:"settings.general.languageEnglishOption",settingsGeneralLanguageTraditionalChineseOption:"settings.general.languageTraditionalChineseOption",settingsGeneralLobbyMotionTitle:"settings.general.lobbyMotionTitle",settingsGeneralLobbyMotionDescription:"settings.general.lobbyMotionDescription",settingsGeneralLobbyMotionOffLabel:"settings.general.lobbyMotionOffLabel",settingsGeneralLobbyMotionOffDescription:"settings.general.lobbyMotionOffDescription",settingsGeneralLobbyMotionReducedLabel:"settings.general.lobbyMotionReducedLabel",settingsGeneralLobbyMotionReducedDescription:"settings.general.lobbyMotionReducedDescription",settingsGeneralLobbyMotionFullLabel:"settings.general.lobbyMotionFullLabel",settingsGeneralLobbyMotionFullDescription:"settings.general.lobbyMotionFullDescription",settingsGeneralGuideCatAssistTitle:"settings.general.guideCatAssistTitle",settingsGeneralGuideCatAssistDisabledDescription:"settings.general.guideCatAssistDisabledDescription",settingsGeneralGuideCatAssistEnabledDescription:"settings.general.guideCatAssistEnabledDescription",settingsGeneralOpenAssistantsButton:"settings.general.openAssistantsButton",settingsGeneralGuideCatAutoLabel:"settings.general.guideCatAutoLabel",settingsGeneralGuideCatAutoDescription:"settings.general.guideCatAutoDescription",settingsGeneralGuideCatSidePanelLabel:"settings.general.guideCatSidePanelLabel",settingsGeneralGuideCatSidePanelDescription:"settings.general.guideCatSidePanelDescription",settingsGeneralGuideCatBubbleLabel:"settings.general.guideCatBubbleLabel",settingsGeneralGuideCatBubbleDescription:"settings.general.guideCatBubbleDescription",settingsGeneralUpdateNameError:"settings.general.updateNameError",settingsGeneralUpdateAssistantLanguageError:"settings.general.updateAssistantLanguageError",settingsGeneralUpdateLanguageError:"settings.general.updateLanguageError",settingsGeneralUpdateLobbyAnimationError:"settings.general.updateLobbyAnimationError",settingsGeneralUpdateGuideCatModeError:"settings.general.updateGuideCatModeError",settingsGeneralRemoveAvatarError:"settings.general.removeAvatarError",settingsGeneralSaveAvatarError:"settings.general.saveAvatarError",settingsShellHeading:"settings.shell.heading",settingsShellSectionGeneral:"settings.shell.sectionGeneral",settingsShellSectionCats:"settings.shell.sectionCats",settingsShellSubsectionMyCats:"settings.shell.subsectionMyCats",settingsShellSubsectionAssistants:"settings.shell.subsectionAssistants",settingsShellSectionApps:"settings.shell.sectionApps",settingsShellSectionDesktop:"settings.shell.sectionDesktop",settingsShellSectionRuntime:"settings.shell.sectionRuntime",settingsShellSectionData:"settings.shell.sectionData",settingsShellCloseButtonLabel:"settings.shell.closeButtonLabel",settingsChatBossToolProfileTitle:"settings.chat.bossToolProfileTitle",settingsChatBossToolProfileUpdateFailure:"settings.chat.bossToolProfileUpdateFailure",settingsChatAdvancedControlsFailure:"settings.chat.advancedControlsFailure",settingsConversationProductLabelChat:"settings.conversation.productLabelChat",settingsConversationProductLabelCode:"settings.conversation.productLabelCode",settingsConversationProductLabelWork:"settings.conversation.productLabelWork",settingsConversationBehaviorTitle:"settings.conversation.behaviorTitle",settingsConversationBehaviorDescription:"settings.conversation.behaviorDescription",settingsConversationShowVerboseLabel:"settings.conversation.showVerboseLabel",settingsConversationShowVerboseDescription:"settings.conversation.showVerboseDescription",settingsConversationShowLiveProgressLabel:"settings.conversation.showLiveProgressLabel",settingsConversationShowLiveProgressDescription:"settings.conversation.showLiveProgressDescription",settingsConversationUpdateFailure:"settings.conversation.updateFailure",settingsConversationConcurrentLayoutLabel:"settings.conversation.concurrentLayoutLabel",settingsConversationConcurrentLayoutDescription:"settings.conversation.concurrentLayoutDescription",settingsConversationLayoutInlineStack:"settings.conversation.layoutInlineStack",settingsConversationLayoutCompareCards:"settings.conversation.layoutCompareCards",settingsConversationLayoutFocusRail:"settings.conversation.layoutFocusRail",settingsConversationLayoutAdaptive:"settings.conversation.layoutAdaptive",settingsAdvancedDraftControlsTitle:"settings.advancedDraftControls.title",settingsAdvancedDraftControlsDescription:"settings.advancedDraftControls.description",settingsAdvancedDraftControlsEnableLabel:"settings.advancedDraftControls.enableLabel",settingsAdvancedDraftControlsToggleDescription:"settings.advancedDraftControls.toggleDescription",settingsRuntimeStatusChipRuntimeUnavailable:"settings.runtime.statusChip.runtimeUnavailable",settingsRuntimeStatusChipRuntimeDegraded:"settings.runtime.statusChip.runtimeDegraded",settingsRuntimeStatusChipRuntimeReady:"settings.runtime.statusChip.runtimeReady",settingsRuntimeStatusChipSetupReadyToApply:"settings.runtime.statusChip.setupReadyToApply",settingsRuntimeStatusChipSetupNeedsRemediation:"settings.runtime.statusChip.setupNeedsRemediation",settingsRuntimeStatusChipProviderScanRequired:"settings.runtime.statusChip.providerScanRequired",settingsRuntimeStatusChipSetupUnavailable:"settings.runtime.statusChip.setupUnavailable",settingsRuntimeStatusTitle:"settings.runtime.statusTitle",settingsRuntimeStatusDescription:"settings.runtime.statusDescription",settingsRuntimeMetricReadyProviders:"settings.runtime.metricReadyProviders",settingsRuntimeMetricProvidersScanned:"settings.runtime.metricProvidersScanned",settingsRuntimeMetricNeedAttention:"settings.runtime.metricNeedAttention",settingsRuntimeNeedAttentionTitle:"settings.runtime.needAttentionTitle",settingsRuntimeNeedAttentionDescription:"settings.runtime.needAttentionDescription",settingsRuntimeProviderHelpersTitle:"settings.runtime.providerHelpersTitle",settingsRuntimeProviderHelpersDescription:"settings.runtime.providerHelpersDescription",settingsRuntimeNoProviderHelpers:"settings.runtime.noProviderHelpers",settingsRuntimeLoadingHelpers:"settings.runtime.loadingHelpers",settingsRuntimeWorkingState:"settings.runtime.workingState",settingsRuntimeActionCheckLabel:"settings.runtime.actions.check",settingsRuntimeActionInstallLabel:"settings.runtime.actions.install",settingsRuntimeActionUpgradeLabel:"settings.runtime.actions.upgrade",settingsRuntimeActionRepairLabel:"settings.runtime.actions.repair",settingsRuntimeActionUninstallLabel:"settings.runtime.actions.uninstall",settingsRuntimeUninstallButtonLabel:"settings.runtime.uninstallButtonLabel",settingsRuntimeModelCatalogsTitle:"settings.runtime.modelCatalogsTitle",settingsRuntimeModelCatalogsDescription:"settings.runtime.modelCatalogsDescription",settingsRuntimeRefreshingState:"settings.runtime.refreshingState",settingsRuntimeRefreshCatalogsButton:"settings.runtime.refreshCatalogsButton",settingsRuntimeStandaloneSetupTitle:"settings.runtime.standaloneSetupTitle",settingsRuntimeStandaloneSetupDescription:"settings.runtime.standaloneSetupDescription",settingsRuntimeOpenStandaloneSetup:"settings.runtime.openStandaloneSetup",settingsRuntimeBrowserHandoffError:"settings.runtime.browserHandoffError",settingsRuntimeCancelActionLabel:"settings.runtime.cancelActionLabel",settingsRuntimeCancelActionFallbackLabel:"settings.runtime.cancelActionFallbackLabel",settingsRuntimeRefreshFailure:"settings.runtime.refreshFailure",settingsRuntimeRefreshFailureWithStatus:"settings.runtime.refreshFailureWithStatus",settingsRuntimeRefreshSummary:"settings.runtime.refreshSummary",settingsRuntimeRefreshSummaryWithFailures:"settings.runtime.refreshSummaryWithFailures",settingsRuntimeUninstallTitle:"settings.runtime.uninstallTitle",settingsRuntimeUninstallHelperLabel:"settings.runtime.uninstallHelperLabel",settingsRuntimeUninstallScriptLabel:"settings.runtime.uninstallScriptLabel",settingsRuntimeComputingPlannedRemovals:"settings.runtime.computingPlannedRemovals",settingsRuntimePreviewUnavailable:"settings.runtime.previewUnavailable",settingsRuntimeNothingToRemove:"settings.runtime.nothingToRemove",settingsRuntimeSystemInstallDetected:"settings.runtime.systemInstallDetected",settingsRuntimeWillRemoveItems:"settings.runtime.willRemoveItems",settingsRuntimeSystemInstallCannotRemove:"settings.runtime.systemInstallCannotRemove",settingsRuntimeUninstallDescriptionPrefix:"settings.runtime.uninstallDescriptionPrefix",settingsRuntimeUninstallDescriptionSuffix:"settings.runtime.uninstallDescriptionSuffix",settingsRuntimeActionNoResult:"settings.runtime.actionNoResult",settingsRuntimeActionSuccessComplete:"settings.runtime.actionSuccessComplete",settingsRuntimeActionSuccessNothingToRemove:"settings.runtime.actionSuccessNothingToRemove",settingsRuntimeActionPartialWithDetail:"settings.runtime.actionPartialWithDetail",settingsRuntimeActionPartial:"settings.runtime.actionPartial",settingsRuntimeActionFailedWithDetail:"settings.runtime.actionFailedWithDetail",settingsRuntimeActionFailed:"settings.runtime.actionFailed",settingsRuntimeHostBridgeUnavailableClient:"settings.runtime.hostBridgeUnavailableClient",settingsRuntimeHostBridgeUnavailable:"settings.runtime.hostBridgeUnavailable",settingsRuntimePreviewMissingResult:"settings.runtime.previewMissingResult",settingsRuntimePreviewFailed:"settings.runtime.previewFailed",settingsRuntimeFixStepCount:"settings.runtime.fixStepCount",settingsRuntimeHelperLabelWindowsCliReadiness:"settings.runtime.helperLabel.windowsCliReadiness",settingsRuntimeHelperLabelWindowsVcRedist:"settings.runtime.helperLabel.windowsVcRedist",settingsRuntimeHelperLabelNodeHostInstaller:"settings.runtime.helperLabel.nodeHostInstaller",settingsRuntimeHelperLabelGithubCliHostInstaller:"settings.runtime.helperLabel.githubCliHostInstaller",settingsRuntimeHelperLabelNpmPrefixHelper:"settings.runtime.helperLabel.npmPrefixHelper",settingsRuntimeHelperLabelSetupReadinessAudit:"settings.runtime.helperLabel.setupReadinessAudit",settingsRuntimeHelperLabelPackagedBackgroundProcessHelper:"settings.runtime.helperLabel.packagedBackgroundProcessHelper",settingsRuntimeHelperLabelPackagedProviderUninstallHelper:"settings.runtime.helperLabel.packagedProviderUninstallHelper",settingsRuntimeHelperLabelPackagedNpmGlobalCliInstallerHelper:"settings.runtime.helperLabel.packagedNpmGlobalCliInstallerHelper",settingsRuntimeHelperLabelNativeProviderInstaller:"settings.runtime.helperLabel.nativeProviderInstaller",settingsRuntimeHelperLabelProviderInstaller:"settings.runtime.helperLabel.providerInstaller",settingsRuntimeHelperLabelLocalModelInstaller:"settings.runtime.helperLabel.localModelInstaller",settingsRuntimeHelperUnavailableReason:"settings.runtime.helperUnavailableReason",settingsRuntimeHelperUnsupportedPlatformReason:"settings.runtime.helperUnsupportedPlatformReason",settingsRuntimePlatformSupportAllDesktop:"settings.runtime.platformSupport.allDesktop",settingsRuntimePlatformSupportWindows:"settings.runtime.platformSupport.windows",settingsRuntimePlatformSupportWindowsWsl:"settings.runtime.platformSupport.windowsWsl",settingsRuntimePlatformSupportMacos:"settings.runtime.platformSupport.macos",settingsRuntimePlatformSupportLinux:"settings.runtime.platformSupport.linux",settingsRuntimeHelperUnsupportedActionReason:"settings.runtime.helperUnsupportedActionReason",settingsRuntimeLifecycleStatusAuthRequired:"settings.runtime.lifecycleStatus.authRequired",settingsRuntimeLifecycleStatusBlocked:"settings.runtime.lifecycleStatus.blocked",settingsRuntimeLifecycleStatusChangesRequired:"settings.runtime.lifecycleStatus.changesRequired",settingsRuntimeLifecycleStatusFailed:"settings.runtime.lifecycleStatus.failed",settingsRuntimeLifecycleStatusNotInstalled:"settings.runtime.lifecycleStatus.notInstalled",settingsRuntimeLifecycleStatusPreview:"settings.runtime.lifecycleStatus.preview",settingsRuntimeLifecycleStatusReady:"settings.runtime.lifecycleStatus.ready",settingsRuntimeLifecycleStatusRestartRequired:"settings.runtime.lifecycleStatus.restartRequired",settingsRuntimeLifecycleStatusUninstalled:"settings.runtime.lifecycleStatus.uninstalled",settingsRuntimeLifecycleDetailLaunchWslFirstBoot:"settings.runtime.lifecycleDetail.launchWslFirstBoot",settingsRuntimeLifecycleDetailStartDockerWarmUp:"settings.runtime.lifecycleDetail.startDockerWarmUp",settingsRuntimeLifecycleDetailRunMissingHostSubstrate:"settings.runtime.lifecycleDetail.runMissingHostSubstrate",settingsRuntimeLifecycleDetailRestartThenRerunMode:"settings.runtime.lifecycleDetail.restartThenRerunMode",settingsRuntimeLifecycleDetailRestartThenRerun:"settings.runtime.lifecycleDetail.restartThenRerun",settingsRuntimeLifecycleDetailRelaunchThenVerify:"settings.runtime.lifecycleDetail.relaunchThenVerify",settingsRuntimeLifecycleDetailElevationRequired:"settings.runtime.lifecycleDetail.elevationRequired",settingsRuntimeLifecycleDetailAuthThenRerunMode:"settings.runtime.lifecycleDetail.authThenRerunMode",settingsRuntimeLifecycleDetailRetryAfterFailure:"settings.runtime.lifecycleDetail.retryAfterFailure",settingsRuntimeLifecycleDetailRunMissingRequirement:"settings.runtime.lifecycleDetail.runMissingRequirement",settingsRuntimeLifecycleDetailFinishManualFollowThrough:"settings.runtime.lifecycleDetail.finishManualFollowThrough",settingsRuntimeLifecycleDetailRunApplyRemainingChanges:"settings.runtime.lifecycleDetail.runApplyRemainingChanges",settingsRuntimeLifecycleDetailRerunCheckToVerify:"settings.runtime.lifecycleDetail.rerunCheckToVerify",settingsRuntimeLifecycleDetailFinishedWithStatus:"settings.runtime.lifecycleDetail.finishedWithStatus",settingsRuntimeLifecycleModeApply:"settings.runtime.lifecycleMode.apply",settingsRuntimeLifecycleModeCheck:"settings.runtime.lifecycleMode.check",settingsRuntimeLifecycleModeForce:"settings.runtime.lifecycleMode.force",settingsRuntimeLifecycleModeUninstall:"settings.runtime.lifecycleMode.uninstall",settingsRuntimeLifecycleModeUpgrade:"settings.runtime.lifecycleMode.upgrade",settingsRouteTitleAssistants:"settings.route.title.assistants",settingsRouteTitleMyCats:"settings.route.title.myCats",settingsRouteTitleChat:"settings.route.title.chat",settingsRouteTitleWork:"settings.route.title.work",settingsRouteTitleCode:"settings.route.title.code",settingsRouteTitleApps:"settings.route.title.apps",settingsRouteTitleDesktop:"settings.route.title.desktop",settingsRouteTitleRuntime:"settings.route.title.runtime",settingsRouteTitleData:"settings.route.title.data",settingsRouteTitleGeneral:"settings.route.title.general",settingsRouteTitleNotFound:"settings.route.title.notFound",settingsRouteNotFoundDescription:"settings.route.notFound.description",settingsRouteNotFoundOpenGeneral:"settings.route.notFound.openGeneral",settingsCanvasLoadingLabel:"settings.canvas.loadingLabel",settingsCanvasLoadErrorTitle:"settings.canvas.loadErrorTitle",settingsCanvasLoadErrorBody:"settings.canvas.loadErrorBody",settingsAppsSectionTitle:"settings.apps.sectionTitle",settingsAppsSectionDescription:"settings.apps.sectionDescription",settingsAppsInstalledPackagesLabel:"settings.apps.installedPackagesLabel",settingsAppsInstalledPackagesDescription:"settings.apps.installedPackagesDescription",settingsAppsNoInstalledAppsLabel:"settings.apps.noInstalledAppsLabel",settingsAppsNoInstalledAppsDescription:"settings.apps.noInstalledAppsDescription",settingsAppsEmptyStateChipLabel:"settings.apps.emptyStateChipLabel",settingsAppsLocalInstallTitle:"settings.apps.localInstallTitle",settingsAppsLocalInstallDescription:"settings.apps.localInstallDescription",settingsAppsPackagePathLabel:"settings.apps.packagePathLabel",settingsAppsPackagePathPlaceholder:"settings.apps.packagePathPlaceholder",settingsAppsReviewButton:"settings.apps.reviewButton",settingsAppsReadyStatusChip:"settings.apps.readyStatusChip",settingsAppsNeedsReviewStatusChip:"settings.apps.needsReviewStatusChip",settingsAppsNoLobbyRoute:"settings.apps.noLobbyRoute",settingsAppsInstallButton:"settings.apps.installButton",settingsAppsEnableAction:"settings.apps.enableAction",settingsAppsDisableAction:"settings.apps.disableAction",settingsAppsUninstallAction:"settings.apps.uninstallAction",settingsAppsOpenAction:"settings.apps.openAction",settingsAppsSettingsAction:"settings.apps.settingsAction",settingsAppsUninstallTitle:"settings.apps.uninstallTitle",settingsAppsEnableTitle:"settings.apps.enableTitle",settingsAppsDisableTitle:"settings.apps.disableTitle",settingsAppsUninstallMessage:"settings.apps.uninstallMessage",settingsAppsEnableMessage:"settings.apps.enableMessage",settingsAppsDisableMessage:"settings.apps.disableMessage",settingsAppsInstallTitle:"settings.apps.installTitle",settingsAppsInstallMessage:"settings.apps.installMessage",settingsAppsLocalInstallReady:"settings.apps.localInstallReady",settingsAppsLocalInstallNeedsReview:"settings.apps.localInstallNeedsReview",settingsAppsCategoryConnector:"settings.apps.category.connector",settingsAppsCategoryProductModule:"settings.apps.category.productModule",settingsAppsCategoryUserApp:"settings.apps.category.userApp",settingsAppsInstallStateEnabled:"settings.apps.installState.enabled",settingsAppsInstallStateInstalled:"settings.apps.installState.installed",settingsAppsInstallStateDisabled:"settings.apps.installState.disabled",settingsAppsInstallStateError:"settings.apps.installState.error",settingsAppsInstallStateUpgradePending:"settings.apps.installState.upgradePending",settingsAppsInstallStateUninstalled:"settings.apps.installState.uninstalled",settingsAppsTrustTierLocalUser:"settings.apps.trustTier.localUser",settingsAppsTrustTierSystem:"settings.apps.trustTier.system",settingsAppsTrustTierThirdParty:"settings.apps.trustTier.thirdParty",settingsAppsPermissionCount:"settings.apps.permissionCount",settingsAppsToolCount:"settings.apps.toolCount",settingsAppsCapabilitySingular:"settings.apps.capabilitySingular",settingsAppsCapabilityPlural:"settings.apps.capabilityPlural",settingsAppsConnectorCountSingle:"settings.apps.connectorCountSingle",settingsAppsConnectorCountMany:"settings.apps.connectorCountMany",settingsAppsAuthLabel:"settings.apps.authLabel",settingsAppsConfirmMutationFailed:"settings.apps.confirmMutationFailed",settingsAppsConfirmMutationFailedFallback:"settings.apps.confirmMutationFailedFallback",settingsAppsMutationFailed:"settings.apps.mutationFailed",settingsAppsMutationFailedFallback:"settings.apps.mutationFailedFallback",settingsAppsPackagePathRequired:"settings.apps.packagePathRequired",settingsAppsValidationFailed:"settings.apps.validationFailed",settingsAppsErrorNotInstalled:"settings.apps.error.notInstalled",settingsAppsErrorNotEnabled:"settings.apps.error.notEnabled",settingsAppsErrorPackagePathNotFound:"settings.apps.error.packagePathNotFound",settingsAppsErrorInvalidManifestJson:"settings.apps.error.invalidManifestJson",settingsAppsErrorCannotReadManifest:"settings.apps.error.cannotReadManifest",settingsAppsErrorReservedAppId:"settings.apps.error.reservedAppId",settingsAppsErrorDuplicateAppId:"settings.apps.error.duplicateAppId",settingsAppsErrorManifestInvalid:"settings.apps.error.manifestInvalid",settingsAppsErrorValidationIssueWithPath:"settings.apps.error.validationIssueWithPath",settingsAppsErrorValidationIssue:"settings.apps.error.validationIssue",settingsAppsOpenPairingUrl:"settings.apps.openPairingUrl",settingsDataResetAllDataTitle:"settings.data.resetAllDataTitle",settingsDataResetAllDataDescription:"settings.data.resetAllDataDescription",settingsDataResetButtonResetting:"settings.data.resetButtonResetting",settingsDataResetButtonLabel:"settings.data.resetButtonLabel",settingsDataResetFailure:"settings.data.resetFailure",settingsConversationPreferenceUpdateFailure:"settings.conversation.preferenceUpdateFailure",settingsDesktopMobilePairingTitle:"settings.desktop.mobilePairingTitle",settingsDesktopMobilePairingDescription:"settings.desktop.mobilePairingDescription",settingsDesktopMobilePairingStatusDisabled:"settings.desktop.mobilePairingStatusDisabled",settingsDesktopMobilePairingStatusLoopbackOnly:"settings.desktop.mobilePairingStatusLoopbackOnly",settingsDesktopMobilePairingStatusNoLanAddress:"settings.desktop.mobilePairingStatusNoLanAddress",settingsDesktopMobilePairingStatusReady:"settings.desktop.mobilePairingStatusReady",settingsDesktopMobilePairingStatusValidationPending:"settings.desktop.mobilePairingStatusValidationPending",settingsDesktopMobilePairingEnableLabel:"settings.desktop.mobilePairingEnableLabel",settingsDesktopMobilePairingEnableDescription:"settings.desktop.mobilePairingEnableDescription",settingsDesktopMobilePairingEnableButton:"settings.desktop.mobilePairingEnableButton",settingsDesktopMobilePairingApplyingButton:"settings.desktop.mobilePairingApplyingButton",settingsDesktopMobilePairingBindLabel:"settings.desktop.mobilePairingBindLabel",settingsDesktopMobilePairingReachabilityLabel:"settings.desktop.mobilePairingReachabilityLabel",settingsDesktopMobilePairingLanAddressLabel:"settings.desktop.mobilePairingLanAddressLabel",settingsDesktopMobilePairingNoneLabel:"settings.desktop.mobilePairingNoneLabel",settingsDesktopMobilePairingReachabilityLoopback:"settings.desktop.mobilePairingReachabilityLoopback",settingsDesktopMobilePairingReachabilityLan:"settings.desktop.mobilePairingReachabilityLan",settingsDesktopMobilePairingReachabilityAllInterfaces:"settings.desktop.mobilePairingReachabilityAllInterfaces",settingsDesktopMobilePairingReachabilityOtherInterface:"settings.desktop.mobilePairingReachabilityOtherInterface",settingsDesktopMobilePairingAllowLanLabel:"settings.desktop.mobilePairingAllowLanLabel",settingsDesktopMobilePairingAllowLanDescription:"settings.desktop.mobilePairingAllowLanDescription",settingsDesktopMobilePairingApplyAndRestartButton:"settings.desktop.mobilePairingApplyAndRestartButton",settingsDesktopMobilePairingNoLanAddressNote:"settings.desktop.mobilePairingNoLanAddressNote",settingsDesktopMobilePairingHostMismatchNote:"settings.desktop.mobilePairingHostMismatchNote",settingsDesktopMobilePairingDiagnosticLabel:"settings.desktop.mobilePairingDiagnosticLabel",settingsDesktopMobilePairingDiagnosticCopyButton:"settings.desktop.mobilePairingDiagnosticCopyButton",settingsDesktopMobilePairingDiagnosticCopiedMessage:"settings.desktop.mobilePairingDiagnosticCopiedMessage",settingsDesktopMobilePairingExpoUrlLabel:"settings.desktop.mobilePairingExpoUrlLabel",settingsDesktopMobilePairingExpoUrlCopiedMessage:"settings.desktop.mobilePairingExpoUrlCopiedMessage",settingsDesktopMobilePairingCopyUrlButton:"settings.desktop.mobilePairingCopyUrlButton",settingsDesktopMobilePairingQrUrlTooLong:"settings.desktop.mobilePairingQrUrlTooLong",settingsDesktopMobilePairingQrCodeLabel:"settings.desktop.mobilePairingQrCodeLabel",settingsDesktopMobilePairingNoPairingUrlStatus:"settings.desktop.mobilePairingNoPairingUrlStatus",settingsDesktopMobilePairingOpenPairingUrlLabel:"settings.desktop.mobilePairingOpenPairingUrlLabel",settingsDesktopMobilePairingCopyEnvValuesSuccess:"settings.desktop.mobilePairingCopyEnvValuesSuccess",settingsDesktopMobilePairingConfirmRestart:"settings.desktop.mobilePairingConfirmRestart",settingsDesktopMobilePairingDesktopUpdateSuccess:"settings.desktop.mobilePairingDesktopUpdateSuccess",settingsDesktopMobilePairingDesktopUpdateFailure:"settings.desktop.mobilePairingDesktopUpdateFailure",settingsDesktopStartupTitle:"settings.desktop.startupTitle",settingsDesktopStartupDescription:"settings.desktop.startupDescription",settingsDesktopStartupSignInLabel:"settings.desktop.startupSignInLabel",settingsDesktopStartupSignInDescription:"settings.desktop.startupSignInDescription",settingsDesktopStartupTrayLabel:"settings.desktop.startupTrayLabel",settingsDesktopStartupTrayDescription:"settings.desktop.startupTrayDescription",settingsDesktopStartupOpenWindowLabel:"settings.desktop.startupOpenWindowLabel",settingsDesktopStartupOpenWindowDescription:"settings.desktop.startupOpenWindowDescription",settingsDesktopUpdatesTitle:"settings.desktop.updatesTitle",settingsDesktopUpdatesDescription:"settings.desktop.updatesDescription",settingsDesktopUpdatesCurrentVersionLabel:"settings.desktop.updatesCurrentVersionLabel",settingsDesktopUpdatesChannelLabel:"settings.desktop.updatesChannelLabel",settingsDesktopUpdatesLastCheckedLabel:"settings.desktop.updatesLastCheckedLabel",settingsDesktopUpdatesLastCheckedNever:"settings.desktop.updatesLastCheckedNever",settingsDesktopUpdatesAvailableVersionLabel:"settings.desktop.updatesAvailableVersionLabel",settingsDesktopUpdatesStatusUnavailable:"settings.desktop.updatesStatusUnavailable",settingsDesktopUpdatesStatusIdle:"settings.desktop.updatesStatusIdle",settingsDesktopUpdatesStatusChecking:"settings.desktop.updatesStatusChecking",settingsDesktopUpdatesStatusUpToDate:"settings.desktop.updatesStatusUpToDate",settingsDesktopUpdatesStatusAvailable:"settings.desktop.updatesStatusAvailable",settingsDesktopUpdatesStatusDownloading:"settings.desktop.updatesStatusDownloading",settingsDesktopUpdatesStatusDownloaded:"settings.desktop.updatesStatusDownloaded",settingsDesktopUpdatesStatusInstalling:"settings.desktop.updatesStatusInstalling",settingsDesktopUpdatesStatusFailed:"settings.desktop.updatesStatusFailed",settingsDesktopUpdatesActionCheck:"settings.desktop.updatesActionCheck",settingsDesktopUpdatesActionChecking:"settings.desktop.updatesActionChecking",settingsDesktopUpdatesActionDownload:"settings.desktop.updatesActionDownload",settingsDesktopUpdatesActionDownloading:"settings.desktop.updatesActionDownloading",settingsDesktopUpdatesActionRestartInstall:"settings.desktop.updatesActionRestartInstall",settingsDesktopUpdatesActionInstalling:"settings.desktop.updatesActionInstalling",settingsDesktopUpdatesToastUpToDate:"settings.desktop.updatesToastUpToDate",settingsDesktopUpdatesWindowsInstallerNotice:"settings.desktop.updatesWindowsInstallerNotice",settingsDesktopUpdatesLinuxInstallerNotice:"settings.desktop.updatesLinuxInstallerNotice",settingsDesktopUpdatesPreviewNotice:"settings.desktop.updatesPreviewNotice",settingsDesktopUpdatesErrorOffline:"settings.desktop.updatesErrorOffline",settingsDesktopUpdatesErrorTimeout:"settings.desktop.updatesErrorTimeout",settingsDesktopUpdatesErrorProviderRejected:"settings.desktop.updatesErrorProviderRejected",settingsDesktopUpdatesErrorMetadataInvalid:"settings.desktop.updatesErrorMetadataInvalid",settingsDesktopUpdatesErrorChecksumMismatch:"settings.desktop.updatesErrorChecksumMismatch",settingsDesktopUpdatesErrorSignatureRejected:"settings.desktop.updatesErrorSignatureRejected",settingsDesktopUpdatesErrorUnsupportedPackage:"settings.desktop.updatesErrorUnsupportedPackage",settingsDesktopUpdatesErrorDownloadCancelled:"settings.desktop.updatesErrorDownloadCancelled",settingsDesktopUpdatesErrorInstallHandoffFailed:"settings.desktop.updatesErrorInstallHandoffFailed",settingsDesktopUpdatesErrorUnknown:"settings.desktop.updatesErrorUnknown",workNewChatDraftStartProjectChipLabel:"work.newChatDraft.startProjectChipLabel",workNewChatDraftStartProjectPrompt:"work.newChatDraft.startProjectPrompt",workNewChatDraftAddTaskChipLabel:"work.newChatDraft.addTaskChipLabel",workNewChatDraftAddTaskPrompt:"work.newChatDraft.addTaskPrompt",workNewChatDraftPlanSprintChipLabel:"work.newChatDraft.planSprintChipLabel",workNewChatDraftPlanSprintPrompt:"work.newChatDraft.planSprintPrompt",workNewChatDraftScheduleReviewChipLabel:"work.newChatDraft.scheduleReviewChipLabel",workNewChatDraftScheduleReviewPrompt:"work.newChatDraft.scheduleReviewPrompt",workNewChatDraftTriageBacklogChipLabel:"work.newChatDraft.triageBacklogChipLabel",workNewChatDraftTriageBacklogPrompt:"work.newChatDraft.triageBacklogPrompt",workItemsListTitle:"work.items.listTitle",workItemsListNewAction:"work.items.newAction",workItemsListImportExternalIssueAction:"work.items.importExternalIssueAction",workItemsListImportExternalIssueAriaLabel:"work.items.importExternalIssueAriaLabel",workItemsListCreateNewWorkItem:"work.items.createNewWorkItem",workItemsListCreateNewWorkItemAriaLabel:"work.items.createNewWorkItemAriaLabel",workItemsListLoading:"work.items.loading",workItemsListLoadError:"work.items.loadError",workItemsListEmptyIntro:"work.items.emptyIntro",workItemsListEmptyActionLabel:"work.items.emptyActionLabel",workItemsListEmptySuffix:"work.items.emptySuffix",workItemsListProjectPrefix:"work.items.projectPrefix",workItemsListProjectOrphan:"work.items.projectOrphan",workItemsListDecisionPill:"work.items.pill.decision",workItemsListBlockedPill:"work.items.pill.blocked",workItemsListTasksLabel:"work.items.tasksLabel",workItemsListOpenWorkItemAria:"work.items.openWorkItemAriaLabel",workItemsListParentWorkItemTooltip:"work.items.parentWorkItemTooltip",workSidebarNewWorkLabel:"work.sidebar.newWorkLabel",workSidebarTeamWorkLabel:"work.sidebar.teamWorkLabel",workSidebarParallelWorkLabel:"work.sidebar.parallelWorkLabel",workSidebarPortfolioLabel:"work.sidebar.portfolioLabel",workSidebarProjectsLabel:"work.sidebar.projectsLabel",workSidebarManagedWorkLabel:"work.sidebar.managedWorkLabel",workSidebarWorkItemsLabel:"work.sidebar.workItemsLabel",workSidebarTasksLabel:"work.sidebar.tasksLabel",workSidebarRunsLabel:"work.sidebar.runsLabel",workSidebarMissionsLabel:"work.sidebar.missionsLabel",workSidebarSchedulesLabel:"work.sidebar.schedulesLabel",workSidebarExecutionLabel:"work.sidebar.executionLabel",workSidebarSystemMapLabel:"work.sidebar.systemMapLabel",workSidebarCockpitLabel:"work.sidebar.cockpitLabel",workSidebarBrokenLinksLabel:"work.sidebar.brokenLinksLabel",workSidebarWarRoomLabel:"work.sidebar.warRoomLabel",workSidebarWorkTopDownSurfacesLabel:"work.sidebar.workTopDownSurfacesLabel",workSidebarUnpinProjectLabel:"work.sidebar.unpinProjectLabel",workSidebarDeleteProjectLabel:"work.sidebar.deleteProjectLabel",workSidebarNoWorkYetLabel:"work.sidebar.noWorkYetLabel",workQueryHttpError:"work.query.httpError",workQueryHttpErrorWithStatusText:"work.query.httpErrorWithStatusText",workGraphLoadErrorFallback:"work.graph.loadErrorFallback",workMissionsListTitle:"work.missions.listTitle",workMissionsListLede:"work.missions.lede",workMissionsListLoading:"work.missions.loading",workMissionsListLoadError:"work.missions.loadError",workMissionsListEmpty:"work.missions.emptyLabel",workMissionsListOpenMissionAria:"work.missions.openMissionAriaLabel",workMissionBackLabel:"work.mission.backLabel",workMissionBackArrowLabel:"work.mission.backArrowLabel",workMissionCancelConfirmation:"work.mission.cancelConfirmation",workMissionCancelBlocked:"work.mission.cancelBlocked",workMissionCancelBlockedNoDetails:"work.mission.cancelBlockedNoDetails",workMissionCancelError:"work.mission.cancelError",workMissionCancelRouteFailed:"work.mission.cancelRouteFailed",workMissionCancelLabel:"work.mission.cancelLabel",workMissionCancelLabelBusy:"work.mission.cancelLabelBusy",workCancellationBlockerRunNotStoppable:"work.cancellation.blocker.runNotStoppable",workCancellationBlockerNoRuntimeSession:"work.cancellation.blocker.noRuntimeSession",workCancellationBlockerRuntimeClientUnavailable:"work.cancellation.blocker.runtimeClientUnavailable",workCancellationBlockerRuntimeCancellationFailed:"work.cancellation.blocker.runtimeCancellationFailed",workMissionSummaryTitle:"work.mission.summaryTitle",workMissionStatusLabel:"work.mission.statusLabel",workMissionAssignedAgentLabel:"work.mission.assignedAgentLabel",workMissionUpdatedAtLabel:"work.mission.updatedAtLabel",workMissionWorkItemLabel:"work.mission.workItemLabel",workMissionConversationLabel:"work.mission.conversationLabel",workMissionTasksHeading:"work.mission.tasksHeading",workMissionNoLinkedWorkItemForTasks:"work.mission.noLinkedWorkItemForTasks",workMissionNoLinkedWorkItemForRuns:"work.mission.noLinkedWorkItemForRuns",workMissionNoTasks:"work.mission.noTasks",workMissionRunsHeading:"work.mission.runsHeading",workMissionNoTransitiveRuns:"work.mission.noTransitiveRuns",workMissionLoadingLabel:"work.mission.loadingLabel",workMissionNotFound:"work.mission.notFound",workMissionNoMissionId:"work.mission.noMissionId",workProjectsListTitle:"work.projects.listTitle",workProjectsNewAction:"work.projects.newAction",workProjectsCreateNewProjectAriaLabel:"work.projects.createNewProjectAriaLabel",workProjectsListLoading:"work.projects.loading",workProjectsListLoadError:"work.projects.loadError",workProjectsListEmptyIntro:"work.projects.emptyIntro",workProjectsListEmptySuffix:"work.projects.emptySuffix",workProjectsOpenProjectAriaLabel:"work.projects.openProjectAriaLabel",workProjectsDecisionPill:"work.projects.decisionPill",workProjectsBlockedPill:"work.projects.blockedPill",workProjectsWorkItemsAbbrev:"work.projects.workItemsAbbrev",workProjectsTasksLabel:"work.projects.tasksLabel",workProjectBackLabel:"work.project.backLabel",workProjectBackArrowLabel:"work.project.backArrowLabel",workProjectUpdatedAtPrefix:"work.project.updatedAtPrefix",workProjectDeleteLabel:"work.project.deleteLabel",workProjectDeleteLabelBusy:"work.project.deleteLabelBusy",workProjectDeleteConfirmation:"work.project.deleteConfirmation",workProjectDeleteError:"work.project.deleteError",workProjectOverviewTitle:"work.project.overviewTitle",workProjectSummaryLabel:"work.project.summaryLabel",workProjectOwnerLabel:"work.project.ownerLabel",workProjectConversationLabel:"work.project.conversationLabel",workProjectWorkItemsTitle:"work.project.workItemsTitle",workProjectNoWorkItems:"work.project.noWorkItems",workProjectTasksTitle:"work.project.tasksTitle",workProjectNoTasks:"work.project.noTasks",workProjectActivityTitle:"work.project.activityTitle",workProjectNoActivity:"work.project.noActivity",workProjectLoadingLabel:"work.project.loadingLabel",workProjectNotFoundTitle:"work.project.notFoundTitle",workProjectMissingIdLabel:"work.project.missingIdLabel",workProjectNotFoundPrefix:"work.project.notFoundPrefix",workProjectNotFoundSuffix:"work.project.notFoundSuffix",workRunsListTitle:"work.runs.listTitle",workRunsListLede:"work.runs.lede",workRunsListLoading:"work.runs.loading",workRunsListLoadError:"work.runs.loadError",workRunsListNoRunsIntro:"work.runs.noRunsIntro",workRunOpenAriaLabel:"work.run.openAriaLabel",workRunOpenSubRunAriaLabel:"work.run.openSubRunAriaLabel",workRunSubRunChip:"work.run.subRunChip",workRunStopErrorWithError:"work.run.stopErrorWithError",workRunStopErrorFallback:"work.run.stopErrorFallback",workRunStopNotStoppable:"work.run.stopNotStoppable",workRunStopNotStoppableGeneric:"work.run.stopNotStoppableGeneric",workRunStopConfirmation:"work.run.stopConfirmation",workRunStopError:"work.run.stopError",workRunStopRouteFailed:"work.run.stopRouteFailed",workRunBackArrowLabel:"work.run.backArrowLabel",workRunBackLabel:"work.run.backLabel",workRunStopLabel:"work.run.stopLabel",workRunStopLabelBusy:"work.run.stopLabelBusy",workRunSummaryBlockedBeforeRuntimeLaunch:"work.run.summary.blockedBeforeRuntimeLaunch",workRunSummaryBlockedBeforeScheduledRuntimeLaunch:"work.run.summary.blockedBeforeScheduledRuntimeLaunch",workRunSummaryLaunchingScheduledMission:"work.run.summary.launchingScheduledMission",workRunSummaryProviderAgentRuntimeMessageCompleted:"work.run.summary.providerAgentRuntimeMessageCompleted",workRunSummaryQueuedSupervisedWorkRun:"work.run.summary.queuedSupervisedWorkRun",workRunSummaryRelayFanOutDispatch:"work.run.summary.relayFanOutDispatch",workRunSummaryStartedSupervisedCodeTaskExecution:"work.run.summary.startedSupervisedCodeTaskExecution",workRunSummaryTitle:"work.run.summaryTitle",workRunStatusLabel:"work.run.statusLabel",workRunUpdatedLabel:"work.run.updatedLabel",workRunDurationLabel:"work.run.durationLabel",workRunParentRunLabel:"work.run.parentRunLabel",workRunConversationLabel:"work.run.conversationLabel",workRunSubRunsTitle:"work.run.subRunsTitle",workRunNoSubRuns:"work.run.noSubRuns",workRunTraceTitle:"work.run.traceTitle",workRunTraceLoading:"work.run.traceLoading",workRunTraceLoadFallback:"work.run.traceLoadFallback",workRunTraceLoadError:"work.run.traceLoadError",workRunTraceEmptyQueued:"work.run.traceEmptyQueued",workRunTraceEmptyRunning:"work.run.traceEmptyRunning",workRunTraceEmptyBlocked:"work.run.traceEmptyBlocked",workRunTraceEmptyCompleted:"work.run.traceEmptyCompleted",workRunTraceEmptyFailed:"work.run.traceEmptyFailed",workRunTraceEmptyCancelled:"work.run.traceEmptyCancelled",workRunTraceEmptyDefault:"work.run.traceEmptyDefault",workRunTraceNoActorRecorded:"work.run.traceNoActorRecorded",workRunTraceKindUnknown:"work.run.traceKindUnknown",workRunArtifactStatusDraft:"work.run.artifactStatus.draft",workRunArtifactStatusReady:"work.run.artifactStatus.ready",workRunArtifactStatusPublished:"work.run.artifactStatus.published",workRunArtifactStatusArchived:"work.run.artifactStatus.archived",workRunActivitiesTitle:"work.run.activitiesTitle",workRunOutcomesTitle:"work.run.outcomesTitle",workRunArtifactsTitle:"work.run.artifactsTitle",workRunLoadingLabel:"work.run.loadingLabel",workRunNotFound:"work.run.notFound",workRunNoRunId:"work.run.noRunId",workSchedulesListTitle:"work.schedules.listTitle",workSchedulesListLede:"work.schedules.lede",workSchedulesListLoadErrorFallback:"work.schedules.loadErrorFallback",workSchedulesExportAction:"work.schedules.exportAction",workSchedulesListLoading:"work.schedules.loading",workSchedulesListEmpty:"work.schedules.empty",workScheduleOpenAriaLabel:"work.schedule.openAriaLabel",workScheduleNextFireChip:"work.schedule.nextFireChip",workScheduleReceiptChip:"work.schedule.receiptChip",workScheduleEnabledStatus:"work.schedule.enabledStatus",workScheduleDisabledStatus:"work.schedule.disabledStatus",workScheduleSummaryOnceAt:"work.schedule.summary.onceAt",workScheduleSummaryDailyAt:"work.schedule.summary.dailyAt",workScheduleDateNone:"work.schedule.dateNone",workScheduleReceiptStatusClaimed:"work.schedule.receiptStatus.claimed",workScheduleReceiptStatusAdmitted:"work.schedule.receiptStatus.admitted",workScheduleReceiptStatusDuplicate:"work.schedule.receiptStatus.duplicate",workScheduleReceiptStatusSkipped:"work.schedule.receiptStatus.skipped",workScheduleReceiptStatusFailed:"work.schedule.receiptStatus.failed",workScheduleTriggerReasonDue:"work.schedule.triggerReason.due",workScheduleTriggerReasonManualTest:"work.schedule.triggerReason.manualTest",workScheduleTriggerReasonStartupMisfire:"work.schedule.triggerReason.startupMisfire",workScheduleTriggerReasonRetry:"work.schedule.triggerReason.retry",workScheduleMissionPolicyPerFire:"work.schedule.missionPolicy.perFire",workScheduleConcurrencyPolicySkip:"work.schedule.concurrencyPolicy.skip",workScheduleConcurrencyPolicyQueue:"work.schedule.concurrencyPolicy.queue",workScheduleConcurrencyPolicyReplace:"work.schedule.concurrencyPolicy.replace",workScheduleMisfirePolicySkip:"work.schedule.misfirePolicy.skip",workScheduleMisfirePolicyFireOnce:"work.schedule.misfirePolicy.fireOnce",workScheduleMisfirePolicyFireAll:"work.schedule.misfirePolicy.fireAll",workScheduleRetryBackoffNone:"work.schedule.retryBackoff.none",workScheduleRetryBackoffFixed:"work.schedule.retryBackoff.fixed",workScheduleRetryBackoffExponential:"work.schedule.retryBackoff.exponential",workScheduleRuleNotLoadedError:"work.schedule.ruleNotLoadedError",workScheduleCreateFailed:"work.schedule.createFailed",workScheduleUpdateFailed:"work.schedule.updateFailed",workScheduleTestFireFailed:"work.schedule.testFireFailed",workScheduleDeleteFailed:"work.schedule.deleteFailed",workScheduleDeleteConfirmation:"work.schedule.deleteConfirmation",workScheduleActionFailed:"work.schedule.actionFailed",workScheduleLoadingTitle:"work.schedule.loadingTitle",workScheduleLoadingLabel:"work.schedule.loadingLabel",workScheduleLoadFailed:"work.schedule.loadFailed",workScheduleOverviewTitle:"work.schedule.overviewTitle",workScheduleScheduleLabel:"work.schedule.scheduleLabel",workScheduleTimezoneLabel:"work.schedule.timezoneLabel",workScheduleRevisionLabel:"work.schedule.revisionLabel",workScheduleTargetLabel:"work.schedule.targetLabel",workScheduleTargetKindCat:"work.schedule.targetKind.cat",workScheduleTargetKindAgent:"work.schedule.targetKind.agent",workScheduleOriginLabel:"work.schedule.originLabel",workScheduleOriginSchedule:"work.schedule.origin.schedule",workScheduleMissionPolicyLabel:"work.schedule.missionPolicyLabel",workScheduleConcurrencyLabel:"work.schedule.concurrencyLabel",workScheduleMisfireLabel:"work.schedule.misfireLabel",workScheduleRetryLabel:"work.schedule.retryLabel",workScheduleRetryNone:"work.schedule.retryNone",workScheduleRetryPolicyValue:"work.schedule.retryPolicyValue",workScheduleDiagnosticsTitle:"work.schedule.diagnosticsTitle",workScheduleNextFireLabel:"work.schedule.nextFireLabel",workScheduleLastScheduledFireLabel:"work.schedule.lastScheduledFireLabel",workScheduleLastRunLabel:"work.schedule.lastRunLabel",workScheduleConsecutiveFailuresLabel:"work.schedule.consecutiveFailuresLabel",workScheduleDisabledDiagnosticFallback:"work.schedule.disabledDiagnosticFallback",workScheduleRetryStatePill:"work.schedule.retryStatePill",workScheduleLastFailurePill:"work.schedule.lastFailurePill",workScheduleRecentTriggersTitle:"work.schedule.recentTriggersTitle",workScheduleNoTriggerReceipts:"work.schedule.noTriggerReceipts",workScheduleRetryAttemptSuffix:"work.schedule.retryAttemptSuffix",workScheduleBackArrowLabel:"work.schedule.backArrowLabel",workScheduleBackLabel:"work.schedule.backLabel",workScheduleTestFireBusyLabel:"work.schedule.testFireBusyLabel",workScheduleTestFireLabel:"work.schedule.testFireLabel",workScheduleUpdatingLabel:"work.schedule.updatingLabel",workScheduleDisableLabel:"work.schedule.disableLabel",workScheduleEnableLabel:"work.schedule.enableLabel",workScheduleDeleteAriaLabel:"work.schedule.deleteAriaLabel",workScheduleDeleteBusyLabel:"work.schedule.deleteBusyLabel",workScheduleDeleteLabel:"work.schedule.deleteLabel",workScheduleMissingIdLabel:"work.schedule.missingIdLabel",workScheduleNotFoundTitle:"work.schedule.notFoundTitle",workScheduleNotFoundPrefix:"work.schedule.notFoundPrefix",workScheduleNotFoundSuffix:"work.schedule.notFoundSuffix",workItemBackLabel:"work.item.backLabel",workItemBackArrowLabel:"work.item.backArrowLabel",workItemUpdatedAtPrefix:"work.item.updatedAtPrefix",workItemDeleteLabel:"work.item.deleteLabel",workItemDeleteLabelBusy:"work.item.deleteLabelBusy",workItemDeleteConfirmation:"work.item.deleteConfirmation",workItemDeleteConfirmationDetail:"work.item.deleteConfirmationDetail",workItemDeleteError:"work.item.deleteError",workItemOverviewTitle:"work.item.overviewTitle",workItemSummaryLabel:"work.item.summaryLabel",workItemProjectLabel:"work.item.projectLabel",workItemParentLabel:"work.item.parentLabel",workItemOwnerLabel:"work.item.ownerLabel",workItemConversationLabel:"work.item.conversationLabel",workItemOrphanSummaryFallback:"work.item.orphanSummaryFallback",workItemNoTasksLabel:"work.item.noTasksLabel",workItemTasksTitle:"work.item.tasksTitle",workItemMissionsTitle:"work.item.missionsTitle",workItemSubWorkItemsTitle:"work.item.subWorkItemsTitle",workItemNoSubWorkItems:"work.item.noSubWorkItems",workItemNoMissions:"work.item.noMissions",workItemSubWorkItemsCountLabel:"work.item.subWorkItemsCountLabel",workItemNoActivity:"work.item.noActivity",workItemActivityTitle:"work.item.activityTitle",workItemLoadingLabel:"work.item.loadingLabel",workItemNotFoundTitle:"work.item.notFoundTitle",workItemNotFoundText:"work.item.notFoundText",workItemNotInProjectionText:"work.item.notInProjectionText",workItemMissedTitle:"work.item.missedTitle",workItemNoTasksYetLabel:"work.item.noTasksYetLabel",workItemNotFoundCodeLabel:"work.item.notFoundCodeLabel",workExternalEmpty:"work.external.empty",workExternalLinkIssueAction:"work.external.linkIssueAction",workExternalLinkTrackerAction:"work.external.linkTrackerAction",workExternalLinkDialogTitle:"work.external.dialogTitle",workExternalLinkCloseLabel:"work.external.closeLabel",workExternalProviderLabel:"work.external.providerLabel",workExternalProviderGithub:"work.external.provider.github",workExternalProviderGitlab:"work.external.provider.gitlab",workExternalProviderGitea:"work.external.provider.gitea",workExternalProviderRedmine:"work.external.provider.redmine",workExternalProviderBugzilla:"work.external.provider.bugzilla",workExternalTypeLabel:"work.external.typeLabel",workExternalTypeIssue:"work.external.type.issue",workExternalTypeTicket:"work.external.type.ticket",workExternalTypeProject:"work.external.type.project",workExternalIdLabel:"work.external.idLabel",workExternalIdPlaceholder:"work.external.idPlaceholder",workExternalUrlLabel:"work.external.urlLabel",workExternalUrlPlaceholder:"work.external.urlPlaceholder",workExternalSyncDirectionLabel:"work.external.syncDirectionLabel",workExternalSyncPull:"work.external.sync.pull",workExternalSyncPush:"work.external.sync.push",workExternalSyncBidirectional:"work.external.sync.bidirectional",workExternalCancelButton:"work.external.cancelButton",workExternalSubmitLabel:"work.external.submitLabel",workExternalSubmitBusyLabel:"work.external.submitBusyLabel",workExternalLinkError:"work.external.linkError",workExternalUnlinkAction:"work.external.unlinkAction",workExternalUnlinkAriaLabel:"work.external.unlinkAriaLabel",workExternalUnlinkConfirmation:"work.external.unlinkConfirmation",workExternalUnlinkError:"work.external.unlinkError",workExternalImportDialogTitle:"work.external.import.dialogTitle",workExternalImportProviderLabel:"work.external.import.providerLabel",workExternalImportUrlLabel:"work.external.import.urlLabel",workExternalImportUrlPlaceholder:"work.external.import.urlPlaceholder",workExternalImportCancelButton:"work.external.import.cancelButton",workExternalImportSubmitLabel:"work.external.import.submitLabel",workExternalImportSubmitBusyLabel:"work.external.import.submitBusyLabel",workExternalImportError:"work.external.import.error",workExternalImportExternalIssueLabel:"work.external.import.externalIssueLabel",workExternalImportProviderGithub:"work.external.import.provider.github",workExternalImportProviderRedmine:"work.external.import.provider.redmine",workExternalImportProviderBugzilla:"work.external.import.provider.bugzilla",workExternalImportTypeIssue:"work.external.import.type.issue",workExternalImportTypeTicket:"work.external.import.type.ticket",workExternalImportResultImported:"work.external.import.result.imported",workExternalImportResultLinked:"work.external.import.result.linked",workExternalImportResultAlreadyImported:"work.external.import.result.alreadyImported",workExternalImportFailureBody:"work.external.import.failure.body",workExternalImportFailureBodyUnknown:"work.external.import.failure.bodyUnknown",workExternalImportFailureReasonInvalidTarget:"work.external.import.failure.reason.invalidTarget",workExternalImportFailureReasonStoreUnavailable:"work.external.import.failure.reason.storeUnavailable",workExternalImportFailureReasonUnsupportedOwnerMessage:"work.external.import.failure.reason.unsupportedOwnerMessage",workExternalImportFailureReasonSchemaInvalid:"work.external.import.failure.reason.schemaInvalid",workExternalImportFailureReasonIssueMismatch:"work.external.import.failure.reason.issueMismatch",workExternalImportFailureReasonProviderMismatch:"work.external.import.failure.reason.providerMismatch",workExternalImportFailureReasonPendingApproval:"work.external.import.failure.reason.pendingApproval",workExternalImportFailureReasonUnsupportedSource:"work.external.import.failure.reason.unsupportedSource",workExternalImportFailureReasonFetchFailed:"work.external.import.failure.reason.fetchFailed",workExternalImportFailureReasonPullRequestUnsupported:"work.external.import.failure.reason.pullRequestUnsupported",workExternalImportFailureReasonUnexpected:"work.external.import.failure.reason.unexpected",workTasksListTitle:"work.tasks.listTitle",workTasksListNewAction:"work.tasks.newAction",workTasksListCreateNewTaskAriaLabel:"work.tasks.createNewTaskAriaLabel",workTasksListLoading:"work.tasks.loading",workTasksListLoadError:"work.tasks.loadError",workTasksListEmptyIntro:"work.tasks.emptyIntro",workTasksListEmptyActionLabel:"work.tasks.emptyActionLabel",workTasksListEmptySuffix:"work.tasks.emptySuffix",workTasksListOpenTaskAria:"work.tasks.openTaskAriaLabel",workTaskStatusPendingApproval:"work.task.status.pendingApproval",workTaskStatusApproved:"work.task.status.approved",workTaskStatusArchived:"work.task.status.archived",workTaskPriorityUrgent:"work.task.priority.urgent",workTaskPriorityHigh:"work.task.priority.high",workTaskPriorityMedium:"work.task.priority.medium",workTaskPriorityLow:"work.task.priority.low",workTaskPriorityLabelWithValue:"work.task.priority.labelWithValue",workTaskBackLabel:"work.task.backLabel",workTaskBackArrowLabel:"work.task.backArrowLabel",workTaskUpdatedAtPrefix:"work.task.updatedAtPrefix",workTaskDeleteLabel:"work.task.deleteLabel",workTaskDeleteLabelBusy:"work.task.deleteLabelBusy",workTaskDeleteConfirmation:"work.task.deleteConfirmation",workTaskDeleteError:"work.task.deleteError",workTaskApproveLabel:"work.task.approveLabel",workTaskApproveBusyLabel:"work.task.approveBusyLabel",workTaskRejectLabel:"work.task.rejectLabel",workTaskRejectBusyLabel:"work.task.rejectBusyLabel",workTaskApprovalDecisionError:"work.task.approvalDecisionError",workTaskPriorityTooltip:"work.task.priorityTooltip",workTaskOverviewTitle:"work.task.overviewTitle",workTaskSummaryLabel:"work.task.summaryLabel",workTaskProjectLabel:"work.task.projectLabel",workTaskOrphanProjectFallback:"work.task.orphanProjectFallback",workTaskWorkItemLabel:"work.task.workItemLabel",workTaskNoWorkItemFallback:"work.task.noWorkItemFallback",workTaskParentTaskLabel:"work.task.parentTaskLabel",workTaskOwnerLabel:"work.task.ownerLabel",workTaskAssigneeLabel:"work.task.assigneeLabel",workTaskNoAssigneeFallback:"work.task.noAssigneeFallback",workTaskAssignedActorsLabel:"work.task.assignedActorsLabel",workTaskNoActorsAssignedFallback:"work.task.noActorsAssignedFallback",workTaskAcceptanceCriteriaLabel:"work.task.acceptanceCriteriaLabel",workTaskConversationLabel:"work.task.conversationLabel",workTaskNoActivity:"work.task.noActivity",workTaskActivityTitle:"work.task.activityTitle",workTaskSubTasksTitle:"work.task.subTasksTitle",workTaskNoSubTasksLabel:"work.task.noSubTasksLabel",workTaskRunsTitle:"work.task.runsTitle",workTaskNoRunsIntro:"work.task.noRunsIntro",workTaskNoRunsActionLabel:"work.task.noRunsActionLabel",workTaskNoRunsSuffix:"work.task.noRunsSuffix",workTaskStartRunBusyLabel:"work.task.startRunBusyLabel",workTaskStartRunError:"work.task.startRunError",workTaskLoadingLabel:"work.task.loadingLabel",workTaskNotFoundTitle:"work.task.notFoundTitle",workTaskNotFoundText:"work.task.notFoundText",workTaskNotFoundCodeLabel:"work.task.notFoundCodeLabel",workObjectKindAgent:"work.object.kind.agent",workObjectKindContainer:"work.object.kind.container",workObjectKindConversation:"work.object.kind.conversation",workObjectKindTurn:"work.object.kind.turn",workObjectKindLane:"work.object.kind.lane",workObjectKindProject:"work.object.kind.project",workObjectKindWorkItem:"work.object.kind.workItem",workObjectKindTask:"work.object.kind.task",workObjectKindMission:"work.object.kind.mission",workObjectKindRun:"work.object.kind.run",workObjectKindArtifact:"work.object.kind.artifact",workObjectKindActivity:"work.object.kind.activity",workObjectKindOutcome:"work.object.kind.outcome",workObjectKindApprovalBinding:"work.object.kind.approvalBinding",workObjectKindUnknown:"work.object.kind.unknown",workObjectAttentionUnknown:"work.object.attention.unknown",workObjectAttentionDecisionNeeded:"work.object.attention.decisionNeeded",workObjectAttentionBlocked:"work.object.attention.blocked",workObjectAttentionFailed:"work.object.attention.failed",workObjectAttentionReadyToReview:"work.object.attention.readyToReview",workObjectAttentionRecentlyShipped:"work.object.attention.recentlyShipped",workObjectStatusDraft:"work.object.status.draft",workObjectStatusPlanned:"work.object.status.planned",workObjectStatusActive:"work.object.status.active",workObjectStatusPaused:"work.object.status.paused",workObjectStatusArchived:"work.object.status.archived",workObjectStatusReady:"work.object.status.ready",workObjectStatusInProgress:"work.object.status.inProgress",workObjectStatusBlocked:"work.object.status.blocked",workObjectStatusCompleted:"work.object.status.completed",workObjectStatusCancelled:"work.object.status.cancelled",workObjectStatusRunning:"work.object.status.running",workObjectStatusQueued:"work.object.status.queued",workObjectStatusUnknown:"work.object.status.unknown",workActorRoleAssistant:"work.actorRole.assistant",workActorRoleBoss:"work.actorRole.boss",workActorRoleCoder:"work.actorRole.coder",workActorRoleCoordinator:"work.actorRole.coordinator",workActorRoleCritic:"work.actorRole.critic",workActorRoleDrafter:"work.actorRole.drafter",workActorRoleMainCoder:"work.actorRole.mainCoder",workActorRoleOrchestrator:"work.actorRole.orchestrator",workActorRoleOwner:"work.actorRole.owner",workActorRolePlanner:"work.actorRole.planner",workActorRoleReviewer:"work.actorRole.reviewer",workActorRoleSummarizer:"work.actorRole.summarizer",workObjectGateStateNotRequested:"work.object.gateState.notRequested",workObjectGateStatePending:"work.object.gateState.pending",workObjectGateStateApproved:"work.object.gateState.approved",workObjectGateStateRejected:"work.object.gateState.rejected",workObjectGateStateUnknown:"work.object.gateState.unknown",workTopdownParentTaskOwningLabel:"work.topdown.parentTaskOwningLabel",workTopdownParentTaskLabel:"work.topdown.parentTaskLabel",workTopdownParentWorkItemLabel:"work.topdown.parentWorkItemLabel",workTopdownCrossCuttingLayer:"work.topdown.crossCuttingLayer",workTopdownCockpitEyebrow:"work.topdown.cockpitEyebrow",workTopdownCockpitTitle:"work.topdown.cockpitTitle",workTopdownCockpitLede:"work.topdown.cockpitLede",workTopdownCockpitMetricDecisions:"work.topdown.cockpitMetricDecisions",workTopdownCockpitMetricBlocked:"work.topdown.cockpitMetricBlocked",workTopdownCockpitMetricShipped:"work.topdown.cockpitMetricShipped",workTopdownCockpitTabsAriaLabel:"work.topdown.cockpitTabsAriaLabel",workTopdownCockpitTabCommandLabel:"work.topdown.cockpitTabCommandLabel",workTopdownCockpitTabCommandSub:"work.topdown.cockpitTabCommandSub",workTopdownCockpitTabNeedsDecisionLabel:"work.topdown.cockpitTabNeedsDecisionLabel",workTopdownCockpitTabNeedsDecisionSub:"work.topdown.cockpitTabNeedsDecisionSub",workTopdownCockpitTabActiveLabel:"work.topdown.cockpitTabActiveLabel",workTopdownCockpitTabActiveSub:"work.topdown.cockpitTabActiveSub",workTopdownCockpitTabActiveRunsLabel:"work.topdown.cockpitTabActiveRunsLabel",workTopdownCockpitTabActiveRunsSub:"work.topdown.cockpitTabActiveRunsSub",workTopdownCockpitTabBlockedLabel:"work.topdown.cockpitTabBlockedLabel",workTopdownCockpitTabBlockedSub:"work.topdown.cockpitTabBlockedSub",workTopdownCockpitTabShippedLabel:"work.topdown.cockpitTabShippedLabel",workTopdownCockpitTabShippedSub:"work.topdown.cockpitTabShippedSub",workTopdownCockpitTabTeamsLabel:"work.topdown.cockpitTabTeamsLabel",workTopdownCockpitTabTeamsSub:"work.topdown.cockpitTabTeamsSub",workTopdownCockpitOpen:"work.topdown.cockpitOpen",workTopdownCockpitNoBucketItems:"work.topdown.cockpitNoBucketItems",workTopdownCockpitRecentActivityAriaLabel:"work.topdown.cockpitRecentActivityAriaLabel",workTopdownCockpitRecentActivityTitle:"work.topdown.cockpitRecentActivityTitle",workTopdownCockpitRecentActivitySummary:"work.topdown.cockpitRecentActivitySummary",workTopdownCockpitRecentActivityEmpty:"work.topdown.cockpitRecentActivityEmpty",workTopdownCockpitNoActorRoles:"work.topdown.cockpitNoActorRoles",workTopdownLinkageTitle:"work.topdown.linkageTitle",workTopdownLinkageAddAction:"work.topdown.linkageAddAction",workTopdownLinkageNoLinksYetPrefix:"work.topdown.linkageNoLinksYetPrefix",workTopdownLinkageNoLinksYetSuffix:"work.topdown.linkageNoLinksYetSuffix",workTopdownLinkageViewKindBlocksLabel:"work.topdown.linkageViewKindBlocksLabel",workTopdownLinkageViewKindBlockedByLabel:"work.topdown.linkageViewKindBlockedByLabel",workTopdownLinkageViewKindRelatedToLabel:"work.topdown.linkageViewKindRelatedToLabel",workTopdownLinkageViewKindDuplicateOfLabel:"work.topdown.linkageViewKindDuplicateOfLabel",workTopdownLinkageViewKindFollowsLabel:"work.topdown.linkageViewKindFollowsLabel",workTopdownLinkageViewKindBlocksEmpty:"work.topdown.linkageViewKindBlocksEmpty",workTopdownLinkageViewKindBlockedByEmpty:"work.topdown.linkageViewKindBlockedByEmpty",workTopdownLinkageViewKindRelatedToEmpty:"work.topdown.linkageViewKindRelatedToEmpty",workTopdownLinkageViewKindDuplicateOfEmpty:"work.topdown.linkageViewKindDuplicateOfEmpty",workTopdownLinkageViewKindFollowsEmpty:"work.topdown.linkageViewKindFollowsEmpty",workTopdownLinkKindBlocksHelp:"work.topdown.linkKindBlocksHelp",workTopdownLinkKindBlockedByHelp:"work.topdown.linkKindBlockedByHelp",workTopdownLinkKindRelatedToHelp:"work.topdown.linkKindRelatedToHelp",workTopdownLinkKindDuplicateOfHelp:"work.topdown.linkKindDuplicateOfHelp",workTopdownLinkKindFollowsHelp:"work.topdown.linkKindFollowsHelp",workTopdownNewLinkDialogTitle:"work.topdown.newLinkDialogTitle",workTopdownNewLinkClose:"work.topdown.newLinkClose",workTopdownNewLinkSourcePrefix:"work.topdown.newLinkSourcePrefix",workTopdownNewLinkRelationLabel:"work.topdown.newLinkRelationLabel",workTopdownNewLinkTargetLabel:"work.topdown.newLinkTargetLabel",workTopdownNewLinkTargetSearchPlaceholder:"work.topdown.newLinkTargetSearchPlaceholder",workTopdownNewLinkNoMatches:"work.topdown.newLinkNoMatches",workTopdownNewLinkNoteLabel:"work.topdown.newLinkNoteLabel",workTopdownNewLinkNotePlaceholder:"work.topdown.newLinkNotePlaceholder",workTopdownNewLinkCancel:"work.topdown.newLinkCancel",workTopdownNewLinkSaving:"work.topdown.newLinkSaving",workTopdownNewLinkErrorInvalidTarget:"work.topdown.newLinkErrorInvalidTarget",workTopdownNewLinkErrorSelfLink:"work.topdown.newLinkErrorSelfLink",workTopdownNewLinkErrorNoteTooLong:"work.topdown.newLinkErrorNoteTooLong",workTopdownNewLinkErrorFailed:"work.topdown.newLinkErrorFailed",workTopdownUpstreamBlockersAriaLabel:"work.topdown.upstreamBlockersAriaLabel",workTopdownBlockersTitle:"work.topdown.blockersTitle",workTopdownUpstreamBlocksLine:"work.topdown.upstreamBlocksLine",workTopdownNoUpstreamBlockers:"work.topdown.noUpstreamBlockers",workTopdownBrokenLinksEyebrow:"work.topdown.brokenLinksEyebrow",workTopdownBrokenLinksTitle:"work.topdown.brokenLinksTitle",workTopdownBrokenLinksLede:"work.topdown.brokenLinksLede",workTopdownBrokenLinksErrorMetricSuffix:"work.topdown.brokenLinksErrorMetricSuffix",workTopdownBrokenLinksWarningMetricSuffix:"work.topdown.brokenLinksWarningMetricSuffix",workTopdownBrokenLinksInfoMetricSuffix:"work.topdown.brokenLinksInfoMetricSuffix",workTopdownBrokenLinksSeverityFiltersAriaLabel:"work.topdown.brokenLinksSeverityFiltersAriaLabel",workTopdownBrokenLinksSeverityAllLabel:"work.topdown.brokenLinksSeverityAllLabel",workTopdownBrokenLinksSeverityErrorLabel:"work.topdown.brokenLinksSeverityErrorLabel",workTopdownBrokenLinksSeverityWarningLabel:"work.topdown.brokenLinksSeverityWarningLabel",workTopdownBrokenLinksSeverityInfoLabel:"work.topdown.brokenLinksSeverityInfoLabel",workTopdownBrokenLinksNoDiagnostics:"work.topdown.brokenLinksNoDiagnostics",workTopdownBrokenLinksOn:"work.topdown.brokenLinksOn",workTopdownBrokenLinksOpenInDrawer:"work.topdown.brokenLinksOpenInDrawer",workTopdownBrokenLinksObjectNotInProjection:"work.topdown.brokenLinksObjectNotInProjection",workTopdownBrokenLinksNoSpecificObject:"work.topdown.brokenLinksNoSpecificObject",workTopdownBrokenLinksRemoveTooltipRemovable:"work.topdown.brokenLinksRemoveTooltipRemovable",workTopdownBrokenLinksRemoveTooltipDemoSeed:"work.topdown.brokenLinksRemoveTooltipDemoSeed",workTopdownBrokenLinksRemoveAction:"work.topdown.brokenLinksRemoveAction",workTopdownBrokenLinksRemoveUnknownError:"work.topdown.brokenLinksRemoveUnknownError",workTopdownBrokenLinksRemovingInProgress:"work.topdown.brokenLinksRemovingInProgress",workTopdownBrokenLinksRemovableOnlyDemo:"work.topdown.brokenLinksRemovableOnlyDemo",workTopdownBrokenLinksCycleRemovableRows:"work.topdown.brokenLinksCycleRemovableRows",workTopdownBrokenLinksDeletedLabel:"work.topdown.brokenLinksDeletedLabel",workTopdownDiagnosticKindBrokenFk:"work.topdown.diagnosticKind.brokenFk",workTopdownDiagnosticKindMissingProjectAnchor:"work.topdown.diagnosticKind.missingProjectAnchor",workTopdownDiagnosticKindMissingPlanningExecutionBridge:"work.topdown.diagnosticKind.missingPlanningExecutionBridge",workTopdownDiagnosticKindUnanchoredRun:"work.topdown.diagnosticKind.unanchoredRun",workTopdownDiagnosticKindUnanchoredEvidence:"work.topdown.diagnosticKind.unanchoredEvidence",workTopdownDiagnosticKindMissingGateSubject:"work.topdown.diagnosticKind.missingGateSubject",workTopdownDiagnosticKindOrphanLink:"work.topdown.diagnosticKind.orphanLink",workTopdownDiagnosticKindLinkCycle:"work.topdown.diagnosticKind.linkCycle",workTopdownTaskProductBindingTitle:"work.topdown.taskProductBindingTitle",workTopdownTaskProductBindingUnbound:"work.topdown.taskProductBindingUnbound",workTopdownParentTaskTooltip:"work.topdown.parentTaskTooltip",workTopdownSelectionLost:"work.topdown.selectionLost",workTopdownObjectNotInProjectionTitle:"work.topdown.objectNotInProjectionTitle",workTopdownObjectNotInProjectionMessage:"work.topdown.objectNotInProjectionMessage",workTopdownIdentityTitle:"work.topdown.identityTitle",workTopdownIdentityKind:"work.topdown.identityKind",workTopdownIdentityStatus:"work.topdown.identityStatus",workTopdownIdentityLayer:"work.topdown.identityLayer",workTopdownIdentityOwnerRole:"work.topdown.identityOwnerRole",workTopdownIdentityNextAction:"work.topdown.identityNextAction",workTopdownIdentityUpdated:"work.topdown.identityUpdated",workTopdownIdentitySummary:"work.topdown.identitySummary",workTopdownExternalTitle:"work.topdown.externalTitle",workTopdownExternalBindingTooltip:"work.topdown.externalBindingTooltip",workTopdownExternalSyncLabel:"work.topdown.externalSyncLabel",workTopdownExternalUpdatedLabel:"work.topdown.externalUpdatedLabel",workTopdownAnchorsTitle:"work.topdown.anchorsTitle",workTopdownEvidenceTitle:"work.topdown.evidenceTitle",workTopdownEvidenceEmpty:"work.topdown.evidenceEmpty",workTopdownMissingSuffix:"work.topdown.missingSuffix",workTopdownGatesTitle:"work.topdown.gatesTitle",workTopdownGatesEmpty:"work.topdown.gatesEmpty",workTopdownDiagnosticsTitle:"work.topdown.diagnosticsTitle",workTopdownRelativeJustNow:"work.topdown.relativeJustNow",workTopdownRelativeMinutesAgo:"work.topdown.relativeMinutesAgo",workTopdownRelativeHoursAgo:"work.topdown.relativeHoursAgo",workTopdownRelativeDaysAgo:"work.topdown.relativeDaysAgo",workTopdownAnchorProject:"work.topdown.anchorProject",workTopdownAnchorWorkItem:"work.topdown.anchorWorkItem",workTopdownAnchorTask:"work.topdown.anchorTask",workTopdownAnchorRun:"work.topdown.anchorRun",workTopdownAnchorConversation:"work.topdown.anchorConversation",workTopdownAnchorsEmpty:"work.topdown.anchorsEmpty",workTopdownSystemMapEyebrow:"work.topdown.systemMapEyebrow",workTopdownSystemMapTitle:"work.topdown.systemMapTitle",workTopdownSystemMapLede:"work.topdown.systemMapLede",workTopdownSystemMapStructuralLabel:"work.topdown.systemMapStructuralLabel",workTopdownSystemMapTotalLabel:"work.topdown.systemMapTotalLabel",workTopdownSystemMapDiagnosticsLabel:"work.topdown.systemMapDiagnosticsLabel",workTopdownSystemMapLayerAriaLabel:"work.topdown.systemMapLayerAriaLabel",workTopdownSystemMapLayerInteractionLabel:"work.topdown.systemMapLayerInteractionLabel",workTopdownSystemMapLayerPlanningLabel:"work.topdown.systemMapLayerPlanningLabel",workTopdownSystemMapLayerExecutionLabel:"work.topdown.systemMapLayerExecutionLabel",workTopdownSystemMapLayerInteractionDescription:"work.topdown.systemMapLayerInteractionDescription",workTopdownSystemMapLayerPlanningDescription:"work.topdown.systemMapLayerPlanningDescription",workTopdownSystemMapLayerExecutionDescription:"work.topdown.systemMapLayerExecutionDescription",workTopdownSystemMapLayerEmpty:"work.topdown.systemMapLayerEmpty",workWarRoomAttentionAttention:"work.warRoom.attentionAttention",workWarRoomAttentionError:"work.warRoom.attentionError",workWarRoomAttentionFallback:"work.warRoom.attentionFallback",workWarRoomAttentionMuted:"work.warRoom.attentionMuted",workWarRoomAttentionProgress:"work.warRoom.attentionProgress",workWarRoomAttentionSuccess:"work.warRoom.attentionSuccess",workWarRoomControlPlane:"work.warRoom.controlPlane",workWarRoomControlPlaneBlockedBy:"work.warRoom.controlPlaneBlockedBy",workWarRoomControlPlaneEmptyBadge:"work.warRoom.controlPlaneEmptyBadge",workWarRoomControlPlaneEmptyBody:"work.warRoom.controlPlaneEmptyBody",workWarRoomControlPlaneEmptyTitle:"work.warRoom.controlPlaneEmptyTitle",workWarRoomControlPlaneNoTargets:"work.warRoom.controlPlaneNoTargets",workWarRoomControlPlaneTargets:"work.warRoom.controlPlaneTargets",workWarRoomCountSummary:"work.warRoom.countSummary",workWarRoomGovernanceEyebrow:"work.warRoom.governanceEyebrow",workWarRoomActionBusy:"work.warRoom.actionBusy",workWarRoomActionError:"work.warRoom.actionError",workWarRoomLoadError:"work.warRoom.loadError",workWarRoomLoadingBadge:"work.warRoom.loadingBadge",workWarRoomLoadingBody:"work.warRoom.loadingBody",workWarRoomLoadingEyebrow:"work.warRoom.loadingEyebrow",workWarRoomLoadingSummary:"work.warRoom.loadingSummary",workWarRoomLoadingTitle:"work.warRoom.loadingTitle",workWarRoomManagedWorkEyebrow:"work.warRoom.managedWorkEyebrow",workWarRoomMetaLabelActions:"work.warRoom.metaLabelActions",workWarRoomMetaLabelActors:"work.warRoom.metaLabelActors",workWarRoomMetaLabelApproval:"work.warRoom.metaLabelApproval",workWarRoomMetaLabelBlocked:"work.warRoom.metaLabelBlocked",workWarRoomMetaLabelConversation:"work.warRoom.metaLabelConversation",workWarRoomMetaLabelDelivery:"work.warRoom.metaLabelDelivery",workWarRoomMetaLabelLatest:"work.warRoom.metaLabelLatest",workWarRoomMetaLabelLatestSource:"work.warRoom.metaLabelLatestSource",workWarRoomMetaLabelNext:"work.warRoom.metaLabelNext",workWarRoomMetaLabelOwner:"work.warRoom.metaLabelOwner",workWarRoomMetaLabelProduct:"work.warRoom.metaLabelProduct",workWarRoomMetaLabelProject:"work.warRoom.metaLabelProject",workWarRoomMetaLabelReasons:"work.warRoom.metaLabelReasons",workWarRoomMetaLabelReplay:"work.warRoom.metaLabelReplay",workWarRoomMetaLabelRepo:"work.warRoom.metaLabelRepo",workWarRoomMetaLabelRetryAvailable:"work.warRoom.metaLabelRetryAvailable",workWarRoomMetaLabelStrategy:"work.warRoom.metaLabelStrategy",workWarRoomMetaLabelTask:"work.warRoom.metaLabelTask",workWarRoomMetaLabelTasks:"work.warRoom.metaLabelTasks",workWarRoomMetaLabelWatch:"work.warRoom.metaLabelWatch",workWarRoomMetaLabelWorkflow:"work.warRoom.metaLabelWorkflow",workWarRoomMetaLabelWorkItem:"work.warRoom.metaLabelWorkItem",workWarRoomMetaLabelWorkItems:"work.warRoom.metaLabelWorkItems",workWarRoomMetaValueNo:"work.warRoom.metaValueNo",workWarRoomMetaValueNoReplayBlock:"work.warRoom.metaValueNoReplayBlock",workWarRoomMetaValueNoTimelineItem:"work.warRoom.metaValueNoTimelineItem",workWarRoomMetaValueNotBound:"work.warRoom.metaValueNotBound",workWarRoomMetaValueNotRecorded:"work.warRoom.metaValueNotRecorded",workWarRoomMetaValueNotSpecified:"work.warRoom.metaValueNotSpecified",workWarRoomMetaValueUnassigned:"work.warRoom.metaValueUnassigned",workWarRoomMetaValueNoRuntimeBridge:"work.warRoom.metaValueNoRuntimeBridge",workWarRoomMetaValueNone:"work.warRoom.metaValueNone",workWarRoomNoLinkedConversation:"work.warRoom.noLinkedConversation",workWarRoomNoLinkedProject:"work.warRoom.noLinkedProject",workWarRoomNoLinkedTask:"work.warRoom.noLinkedTask",workWarRoomNoLinkedWorkItem:"work.warRoom.noLinkedWorkItem",workWarRoomNoPrimaryConversation:"work.warRoom.noPrimaryConversation",workWarRoomNoProjectSummary:"work.warRoom.noProjectSummary",workWarRoomNoStatus:"work.warRoom.noStatus",workWarRoomNoTaskSummary:"work.warRoom.noTaskSummary",workWarRoomNoWorkItemSummary:"work.warRoom.noWorkItemSummary",workWarRoomNone:"work.warRoom.none",workWarRoomNotRecorded:"work.warRoom.notRecorded",workWarRoomOpenActor:"work.warRoom.openActor",workWarRoomOpenBriefingThread:"work.warRoom.openBriefingThread",workWarRoomOpenProject:"work.warRoom.openProject",workWarRoomOpenTask:"work.warRoom.openTask",workWarRoomOpenWorkItem:"work.warRoom.openWorkItem",workWarRoomOperateEyebrow:"work.warRoom.operateEyebrow",workWarRoomOperatorInbox:"work.warRoom.operatorInbox",workWarRoomOperatorInboxEmptyBadge:"work.warRoom.operatorInboxEmptyBadge",workWarRoomOperatorInboxEmptyBody:"work.warRoom.operatorInboxEmptyBody",workWarRoomOperatorInboxEmptyTitle:"work.warRoom.operatorInboxEmptyTitle",workWarRoomPageEyebrow:"work.warRoom.pageEyebrow",workWarRoomPageTitle:"work.warRoom.pageTitle",workWarRoomPortfolioEyebrow:"work.warRoom.portfolioEyebrow",workWarRoomProjects:"work.warRoom.projects",workWarRoomProjectsEmptyBadge:"work.warRoom.projectsEmptyBadge",workWarRoomProjectsEmptyBody:"work.warRoom.projectsEmptyBody",workWarRoomProjectsEmptyTitle:"work.warRoom.projectsEmptyTitle",workWarRoomRecovery:"work.warRoom.recovery",workWarRoomRecoveryEmptyBadge:"work.warRoom.recoveryEmptyBadge",workWarRoomRecoveryEmptyBody:"work.warRoom.recoveryEmptyBody",workWarRoomRecoveryEmptyTitle:"work.warRoom.recoveryEmptyTitle",workWarRoomRecoveryEyebrow:"work.warRoom.recoveryEyebrow",workWarRoomRecoveryNoRecoveryNote:"work.warRoom.recoveryNoRecoveryNote",workWarRoomSnapshotEyebrow:"work.warRoom.snapshotEyebrow",workWarRoomSnapshotSummary:"work.warRoom.snapshotSummary",workWarRoomSnapshotTitle:"work.warRoom.snapshotTitle",workWarRoomStatusFallback:"work.warRoom.statusFallback",workWarRoomSummaryAttention:"work.warRoom.summaryAttention",workWarRoomSummaryInProgressBlocked:"work.warRoom.summaryInProgressBlocked",workWarRoomSummaryLabelAttention:"work.warRoom.summaryLabelAttention",workWarRoomSummaryLabelProjects:"work.warRoom.summaryLabelProjects",workWarRoomSummaryLabelRecovery:"work.warRoom.summaryLabelRecovery",workWarRoomSummaryLabelTasks:"work.warRoom.summaryLabelTasks",workWarRoomSummaryRecovery:"work.warRoom.summaryRecovery",workWarRoomWorkItems:"work.warRoom.workItems",workWarRoomWorkItemsEmptyBadge:"work.warRoom.workItemsEmptyBadge",workWarRoomWorkItemsEmptyBody:"work.warRoom.workItemsEmptyBody",workWarRoomWorkItemsEmptyTitle:"work.warRoom.workItemsEmptyTitle",workTimelineEvidenceProviderAgentRunLoop:"work.timeline.evidence.providerAgentRunLoop",workTimelineEvidenceSupervision:"work.timeline.evidence.supervision",workTimelineTitleApprovalBinding:"work.timeline.title.approvalBinding",workTimelineTitleApprovalDecided:"work.timeline.title.approvalDecided",workTimelineTitleApprovalRequested:"work.timeline.title.approvalRequested",workTimelineTitleArtifactRecorded:"work.timeline.title.artifactRecorded",workTimelineTitleCheckpoint:"work.timeline.title.checkpoint",workTimelineTitleCheckpointRecorded:"work.timeline.title.checkpointRecorded",workTimelineTitleEvidence:"work.timeline.title.evidence",workTimelineTitleNote:"work.timeline.title.note",workTimelineTitleOperatorAction:"work.timeline.title.operatorAction",workTimelineTitleProviderAgentPlan:"work.timeline.title.providerAgentPlan",workTimelineTitleStatusChanged:"work.timeline.title.statusChanged",workTimelineTitleTrace:"work.timeline.title.trace",workTimelineTitleWorkItemUpdated:"work.timeline.title.workItemUpdated",workExecutionActionAcknowledge:"work.execution.action.acknowledge",workExecutionActionApprove:"work.execution.action.approve",workExecutionActionComplete:"work.execution.action.complete",workExecutionActionCreateCommit:"work.execution.action.createCommit",workExecutionActionDispatch:"work.execution.action.dispatch",workExecutionActionOpenPullRequest:"work.execution.action.openPullRequest",workExecutionActionPublishPreview:"work.execution.action.publishPreview",workExecutionActionReject:"work.execution.action.reject",workExecutionActionRequestReview:"work.execution.action.requestReview",workExecutionActionReroute:"work.execution.action.reroute",workExecutionActionRetry:"work.execution.action.retry",workExecutionActionWait:"work.execution.action.wait",workExecutionActionWaitForChecks:"work.execution.action.waitForChecks",workExecutionApprovalStatusApproved:"work.execution.approvalStatus.approved",workExecutionApprovalStatusNotRequested:"work.execution.approvalStatus.notRequested",workExecutionApprovalStatusPending:"work.execution.approvalStatus.pending",workExecutionApprovalStatusRejected:"work.execution.approvalStatus.rejected",workExecutionDeliveryModeArtifactOnly:"work.execution.deliveryMode.artifactOnly",workExecutionDeliveryModeCommitOnly:"work.execution.deliveryMode.commitOnly",workExecutionDeliveryModeDeployPreview:"work.execution.deliveryMode.deployPreview",workExecutionDeliveryModePrWithChecks:"work.execution.deliveryMode.prWithChecks",workExecutionDeliveryModePushBranch:"work.execution.deliveryMode.pushBranch",workExecutionStrategyPdca:"work.execution.strategy.pdca",workExecutionStrategyPlanAndExecute:"work.execution.strategy.planAndExecute",workExecutionStrategyReact:"work.execution.strategy.react",workExecutionStrategyReflexion:"work.execution.strategy.reflexion",workExecutionReasonApprovalPending:"work.execution.reason.approvalPending",workExecutionReasonChildTasksInProgress:"work.execution.reason.childTasksInProgress",workExecutionReasonMaxDispatches:"work.execution.reason.maxDispatches",workExecutionReasonNoValidTargets:"work.execution.reason.noValidTargets",workExecutionReasonRetryAvailable:"work.execution.reason.retryAvailable",workExecutionReasonRunBlocked:"work.execution.reason.runBlocked",workExecutionReasonRunFailed:"work.execution.reason.runFailed",workExecutionReasonUserCancelled:"work.execution.reason.userCancelled",workExecutionReasonWorkflowReviewRequired:"work.execution.reason.workflowReviewRequired",workExecutionReplaySourceOrchestratorReplay:"work.execution.replaySource.orchestratorReplay",workExecutionReplaySourceOrchestratorStartupRecovery:"work.execution.replaySource.orchestratorStartupRecovery",workExecutionReplaySourceWorkflowContinuationReplay:"work.execution.replaySource.workflowContinuationReplay",workExecutionReplayStateFailed:"work.execution.replayState.failed",workExecutionReplayStateInProgress:"work.execution.replayState.inProgress",workExecutionReplayStatePending:"work.execution.replayState.pending",workExecutionReplayStateReady:"work.execution.replayState.ready",workNewWorkItemTitle:"work.newWorkItem.title",workNewWorkItemTitleLabel:"work.newWorkItem.titleLabel",workNewWorkItemSummaryLabel:"work.newWorkItem.summaryLabel",workNewWorkItemProjectLabel:"work.newWorkItem.projectLabel",workNewWorkItemStatusLabel:"work.newWorkItem.statusLabel",workNewWorkItemProjectOrphan:"work.newWorkItem.projectOrphan",workNewWorkItemTitlePlaceholder:"work.newWorkItem.titlePlaceholder",workNewWorkItemSummaryPlaceholder:"work.newWorkItem.summaryPlaceholder",workNewWorkItemCancelButton:"work.newWorkItem.cancelButton",workNewWorkItemCloseLabel:"work.newWorkItem.closeLabel",workNewWorkItemSubmitLabel:"work.newWorkItem.submitLabel",workNewWorkItemSubmitBusyLabel:"work.newWorkItem.submitBusyLabel",workNewWorkItemCreateError:"work.newWorkItem.createError",workNewWorkItemStatusDraft:"work.newWorkItem.status.draft",workNewWorkItemStatusPlanned:"work.newWorkItem.status.planned",workNewWorkItemStatusReady:"work.newWorkItem.status.ready",workNewWorkItemStatusInProgress:"work.newWorkItem.status.inProgress",workNewWorkItemStatusBlocked:"work.newWorkItem.status.blocked",workNewWorkItemStatusCompleted:"work.newWorkItem.status.completed",workNewWorkItemStatusCancelled:"work.newWorkItem.status.cancelled",workNewTaskTitle:"work.newTask.title",workNewTaskTitleLabel:"work.newTask.titleLabel",workNewTaskSummaryLabel:"work.newTask.summaryLabel",workNewTaskStatusLabel:"work.newTask.statusLabel",workNewTaskParentTaskLabel:"work.newTask.parentTaskLabel",workNewTaskNoParentTask:"work.newTask.noParentTask",workNewTaskAssigneeLabel:"work.newTask.assigneeLabel",workNewTaskAssigneePlaceholder:"work.newTask.assigneePlaceholder",workNewTaskPriorityLabel:"work.newTask.priorityLabel",workNewTaskNoPriority:"work.newTask.noPriority",workNewTaskAcceptanceCriteriaLabel:"work.newTask.acceptanceCriteriaLabel",workNewTaskAcceptanceCriteriaPlaceholder:"work.newTask.acceptanceCriteriaPlaceholder",workNewTaskTitlePlaceholder:"work.newTask.titlePlaceholder",workNewTaskSummaryPlaceholder:"work.newTask.summaryPlaceholder",workNewTaskCancelButton:"work.newTask.cancelButton",workNewTaskCloseLabel:"work.newTask.closeLabel",workNewTaskSubmitLabel:"work.newTask.submitLabel",workNewTaskSubmittingLabel:"work.newTask.submittingLabel",workNewTaskCreateError:"work.newTask.createError",workNewTaskStatusDraft:"work.newTask.status.draft",workNewTaskStatusPendingApproval:"work.newTask.status.pendingApproval",workNewTaskStatusInProgress:"work.newTask.status.inProgress",workNewTaskStatusBlocked:"work.newTask.status.blocked",workNewTaskStatusCompleted:"work.newTask.status.completed",workNewTaskStatusApproved:"work.newTask.status.approved",workNewTaskPriorityUrgent:"work.newTask.priority.urgent",workNewTaskPriorityHigh:"work.newTask.priority.high",workNewTaskPriorityMedium:"work.newTask.priority.medium",workNewTaskPriorityLow:"work.newTask.priority.low",workNewProjectTitle:"work.newProject.title",workNewProjectTitleLabel:"work.newProject.titleLabel",workNewProjectSummaryLabel:"work.newProject.summaryLabel",workNewProjectStatusLabel:"work.newProject.statusLabel",workNewProjectTitlePlaceholder:"work.newProject.titlePlaceholder",workNewProjectSummaryPlaceholder:"work.newProject.summaryPlaceholder",workNewProjectCancelButton:"work.newProject.cancelButton",workNewProjectCloseLabel:"work.newProject.closeLabel",workNewProjectSubmitLabel:"work.newProject.submitLabel",workNewProjectSubmitBusyLabel:"work.newProject.submitBusyLabel",workNewProjectCreateError:"work.newProject.createError",workCrudErrorTitleRequired:"work.crud.error.titleRequired",workCrudErrorInvalidInput:"work.crud.error.invalidInput",workCrudErrorProjectIdRequired:"work.crud.error.projectIdRequired",workCrudErrorWorkItemIdRequired:"work.crud.error.workItemIdRequired",workCrudErrorTaskIdRequired:"work.crud.error.taskIdRequired",workCrudErrorProjectNotFound:"work.crud.error.projectNotFound",workCrudErrorWorkItemNotFound:"work.crud.error.workItemNotFound",workCrudErrorTaskNotFound:"work.crud.error.taskNotFound",workCrudErrorMustBeStringWhenProvided:"work.crud.error.mustBeStringWhenProvided",workCrudErrorMetadataObjectRequired:"work.crud.error.metadataObjectRequired",workCrudErrorFieldStringOrNull:"work.crud.error.fieldStringOrNull",workCrudErrorFieldStringArray:"work.crud.error.fieldStringArray",workCrudErrorMustBeOneOf:"work.crud.error.mustBeOneOf",workItemLoadingTitle:"work.item.loadingTitle",workItemRelatedWorkItemTitle:"work.item.relatedWorkItemTitle",chatNewChatDraftSidePanelTitle:"chat.newChatDraft.sidePanelTitle",chatNewChatDraftGeneratedTitle:"chat.newChatDraft.generatedTitle",chatNewChatDraftGeneratedTitleWithIndex:"chat.newChatDraft.generatedTitleWithIndex",chatComposerErrorChooseTwoParallelChats:"chat.composer.error.chooseTwoParallelChats",chatComposerErrorNoActiveParallelThread:"chat.composer.error.noActiveParallelThread",chatComposerErrorNoParallelChatForSending:"chat.composer.error.noParallelChatForSending",chatComposerErrorNoChatForSending:"chat.composer.error.noChatForSending",chatComposerErrorRelayFailedForChannel:"chat.composer.error.relayFailedForChannel",chatComposerErrorRelayCompareFailed:"chat.composer.error.relayCompareFailed",chatParallelRelayCommandCheckLabel:"chat.parallelRelay.command.check.label",chatParallelRelayCommandCheckShortLabel:"chat.parallelRelay.command.check.shortLabel",chatParallelRelayCommandCheckDescription:"chat.parallelRelay.command.check.description",chatParallelRelayCommandAdoptLabel:"chat.parallelRelay.command.adopt.label",chatParallelRelayCommandAdoptShortLabel:"chat.parallelRelay.command.adopt.shortLabel",chatParallelRelayCommandAdoptDescription:"chat.parallelRelay.command.adopt.description",chatParallelRelayCommandDebateLabel:"chat.parallelRelay.command.debate.label",chatParallelRelayCommandDebateShortLabel:"chat.parallelRelay.command.debate.shortLabel",chatParallelRelayCommandDebateDescription:"chat.parallelRelay.command.debate.description",chatParallelRelayCommandImproveLabel:"chat.parallelRelay.command.improve.label",chatParallelRelayCommandImproveShortLabel:"chat.parallelRelay.command.improve.shortLabel",chatParallelRelayCommandImproveDescription:"chat.parallelRelay.command.improve.description",chatParallelRelayCommandCounterLabel:"chat.parallelRelay.command.counter.label",chatParallelRelayCommandCounterShortLabel:"chat.parallelRelay.command.counter.shortLabel",chatParallelRelayCommandCounterDescription:"chat.parallelRelay.command.counter.description",chatParallelRelayCommandSynthesizeLabel:"chat.parallelRelay.command.synthesize.label",chatParallelRelayCommandSynthesizeShortLabel:"chat.parallelRelay.command.synthesize.shortLabel",chatParallelRelayCommandSynthesizeDescription:"chat.parallelRelay.command.synthesize.description",chatParallelRelayTargetNoChats:"chat.parallelRelay.target.noChats",chatParallelRelayTargetPair:"chat.parallelRelay.target.pair",chatParallelRelayTargetMany:"chat.parallelRelay.target.many",chatParallelRelayOutgoingNote:"chat.parallelRelay.note.outgoing",chatParallelRelayIncomingNote:"chat.parallelRelay.note.incoming",chatParallelRelayPromptHeader:"chat.parallelRelay.prompt.header",chatParallelRelayPromptSourceHeader:"chat.parallelRelay.prompt.sourceHeader",chatParallelRelayPromptSourceLabel:"chat.parallelRelay.prompt.sourceLabel",chatParallelRelayPromptCheckInstructionOne:"chat.parallelRelay.prompt.check.instructionOne",chatParallelRelayPromptCheckInstructionTwo:"chat.parallelRelay.prompt.check.instructionTwo",chatParallelRelayPromptAdoptInstructionOne:"chat.parallelRelay.prompt.adopt.instructionOne",chatParallelRelayPromptAdoptInstructionTwo:"chat.parallelRelay.prompt.adopt.instructionTwo",chatParallelRelayPromptDebateInstructionOne:"chat.parallelRelay.prompt.debate.instructionOne",chatParallelRelayPromptDebateInstructionTwo:"chat.parallelRelay.prompt.debate.instructionTwo",chatParallelRelayPromptImproveInstructionOne:"chat.parallelRelay.prompt.improve.instructionOne",chatParallelRelayPromptImproveInstructionTwo:"chat.parallelRelay.prompt.improve.instructionTwo",chatParallelRelayPromptCounterInstructionOne:"chat.parallelRelay.prompt.counter.instructionOne",chatParallelRelayPromptCounterInstructionTwo:"chat.parallelRelay.prompt.counter.instructionTwo",chatParallelRelayPromptSynthesizeInstructionOne:"chat.parallelRelay.prompt.synthesize.instructionOne",chatParallelRelayPromptSynthesizeInstructionTwo:"chat.parallelRelay.prompt.synthesize.instructionTwo",chatComposerErrorSendFailed:"chat.composer.error.sendFailed",chatComposerErrorRetryFailed:"chat.composer.error.retryFailed",chatComposerErrorStopFailed:"chat.composer.error.stopFailed",chatComposerErrorActiveChatNotInParallelGroup:"chat.composer.error.activeChatNotInParallelGroup",chatComposerErrorSourceChatNotInParallelGroup:"chat.composer.error.sourceChatNotInParallelGroup",chatComposerErrorParallelBranchOutsideGroup:"chat.composer.error.parallelBranchOutsideGroup",chatComposerErrorNoParallelRelayTargets:"chat.composer.error.noParallelRelayTargets",chatComposerErrorMessageNotFound:"chat.composer.error.messageNotFound",chatComposerErrorRetryInvalidSender:"chat.composer.error.retryInvalidSender",chatComposerErrorRetryInProgress:"chat.composer.error.retryInProgress",chatComposerErrorRetryNotLatest:"chat.composer.error.retryNotLatest",chatComposerErrorRetryNotAvailable:"chat.composer.error.retryNotAvailable",chatGovernanceErrorUpdateApproval:"chat.governance.error.updateApproval",chatGovernanceErrorSubmitChoiceResponse:"chat.governance.error.submitChoiceResponse",chatGovernanceErrorRecordOperatorAction:"chat.governance.error.recordOperatorAction",chatParticipantsErrorUpdateParticipant:"chat.participants.error.updateParticipant",chatParticipantsErrorNoFields:"chat.participants.error.noFields",chatParticipantsErrorNotFound:"chat.participants.error.notFound",chatParticipantsErrorTemporaryOnly:"chat.participants.error.temporaryOnly",chatParticipantsErrorNameRequired:"chat.participants.error.nameRequired",chatCatAssignmentCreatedAssignHint:"chat.catAssignment.createdAssignHint",chatCatAssignmentErrorCreateCat:"chat.catAssignment.error.createCat",chatCatAssignmentErrorAssignCat:"chat.catAssignment.error.assignCat",chatCatAssignmentErrorRemoveCat:"chat.catAssignment.error.removeCat",chatCatAssignmentErrorChannelNotFound:"chat.catAssignment.error.channelNotFound",chatCatAssignmentErrorAssignmentNotFound:"chat.catAssignment.error.assignmentNotFound",chatCatAssignmentErrorDirectRecipientOnly:"chat.catAssignment.error.directRecipientOnly",chatCatAssignmentErrorParticipantLimitReached:"chat.catAssignment.error.participantLimitReached",chatCompanionTabStatus:"chat.companion.tab.status",chatCompanionTabSources:"chat.companion.tab.sources",chatCompanionTabMemory:"chat.companion.tab.memory",chatCompanionTabBehavior:"chat.companion.tab.behavior",chatCompanionTabInspector:"chat.companion.tab.inspector",chatCompanionWorkspaceLoadError:"chat.companion.workspace.loadError",sharedExecutionTargetSaveNewChatDefaultsError:"shared.executionTarget.saveNewChatDefaultsError",sharedExecutionTargetSaveChatReplySettingsError:"shared.executionTarget.saveChatReplySettingsError",sharedExecutionTargetSaveDirectLaneError:"shared.executionTarget.saveDirectLaneError",sharedChannelContinuityStartFreshError:"shared.channelContinuity.startFreshError",sharedSettingsCatsMemorySaveError:"shared.settingsCatsMemory.saveError",sharedSettingsCatsMemoryDeleteError:"shared.settingsCatsMemory.deleteError",sharedSettingsCatsMemoryContentRequired:"shared.settingsCatsMemory.contentRequired",sharedSettingsCatsMemoryInvalidCategory:"shared.settingsCatsMemory.invalidCategory",sharedSettingsCatsMemoryNotFound:"shared.settingsCatsMemory.notFound",sharedOperatorLoopLoadError:"shared.operatorLoop.loadError",sharedFolderBrowserLoadError:"shared.folderBrowser.loadError",sharedOrchestratorFallbackName:"shared.orchestrator.fallbackName",sharedDraftHeaderChangeCoverPhoto:"shared.draftHeader.changeCoverPhoto",sharedDraftHeaderAddCoverPhoto:"shared.draftHeader.addCoverPhoto",sharedDraftHeaderChangeAvatar:"shared.draftHeader.changeAvatar",sharedDraftHeaderAddAvatar:"shared.draftHeader.addAvatar",chatParticipantChipCountOne:"chat.participantChip.countOne",chatParticipantChipCountMany:"chat.participantChip.countMany",chatParticipantChipDefault:"chat.participantChip.default",chatDraftParticipantCapabilityStrongAgent:"chat.draftParticipant.capability.strongAgent",chatDraftParticipantCapabilityConservativeAgent:"chat.draftParticipant.capability.conservativeAgent",chatDraftParticipantReviewReasonBroadWrite:"chat.draftParticipant.reviewReason.broadWrite",chatDraftParticipantReviewReasonOutcomeDelegation:"chat.draftParticipant.reviewReason.outcomeDelegation",chatDraftParticipantReviewReasonHighApproval:"chat.draftParticipant.reviewReason.highApproval",chatDraftParticipantAutonomyNone:"chat.draftParticipant.autonomy.none",chatDraftParticipantAutonomySingleStep:"chat.draftParticipant.autonomy.singleStep",chatDraftParticipantAutonomyMilestonePlan:"chat.draftParticipant.autonomy.milestonePlan",chatDraftParticipantAutonomyOutcomeDelegation:"chat.draftParticipant.autonomy.outcomeDelegation",chatDraftParticipantToolScopeNone:"chat.draftParticipant.toolScope.none",chatDraftParticipantToolScopeReadOnly:"chat.draftParticipant.toolScope.readOnly",chatDraftParticipantToolScopeNarrowWrite:"chat.draftParticipant.toolScope.narrowWrite",chatDraftParticipantToolScopeBroadWrite:"chat.draftParticipant.toolScope.broadWrite",chatDraftParticipantApprovalThresholdLow:"chat.draftParticipant.approvalThreshold.low",chatDraftParticipantApprovalThresholdMedium:"chat.draftParticipant.approvalThreshold.medium",chatDraftParticipantApprovalThresholdHigh:"chat.draftParticipant.approvalThreshold.high",chatDraftParticipantPolicySummary:"chat.draftParticipant.policySummary",chatDraftParticipantToolGrantSummary:"chat.draftParticipant.toolGrantSummary",chatSidebarPrimaryActionNewChat:"chat.sidebar.primaryAction.newChat",chatSidebarPrimaryActionGroupChat:"chat.sidebar.primaryAction.groupChat",chatSidebarPrimaryActionParallelChat:"chat.sidebar.primaryAction.parallelChat",chatSidebarMyCatsEmptyStateLabel:"chat.sidebar.myCatsEmptyStateLabel",chatConcurrentClusterDismissActionLabel:"chat.concurrentCluster.dismissActionLabel",chatConcurrentClusterDismissActionTitle:"chat.concurrentCluster.dismissActionTitle",chatConcurrentToolLabel:"chat.concurrent.toolLabel",chatConcurrentProgressFinalizing:"chat.concurrent.progress.finalizing",chatConcurrentProgressFinishing:"chat.concurrent.progress.finishing",chatConcurrentErrorRuntimeStreamUnavailable:"chat.concurrent.error.runtimeStreamUnavailable",chatConcurrentErrorProxy:"chat.concurrent.error.proxy",chatConcurrentCopyLabeledResponseLabel:"chat.concurrent.copyLabeledResponseLabel",chatConcurrentCopyUnnamedResponseLabel:"chat.concurrent.copyUnnamedResponseLabel",chatFocusRailUnnamedResponseLabel:"chat.focusRail.unnamedResponseLabel",chatFocusRailExpandAnonymousResponseLabel:"chat.focusRail.expandAnonymousResponseLabel",chatFocusRailCollapseAnonymousResponseLabel:"chat.focusRail.collapseAnonymousResponseLabel",chatFocusRailExpandLabeledResponseLabel:"chat.focusRail.expandLabeledResponseLabel",chatFocusRailCollapseLabeledResponseLabel:"chat.focusRail.collapseLabeledResponseLabel",chatActivityFeedEyebrow:"chat.activityFeed.eyebrow",chatActivityFeedLatestUpdatesTitle:"chat.activityFeed.latestUpdatesTitle",chatActivityFeedEmptyState:"chat.activityFeed.emptyState",chatActivityFeedByActorLabel:"chat.activityFeed.byActorLabel",chatMessageChoicesCustomButton:"chat.messageChoices.customButton",chatMessageChoicesCustomPlaceholder:"chat.messageChoices.customPlaceholder",chatMessageChoicesOwnerSkippedState:"chat.messageChoices.ownerSkippedState",chatMessageChoicesOwnerRecordedState:"chat.messageChoices.ownerRecordedState",chatMessageChoicesConfirmButton:"chat.messageChoices.confirmButton",chatMessageChoicesSkipButton:"chat.messageChoices.skipButton",chatParallelFooterNavigationAriaLabel:"chat.parallelFooter.navigationAriaLabel",chatParallelFooterPrevAriaLabel:"chat.parallelFooter.prevAriaLabel",chatParallelFooterNextAriaLabel:"chat.parallelFooter.nextAriaLabel",chatParallelFooterTabsAriaLabel:"chat.parallelFooter.tabsAriaLabel",chatParallelFooterThreadLabel:"chat.parallelFooter.threadLabel",chatParallelFooterDefaultModelLabel:"chat.parallelFooter.defaultModelLabel",chatCompareCardsPrevCardAriaLabel:"chat.compareCards.prevCardAriaLabel",chatCompareCardsNextCardAriaLabel:"chat.compareCards.nextCardAriaLabel",chatCompareCardsPaginationItemAriaLabel:"chat.compareCards.paginationItemAriaLabel",chatTopBarToggleSidePanelAriaLabel:"chat.topBar.toggleSidePanelAriaLabel",chatBootLoadingAria:"chat.boot.loadingAria",chatNewChatDraftSidePanelParticipantsCatsTitle:"chat.newChatDraft.participants.catsTitle",chatNewChatDraftSidePanelParticipantsGroupTitle:"chat.newChatDraft.participants.groupTitle",chatNewChatDraftSidePanelParticipantsEmptyState:"chat.newChatDraft.participants.emptyState",chatNewChatDraftPlanMyDayChipLabel:"chat.newChatDraft.planMyDayChipLabel",chatNewChatDraftPlanMyDayPrompt:"chat.newChatDraft.planMyDayPrompt",chatNewChatDraftBrainstormNameChipLabel:"chat.newChatDraft.brainstormNameChipLabel",chatNewChatDraftBrainstormNamePrompt:"chat.newChatDraft.brainstormNamePrompt",chatNewChatDraftSummarizeLinkChipLabel:"chat.newChatDraft.summarizeLinkChipLabel",chatNewChatDraftSummarizeLinkPrompt:"chat.newChatDraft.summarizeLinkPrompt",chatNewChatDraftPomodoroChipLabel:"chat.newChatDraft.pomodoroChipLabel",chatNewChatDraftPomodoroPrompt:"chat.newChatDraft.pomodoroPrompt",chatNewChatDraftStartProjectChipLabel:"chat.newChatDraft.startProjectChipLabel",chatNewChatDraftStartProjectPrompt:"chat.newChatDraft.startProjectPrompt",chatNewChatDraftSidePanelExecutionTitle:"chat.newChatDraft.execution.title",chatNewChatDraftSidePanelExecutionActionLabel:"chat.newChatDraft.execution.actionLabel",chatNewChatDraftSidePanelExecutionEmptyState:"chat.newChatDraft.execution.emptyState",chatNewChatDraftSidePanelFolderTitle:"chat.newChatDraft.folder.title",chatNewChatDraftSidePanelFolderEmptyState:"chat.newChatDraft.folder.emptyState",chatNewChatDraftDefaultGreeting:"chat.newChatDraft.defaultGreeting",chatNewChatDraftGreetingNap:"chat.newChatDraft.greeting.nap",chatNewChatDraftGreetingKeyboard:"chat.newChatDraft.greeting.keyboard",chatNewChatDraftGreetingLetsGo:"chat.newChatDraft.greeting.letsGo",chatNewChatDraftGreetingStandby:"chat.newChatDraft.greeting.standby",chatNewChatDraftGreetingTaskReady:"chat.newChatDraft.greeting.taskReady",chatNewChatDraftGreetingOnDuty:"chat.newChatDraft.greeting.onDuty",chatNewChatDraftComposerPlaceholder:"chat.newChatDraft.composerPlaceholder",chatNewChatDraftFolderActionLabel:"chat.newChatDraft.folderActionLabel",chatNewChatDraftChooseCodespaceActionLabel:"chat.newChatDraft.chooseCodespaceActionLabel",chatNewChatDraftGroupDraftSelectionLabelSingle:"chat.newChatDraft.groupDraftSelectionLabelSingle",chatNewChatDraftGroupDraftSelectionLabelCount:"chat.newChatDraft.groupDraftSelectionLabelCount",chatNewChatDraftGroupDraftSelectionLabelWithCatsOrAssistants:"chat.newChatDraft.groupDraftSelectionLabelWithCatsOrAssistants",chatNewChatDraftGroupDraftSelectionLabelWithSettings:"chat.newChatDraft.groupDraftSelectionLabelWithSettings",chatNewChatDraftAssistantPresetAdd:"chat.newChatDraft.assistantPresetAdd",chatNewChatDraftAssistantPresetReview:"chat.newChatDraft.assistantPresetReview",chatNewChatDraftAssistantPresetAdded:"chat.newChatDraft.assistantPresetAdded",chatNewChatDraftTemporaryParticipantCancel:"chat.newChatDraft.temporaryParticipantCancel",chatNewChatDraftTemporaryParticipantNameLabel:"chat.newChatDraft.temporaryParticipantNameLabel",chatNewChatDraftTemporaryParticipantNamePlaceholder:"chat.newChatDraft.temporaryParticipantNamePlaceholder",chatNewChatDraftTemporaryParticipantNameHint:"chat.newChatDraft.temporaryParticipantNameHint",chatNewChatDraftTemporaryParticipantSaveName:"chat.newChatDraft.temporaryParticipantSaveName",chatNewChatDraftTemporaryParticipantRename:"chat.newChatDraft.temporaryParticipantRename",chatNewChatDraftTemporaryParticipantRemove:"chat.newChatDraft.temporaryParticipantRemove",chatNewChatDraftTemporaryParticipantRoleHintLabel:"chat.newChatDraft.temporaryParticipantRoleHintLabel",chatNewChatDraftTemporaryParticipantRoleHintPlaceholder:"chat.newChatDraft.temporaryParticipantRoleHintPlaceholder",chatNewChatDraftTemporaryParticipantSubmit:"chat.newChatDraft.temporaryParticipantSubmit",chatNewChatDraftTemporaryParticipantOpenForm:"chat.newChatDraft.temporaryParticipantOpenForm",chatSidePanelTemporaryParticipantLabel:"chat.sidePanel.temporaryParticipantLabel",chatSidePanelRoleLabel:"chat.sidePanel.roleLabel",chatSidePanelAiServiceLabel:"chat.sidePanel.aiServiceLabel",chatSidePanelConnectionLabel:"chat.sidePanel.connectionLabel",chatApprovalQueueEyebrow:"chat.approvalQueue.eyebrow",chatApprovalQueuePendingTitle:"chat.approvalQueue.pendingTitle",chatApprovalQueueEmptyState:"chat.approvalQueue.emptyState",chatApprovalQueueDefaultRequester:"chat.approvalQueue.defaultRequester",chatApprovalQueueDefaultSummary:"chat.approvalQueue.defaultSummary",chatApprovalQueueRequestedByPrefix:"chat.approvalQueue.requestedByPrefix",chatSidePanelStartFresh:"chat.sidePanel.startFresh",chatSidePanelStartingFreshBusy:"chat.sidePanel.startingFreshBusy",chatSidePanelStartFreshHint:"chat.sidePanel.startFreshHint",chatSidePanelRunStatusTitle:"chat.sidePanel.runStatusTitle",chatSidePanelRunStatusUnavailableTitle:"chat.sidePanel.runStatusUnavailableTitle",chatSidePanelLoadingTitle:"chat.sidePanel.loadingTitle",chatSidePanelOperatorLoadingState:"chat.sidePanel.operatorLoadingState",chatCatStatusCompactActiveLabel:"chat.catStatus.compact.activeLabel",chatCatStatusCompactNeedAttentionLabel:"chat.catStatus.compact.needAttentionLabel",chatCatStatusCompactSleepingLabel:"chat.catStatus.compact.sleepingLabel",chatCatStatusActiveLabel:"chat.catStatus.activeLabel",chatCatStatusBlockedLabel:"chat.catStatus.blockedLabel",chatCatStatusWaitingForReviewLabel:"chat.catStatus.waitingForReviewLabel",chatCatStatusErrorLabel:"chat.catStatus.errorLabel",chatCatStatusWakingUpLabel:"chat.catStatus.wakingUpLabel",chatCatStatusSleepingLabel:"chat.catStatus.sleepingLabel",chatCatStatusIdleLabel:"chat.catStatus.idleLabel",chatLifecycleAwakeLabel:"chat.lifecycle.awakeLabel",chatLifecycleWakingUpLabel:"chat.lifecycle.wakingUpLabel",chatLifecycleNeedsAttentionLabel:"chat.lifecycle.needsAttentionLabel",chatLifecycleSleepingLabel:"chat.lifecycle.sleepingLabel",chatCompanionWorkspaceRetryLabel:"chat.companionWorkspace.retryLabel",chatCompanionWorkspaceNoSelectionState:"chat.companionWorkspace.noSelectionState",chatCompanionWorkspaceSubscriptionDisabledTooltip:"chat.companionWorkspace.subscriptionDisabledTooltip",chatCompanionWorkspaceSubscriptionLabel:"chat.companionWorkspace.subscriptionLabel",chatCompanionWorkspaceShareDisabledTooltip:"chat.companionWorkspace.shareDisabledTooltip",chatCompanionWorkspaceShareLabel:"chat.companionWorkspace.shareLabel",chatCompanionWorkspaceSidePanelTitle:"chat.companionWorkspace.sidePanelTitle",chatCompanionFeedTabPosts:"chat.companionFeedTabPosts",chatCompanionFeedTabPhotos:"chat.companionFeedTabPhotos",chatCompanionFeedTabVideos:"chat.companionFeedTabVideos",chatCompanionFeedTabMusic:"chat.companionFeedTabMusic",chatCompanionFeedTabFiles:"chat.companionFeedTabFiles",chatCompanionFeedTabActivity:"chat.companionFeedTabActivity",chatCompanionFeedNavAriaLabel:"chat.companionFeedNavAriaLabel",chatCompanionFeedPostEmptyState:"chat.companionFeedPostEmptyState",chatCompanionFeedMediaEmptyState:"chat.companionFeedMediaEmptyState",chatCompanionFeedMediaItemDefaultLabel:"chat.companionFeedMediaItemDefaultLabel",chatCompanionFeedMediaItemsLabel:"chat.companionFeedMediaItemsLabel",chatCompanionFeedSurfacePhotoLabel:"chat.companionFeedSurfacePhotoLabel",chatCompanionFeedSurfaceVideoLabel:"chat.companionFeedSurfaceVideoLabel",chatCompanionFeedSurfaceMusicLabel:"chat.companionFeedSurfaceMusicLabel",chatCompanionFeedSurfaceFileLabel:"chat.companionFeedSurfaceFileLabel",chatCompanionFeedActivityEmptyState:"chat.companionFeedActivityEmptyState",chatCompanionFeedActivityHiddenState:"chat.companionFeedActivityHiddenState",chatCompanionMessageReferenceListAria:"chat.companionMessageReferenceListAria",chatCompanionMessageReferenceUnsupportedVersionLabel:"chat.companionMessageReferenceUnsupportedVersionLabel",chatCompanionMessageReferenceMalformedLabel:"chat.companionMessageReferenceMalformedLabel",chatCompanionMessageReferenceInvalidWrongScheme:"chat.companionMessageReference.invalidWrongScheme",chatCompanionMessageReferenceInvalidWrongHost:"chat.companionMessageReference.invalidWrongHost",chatCompanionMessageReferenceInvalidMalformedPercentEncoding:"chat.companionMessageReference.invalidMalformedPercentEncoding",chatCompanionMessageReferenceInvalidBadSegmentCount:"chat.companionMessageReference.invalidBadSegmentCount",chatCompanionMessageReferenceInvalidEmptyPathSegment:"chat.companionMessageReference.invalidEmptyPathSegment",chatCompanionMessageReferenceInvalidUnknownTargetType:"chat.companionMessageReference.invalidUnknownTargetType",chatCompanionMessageReferenceLoadingLabel:"chat.companionMessageReferenceLoadingLabel",chatCompanionMessageReferenceUnavailableLabel:"chat.companionMessageReferenceUnavailableLabel",chatCompanionMessageReferenceOpenInCompanionAction:"chat.companionMessageReferenceOpenInCompanionAction",chatCompanionModeToggleDirectLaneAriaLabel:"chat.companionModeToggleDirectLaneAriaLabel",chatCompanionModeToggleChatViewAriaLabel:"chat.companionModeToggleChatViewAriaLabel",chatCompanionModeToggleCompanionViewAriaLabel:"chat.companionModeToggleCompanionViewAriaLabel",chatCompanionResourcesLoadingState:"chat.companionResourcesLoadingState",chatCompanionResourcesSectionTitle:"chat.companionResourcesSectionTitle",chatCompanionResourcesActionShowForm:"chat.companionResourcesActionShowForm",chatCompanionResourcesActionCancel:"chat.companionResourcesActionCancel",chatCompanionResourcesActionAddResource:"chat.companionResourcesActionAddResource",chatCompanionResourcesActionBusy:"chat.companionResourcesActionBusy",chatCompanionResourcesFormTitlePlaceholder:"chat.companionResourcesFormTitlePlaceholder",chatCompanionResourcesFormNotePlaceholder:"chat.companionResourcesFormNotePlaceholder",chatCompanionResourcesFormContentPlaceholder:"chat.companionResourcesFormContentPlaceholder",chatCompanionResourcesEmptyState:"chat.companionResourcesEmptyState",chatCompanionResourcesSourceKindNote:"chat.companionResourcesSourceKindNote",chatCompanionResourcesSourceKindConversationLog:"chat.companionResourcesSourceKindConversationLog",chatCompanionResourcesSourceKindArticle:"chat.companionResourcesSourceKindArticle",chatCompanionResourcesSourceKindImage:"chat.companionResourcesSourceKindImage",chatCompanionResourcesSourceKindVideo:"chat.companionResourcesSourceKindVideo",chatCompanionResourcesSourceKindAudio:"chat.companionResourcesSourceKindAudio",chatCompanionResourcesSourceKindPath:"chat.companionResourcesSourceKindPath",chatCompanionResourcesSourceKindUnknown:"chat.companionResourcesSourceKindUnknown",chatCompanionResourcesUntitledSource:"chat.companionResourcesUntitledSource",chatCompanionResourcesActionRemove:"chat.companionResourcesActionRemove",chatCompanionSettingsLoadingState:"chat.companionSettingsLoadingState",chatCompanionSettingsResponseProfileTitle:"chat.companionSettingsResponseProfileTitle",chatCompanionSettingsExpressionModeLabel:"chat.companionSettingsExpressionModeLabel",chatCompanionSettingsExpressionModeAnimalistic:"chat.companionSettingsExpressionModeAnimalistic",chatCompanionSettingsExpressionModeAnthropomorphic:"chat.companionSettingsExpressionModeAnthropomorphic",chatCompanionSettingsExpressionModeMixed:"chat.companionSettingsExpressionModeMixed",chatCompanionSettingsOutputModeLabel:"chat.companionSettingsOutputModeLabel",chatCompanionSettingsOutputModeText:"chat.companionSettingsOutputModeText",chatCompanionSettingsOutputModeAudioClip:"chat.companionSettingsOutputModeAudioClip",chatCompanionSettingsOutputModeTts:"chat.companionSettingsOutputModeTts",chatCompanionSettingsOutputModeMixed:"chat.companionSettingsOutputModeMixed",chatCompanionSettingsResponseNotesLabel:"chat.companionSettingsResponseNotesLabel",chatCompanionSettingsResponseNotesPlaceholder:"chat.companionSettingsResponseNotesPlaceholder",chatCompanionSettingsResponseNotesSave:"chat.companionSettingsResponseNotesSave",chatCompanionSettingsResponseNotesSaving:"chat.companionSettingsResponseNotesSaving",chatCompanionSettingsTelegramBindingTitle:"chat.companionSettingsTelegramBindingTitle",chatCompanionSettingsTelegramBindingBotLabel:"chat.companionSettingsTelegramBindingBotLabel",chatCompanionSettingsTelegramBindingModeLabel:"chat.companionSettingsTelegramBindingModeLabel",chatCompanionSettingsTelegramBindingConnected:"chat.companionSettingsTelegramBindingConnected",chatCompanionSettingsTelegramBindingDefaultMode:"chat.companionSettingsTelegramBindingDefaultMode",chatCompanionSettingsTelegramBindingManageHint:"chat.companionSettingsTelegramBindingManageHint",chatCompanionSettingsTelegramBindingSettingsLabel:"chat.companionSettingsTelegramBindingSettingsLabel",chatCompanionSettingsTelegramBindingSuffix:"chat.companionSettingsTelegramBindingSuffix",chatCompanionSettingsNoTelegramBindingState:"chat.companionSettingsNoTelegramBindingState",chatCompanionOverviewLoadingState:"chat.companionOverviewLoadingState",chatCompanionOverviewPresenceTitle:"chat.companionOverviewPresenceTitle",chatCompanionOverviewPresenceWakeButton:"chat.companionOverviewPresenceWakeButton",chatCompanionOverviewPresenceSleepButton:"chat.companionOverviewPresenceSleepButton",chatCompanionOverviewSummaryTitle:"chat.companionOverviewSummaryTitle",chatCompanionOverviewSummaryResourceLabel:"chat.companionOverviewSummaryResourceLabel",chatCompanionOverviewSummaryCreationLabel:"chat.companionOverviewSummaryCreationLabel",chatCompanionOverviewSummaryMemoryLabel:"chat.companionOverviewSummaryMemoryLabel",chatCompanionOverviewRecentMemoriesTitle:"chat.companionOverviewRecentMemoriesTitle",chatCompanionOverviewEmptyState:"chat.companionOverviewEmptyState",chatCompanionMemoryLoadingState:"chat.companionMemoryLoadingState",chatCompanionMemorySectionTitle:"chat.companionMemorySectionTitle",chatCompanionMemoryActionAdd:"chat.companionMemoryActionAdd",chatCompanionMemoryActionCancel:"chat.companionMemoryActionCancel",chatCompanionMemoryFormPlaceholder:"chat.companionMemoryFormPlaceholder",chatCompanionMemoryActionBusy:"chat.companionMemoryActionBusy",chatCompanionMemoryActionAddSubmit:"chat.companionMemoryActionAddSubmit",chatCompanionMemoryFilterAll:"chat.companionMemoryFilterAll",chatCompanionMemoryCategoryIdentity:"chat.companionMemoryCategoryIdentity",chatCompanionMemoryCategoryPreference:"chat.companionMemoryCategoryPreference",chatCompanionMemoryCategoryRelationship:"chat.companionMemoryCategoryRelationship",chatCompanionMemoryCategoryFact:"chat.companionMemoryCategoryFact",chatCompanionMemoryCategoryEvent:"chat.companionMemoryCategoryEvent",chatCompanionMemoryCategoryOwnerNote:"chat.companionMemoryCategoryOwnerNote",chatCompanionMemoryEmptyState:"chat.companionMemoryEmptyState",chatCompanionMemoryEmptyFilterState:"chat.companionMemoryEmptyFilterState",chatCompanionMemoryActionRemove:"chat.companionMemoryActionRemove",chatCompanionMessageReferenceAvailabilityLivePreview:"chat.companionMessageReferenceAvailabilityLivePreview",chatCompanionMessageReferenceAvailabilityMissing:"chat.companionMessageReferenceAvailabilityMissing",chatCompanionMessageReferenceAvailabilityDeleted:"chat.companionMessageReferenceAvailabilityDeleted",chatCompanionMessageReferenceAvailabilityInaccessible:"chat.companionMessageReferenceAvailabilityInaccessible",chatCompanionMessageReferenceMissingFallbackTitle:"chat.companionMessageReferenceMissingFallbackTitle",chatCompanionMessageReferenceDeletedFallbackTitle:"chat.companionMessageReferenceDeletedFallbackTitle",chatCompanionMessageReferenceInaccessibleFallbackTitle:"chat.companionMessageReferenceInaccessibleFallbackTitle",chatCompanionMessageReferenceInaccessibleFallbackDescription:"chat.companionMessageReferenceInaccessibleFallbackDescription",chatCompanionMessageReferenceUnknownCompanionLabel:"chat.companionMessageReferenceUnknownCompanionLabel",chatCompanionMessageReferenceUntitledPostTitle:"chat.companionMessageReferenceUntitledPostTitle",chatCompanionMessageReferenceUntitledSourceTitle:"chat.companionMessageReferenceUntitledSourceTitle",chatNewChatDraftBranchPolicyWorkspaceWorktree:"chat.newChatDraft.branchPolicyWorkspaceWorktree",chatNewChatDraftBranchPolicyWorkspaceSource:"chat.newChatDraft.branchPolicyWorkspaceSource",chatNewChatDraftBranchPolicyWorkspaceSandbox:"chat.newChatDraft.branchPolicyWorkspaceSandbox",chatNewChatDraftBranchPolicyAccessReadOnly:"chat.newChatDraft.branchPolicyAccessReadOnly",chatNewChatDraftBranchPolicyAccessFull:"chat.newChatDraft.branchPolicyAccessFull",chatNewChatDraftBranchPolicyRelinkAria:"chat.newChatDraft.branchPolicyRelinkAria",chatNewChatDraftBranchPolicyDetachAria:"chat.newChatDraft.branchPolicyDetachAria",chatNewChatDraftBranchPolicyFollowsLeadLabel:"chat.newChatDraft.branchPolicyFollowsLeadLabel",chatNewChatDraftBranchFolderRelinkAria:"chat.newChatDraft.branchFolderRelinkAria",chatNewChatDraftBranchFolderChooseAria:"chat.newChatDraft.branchFolderChooseAria",chatNewChatDraftBranchFollowsLeadLabel:"chat.newChatDraft.branchFollowsLeadLabel",chatNewChatDraftBranchPromptJumpToLeadTitle:"chat.newChatDraft.branchPromptJumpToLeadTitle",chatNewChatDraftBranchPromptJumpToLeadAria:"chat.newChatDraft.branchPromptJumpToLeadAria",chatNewChatDraftBranchAttachAria:"chat.newChatDraft.branchAttachAria",chatNewChatDraftBranchCollaborateAria:"chat.newChatDraft.branchCollaborateAria",chatNewChatDraftBranchRemoveAria:"chat.newChatDraft.branchRemoveAria",chatNewChatDraftBranchAddParallelAria:"chat.newChatDraft.branchAddParallelAria",chatNewChatDraftBranchAddCompareHint:"chat.newChatDraft.branchAddCompareHint",chatNewChatDraftBranchAttachmentOverrideError:"chat.newChatDraft.branchAttachmentOverrideError",chatNewChatDraftCollaborateAria:"chat.newChatDraft.collaborateAria",chatNewChatDraftCollaborateHint:"chat.newChatDraft.collaborateHint",chatNewChatDraftRemoveFolderAria:"chat.newChatDraft.removeFolderAria",chatNewChatDraftAttachmentRemoveAria:"chat.newChatDraft.attachmentRemoveAria",chatNewChatDraftAddPhotosAndFiles:"chat.newChatDraft.addPhotosAndFiles",chatNewChatDraftTakeScreenshot:"chat.newChatDraft.takeScreenshot",sharedScreenshotCaptureTooltipDesktopRegion:"shared.screenshotCapture.tooltipDesktopRegion",sharedScreenshotCaptureTooltipWebPicker:"shared.screenshotCapture.tooltipWebPicker",sharedScreenshotCaptureTooltipUnavailable:"shared.screenshotCapture.tooltipUnavailable",sharedScreenshotCapturePermissionRequired:"shared.screenshotCapture.permissionRequired",sharedScreenshotCapturePermissionStatusUnknown:"shared.screenshotCapture.permissionStatusUnknown",sharedScreenshotCaptureFailed:"shared.screenshotCapture.failed",sharedScreenshotCaptureFrameLoadFailed:"shared.screenshotCapture.frameLoadFailed",sharedScreenshotCaptureFrameEmpty:"shared.screenshotCapture.frameEmpty",sharedScreenshotCaptureCanvasPrepareFailed:"shared.screenshotCapture.canvasPrepareFailed",sharedScreenshotCaptureEncodeFailed:"shared.screenshotCapture.encodeFailed",sharedScreenshotCaptureDownscaleFailed:"shared.screenshotCapture.downscaleFailed",sharedScreenshotCaptureDisplayUnavailable:"shared.screenshotCapture.displayUnavailable",sharedScreenshotCaptureRegionUnsupported:"shared.screenshotCapture.regionUnsupported",sharedScreenshotCaptureNoDisplays:"shared.screenshotCapture.noDisplays",sharedScreenshotCaptureWlrootsSessionUnsupported:"shared.screenshotCapture.wlrootsSessionUnsupported",sharedScreenshotCaptureWlrootsToolsRequired:"shared.screenshotCapture.wlrootsToolsRequired",sharedScreenshotCaptureWlrootsSelectionParseFailed:"shared.screenshotCapture.wlrootsSelectionParseFailed",sharedArtifactCanvasTitle:"shared.artifactCanvas.title",sharedArtifactCanvasLoading:"shared.artifactCanvas.loading",sharedArtifactCanvasLoadFailed:"shared.artifactCanvas.loadFailed",sharedArtifactCanvasInvalidRoute:"shared.artifactCanvas.invalidRoute",sharedArtifactCanvasClose:"shared.artifactCanvas.close",sharedArtifactCanvasCollapse:"shared.artifactCanvas.collapse",sharedArtifactCanvasExpand:"shared.artifactCanvas.expand",sharedArtifactCanvasRefresh:"shared.artifactCanvas.refresh",sharedArtifactCanvasOpenExternal:"shared.artifactCanvas.openExternal",sharedArtifactCanvasResizePane:"shared.artifactCanvas.resizePane",sharedArtifactCanvasUnsupportedTitle:"shared.artifactCanvas.unsupportedTitle",sharedArtifactCanvasUnsupportedBody:"shared.artifactCanvas.unsupportedBody",sharedArtifactCanvasPolicyVersion:"shared.artifactCanvas.policyVersion",chatNewChatDraftCancelSendAria:"chat.newChatDraft.cancelSendAria",chatNewChatDraftSendAria:"chat.newChatDraft.sendAria",chatNewChatDraftSendAllChatsAria:"chat.newChatDraft.sendAllChatsAria",chatNewChatDraftStartVoiceInputAria:"chat.newChatDraft.startVoiceInputAria",chatNewChatDraftStopVoiceInputAria:"chat.newChatDraft.stopVoiceInputAria",chatAudienceRemoveParticipantAria:"chat.audience.removeParticipantAria",chatAudienceRemoveParticipantFromAudienceAria:"chat.audience.removeParticipantFromAudienceAria",sharedVoiceInputErrorNotAllowed:"shared.voiceInput.error.notAllowed",sharedVoiceInputErrorServiceNotAllowed:"shared.voiceInput.error.serviceNotAllowed",sharedVoiceInputErrorAudioCapture:"shared.voiceInput.error.audioCapture",sharedVoiceInputErrorNetwork:"shared.voiceInput.error.network",sharedVoiceInputErrorLanguageNotSupported:"shared.voiceInput.error.languageNotSupported",sharedVoiceInputErrorPermissionDenied:"shared.voiceInput.error.permissionDenied",sharedVoiceInputErrorPermissionNotDetermined:"shared.voiceInput.error.permissionNotDetermined",sharedVoiceInputErrorMicUnavailable:"shared.voiceInput.error.micUnavailable",sharedVoiceInputErrorEngineUnavailable:"shared.voiceInput.error.engineUnavailable",sharedVoiceInputErrorHelperCrashed:"shared.voiceInput.error.helperCrashed",sharedVoiceInputFailedWithKind:"shared.voiceInput.failedWithKind",sharedVoiceInputPrivacyUnknown:"shared.voiceInput.privacyUnknown",sharedVoiceInputPrivacyCloud:"shared.voiceInput.privacyCloud",chatDraftCompareCarouselAriaLabel:"chat.draftCompareCarousel.ariaLabel",chatDraftCompareCarouselPreviousBranchAria:"chat.draftCompareCarousel.previousBranchAria",chatDraftCompareCarouselNextBranchAria:"chat.draftCompareCarousel.nextBranchAria",chatDraftCompareCarouselSelectBranchAria:"chat.draftCompareCarousel.selectBranchAria",chatDraftCompareCarouselGoToBranchAria:"chat.draftCompareCarousel.goToBranchAria",chatComposerAreaAttachAria:"chat.composerArea.attachAria",chatComposerAreaPlaceholderParallelWaiting:"chat.composerArea.placeholderParallelWaiting",chatComposerAreaPlaceholderReply:"chat.composerArea.placeholderReply",chatComposerAreaScrollToLatestAria:"chat.composerArea.scrollToLatestAria",chatComposerAreaStopButtonLabel:"chat.composerArea.stopButtonLabel",chatComposerAreaSwitchSendModeLabel:"chat.composerArea.switchSendModeLabel",chatComposerAreaSendToThisChatAria:"chat.composerArea.sendToThisChatAria",chatActivityEyebrow:"chat.activityEyebrow",chatActivityLatestUpdatesHeading:"chat.activityLatestUpdatesHeading",chatActivityEmptyState:"chat.activityEmptyState",chatActivityByActor:"chat.activityByActor",chatParticipantsSectionNameLabel:"chat.participantsSectionNameLabel",chatParticipantsSectionSaveNameButton:"chat.participantsSectionSaveNameButton",chatParticipantsSectionCancelButton:"chat.participantsSectionCancelButton",chatParticipantsSectionRenameButton:"chat.participantsSectionRenameButton",chatParticipantsSectionNoParticipants:"chat.participantsSectionNoParticipants",chatParticipantsSectionChooseCatsButton:"chat.participantsSectionChooseCatsButton",chatTranscriptMessageCheckWithOthersLabel:"chat.transcriptMessageCheckWithOthersLabel",chatTranscriptMessageSynthesizeWithOthersLabel:"chat.transcriptMessageSynthesizeWithOthersLabel",chatTranscriptMessageImproveWithOthersLabel:"chat.transcriptMessageImproveWithOthersLabel",chatTranscriptMessageAdoptWithOthersLabel:"chat.transcriptMessageAdoptWithOthersLabel",chatTranscriptMessageCounterWithOthersLabel:"chat.transcriptMessageCounterWithOthersLabel",chatTranscriptMessageDebateWithOthersLabel:"chat.transcriptMessageDebateWithOthersLabel",chatTranscriptMessageCopyLabel:"chat.transcriptMessageCopyLabel",chatTranscriptMessageRetryResponseLabel:"chat.transcriptMessageRetryResponseLabel",chatTranscriptMessageRelayToOthersLabel:"chat.transcriptMessageRelayToOthersLabel",chatTranscriptMessageFailedStatusLabel:"chat.transcriptMessageFailedStatusLabel",chatProductIntentAckUnsupportedDirectAudience:"chat.productIntent.ack.unsupportedDirectAudience",chatProductIntentAckUnsupportedContext:"chat.productIntent.ack.unsupportedContext",chatProductIntentAckChatActive:"chat.productIntent.ack.chatActive",chatProductIntentAckWorkHumanGate:"chat.productIntent.ack.workHumanGate",chatProductIntentAckWorkStrongAnchor:"chat.productIntent.ack.workStrongAnchor",chatProductIntentAckWorkClarify:"chat.productIntent.ack.workClarify",chatProductIntentAckCodeHumanGate:"chat.productIntent.ack.codeHumanGate",chatProductIntentAckCodeStrongAnchor:"chat.productIntent.ack.codeStrongAnchor",chatProductIntentAckCodeClarify:"chat.productIntent.ack.codeClarify",chatProductIntentHumanGateDraftSummaryFallback:"chat.productIntent.humanGate.draftSummaryFallback",chatProductIntentHumanGateContinueClarifying:"chat.productIntent.humanGate.continueClarifying",chatProductIntentHumanGateOpenWorkItems:"chat.productIntent.humanGate.openWorkItems",chatProductIntentHumanGateSwitchCat:"chat.productIntent.humanGate.switchCat",chatProductIntentHumanGateQuestion:"chat.productIntent.humanGate.question",chatProductIntentDraftTitleWork:"chat.productIntent.draft.title.work",chatProductIntentDraftTitleCode:"chat.productIntent.draft.title.code",chatProductIntentDraftSummary:"chat.productIntent.draft.summary",chatProductIntentDraftGoalFallback:"chat.productIntent.draft.goalFallback",chatProductIntentDraftSuccessCriteria:"chat.productIntent.draft.successCriteria",chatProductIntentDraftOutOfScope:"chat.productIntent.draft.outOfScope",chatProductIntentDraftOpenQuestion:"chat.productIntent.draft.openQuestion",chatImplicitProductIntentSuggestionWork:"chat.implicitProductIntent.suggestion.work",chatImplicitProductIntentSuggestionCode:"chat.implicitProductIntent.suggestion.code",chatImplicitProductIntentQuestion:"chat.implicitProductIntent.question",chatImplicitProductIntentConfirmWork:"chat.implicitProductIntent.confirm.work",chatImplicitProductIntentConfirmCode:"chat.implicitProductIntent.confirm.code",chatImplicitProductIntentDecline:"chat.implicitProductIntent.decline",chatImplicitProductIntentConfirmedWork:"chat.implicitProductIntent.confirmed.work",chatImplicitProductIntentConfirmedCode:"chat.implicitProductIntent.confirmed.code",chatImplicitProductIntentDeclined:"chat.implicitProductIntent.declined",chatImplicitProductIntentExpired:"chat.implicitProductIntent.expired",sharedAddCatPanelTitle:"shared.addCatPanelTitle",sharedAddCatPanelClose:"shared.addCatPanelClose",sharedAddCatPanelChooseExisting:"shared.addCatPanelChooseExisting",sharedAddCatPanelCreateNew:"shared.addCatPanelCreateNew",sharedAddCatPanelAdding:"shared.addCatPanelAdding",sharedAddCatPanelRemoving:"shared.addCatPanelRemoving",sharedAddCatPanelRemove:"shared.addCatPanelRemove",sharedAddCatPanelAdd:"shared.addCatPanelAdd",sharedAddCatPanelNoOtherCats:"shared.addCatPanelNoOtherCats",sharedAddCatPanelAllCatsInChat:"shared.addCatPanelAllCatsInChat",sharedAddCatPanelNameLabel:"shared.addCatPanelNameLabel",sharedAddCatPanelNamePlaceholder:"shared.addCatPanelNamePlaceholder",sharedAddCatPanelSaving:"shared.addCatPanelSaving",sharedAddCatPanelCreateAndAdd:"shared.addCatPanelCreateAndAdd",sharedAddCatPanelCreateAndAddToChat:"shared.addCatPanelCreateAndAddToChat",telegramCommandStartDescription:"telegram.command.start.description",telegramCommandHelpDescription:"telegram.command.help.description",telegramCommandCommandsDescription:"telegram.command.commands.description",telegramCommandStatusDescription:"telegram.command.status.description",telegramCommandOpenDescription:"telegram.command.open.description",telegramCommandModeDescription:"telegram.command.mode.description",telegramCommandChatDescription:"telegram.command.chat.description",telegramCommandWorkDescription:"telegram.command.work.description",telegramCommandCodeDescription:"telegram.command.code.description",telegramCommandHelpText:"telegram.command.help.text",telegramCommandModeCompanion:"telegram.command.mode.companion",telegramCommandModeAgent:"telegram.command.mode.agent",telegramCommandStartGreetingBound:"telegram.command.start.greetingBound",telegramCommandStartGreetingUnbound:"telegram.command.start.greetingUnbound",telegramCommandStatusBotLine:"telegram.command.status.botLine",telegramCommandStatusLinkedCatLine:"telegram.command.status.linkedCatLine",telegramCommandStatusModeLine:"telegram.command.status.modeLine",telegramCommandStatusInboundLine:"telegram.command.status.inboundLine",telegramCommandStatusChatLine:"telegram.command.status.chatLine",telegramCommandStatusConnectedLine:"telegram.command.status.connectedLine",telegramCommandStatusBindingHealthLine:"telegram.command.status.bindingHealthLine",telegramCommandStatusLocalExecutionHealthyLine:"telegram.command.status.localExecutionHealthyLine",telegramCommandStatusLocalExecutionDegradedLine:"telegram.command.status.localExecutionDegradedLine",telegramCommandStatusLocalExecutionUnavailableLine:"telegram.command.status.localExecutionUnavailableLine",telegramCommandStatusLocalExecutionUnknownLine:"telegram.command.status.localExecutionUnknownLine",telegramCommandStatusDelegationReadyLine:"telegram.command.status.delegationReadyLine",telegramCommandStatusDelegationBlockedLine:"telegram.command.status.delegationBlockedLine",telegramCommandStatusDelegationDisabledLine:"telegram.command.status.delegationDisabledLine",telegramCommandStatusDelegationUnknownLine:"telegram.command.status.delegationUnknownLine",telegramCommandOpenReply:"telegram.command.open.reply",telegramCommandModeNotConfigurable:"telegram.command.mode.notConfigurable",telegramCommandModeCurrent:"telegram.command.mode.current",telegramCommandModeUnknown:"telegram.command.mode.unknown",telegramCommandModeSwitchUnavailable:"telegram.command.mode.switchUnavailable",telegramCommandModeSwitched:"telegram.command.mode.switched",telegramCommandUnknownCommand:"telegram.command.unknownCommand",workDeliveryActionStartWork:"workDelivery.action.startWork",workDeliveryActionCancel:"workDelivery.action.cancel",workDeliveryActionPublish:"workDelivery.action.publish",workDeliveryActionDeny:"workDelivery.action.deny",workDeliveryTimeoutReason:"workDelivery.timeout.reason",workDeliveryPermissionDeniedReason:"workDelivery.permissionDenied.reason",workDeliveryPermissionDeniedConsequence:"workDelivery.permissionDenied.consequence",workDeliveryTimeoutConsequence:"workDelivery.timeout.consequence",workDeliveryActionRetry:"workDelivery.action.retry",workDeliveryActionResume:"workDelivery.action.resume",workDeliveryRetryStarted:"workDelivery.retry.started",workDeliveryResumeStarted:"workDelivery.resume.started",workDeliveryLifecycleRefused:"workDelivery.lifecycle.refused",workDeliveryPublishRequested:"workDelivery.publish.requested",workDeliveryPublishConsequence:"workDelivery.publish.consequence",workDeliveryPublishDenied:"workDelivery.publish.denied",workDeliveryPublishBlocked:"workDelivery.publish.blocked",workDeliveryPublishDone:"workDelivery.publish.done",workDeliveryPublishPendingChecks:"workDelivery.publish.pendingChecks",workDeliveryPublishPendingConsequence:"workDelivery.publish.pendingConsequence",workDeliveryStagePublishing:"workDelivery.stage.publishing",workDeliveryAcceptedTitle:"workDelivery.accepted.title",workDeliveryAcceptedBody:"workDelivery.accepted.body",workDeliveryNotReadyTitle:"workDelivery.notReady.title",workDeliveryNotReadyFooter:"workDelivery.notReady.footer",workDeliveryReadinessBindingDisabled:"workDelivery.readiness.bindingDisabled",workDeliveryReadinessBindingUnhealthy:"workDelivery.readiness.bindingUnhealthy",workDeliveryReadinessOwnerNotAuthorized:"workDelivery.readiness.ownerNotAuthorized",workDeliveryReadinessCatNotBound:"workDelivery.readiness.catNotBound",workDeliveryReadinessExecutionTargetMissing:"workDelivery.readiness.executionTargetMissing",workDeliveryReadinessCapabilityProfileMissing:"workDelivery.readiness.capabilityProfileMissing",workDeliveryReadinessWorkspaceMissing:"workDelivery.readiness.workspaceMissing",workDeliveryReadinessWorkspaceUnreachable:"workDelivery.readiness.workspaceUnreachable",workDeliveryReadinessSectionTitle:"workDelivery.readiness.section.title",settingsCapabilityBootstrapTitle:"settings.capabilityBootstrap.title",settingsCapabilityBootstrapDescription:"settings.capabilityBootstrap.description",settingsCapabilityBootstrapConfigPathLabel:"settings.capabilityBootstrap.configPathLabel",settingsCapabilityBootstrapStatusLabel:"settings.capabilityBootstrap.statusLabel",settingsCapabilityBootstrapStatusLoaded:"settings.capabilityBootstrap.statusLoaded",settingsCapabilityBootstrapStatusMissing:"settings.capabilityBootstrap.statusMissing",settingsCapabilityBootstrapStatusInvalid:"settings.capabilityBootstrap.statusInvalid",settingsCapabilityBootstrapRulesLabel:"settings.capabilityBootstrap.rulesLabel",settingsCapabilityBootstrapDiagnosticsLabel:"settings.capabilityBootstrap.diagnosticsLabel",settingsCapabilityBootstrapInstallExample:"settings.capabilityBootstrap.installExample",settingsCapabilityBootstrapInstallFailed:"settings.capabilityBootstrap.installFailed",settingsCapabilityBootstrapRestartRequired:"settings.capabilityBootstrap.restartRequired",settingsCapabilityBootstrapEditHint:"settings.capabilityBootstrap.editHint",settingsCapabilityBootstrapNoRules:"settings.capabilityBootstrap.noRules",settingsCapabilityBootstrapRuleTitle:"settings.capabilityBootstrap.ruleTitle",settingsCapabilityBootstrapRuleId:"settings.capabilityBootstrap.ruleId",settingsCapabilityBootstrapProvider:"settings.capabilityBootstrap.provider",settingsCapabilityBootstrapInstance:"settings.capabilityBootstrap.instance",settingsCapabilityBootstrapModel:"settings.capabilityBootstrap.model",settingsCapabilityBootstrapControl:"settings.capabilityBootstrap.control",settingsCapabilityBootstrapTreatment:"settings.capabilityBootstrap.treatment",settingsCapabilityBootstrapTreatmentStrong:"settings.capabilityBootstrap.treatmentStrong",settingsCapabilityBootstrapTreatmentWeak:"settings.capabilityBootstrap.treatmentWeak",settingsCapabilityBootstrapReason:"settings.capabilityBootstrap.reason",settingsCapabilityBootstrapAddRule:"settings.capabilityBootstrap.addRule",settingsCapabilityBootstrapRemoveRule:"settings.capabilityBootstrap.removeRule",settingsCapabilityBootstrapMoveUp:"settings.capabilityBootstrap.moveUp",settingsCapabilityBootstrapMoveDown:"settings.capabilityBootstrap.moveDown",settingsCapabilityBootstrapSave:"settings.capabilityBootstrap.save",settingsCapabilityBootstrapReload:"settings.capabilityBootstrap.reload",settingsCapabilityBootstrapSaveFailed:"settings.capabilityBootstrap.saveFailed",settingsCapabilityBootstrapValidationFailed:"settings.capabilityBootstrap.validationFailed",settingsCapabilityBootstrapRevisionConflict:"settings.capabilityBootstrap.revisionConflict",settingsCapabilityBootstrapLoading:"settings.capabilityBootstrap.loading",settingsCapabilityBootstrapLoadError:"settings.capabilityBootstrap.loadError",workDeliveryReadinessSectionDescription:"workDelivery.readiness.section.description",workDeliveryReadinessSectionDisabled:"workDelivery.readiness.section.disabled",workDeliveryReadinessSectionLoading:"workDelivery.readiness.section.loading",workDeliveryReadinessSectionLoadError:"workDelivery.readiness.section.loadError",workDeliveryReadinessSectionNoBindings:"workDelivery.readiness.section.noBindings",workDeliveryReadinessStatusReady:"workDelivery.readiness.status.ready",workDeliveryReadinessStatusBlocked:"workDelivery.readiness.status.blocked",workDeliveryReadinessWorkspaceLabel:"workDelivery.readiness.workspaceLabel",workDeliveryReadinessWorkspaceUnset:"workDelivery.readiness.workspaceUnset",workDeliveryReadinessDeliveryModeLabel:"workDelivery.readiness.deliveryModeLabel",workDeliveryReadinessToolScopeLabel:"workDelivery.readiness.toolScopeLabel",workDeliveryReadinessAuthorizedOwnersLabel:"workDelivery.readiness.authorizedOwnersLabel",workDeliveryReadinessLocalExecutionLabel:"workDelivery.readiness.localExecutionLabel",workDeliveryReadinessLocalExecutionHealthy:"workDelivery.readiness.localExecutionHealthy",workDeliveryReadinessLocalExecutionDegraded:"workDelivery.readiness.localExecutionDegraded",workDeliveryReadinessLocalExecutionUnavailable:"workDelivery.readiness.localExecutionUnavailable",workDeliveryReadinessLocalExecutionUnknown:"workDelivery.readiness.localExecutionUnknown",workDeliveryReadinessBlockersLabel:"workDelivery.readiness.blockersLabel",workDeliveryReadinessOpenRemediation:"workDelivery.readiness.openRemediation",workDeliveryReadinessRefresh:"workDelivery.readiness.refresh",workDeliveryReadinessWorkspaceNotARepository:"workDelivery.readiness.workspaceNotARepository",workDeliveryReadinessWorkspaceNotClean:"workDelivery.readiness.workspaceNotClean",workDeliveryReadinessDeliveryPolicyUnresolved:"workDelivery.readiness.deliveryPolicyUnresolved",workDeliveryReadinessBackgroundServiceUnavailable:"workDelivery.readiness.backgroundServiceUnavailable",workDeliveryProposalTitle:"workDelivery.proposal.title",workDeliveryProposalGoal:"workDelivery.proposal.goal",workDeliveryProposalTarget:"workDelivery.proposal.target",workDeliveryProposalDoneWhen:"workDelivery.proposal.doneWhen",workDeliveryProposalDelivery:"workDelivery.proposal.delivery",workDeliveryProposalSideEffects:"workDelivery.proposal.sideEffects",workDeliveryProposalGates:"workDelivery.proposal.gates",workDeliveryProposalQuestion:"workDelivery.proposal.question",workDeliveryProposalConfirm:"workDelivery.proposal.confirm",workDeliveryValueNone:"workDelivery.value.none",workDeliveryValueNotSpecified:"workDelivery.value.notSpecified",workDeliverySideEffectsArtifactOnly:"workDelivery.sideEffects.artifactOnly",workDeliverySideEffectsCommitOnly:"workDelivery.sideEffects.commitOnly",workDeliverySideEffectsPushBranch:"workDelivery.sideEffects.pushBranch",workDeliverySideEffectsPrWithChecks:"workDelivery.sideEffects.prWithChecks",workDeliverySideEffectsDeployPreview:"workDelivery.sideEffects.deployPreview",workDeliveryProgress:"workDelivery.progress",workDeliveryStageAdmitted:"workDelivery.stage.admitted",workDeliveryStageRunning:"workDelivery.stage.running",workDeliveryStageCancelled:"workDelivery.stage.cancelled",workDeliveryMilestoneCancelled:"workDelivery.milestone.cancelled",workDeliveryMilestoneAdmitted:"workDelivery.milestone.admitted",workDeliveryDecisionTitle:"workDelivery.decision.title",workDeliveryDecisionReason:"workDelivery.decision.reason",workDeliveryDecisionConsequence:"workDelivery.decision.consequence",workDeliveryDecisionEvidenceReason:"workDelivery.decision.evidenceReason",workDeliveryDecisionEvidenceConsequence:"workDelivery.decision.evidenceConsequence",workDeliveryResultTitle:"workDelivery.result.title",workDeliveryResultCommit:"workDelivery.result.commit",workDeliveryResultArtifact:"workDelivery.result.artifact",workDeliveryResultAcceptanceMet:"workDelivery.result.acceptanceMet",workDeliveryResultAcceptanceUnmet:"workDelivery.result.acceptanceUnmet",workDeliveryResultWaitingOn:"workDelivery.result.waitingOn",workDeliveryInboundAttachmentNotIngested:"workDelivery.inbound.attachmentNotIngested",workDeliveryInboundGoalRequired:"workDelivery.inbound.goalRequired",workTaskGoldenPathTitle:"workTask.goldenPath.title",workTaskGoldenPathStage:"workTask.goldenPath.stage",workTaskGoldenPathSourceTitle:"workTask.goldenPath.sourceTitle",workTaskGoldenPathBinding:"workTask.goldenPath.binding",workTaskGoldenPathBindingMissing:"workTask.goldenPath.bindingMissing",workTaskGoldenPathScopeTitle:"workTask.goldenPath.scopeTitle",workTaskGoldenPathRevision:"workTask.goldenPath.revision",workTaskGoldenPathTarget:"workTask.goldenPath.target",workTaskGoldenPathWorkspace:"workTask.goldenPath.workspace",workTaskGoldenPathDoneWhen:"workTask.goldenPath.doneWhen",workTaskGoldenPathDelivery:"workTask.goldenPath.delivery",workTaskGoldenPathGates:"workTask.goldenPath.gates",workTaskGoldenPathAuthorizationTitle:"workTask.goldenPath.authorizationTitle",workTaskGoldenPathAuthorizedBy:"workTask.goldenPath.authorizedBy",workTaskGoldenPathAuthorizedFrom:"workTask.goldenPath.authorizedFrom",workTaskGoldenPathNotAuthorized:"workTask.goldenPath.notAuthorized",workTaskGoldenPathEvidenceTitle:"workTask.goldenPath.evidenceTitle",workTaskGoldenPathCommit:"workTask.goldenPath.commit",workTaskGoldenPathValidation:"workTask.goldenPath.validation",workTaskGoldenPathValidationPassed:"workTask.goldenPath.validationPassed",workTaskGoldenPathValidationFailed:"workTask.goldenPath.validationFailed",workTaskGoldenPathArtifacts:"workTask.goldenPath.artifacts",workTaskGoldenPathUnmet:"workTask.goldenPath.unmet",workTaskGoldenPathNoEvidence:"workTask.goldenPath.noEvidence",workTaskGoldenPathBlockers:"workTask.goldenPath.blockers",workTaskGoldenPathPermissionDenial:"workTask.goldenPath.permissionDenial",workTaskGoldenPathPermissionDenialDetail:"workTask.goldenPath.permissionDenialDetail",workTaskGoldenPathDeliveryTitle:"workTask.goldenPath.deliveryTitle",workTaskGoldenPathNoAttempts:"workTask.goldenPath.noAttempts",workTaskGoldenPathAttempt:"workTask.goldenPath.attempt",workTaskGoldenPathReceipt:"workTask.goldenPath.receipt",workTaskGoldenPathRetryDelivery:"workTask.goldenPath.retryDelivery",workTaskGoldenPathRetrying:"workTask.goldenPath.retrying",workTaskGoldenPathRetryFailed:"workTask.goldenPath.retryFailed",workTaskGoldenPathRetryUnavailable:"workTask.goldenPath.retryUnavailable",workTaskGoldenPathRetryRun:"workTask.goldenPath.retryRun",workTaskGoldenPathResumeRun:"workTask.goldenPath.resumeRun",workTaskGoldenPathLifecycleFailed:"workTask.goldenPath.lifecycleFailed",workTaskGoldenPathStageReceived:"workTask.goldenPath.stage.received",workTaskGoldenPathStageScopeproposed:"workTask.goldenPath.stage.scopeProposed",workTaskGoldenPathStageExecutionauthorized:"workTask.goldenPath.stage.executionAuthorized",workTaskGoldenPathStageAdmitted:"workTask.goldenPath.stage.admitted",workTaskGoldenPathStageRunning:"workTask.goldenPath.stage.running",workTaskGoldenPathStageDecisionneeded:"workTask.goldenPath.stage.decisionNeeded",workTaskGoldenPathStageResultready:"workTask.goldenPath.stage.resultReady",workTaskGoldenPathStagePublishauthorized:"workTask.goldenPath.stage.publishAuthorized",workTaskGoldenPathStageDelivered:"workTask.goldenPath.stage.delivered",workTaskGoldenPathStageFailed:"workTask.goldenPath.stage.failed",workTaskGoldenPathStageCancelled:"workTask.goldenPath.stage.cancelled",sharedOperatorNoTimestamp:"shared.operator.noTimestamp",sharedOperatorRunStatusRunning:"shared.operator.runStatus.running",sharedOperatorRunStatusBlocked:"shared.operator.runStatus.blocked",sharedOperatorRunStatusCompleted:"shared.operator.runStatus.completed",sharedOperatorRunStatusFailed:"shared.operator.runStatus.failed",sharedOperatorRunStatusCancelled:"shared.operator.runStatus.cancelled",sharedOperatorRunStatusQueued:"shared.operator.runStatus.queued",sharedOperatorBranchStatusPending:"shared.operator.branchStatus.pending",sharedOperatorBranchStatusRunning:"shared.operator.branchStatus.running",sharedOperatorBranchStatusCompleted:"shared.operator.branchStatus.completed",sharedOperatorBranchStatusFailed:"shared.operator.branchStatus.failed",sharedOperatorBranchStatusBlocked:"shared.operator.branchStatus.blocked",sharedOperatorBranchStatusCancelled:"shared.operator.branchStatus.cancelled",sharedOperatorBranchStatusWaitingForConverge:"shared.operator.branchStatus.waitingForConverge",sharedOperatorCheckpointStatusCompleted:"shared.operator.checkpointStatus.completed",sharedOperatorCheckpointStatusCancelled:"shared.operator.checkpointStatus.cancelled",sharedOperatorCheckpointStatusOpen:"shared.operator.checkpointStatus.open",sharedOperatorOutcomeStatusSucceeded:"shared.operator.outcomeStatus.succeeded",sharedOperatorOutcomeStatusBlocked:"shared.operator.outcomeStatus.blocked",sharedOperatorOutcomeStatusFailed:"shared.operator.outcomeStatus.failed",sharedOperatorOutcomeStatusCancelled:"shared.operator.outcomeStatus.cancelled",sharedOperatorTraceKindApproval:"shared.operator.traceKind.approval",sharedOperatorTraceKindCheckpoint:"shared.operator.traceKind.checkpoint",sharedOperatorTraceKindDispatch:"shared.operator.traceKind.dispatch",sharedOperatorTraceKindError:"shared.operator.traceKind.error",sharedOperatorTraceKindOutcome:"shared.operator.traceKind.outcome",sharedOperatorTraceKindStatus:"shared.operator.traceKind.status",sharedOperatorTraceKindNote:"shared.operator.traceKind.note",sharedOperatorActivityLabelRecovery:"shared.operator.activity.label.recovery",sharedOperatorActivityLabelReplay:"shared.operator.activity.label.replay",sharedOperatorActivityLabelDecision:"shared.operator.activity.label.decision",sharedOperatorActivityLabelAction:"shared.operator.activity.label.action",sharedOperatorActivityLabelArtifact:"shared.operator.activity.label.artifact",sharedOperatorActivityLabelUpdate:"shared.operator.activity.label.update",sharedOperatorActivityLabelTrace:"shared.operator.activity.label.trace",sharedOperatorEyebrowInspector:"shared.operator.eyebrow.inspector",sharedOperatorRunInspectorTitle:"shared.operator.runInspector.title",sharedOperatorRunInspectorNoHistory:"shared.operator.runInspector.noHistory",sharedOperatorRunInspectorSummaryFallback:"shared.operator.runInspector.summaryFallback",sharedOperatorMetaStarted:"shared.operator.meta.started",sharedOperatorMetaUpdated:"shared.operator.meta.updated",sharedOperatorMetaStage:"shared.operator.meta.stage",sharedOperatorWorkflowStageBlocked:"shared.operator.workflowStage.blocked",sharedOperatorWorkflowStageConcurrentFanOut:"shared.operator.workflowStage.concurrentFanOut",sharedOperatorWorkflowStageContinuationHandoff:"shared.operator.workflowStage.continuationHandoff",sharedOperatorWorkflowStageConvergeReview:"shared.operator.workflowStage.convergeReview",sharedOperatorWorkflowStageDispatch:"shared.operator.workflowStage.dispatch",sharedOperatorWorkflowStageInitialDispatch:"shared.operator.workflowStage.initialDispatch",sharedOperatorWorkflowStageRuntimeError:"shared.operator.workflowStage.runtimeError",sharedOperatorWorkflowStageStartupRecovery:"shared.operator.workflowStage.startupRecovery",sharedOperatorWorkflowStageTurnCompleted:"shared.operator.workflowStage.turnCompleted",sharedOperatorMetaShape:"shared.operator.meta.shape",sharedOperatorMetaReviewRequired:"shared.operator.meta.reviewRequired",sharedOperatorMetaGuardrail:"shared.operator.meta.guardrail",sharedOperatorMetaCooldown:"shared.operator.meta.cooldown",sharedOperatorGuardMaxContinuations:"shared.operator.guard.maxContinuations",sharedOperatorGuardMaxDispatches:"shared.operator.guard.maxDispatches",sharedOperatorGuardMaxTargetVisits:"shared.operator.guard.maxTargetVisits",sharedOperatorGuardAntiPingPong:"shared.operator.guard.antiPingPong",sharedOperatorCooldownActive:"shared.operator.cooldown.active",sharedOperatorSectionTrace:"shared.operator.section.trace",sharedOperatorSectionCheckpoints:"shared.operator.section.checkpoints",sharedOperatorNoCheckpointsRecorded:"shared.operator.noCheckpointsRecorded",sharedOperatorCheckpointSummaryFallback:"shared.operator.checkpointSummaryFallback",sharedOperatorSectionBranches:"shared.operator.section.branches",sharedOperatorNoBranchesRecorded:"shared.operator.noBranchesRecorded",sharedOperatorBranchHandoff:"shared.operator.branch.handoff",sharedOperatorBranchStrategy:"shared.operator.branch.strategy",sharedOperatorBranchStrategyForkIfPossible:"shared.operator.branchStrategy.forkIfPossible",sharedOperatorBranchStrategyFreshNoParent:"shared.operator.branchStrategy.freshNoParent",sharedOperatorBranchStrategySingleTargetReview:"shared.operator.branchStrategy.singleTargetReview",sharedOperatorBranchStrategyTransplantContext:"shared.operator.branchStrategy.transplantContext",sharedOperatorBranchHandoffExplicitMention:"shared.operator.branchHandoff.explicitMention",sharedOperatorBranchHandoffOperatorReroute:"shared.operator.branchHandoff.operatorReroute",sharedOperatorBranchHandoffRoomDefault:"shared.operator.branchHandoff.roomDefault",sharedOperatorBranchHandoffRoomEntry:"shared.operator.branchHandoff.roomEntry",sharedOperatorBranchHandoffRuntimeRetry:"shared.operator.branchHandoff.runtimeRetry",sharedOperatorBranchHandoffWorkflowContinuation:"shared.operator.branchHandoff.workflowContinuation",sharedOperatorBranchFromCheckpoint:"shared.operator.branch.fromCheckpoint",sharedOperatorBranchNoLineage:"shared.operator.branch.noLineage",sharedOperatorSectionOutcomes:"shared.operator.section.outcomes",sharedOperatorNoOutcomesRecorded:"shared.operator.noOutcomesRecorded",sharedOperatorOutcomeSummaryFallback:"shared.operator.outcomeSummaryFallback",sharedOperatorEyebrowProgress:"shared.operator.eyebrow.progress",sharedOperatorRunStatusTitle:"shared.operator.runStatus.title",sharedOperatorNoActiveRun:"shared.operator.noActiveRun",sharedOperatorProgressSummaryFallback:"shared.operator.progressSummaryFallback",sharedOperatorMetricDispatches:"shared.operator.metric.dispatches",sharedOperatorMetricContinuations:"shared.operator.metric.continuations",sharedOperatorMetricTargets:"shared.operator.metric.targets",sharedOperatorApprovalPendingSingular:"shared.operator.approvalPending.singular",sharedOperatorApprovalPendingPlural:"shared.operator.approvalPending.plural",sharedOperatorDeliveryLabel:"shared.operator.meta.delivery",sharedOperatorGatesLabel:"shared.operator.meta.gates",sharedOperatorBudgetLabel:"shared.operator.meta.budget",sharedOperatorDeliveryModeArtifactOnly:"shared.operator.deliveryMode.artifactOnly",sharedOperatorDeliveryModeCommitOnly:"shared.operator.deliveryMode.commitOnly",sharedOperatorDeliveryModeDeployPreview:"shared.operator.deliveryMode.deployPreview",sharedOperatorDeliveryModePrWithChecks:"shared.operator.deliveryMode.prWithChecks",sharedOperatorDeliveryModePushBranch:"shared.operator.deliveryMode.pushBranch",sharedOperatorGateManualReviewRequired:"shared.operator.deliveryGate.manualReviewRequired",sharedOperatorGateOwnerApprovalRequired:"shared.operator.deliveryGate.ownerApprovalRequired",sharedOperatorGatePublishArtifactRequired:"shared.operator.deliveryGate.publishArtifactRequired",sharedOperatorBudgetLevelNormal:"shared.operator.budgetLevel.normal",sharedOperatorBudgetLevelWarning:"shared.operator.budgetLevel.warning",sharedOperatorBudgetLevelBlocked:"shared.operator.budgetLevel.blocked",sharedOperatorWorkflowShapeSequential:"shared.operator.workflowShape.sequential",sharedOperatorWorkflowShapeConcurrent:"shared.operator.workflowShape.concurrent",sharedOperatorWorkflowShapeConverge:"shared.operator.workflowShape.converge",sharedOperatorInspectRunButton:"shared.operator.inspectRunButton",sharedOperatorNoTraceRecords:"shared.operator.noTraceRecords",sharedOperatorActionRequestRetry:"shared.operator.action.requestRetry",sharedOperatorActionRetryAgain:"shared.operator.action.retryAgain",sharedOperatorActionRetrying:"shared.operator.action.retrying",sharedOperatorActionRetryRequested:"shared.operator.action.retryRequested",sharedOperatorActionAcknowledge:"shared.operator.action.acknowledge",sharedOperatorActionAcknowledged:"shared.operator.action.acknowledged",sharedOperatorActionRetryDescription:"shared.operator.action.retryDescription",sharedOperatorActionReplayStoredDispatchDescription:"shared.operator.action.replayStoredDispatchDescription",sharedOperatorActionRetryTaskDescription:"shared.operator.action.retryTaskDescription",sharedOperatorActionRetryFailedDescription:"shared.operator.action.retryFailedDescription",sharedOperatorActionAcknowledgeDescription:"shared.operator.action.acknowledgeDescription",sharedOperatorActionAcknowledgeBlockedDescription:"shared.operator.action.acknowledgeBlockedDescription",sharedOperatorActionStatusRetryInProgress:"shared.operator.action.status.retryInProgress",sharedOperatorActionStatusRetryFailed:"shared.operator.action.status.retryFailed",sharedOperatorActionStatusRetryFailedWithError:"shared.operator.action.status.retryFailedWithError",sharedOperatorActionStatusRetryDispatched:"shared.operator.action.status.retryDispatched",sharedOperatorActionStatusRetryRequested:"shared.operator.action.status.retryRequested",sharedOperatorActionStatusAcknowledged:"shared.operator.action.status.acknowledged",sharedAudiencePopoverHeader:"shared.audience.popoverHeader",sharedAudienceSelectAudienceLabel:"shared.audience.selectAudienceLabel",sharedAudienceWorkflowSequential:"shared.audience.workflowSequential",sharedAudienceWorkflowConcurrent:"shared.audience.workflowConcurrent",sharedAudienceSwitchToSequentialModeLabel:"shared.audience.switchToSequentialModeLabel",sharedAudienceSwitchToConcurrentModeLabel:"shared.audience.switchToConcurrentModeLabel",sharedWorkspaceModeCurrentLabel:"shared.workspaceMode.currentLabel",sharedWorkspaceModeWorktreeLabel:"shared.workspaceMode.worktreeLabel",sharedWorkspaceModeCurrentTooltip:"shared.workspaceMode.currentTooltip",sharedWorkspaceModeWorktreeTooltip:"shared.workspaceMode.worktreeTooltip",sharedTelegramConnectDialogTitle:"shared.telegramConnectDialog.title",sharedTelegramConnectBotUsernameLabel:"shared.telegramConnectDialog.botUsernameLabel",sharedTelegramConnectBotUsernamePlaceholder:"shared.telegramConnectDialog.botUsernamePlaceholder",sharedTelegramConnectBotTokenLabel:"shared.telegramConnectDialog.botTokenLabel",sharedTelegramConnectBotTokenPlaceholder:"shared.telegramConnectDialog.botTokenPlaceholder",sharedTelegramConnectModeLabel:"shared.telegramConnectDialog.modeLabel",sharedTelegramConnectModePolling:"shared.telegramConnectDialog.modePolling",sharedTelegramConnectModeWebhook:"shared.telegramConnectDialog.modeWebhook",sharedTelegramConnectWebhookSecretLabel:"shared.telegramConnectDialog.webhookSecretLabel",sharedTelegramConnectWebhookSecretPlaceholder:"shared.telegramConnectDialog.webhookSecretPlaceholder",sharedTelegramConnectCancel:"shared.telegramConnectDialog.cancel",sharedTelegramConnectConnecting:"shared.telegramConnectDialog.connecting",sharedTelegramConnectConnect:"shared.telegramConnectDialog.connect",sharedCatsCreateCreateSection:"shared.catsCreateCreateSection",sharedCatsCreateNewCat:"shared.catsCreateNewCat",sharedCatsCreateCatLimitReached:"shared.catsCreateCatLimitReached",sharedCatsCreateAddNewCatHint:"shared.catsCreateAddNewCatHint",sharedCatsCreateCatNamePlaceholder:"shared.catsCreateCatNamePlaceholder",sharedCatsCreateCancel:"shared.catsCreateCancel",sharedCatsCreateSaving:"shared.catsCreateSaving",sharedCatsCreateSaveCat:"shared.catsCreateSaveCat",sharedPermissionModeFullAccess:"shared.permissionMode.fullAccess",sharedPermissionModeReadOnly:"shared.permissionMode.readOnly",sharedComposerSurfaceLabelChat:"shared.composerSurface.label.chat",sharedComposerSurfaceLabelWork:"shared.composerSurface.label.work",sharedComposerSurfaceLabelCode:"shared.composerSurface.label.code",sharedComposerSurfaceClearAria:"shared.composerSurface.clearAria",sharedProviderModelSupportAdvanced:"shared.providerModel.support.advanced",sharedProviderModelSupportReadOnly:"shared.providerModel.support.readOnly",sharedDeleteParallelChatGroupTitle:"shared.delete.parallelChatGroup.title",sharedDeleteParallelChatGroupMessage:"shared.delete.parallelChatGroup.message",sharedDeleteParallelChatGroupConfirm:"shared.delete.parallelChatGroup.confirm",sharedDeleteParallelChatGroupFallback:"shared.delete.parallelChatGroup.fallback",sharedDeleteCatTitle:"shared.delete.cat.title",sharedDeleteCatMessage:"shared.delete.cat.message",sharedDeleteCatConfirm:"shared.delete.cat.confirm",sharedDeleteCatFallback:"shared.delete.cat.fallback",sharedTranscriptDeletedCat:"shared.transcript.deletedCat",sharedCommonApply:"shared.common.apply",sharedCommonCancel:"shared.common.cancel",sharedCommonClose:"shared.common.close",sharedCommonDelete:"shared.common.delete",sharedCommonRetry:"shared.common.retry",sharedGuideCatPanelGreeting:"shared.guideCat.panelGreeting",sharedGuideCatWelcomeGreeting:"shared.guideCat.welcomeGreeting",sharedGuideCatWelcomeStartChat:"shared.guideCat.welcomeStartChat",sharedGuideCatWelcomeMeetCats:"shared.guideCat.welcomeMeetCats",sharedGuideCatWelcomeExploreProducts:"shared.guideCat.welcomeExploreProducts",sharedGuideCatWelcomeHideNow:"shared.guideCat.welcomeHideNow",sharedGuideCatPillOpenLabel:"shared.guideCat.pillOpenLabel",sharedGuideCatPillDisableLabel:"shared.guideCat.pillDisableLabel",sharedGuideCatDockUndockLabel:"shared.guideCat.dockUndockLabel",sharedGuideCatDialogDisableTitle:"shared.guideCat.dialog.disableTitle",sharedGuideCatDialogDisableMessage:"shared.guideCat.dialog.disableMessage",sharedGuideCatDialogDisableConfirm:"shared.guideCat.dialog.disableConfirm",sharedGuideCatDialogKeepEnabled:"shared.guideCat.dialog.keepEnabled",sharedGuideCatDialogDockNow:"shared.guideCat.dialog.dockNow",sharedImageUploadClickHint:"shared.imageUpload.clickHint",sharedImageUploadDragHint:"shared.imageUpload.dragHint",sharedWorkspaceNavigationDeleteChannelRuntimeCleanupFeedbackOne:"shared.workspaceNavigation.deleteChannelRuntimeCleanupFeedbackOne",sharedWorkspaceNavigationDeleteChannelRuntimeCleanupFeedbackMany:"shared.workspaceNavigation.deleteChannelRuntimeCleanupFeedbackMany",sharedWorkspaceNavigationRenameChatError:"shared.workspaceNavigation.renameChatError",sharedWorkspaceNavigationDeleteChatError:"shared.workspaceNavigation.deleteChatError",sharedWorkspaceNavigationRenameParallelChatError:"shared.workspaceNavigation.renameParallelChatError",sharedWorkspaceNavigationUngroupParallelChatError:"shared.workspaceNavigation.ungroupParallelChatError",sharedWorkspaceNavigationDeleteParallelChatGroupError:"shared.workspaceNavigation.deleteParallelChatGroupError",sharedWorkspaceNavigationParallelChatFallbackName:"shared.workspaceNavigation.parallelChatFallbackName",sharedWorkspaceNavigationErrorChatNotFound:"shared.workspaceNavigation.error.chatNotFound",sharedWorkspaceNavigationErrorChannelNotFound:"shared.workspaceNavigation.error.channelNotFound",sharedWorkspaceNavigationErrorParallelChatGroupNotFound:"shared.workspaceNavigation.error.parallelChatGroupNotFound",sharedWorkspaceNavigationErrorTitleRequired:"shared.workspaceNavigation.error.titleRequired",sharedWorkspaceNavigationErrorParallelChatTitleRequired:"shared.workspaceNavigation.error.parallelChatTitleRequired",sharedSettingsCatsRegistrySectionLabel:"shared.settingsCatsRegistry.sectionLabel",sharedSettingsCatsRegistrySavedCatsLabel:"shared.settingsCatsRegistry.savedCatsLabel",sharedSettingsCatsRegistryNoCatsYetLabel:"shared.settingsCatsRegistry.noCatsYetLabel",sharedSettingsCatsRegistryShowArchivedLabel:"shared.settingsCatsRegistry.showArchivedLabel",sharedSettingsCatsRegistryBossCatLabel:"shared.settingsCatsRegistry.bossCatLabel",sharedSettingsCatsRegistryRecoverLabel:"shared.settingsCatsRegistry.recoverLabel",sharedSettingsCatsRegistryRecoverTooltip:"shared.settingsCatsRegistry.recoverTooltip",sharedSettingsCatsRegistryDeleteTooltip:"shared.settingsCatsRegistry.deleteTooltip",sharedSettingsCatsRegistryArchiveTooltip:"shared.settingsCatsRegistry.archiveTooltip",sharedSettingsCatsRegistryDefaultSkillProfileLabel:"shared.settingsCatsRegistry.defaultSkillProfileLabel",sharedSettingsCatsRegistryMemorySavedLabel:"shared.settingsCatsRegistry.memorySavedLabel",sharedSettingsCatsRegistryNoMemoryYetLabel:"shared.settingsCatsRegistry.noMemoryYetLabel",sharedSettingsCatsRegistryBotBindingCount:"shared.settingsCatsRegistry.botBindingCount",sharedSettingsCatsRegistryEmptyStateHint:"shared.settingsCatsRegistry.emptyStateHint",sharedSettingsCatsSelectCatAria:"shared.settingsCats.selectCatAriaLabel",sharedSettingsCatsAddNewCatLabel:"shared.settingsCats.addNewCatLabel",sharedSettingsCatsShowArchivedLabel:"shared.settingsCats.showArchivedLabel",sharedSettingsCatsArchiveLabel:"shared.settingsCats.archiveLabel",sharedSettingsCatsRenameLabel:"shared.settingsCats.renameLabel",sharedSettingsCatsDeleteLabel:"shared.settingsCats.deleteLabel",sharedSettingsCatsChannelLabel:"shared.settingsCats.channelLabel",sharedSettingsCatsMemoryLabel:"shared.settingsCats.memoryLabel",sharedSettingsCatsSave:"shared.settingsCats.save",sharedSettingsCatsSaving:"shared.settingsCats.saving",sharedSettingsCatsBossCatLabel:"shared.settingsCats.bossCatLabel",sharedSettingsCatsChangeBossCatTitle:"shared.settingsCats.changeBossCatTitle",sharedSettingsCatsChangeBossCatMessage:"shared.settingsCats.changeBossCatMessage",sharedSettingsCatsConfirm:"shared.settingsCats.confirm",sharedSettingsCatsSetting:"shared.settingsCats.setting",sharedSettingsCatsSaveSuccess:"shared.settingsCats.saveSuccess",sharedSettingsCatsSaveError:"shared.settingsCats.saveError",sharedSettingsCatsRenameSuccess:"shared.settingsCats.renameSuccess",sharedSettingsCatsRenameError:"shared.settingsCats.renameError",sharedSettingsCatsDeleteSuccess:"shared.settingsCats.deleteSuccess",sharedSettingsCatsDeleteError:"shared.settingsCats.deleteError",sharedSettingsCatsBossUpdated:"shared.settingsCats.bossUpdated",sharedSettingsCatsStatusActive:"shared.settingsCats.status.active",sharedSettingsCatsStatusArchived:"shared.settingsCats.status.archived",sharedSettingsCatsMakeBossCatLabel:"shared.settingsCats.makeBossCatLabel",sharedSettingsCatsSetBossCatError:"shared.settingsCats.setBossCatError",sharedSettingsCatsSkillUpdateError:"shared.settingsCats.skillUpdateError",sharedSettingsCatsSkillProfileLabel:"shared.settingsCats.skillProfileLabel",sharedSettingsCatsMcpProfileLabel:"shared.settingsCats.mcpProfileLabel",sharedSettingsCatsMcpProfileChatMemoryLabel:"shared.settingsCats.mcpProfileChatMemoryLabel",sharedSettingsCatsMcpProfileWorkMemoryLabel:"shared.settingsCats.mcpProfileWorkMemoryLabel",sharedSettingsCatsChangeMcpProfileError:"shared.settingsCats.changeMcpProfileError",sharedSettingsCatsDisconnectTelegramAria:"shared.settingsCats.disconnectTelegramAria",sharedSettingsCatsDisconnectTelegram:"shared.settingsCats.disconnectTelegram",sharedSettingsCatsBindingActive:"shared.settingsCats.bindingActive",sharedSettingsCatsBindingDisabled:"shared.settingsCats.bindingDisabled",sharedSettingsCatsBindingPollingMode:"shared.settingsCats.bindingPollingMode",sharedSettingsCatsBindingWebhookMode:"shared.settingsCats.bindingWebhookMode",sharedSettingsCatsTelegramBindingCreated:"shared.settingsCats.telegramBindingCreated",sharedSettingsCatsTelegramBindingCreateError:"shared.settingsCats.telegramBindingCreateError",sharedSettingsCatsTelegramBindingRemoved:"shared.settingsCats.telegramBindingRemoved",sharedSettingsCatsTelegramBindingRemoveError:"shared.settingsCats.telegramBindingRemoveError",sharedSettingsCatsTelegramDiagnosticsLoadError:"shared.settingsCats.telegramDiagnosticsLoadError",sharedSettingsCatsCoverPhotoLabel:"shared.settingsCats.coverPhotoLabel",sharedSettingsCatsChangeCoverPhotoLabel:"shared.settingsCats.changeCoverPhotoLabel",sharedSettingsCatsUploadCoverPhotoLabel:"shared.settingsCats.uploadCoverPhotoLabel",sharedSettingsCatsChangeCoverLabel:"shared.settingsCats.changeCoverLabel",sharedSettingsCatsUploadCoverLabel:"shared.settingsCats.uploadCoverLabel",sharedSettingsCatsRemoveCoverLabel:"shared.settingsCats.removeCoverLabel",sharedSettingsCatsChangeSkillProfileError:"shared.settingsCats.changeSkillProfileError",sharedSettingsCatsUpdateBrainError:"shared.settingsCats.updateBrainError",sharedSettingsCatsLastInboundLabel:"shared.settingsCats.lastInboundLabel",sharedSettingsCatsConnectTelegramLabel:"shared.settingsCats.connectTelegramLabel",sharedSettingsCatsUnavailableHint:"shared.settingsCats.unavailableHint",sharedSettingsCatsSetBossCatLabel:"shared.settingsCats.setBossCatLabel",sharedSettingsCatsAddMemoryLabel:"shared.settingsCats.addMemoryLabel",sharedSettingsCatsDeleteMemoryAria:"shared.settingsCats.deleteMemoryAria",sharedSettingsCatsSkillProfileDefaultLabel:"shared.settingsCats.skillProfileDefaultLabel",sharedSettingsCatsSkillProfileCompanionLabel:"shared.settingsCats.skillProfileCompanionLabel",sharedSettingsCatsMemoryCategoryPreferenceLabel:"shared.settingsCats.memoryCategoryPreferenceLabel",sharedSettingsCatsMemoryCategoryFactLabel:"shared.settingsCats.memoryCategoryFactLabel",sharedSettingsCatsMemoryCategoryPolicyLabel:"shared.settingsCats.memoryCategoryPolicyLabel",sharedSettingsCatsMemoryCategoryStyleLabel:"shared.settingsCats.memoryCategoryStyleLabel",sharedSettingsCatsMemoryCategoryRelationshipLabel:"shared.settingsCats.memoryCategoryRelationshipLabel",sharedSettingsCatsMemoryCategoryLessonLabel:"shared.settingsCats.memoryCategoryLessonLabel",sharedSettingsCatsFallbackCatName:"shared.settingsCats.fallbackCatName",sharedSettingsCatsArchiveConfirmTitle:"shared.settingsCats.archiveConfirmTitle",sharedSettingsCatsArchiveConfirmMessage:"shared.settingsCats.archiveConfirmMessage",sharedSettingsCatsArchiveWithTelegramConfirmMessage:"shared.settingsCats.archiveWithTelegramConfirmMessage",sharedSettingsCatsArchiveSuccess:"shared.settingsCats.archiveSuccess",sharedSettingsCatsArchiveError:"shared.settingsCats.archiveError",sharedSettingsCatsRecoverConfirmTitle:"shared.settingsCats.recoverConfirmTitle",sharedSettingsCatsRecoverConfirmMessage:"shared.settingsCats.recoverConfirmMessage",sharedSettingsCatsRecoverConfirmLabel:"shared.settingsCats.recoverConfirmLabel",sharedSettingsCatsRecoverSuccess:"shared.settingsCats.recoverSuccess",sharedSettingsCatsRecoverError:"shared.settingsCats.recoverError",sharedSettingsCatsErrorNameRequired:"shared.settingsCats.error.nameRequired",sharedSettingsCatsErrorProviderRequired:"shared.settingsCats.error.providerRequired",sharedSettingsCatsErrorNameEmpty:"shared.settingsCats.error.nameEmpty",sharedSettingsCatsErrorAlreadyArchived:"shared.settingsCats.error.alreadyArchived",sharedSettingsCatsErrorAlreadyActive:"shared.settingsCats.error.alreadyActive",sharedSettingsCatsErrorArchiveRecoverConflict:"shared.settingsCats.error.archiveRecoverConflict",sharedSettingsCatsErrorNoProducts:"shared.settingsCats.error.noProducts",sharedSettingsCatsErrorBotTokenDuplicate:"shared.settingsCats.error.botTokenDuplicate",sharedSettingsCatsErrorNameDuplicate:"shared.settingsCats.error.nameDuplicate",sharedSettingsCatsErrorLimitReached:"shared.settingsCats.error.limitReached",sharedSettingsCatsErrorNotFound:"shared.settingsCats.error.notFound",sharedSettingsCatsErrorNotActive:"shared.settingsCats.error.notActive",sharedSettingsCatsErrorNotAvailableInChat:"shared.settingsCats.error.notAvailableInChat",sharedSettingsCatsErrorBotBindingNotFound:"shared.settingsCats.error.botBindingNotFound",sharedPlatformSurfaceSwitcherMenuLabel:"shared.platformSurfaceSwitcher.menuLabel",sharedPlatformSurfaceSwitcherOpenLobby:"shared.platformSurfaceSwitcher.openLobby",sharedPlatformSurfaceSwitcherAriaLabel:"shared.platformSurfaceSwitcher.ariaLabel",sharedProviderModelBrainCardTitle:"shared.providerModelBrainCard.title",sharedProviderModelControlDefault:"shared.providerModel.controls.default",sharedProviderModelControlEnabled:"shared.providerModel.controls.enabled",sharedProviderModelControlDisabled:"shared.providerModel.controls.disabled",sharedProviderModelControlOptionalPlaceholder:"shared.providerModel.controls.optionalPlaceholder",sharedProviderModelFieldProviderLabel:"shared.providerModel.field.providerLabel",sharedProviderModelFieldLoadingProviders:"shared.providerModel.field.loadingProviders",sharedProviderModelFieldSelectProviderHint:"shared.providerModel.field.selectProviderHint",sharedProviderModelFieldProviderLoadFailed:"shared.providerModel.field.providerLoadFailed",sharedProviderModelFieldNoProviders:"shared.providerModel.field.noProviders",sharedProviderModelFieldRegistryCheckingHint:"shared.providerModel.field.registryCheckingHint",sharedProviderModelFieldRegistryUsingProductCatalogHint:"shared.providerModel.field.registryUsingProductCatalogHint",sharedProviderModelFieldRegistryStaleHint:"shared.providerModel.field.registryStaleHint",sharedProviderModelFieldRegistryCachedRefreshFailedHint:"shared.providerModel.field.registryCachedRefreshFailedHint",sharedProviderModelFieldRegistryLoadFailedHint:"shared.providerModel.field.registryLoadFailedHint",sharedProviderModelFieldRegistryEmptyHint:"shared.providerModel.field.registryEmptyHint",sharedProviderModelFieldProviderInstanceLabel:"shared.providerModel.field.providerInstanceLabel",sharedProviderModelFieldModelLabel:"shared.providerModel.field.modelLabel",sharedProviderModelFieldRetryProvidersFirst:"shared.providerModel.field.retryProvidersFirst",sharedProviderModelFieldSelectProviderFirst:"shared.providerModel.field.selectProviderFirst",sharedProviderModelFieldWaitingProviders:"shared.providerModel.field.waitingProviders",sharedProviderModelFieldLoadingModels:"shared.providerModel.field.loadingModels",sharedProviderModelFieldSelectModel:"shared.providerModel.field.selectModel",sharedProviderModelFieldNoModels:"shared.providerModel.field.noModels",sharedProviderModelFieldCustomLegacyModelLabel:"shared.providerModel.field.customLegacyModelLabel",sharedProviderModelFieldLegacyModelIdLabel:"shared.providerModel.field.legacyModelIdLabel",sharedProviderModelFieldLegacyModelIdPlaceholder:"shared.providerModel.field.legacyModelIdPlaceholder",sharedProviderModelFieldLegacyModelIdHint:"shared.providerModel.field.legacyModelIdHint",sharedProviderModelFieldModeLabel:"shared.providerModel.field.modeLabel",sharedProviderModelFieldModeStandardLabel:"shared.providerModel.field.modeStandardLabel",sharedProviderModelFieldModeStandardOnlyLabel:"shared.providerModel.field.modeStandardOnlyLabel",sharedProviderModelFieldPresetPreviewSuffix:"shared.providerModel.field.presetPreviewSuffix",sharedProviderModelFieldPresetUnavailableSuffix:"shared.providerModel.field.presetUnavailableSuffix",sharedProviderModelFieldPresetTuningDescriptionFallback:"shared.providerModel.field.presetTuningDescriptionFallback",sharedProviderModelFieldModeOnlyBaseHint:"shared.providerModel.field.modeOnlyBaseHint",sharedProviderModelFieldRequestScopedWarning:"shared.providerModel.field.requestScopedWarning",sharedProviderModelFieldOpenRuntimeSetupLabel:"shared.providerModel.field.openRuntimeSetupLabel",sharedProviderModelFieldAdvancedCatalogUnavailable:"shared.providerModel.field.advancedCatalogUnavailable",sharedProviderModelFieldCatalogKindModel:"shared.providerModel.field.catalogKindModel",sharedProviderModelFieldCatalogKindAdvancedModel:"shared.providerModel.field.catalogKindAdvancedModel",sharedProviderModelFieldRuntimeCatalogUnavailable:"shared.providerModel.field.runtimeCatalogUnavailable",sharedProviderModelFieldRuntimeCatalogUnavailableWarning:"shared.providerModel.field.runtimeCatalogUnavailableWarning",sharedMemoryEditorDialogTitle:"shared.memoryEditorDialog.title",sharedMemoryEditorDialogCategoryLabel:"shared.memoryEditorDialog.categoryLabel",sharedMemoryEditorDialogContentLabel:"shared.memoryEditorDialog.contentLabel",sharedMemoryEditorDialogMemoryPlaceholder:"shared.memoryEditorDialog.memoryPlaceholder",sharedMemoryEditorDialogCancel:"shared.memoryEditorDialog.cancel",sharedMemoryEditorDialogSaving:"shared.memoryEditorDialog.saving",sharedMemoryEditorDialogAdd:"shared.memoryEditorDialog.add",sharedApprovalEyebrow:"shared.approvalEyebrow",sharedApprovalPendingTitle:"shared.approvalPendingTitle",sharedApprovalEmptyState:"shared.approvalEmptyState",sharedApprovalRequester:"shared.approvalRequester",sharedApprovalSummaryFallback:"shared.approvalSummaryFallback",sharedApprovalRequestedBy:"shared.approvalRequestedBy",sharedApprovalActionApprove:"shared.approval.action.approve",sharedApprovalActionReroute:"shared.approval.action.reroute",sharedApprovalActionReject:"shared.approval.action.reject",sharedApprovalActionApproveDescription:"shared.approval.action.approveDescription",sharedApprovalActionRerouteDescription:"shared.approval.action.rerouteDescription",sharedApprovalActionRejectDescription:"shared.approval.action.rejectDescription",sharedCatInspectTitle:"shared.catInspectTitle",sharedCatInspectClose:"shared.catInspectClose",sharedCatInspectBossLabel:"shared.catInspectBossLabel",sharedCatInspectProviderLabel:"shared.catInspectProviderLabel",sharedCatInspectInstanceLabel:"shared.catInspectInstanceLabel",sharedCatInspectModelLabel:"shared.catInspectModelLabel",sharedCatInspectSkillProfileLabel:"shared.catInspectSkillProfileLabel",sharedCatInspectSharedPresetDescription:"shared.catInspectSharedPresetDescription",sharedMessageChoicesCustom:"shared.messageChoicesCustom",sharedMessageChoicesAddCustomPlaceholder:"shared.messageChoicesAddCustomPlaceholder",sharedMessageChoicesSkipped:"shared.messageChoicesSkipped",sharedMessageChoicesRecorded:"shared.messageChoicesRecorded",sharedMessageChoicesConfirm:"shared.messageChoicesConfirm",sharedMessageChoicesSkip:"shared.messageChoicesSkip",sharedFolderBrowserEnterPath:"shared.folderBrowserEnterPath",sharedFolderBrowserGo:"shared.folderBrowserGo",sharedFolderBrowserUpOneLevel:"shared.folderBrowserUpOneLevel",sharedFolderBrowserRefresh:"shared.folderBrowserRefresh",sharedFolderBrowserLoading:"shared.folderBrowserLoading",sharedFolderBrowserNoSubdirectories:"shared.folderBrowserNoSubdirectories",sharedFolderBrowserUseThisFolder:"shared.folderBrowserUseThisFolder",sharedCommonSaving:"shared.common.saving",sharedCommonDismiss:"shared.common.dismiss",setupWizardWelcomeTitle:"setup.wizard.welcomeTitle",setupWizardWelcomeIntro:"setup.wizard.welcomeIntro",setupWizardOwnerNameLabel:"setup.wizard.ownerNameLabel",setupWizardOwnerNamePlaceholder:"setup.wizard.ownerNamePlaceholder",setupWizardGetStartedButton:"setup.wizard.getStartedButton",setupWizardStepIndicator:"setup.wizard.stepIndicator",setupWizardEnableGuideTitle:"setup.wizard.enableGuideTitle",setupWizardEnableGuideSubtitle:"setup.wizard.enableGuideSubtitle",setupWizardEnableGuideLabel:"setup.wizard.enableGuideLabel",setupWizardSkipGuideMessage:"setup.wizard.skipGuideMessage",setupWizardBackButton:"setup.wizard.backButton",setupWizardOpeningCatsAction:"setup.wizard.openingCatsAction",setupWizardOpenCatsAction:"setup.wizard.openCatsAction",setupWizardFailedMessage:"setup.wizard.failedMessage",setupWizardFailedWithStatus:"setup.wizard.failedWithStatus",setupWizardAlreadyCompleteError:"setup.wizard.alreadyCompleteError",setupWizardInvalidRequestError:"setup.wizard.invalidRequestError",setupWizardServerError:"setup.wizard.serverError",setupWizardRecordOpenFailedWithStatus:"setup.wizard.recordOpenFailedWithStatus",setupGuideCatRuntimeUnavailable:"setup.guideCat.runtimeUnavailable",setupGuideCatNoUsableTargets:"setup.guideCat.noUsableTargets",setupGuideCatRuntimeConnected:"setup.guideCat.runtimeConnected",setupGuideCatRuntimeNotDetected:"setup.guideCat.runtimeNotDetected",setupGuideCatNameLabel:"setup.guideCat.nameLabel",setupGuideCatNameHint:"setup.guideCat.nameHint",setupGuideCatOpenRuntimeSetup:"setup.guideCat.openRuntimeSetup",setupGuideCatUnavailableNote:"setup.guideCat.unavailableNote",setupGuideCatNoUsableTargetsNote:"setup.guideCat.noUsableTargetsNote",settingsAssistantsDefaultName:"settings.assistants.defaultName",settingsAssistantsStatusFailed:"settings.assistants.statusFailed",settingsAssistantsSaveFailed:"settings.assistants.saveFailed",settingsAssistantsStatusUpdateFailed:"settings.assistants.statusUpdateFailed",settingsAssistantsGuideCatUpdateFailed:"settings.assistants.guideCatUpdateFailed",settingsAssistantsGuideCatSaveFailed:"settings.assistants.guideCatSaveFailed",settingsAssistantsSaveFailedWithError:"settings.assistants.saveFailedWithError",settingsAssistantsRemoveTitle:"settings.assistants.removeTitle",settingsAssistantsRemoveMessage:"settings.assistants.removeMessage",settingsAssistantsRemoveButton:"settings.assistants.removeButton",settingsAssistantsRemoveFailed:"settings.assistants.removeFailed",settingsAssistantsEnableButton:"settings.assistants.enableButton",settingsAssistantsEnableBusyButton:"settings.assistants.enableBusyButton",settingsAssistantsDisableButton:"settings.assistants.disableButton",settingsAssistantsAvatarLabel:"settings.assistants.avatarLabel",settingsAssistantsNameLabel:"settings.assistants.nameLabel",settingsAssistantsSelectAriaLabel:"settings.assistants.selectAriaLabel",settingsAssistantsAddNewLabel:"settings.assistants.addNewLabel",settingsAssistantsNewAssistantTitle:"settings.assistants.newAssistantTitle",settingsAssistantsCancelButton:"settings.assistants.cancelButton",settingsAssistantsCreateButton:"settings.assistants.createButton",settingsAssistantsDeleteButton:"settings.assistants.deleteButton",settingsAssistantsRoleHintTitle:"settings.assistants.roleHintTitle",settingsAssistantsNamePlaceholder:"settings.assistants.namePlaceholder",settingsAssistantsRoleHintPlaceholder:"settings.assistants.roleHintPlaceholder",settingsAssistantsRenameFailed:"settings.assistants.renameFailed",settingsAssistantsRoleHintUpdateFailed:"settings.assistants.roleHintUpdateFailed",settingsAssistantsBrainUpdateFailed:"settings.assistants.brainUpdateFailed",settingsAssistantsCreateFailed:"settings.assistants.createFailed",settingsAssistantsApiInvalidRequestBody:"settings.assistants.api.invalidRequestBody",settingsAssistantsApiAssistantNameRequired:"settings.assistants.api.assistantNameRequired",settingsAssistantsApiAssistantProviderRequired:"settings.assistants.api.assistantProviderRequired",settingsAssistantsApiAssistantModelRequired:"settings.assistants.api.assistantModelRequired",settingsAssistantsApiAssistantNotFound:"settings.assistants.api.assistantNotFound",settingsAssistantsApiGuideCatNameManaged:"settings.assistants.api.guideCatNameManaged",settingsAssistantsApiGuideCatStatusInvalid:"settings.assistants.api.guideCatStatusInvalid",settingsAssistantsApiGuideCatNotFound:"settings.assistants.api.guideCatNotFound",conversationSidebarChatsLabel:"conversationSidebar.chatsLabel",conversationSidebarRecentsLabel:"conversationSidebar.recentsLabel",conversationSidebarNoChatsLabel:"conversationSidebar.noChatsLabel",conversationSidebarPrimaryAriaLabel:"conversationSidebar.primaryAriaLabel",conversationSidebarOpenSidebarLabel:"conversationSidebar.openSidebarLabel",conversationSidebarCloseSidebarLabel:"conversationSidebar.closeSidebarLabel",conversationSidebarRenameLabel:"conversationSidebar.renameLabel",conversationSidebarRenamingLabel:"conversationSidebar.renamingLabel",conversationSidebarDeleteLabel:"conversationSidebar.deleteLabel",conversationSidebarDeletingLabel:"conversationSidebar.deletingLabel",conversationSidebarUngroupLabel:"conversationSidebar.ungroupLabel",conversationSidebarUngroupingLabel:"conversationSidebar.ungroupingLabel",conversationSidebarDeleteAllLabel:"conversationSidebar.deleteAllLabel",conversationSidebarOpenAccountSettingsLabel:"conversationSidebar.openAccountSettingsLabel",conversationSidebarRuntimeStatusAriaLabel:"conversationSidebar.runtimeStatusAriaLabel",conversationSidebarDirectMessagesLabel:"conversationSidebar.directMessagesLabel",conversationSidebarTelegramBoundTooltip:"conversationSidebar.telegramBoundTooltip",conversationSidebarArchiveButton:"conversationSidebar.archiveButton",conversationSidebarDirectMessageButton:"conversationSidebar.directMessageButton",conversationSidebarClearButton:"conversationSidebar.clearButton",conversationSidebarClearConfirmMessage:"conversationSidebar.clearConfirmMessage",chatNewChatDraftViewCatProfileAction:"chatNewChatDraft.viewCatProfileAction",chatTopBarOpenCatProfileAriaLabel:"chatTopBar.openCatProfileAriaLabel",codeActiveComposerDetachedBranch:"code.activeComposer.detachedBranch",codeNewDraftGreeting:"code.newDraft.greeting",codeNewDraftGreetingOpenRepo:"code.newDraft.greeting.openRepo",codeNewDraftGreetingBuildFixRefactor:"code.newDraft.greeting.buildFixRefactor",codeNewDraftGreetingShipImprovement:"code.newDraft.greeting.shipImprovement",codeNewDraftGreetingSmallestChange:"code.newDraft.greeting.smallestChange",codeNewDraftComposerPlaceholder:"code.newDraft.composer.placeholder",codeNewDraftSetupTitle:"code.newDraft.setupTitle",codeNewDraftParticipantsTitle:"code.newDraft.participants.title",codeNewDraftParticipantsEmpty:"code.newDraft.participants.empty",codeNewDraftExecutionTitle:"code.newDraft.execution.title",codeNewDraftExecutionAction:"code.newDraft.execution.action",codeNewDraftExecutionEmpty:"code.newDraft.execution.empty",codeNewDraftFolderTitle:"code.newDraft.folder.title",codeNewDraftFolderAction:"code.newDraft.folder.action",codeNewDraftFolderEmpty:"code.newDraft.folder.empty",codeNewDraftSessionProfileTitle:"code.newDraft.sessionProfile.title",codeNewDraftSessionProfileDescription:"code.newDraft.sessionProfile.description",codeNewDraftWorkspaceIndependentWorktree:"code.newDraft.workspace.independentWorktree",codeNewDraftWorkspaceCurrentFolder:"code.newDraft.workspace.currentFolder",codeNewDraftWorkspaceSandbox:"code.newDraft.workspace.sandbox",codeNewDraftPermissionReadOnly:"code.newDraft.permission.readOnly",codeNewDraftPermissionFullAccess:"code.newDraft.permission.fullAccess",codeNewDraftStarterPomodoroLabel:"code.newDraft.starter.pomodoro.label",codeNewDraftStarterPomodoroPrompt:"code.newDraft.starter.pomodoro.prompt",codeNewDraftStarterFixBugLabel:"code.newDraft.starter.fixBug.label",codeNewDraftStarterFixBugPrompt:"code.newDraft.starter.fixBug.prompt",codeNewDraftStarterRefactorLabel:"code.newDraft.starter.refactor.label",codeNewDraftStarterRefactorPrompt:"code.newDraft.starter.refactor.prompt",codeNewDraftStarterWriteTestsLabel:"code.newDraft.starter.writeTests.label",codeNewDraftStarterWriteTestsPrompt:"code.newDraft.starter.writeTests.prompt",codeNewDraftStarterStartProjectLabel:"code.newDraft.starter.startProject.label",codeNewDraftStarterStartProjectPrompt:"code.newDraft.starter.startProject.prompt",codeTaskPillsAriaLabel:"code.taskPills.ariaLabel",codeTaskPillsMockAuthMiddleware:"code.taskPills.mock.authMiddleware",codeTaskPillsMockKiroSessionDelete:"code.taskPills.mock.kiroSessionDelete",codeTaskPillsMockArtifactGallery:"code.taskPills.mock.artifactGallery",codeTaskPillsNamePlaceholder:"code.taskPills.namePlaceholder",codeTaskPillsEditAria:"code.taskPills.editAria",codeTaskPillsTitleCurrent:"code.taskPills.title.current",codeTaskPillsTitleFocus:"code.taskPills.title.focus",codeTaskPillsHideAria:"code.taskPills.hideAria",codeTaskPillsFallbackTask:"code.taskPills.fallbackTask",codeTaskPillsAddAria:"code.taskPills.addAria",codeTaskPillsButtonTask:"code.taskPills.buttonTask",codeArtifactAnchorSourceLabel:"code.workspace.source.artifactAnchor",codeArtifactBuildLabel:"code.artifact.kind.build",codeArtifactDatasetLabel:"code.artifact.kind.dataset",codeArtifactDetailArtifactUnavailable:"code.artifactDetail.artifactUnavailable",codeArtifactDetailBackToBuild:"code.artifactDetail.backToBuild",codeArtifactDetailArtifactOutput:"code.artifactDetail.artifactOutput",codeArtifactDetailConversationLabel:"code.artifactDetail.conversationLabel",codeArtifactDetailContextEyebrow:"code.artifactDetail.contextEyebrow",codeArtifactDetailContextTitle:"code.artifactDetail.contextTitle",codeArtifactDetailLoadFailed:"code.artifactDetail.loadFailed",codeArtifactDetailLoadingBody:"code.artifactDetail.loadingBody",codeArtifactDetailLoadingTitle:"code.artifactDetail.loadingTitle",codeArtifactDetailMissingId:"code.artifactDetail.missingId",codeArtifactDetailNoArtifactSummary:"code.artifactDetail.noArtifactSummary",codeArtifactDetailNoInlinePreview:"code.artifactDetail.noInlinePreview",codeArtifactDetailNotInlineSafe:"code.artifactDetail.notInlineSafe",codeArtifactDetailPreviewOutput:"code.artifactDetail.previewOutput",codeArtifactDetailPreviewActionOpenArtifact:"code.artifactDetail.previewActionOpenArtifact",codeArtifactDetailPreviewActionOpenPreview:"code.artifactDetail.previewActionOpenPreview",codeArtifactDetailProjectLabel:"code.artifactDetail.projectLabel",codeArtifactDetailProjectMeta:"code.artifactDetail.projectMeta",codeArtifactDetailRelatedEmpty:"code.artifactDetail.relatedEmpty",codeArtifactDetailRelatedEyebrow:"code.artifactDetail.relatedEyebrow",codeArtifactDetailRelatedTitle:"code.artifactDetail.relatedTitle",codeArtifactDetailOpenConversationAction:"code.artifactDetail.openConversationAction",codeArtifactDetailOpenProjectAction:"code.artifactDetail.openProjectAction",codeArtifactDetailOpenTaskAction:"code.artifactDetail.openTaskAction",codeArtifactDetailOpenWorkItemAction:"code.artifactDetail.openWorkItemAction",codeArtifactDetailTaskLabel:"code.artifactDetail.taskLabel",codeArtifactDetailTitle:"code.artifactDetail.title",codeArtifactDetailViewArtifact:"code.artifactDetail.viewArtifact",codeArtifactDetailWorkItemLinkedLabel:"code.artifactDetail.workItemLinkedLabel",codeArtifactDetailWorkItemMissingLabel:"code.artifactDetail.workItemMissingLabel",codeArtifactKindAttachmentLabel:"code.artifactKind.attachment",codeArtifactKindDocumentLabel:"code.artifactKind.document",codeArtifactKindPreviewLabel:"code.artifactKind.preview",codeArtifactKindReportLabel:"code.artifactKind.report",codeArtifactKindTranscriptLabel:"code.artifactKind.transcript",codeArtifactKindUnknownLabel:"code.artifactKind.unknown",codeArtifactKindBuildLabel:"code.artifactKind.build",codeArtifactStatusArchived:"code.artifactStatus.archived",codeArtifactStatusDraft:"code.artifactStatus.draft",codeArtifactStatusPublished:"code.artifactStatus.published",codeArtifactStatusReady:"code.artifactStatus.ready",codeArtifactStatusUnknown:"code.artifactStatus.unknown",codeArtifactListArtifact:"code.artifactList.artifact",codeArtifactListAllFilter:"code.artifactList.filter.all",codeArtifactListAriaOpen:"code.artifactList.ariaOpenArtifact",codeArtifactListEmpty:"code.artifactList.empty",codeArtifactListHeader:"code.artifactList.header",codeArtifactListLoading:"code.artifactList.loading",codeArtifactListError:"code.artifactList.error",codeArtifactListLoadFailed:"code.artifactList.loadFailed",codeArtifactListCandidateHint:"code.artifactList.candidateHint",codeArtifactListCandidateLabel:"code.artifactList.candidateLabel",codeArtifactListProvenanceRun:"code.artifactList.provenance.run",codeArtifactListProvenanceTask:"code.artifactList.provenance.task",codeArtifactListStatusFilterLabel:"code.artifactList.statusFilterLabel",codeArtifactMetaContract:"code.artifactMeta.contract",codeArtifactMetaMode:"code.artifactMeta.mode",codeArtifactMetaDecision:"code.artifactMeta.decision",codeArtifactMetaKind:"code.artifactMeta.kind",codeArtifactMetaPath:"code.artifactMeta.path",codeArtifactMetaStatus:"code.artifactMeta.status",codeArtifactMetaUpdated:"code.artifactMeta.updated",codeArtifactMetaViewArtifact:"code.artifactMeta.viewArtifact",codeArtifactPreview:"code.artifactPreview",codeArtifactUnknown:"code.artifact.unknown",codeConversationKindChatChannel:"code.conversationKind.chatChannel",codeConversationKindChatRoot:"code.conversationKind.chatRoot",codeConversationKindCodeThread:"code.conversationKind.codeThread",codeConversationKindDirectMessage:"code.conversationKind.directMessage",codeConversationKindParallelGroup:"code.conversationKind.parallelGroup",codeConversationKindUnknown:"code.conversationKind.unknown",codeConversationKindWorkThread:"code.conversationKind.workThread",codeRecordStatusArchived:"code.recordStatus.archived",codeRecordStatusBlocked:"code.recordStatus.blocked",codeRecordStatusCancelled:"code.recordStatus.cancelled",codeRecordStatusCompleted:"code.recordStatus.completed",codeRecordStatusDraft:"code.recordStatus.draft",codeRecordStatusFailed:"code.recordStatus.failed",codeRecordStatusInProgress:"code.recordStatus.inProgress",codeRecordStatusOpen:"code.recordStatus.open",codeRecordStatusPending:"code.recordStatus.pending",codeRecordStatusPendingApproval:"code.recordStatus.pendingApproval",codeRecordStatusReady:"code.recordStatus.ready",codeRecordStatusRunning:"code.recordStatus.running",codeRecordStatusUnknown:"code.recordStatus.unknown",codeBuilderCodespaceHeader:"code.builder.codespaceHeader",codeBuilderCodeOutputLabel:"code.builder.codeOutputLabel",codeBuilderBack:"code.builder.back",codeBuilderContinue:"code.builder.continue",codeBuilderContinueBuild:"code.builder.continueBuild",codeBuilderContinueBuildBusy:"code.builder.continueBuildBusy",codeBuilderContinueTaskBusy:"code.builder.continueTaskBusy",codeBuilderCreateArtifact:"code.builder.createArtifact",codeBuilderCreateLabel:"code.builder.createLabel",codeBuilderCreatingTask:"code.builder.creatingTask",codeBuilderDefineTaskHeader:"code.builder.defineTaskHeader",codeBuilderDetailPlaceholder:"code.builder.detailsPlaceholder",codeBuilderDetailsLabel:"code.builder.detailsLabel",codeBuilderErrorCodespaceResolve:"code.builder.errorCodespaceResolve",codeBuilderErrorCodespacePathInvalid:"code.builder.errorCodespacePathInvalid",codeBuilderErrorCodespaceNoPath:"code.builder.errorCodespaceNoPath",codeBuilderErrorTaskCreate:"code.builder.errorTaskCreate",codeBuilderErrorTaskCreateMissingId:"code.builder.errorTaskCreateMissingId",codeBuilderErrorTaskExecution:"code.builder.errorTaskExecution",codeBuilderErrorTaskDetailLoad:"code.builder.errorTaskDetailLoad",codeBuilderErrorTaskResume:"code.builder.errorTaskResume",codeBuilderErrorTaskResumeInput:"code.builder.errorTaskResumeInput",codeBuilderErrorTaskTitle:"code.builder.errorTaskTitle",codeBuilderRuntimeObservationFailed:"code.builder.runtimeObservationFailed",codeBuilderExecutionDoneBanner:"code.builder.executionDoneBanner",codeBuilderExistingTask:"code.builder.existingTask",codeBuilderFeedbackResumeReady:"code.builder.feedbackResumeReady",codeBuilderFeedbackResumeTask:"code.builder.feedbackResumeTask",codeBuilderFeedbackResumeNoWorkspace:"code.builder.feedbackResumeNoWorkspace",codeBuilderFeedbackResumeWorkspaceNeeded:"code.builder.feedbackResumeWorkspaceNeeded",codeBuilderFilterCodespace:"code.builder.filter.codespace",codeBuilderHeaderCodespace:"code.builder.header.codespace",codeBuilderHeaderNewTask:"code.builder.header.newTask",codeBuilderHeaderProjectFolder:"code.builder.header.projectFolder",codeBuilderHeaderTaskStep:"code.builder.header.taskStep",codeBuilderModelLabel:"code.builder.modelLabel",codeBuilderModelPlaceholder:"code.builder.modelPlaceholder",codeBuilderNewTaskButton:"code.builder.newTaskButton",codeBuilderProviderLabel:"code.builder.providerLabel",codeBuilderProviderTaskLabel:"code.builder.providerTaskLabel",codeBuilderRepoPathLabel:"code.builder.repoPathLabel",codeBuilderResumeLabel:"code.builder.resumeLabel",codeBuilderResumePrompt:"code.builder.resumePrompt",codeBuilderRetryPrompt:"code.builder.retryPrompt",codeBuilderStepLabel:"code.builder.stepLabel",codeBuilderSuccessTaskReadyWithCurrentChat:"code.builder.successTaskReadyWithCurrentChat",codeBuilderTaskIdRequired:"code.builder.taskIdRequired",codeBuilderTaskIdReady:"code.builder.taskIdReady",codeBuilderTaskIdReadyNoWorkspace:"code.builder.taskIdReadyNoWorkspace",codeBuilderTaskLabel:"code.builder.taskLabel",codeBuilderTaskSummaryPlaceholder:"code.builder.taskSummaryPlaceholder",codeBuilderTitle:"code.builder.title",codeBuilderWorkspaceActiveNotice:"code.builder.workspaceActiveNotice",codeBuilderWorkspaceFallbackBound:"code.builder.workspaceFallbackBound",codeBuilderWorkspaceFallbackBoundFallback:"code.builder.workspaceFallbackBoundFallback",codeBuilderWorkspaceFallbackChatRepo:"code.builder.workspaceFallbackChatRepo",codeBuilderWorkspaceFallbackRoom:"code.builder.workspaceFallbackRoom",codeBuilderWorkspaceFooterLabel:"code.builder.workspaceFooterLabel",codeBuilderWorkspacePathPlaceholder:"code.builder.workspacePathPlaceholder",codeBuilderWorkspaceResumeHelp:"code.builder.workspaceResumeHelp",codeBuilderWorkspaceSampleTaskId:"code.builder.sampleTaskId",codeBuilderWorkspaceSummaryLabel:"code.builder.workspaceSummaryLabel",codeBuilderWorkspaceSummaryNotice:"code.builder.workspaceSummaryNotice",codeBuilderStartingTaskBusy:"code.builder.startingTaskBusy",codeBuilderTaskQuestion:"code.builder.taskQuestion",codeLivePreviewCommandProfile:"code.livePreview.commandProfile",codeLivePreviewDescription:"code.livePreview.description",codeLivePreviewDiagnostic:"code.livePreview.diagnostic",codeLivePreviewErrorLoad:"code.livePreview.error.load",codeLivePreviewErrorLogs:"code.livePreview.error.logs",codeLivePreviewErrorStop:"code.livePreview.error.stop",codeLivePreviewExpiresAt:"code.livePreview.expiresAt",codeLivePreviewHideLogs:"code.livePreview.hideLogs",codeLivePreviewLogs:"code.livePreview.logs",codeLivePreviewLogsEmpty:"code.livePreview.logsEmpty",codeLivePreviewLogsLoading:"code.livePreview.logsLoading",codeLivePreviewOpen:"code.livePreview.open",codeLivePreviewRetry:"code.livePreview.retry",codeLivePreviewRetryUnavailable:"code.livePreview.retryUnavailable",codeLivePreviewStatusExpired:"code.livePreview.status.expired",codeLivePreviewStatusFailed:"code.livePreview.status.failed",codeLivePreviewStatusReady:"code.livePreview.status.ready",codeLivePreviewStatusStarting:"code.livePreview.status.starting",codeLivePreviewStatusStopped:"code.livePreview.status.stopped",codeLivePreviewStatusStopping:"code.livePreview.status.stopping",codeLivePreviewStop:"code.livePreview.stop",codeLivePreviewStopRequested:"code.livePreview.stopRequested",codeLivePreviewStopping:"code.livePreview.stopping",codeLivePreviewTitle:"code.livePreview.title",codeLivePreviewWorkspace:"code.livePreview.workspace",codeExecutionExecutionHeader:"code.execution.header",codeExecutionMetaNoTask:"code.execution.meta.noTask",codeExecutionMetaRuntimeSession:"code.execution.meta.runtimeSession",codeExecutionMetaWorkingTreeClean:"code.execution.meta.workingTreeClean",codeExecutionMetaWorkingTreeDirty:"code.execution.meta.workingTreeDirty",codeExecutionNoActiveSession:"code.execution.noActiveSession",codeExecutionNoTask:"code.execution.noTask",codeExecutionNotStarted:"code.execution.notStarted",codeExecutionOwnerDecisionRequired:"code.execution.ownerDecisionRequired",codeExecutionPanelTitle:"code.execution.panelTitle",codeExecutionRuntimeHeader:"code.execution.runtimeHeader",codeExecutionRuntimeIdle:"code.execution.runtimeIdle",codeExecutionRuntimeModeDelivery:"code.execution.modeDelivery",codeExecutionRuntimeTargetLabel:"code.execution.targetLabel",codeExecutionRuntimeTargets:"code.execution.targets",codeExecutionRuntimeTitle:"code.execution.runtimeTitle",codeExecutionSectionBlocked:"code.execution.sectionBlocked",codeExecutionTaskHeader:"code.execution.taskHeader",codeExecutionTaskStatus:"code.execution.taskStatus",codeExecutionTaskTitle:"code.execution.taskTitle",codeExecutionNotActiveYet:"code.execution.notActiveYet",codeExecutionPaused:"code.execution.paused",codeExecutionProvider:"code.execution.provider",codeExecutionModel:"code.execution.model",codeExecutionDefaultModel:"code.execution.defaultModel",codeExecutionSession:"code.execution.session",codeExecutionTaskId:"code.execution.taskId",codeExecutionStatusBlocked:"code.execution.status.blocked",codeExecutionStatusDone:"code.execution.status.done",codeExecutionStatusPending:"code.execution.status.pending",codeExecutionStatusRunning:"code.execution.status.running",codeExecutionStatusUnknown:"code.execution.status.unknown",codeExecutionTaskRuntimeHeader:"code.execution.taskRuntimeHeader",codeExecutionTaskStrategy:"code.execution.taskStrategy",codeExecutionStrategyPdca:"code.execution.strategy.pdca",codeExecutionStrategyReact:"code.execution.strategy.react",codeExecutionStrategyReflexion:"code.execution.strategy.reflexion",codeExecutionDeliveryModeArtifactOnly:"code.execution.deliveryMode.artifactOnly",codeExecutionDeliveryModeCommitOnly:"code.execution.deliveryMode.commitOnly",codeExecutionDeliveryModeDeployPreview:"code.execution.deliveryMode.deployPreview",codeExecutionDeliveryModePrWithChecks:"code.execution.deliveryMode.prWithChecks",codeExecutionDeliveryModePushBranch:"code.execution.deliveryMode.pushBranch",codeExecutionBlockedReasonAntiPingPong:"code.execution.blockedReason.antiPingPong",codeExecutionBlockedReasonApprovalPending:"code.execution.blockedReason.approvalPending",codeExecutionBlockedReasonMaxDispatches:"code.execution.blockedReason.maxDispatches",codeExecutionBlockedReasonNoValidTargets:"code.execution.blockedReason.noValidTargets",codeExecutionBlockedReasonStartupRecovery:"code.execution.blockedReason.startupRecovery",codeExecutionBlockedReasonUserCancelled:"code.execution.blockedReason.userCancelled",codeExecutionUnknownDeliveryMode:"code.execution.unknownDeliveryMode",codeExecutionUnknownValue:"code.execution.unknownValue",codeExecutionUnknownValueUnknown:"code.execution.unknownValueUnknown",codeExecutionControlHeader:"code.execution.controlHeader",codeExecutionControlMode:"code.execution.controlMode",codeExecutionControlDelivery:"code.execution.controlDelivery",codeExecutionControlBlocked:"code.execution.controlBlocked",codeExecutionControlApprovalPending:"code.execution.controlApprovalPending",codeExecutionControlBlockedBy:"code.execution.controlBlockedBy",codeExecutionControlTargets:"code.execution.controlTargets",codeExecutionControlReplable:"code.execution.controlTargets",codeExecutionStatusActiveLabel:"code.execution.statusActiveLabel",codeExecutionStatusIdleLabel:"code.execution.statusIdleLabel",codeExecutionStatusBlockedLabel:"code.execution.statusBlockedLabel",codeExecutionStatusRunningLabel:"code.execution.statusRunningLabel",codeExecutionStatusDoneLabel:"code.execution.statusDoneLabel",codeExecutionStatusPendingLabel:"code.execution.statusPendingLabel","codeDelivery.blocked":"code.delivery.blocked",codeDeliveryPreviewHeader:"code.delivery.previewHeader",codeDeliveryBlockerLabel:"code.delivery.blockerLabel",codeDeliveryContractLabel:"code.delivery.contractLabel",codeDeliveryErrorRepoStatusUnavailable:"code.delivery.error.repoStatusUnavailable",codeDeliveryWarningsLabel:"code.delivery.warningsLabel",codeDeliveryWarningsTitle:"code.delivery.warningsTitle",codeDeliveryHeader:"code.delivery.header",codeDeliveryLabel:"code.delivery.label",codeDeliveryLabelPreview:"code.delivery.labelPreview",codeDeliveryMetaBranch:"code.delivery.metaBranch",codeDeliveryMetaAhead:"code.delivery.metaAhead",codeDeliveryMetaBehind:"code.delivery.metaBehind",codeDeliveryMetaStaged:"code.delivery.metaStaged",codeDeliveryMetaUnstaged:"code.delivery.metaUnstaged",codeDeliveryMetaUntracked:"code.delivery.metaUntracked",codeDeliveryMetaRemote:"code.delivery.metaRemote",codeDeliveryMetaMode:"code.delivery.metaMode",codeDeliveryMetaDecision:"code.delivery.metaDecision",codeDeliveryNoCodespace:"code.delivery.noCodespace",codeDeliveryNoRepoStatus:"code.delivery.noRepoStatus",codeDeliveryNoInlinePreview:"code.delivery.noInlinePreview",codeDeliveryNoWorkspace:"code.delivery.noWorkspace",codeDeliveryPanelSubtitle:"code.delivery.panelSubtitle",codeDeliveryPanelTitle:"code.delivery.panelTitle",codeDeliveryPreviewHintUnsafe:"code.delivery.previewHintUnsafe",codeDeliveryRepoClean:"code.delivery.repoClean",codeDeliveryRepoDirty:"code.delivery.repoDirty",codeDeliveryRepoStatusHeader:"code.delivery.repoStatusHeader",codeDeliveryActionsCommitHeader:"code.delivery.actions.commitHeader",codeDeliveryActionsPushHeader:"code.delivery.actions.pushHeader",codeDeliveryActionsExportHeader:"code.delivery.actions.exportHeader",codeDeliveryActionRefresh:"code.delivery.action.refresh",codeDeliveryActionPreview:"code.delivery.action.preview",codeDeliveryActionCommit:"code.delivery.action.commit",codeDeliveryActionPush:"code.delivery.action.push",codeDeliveryActionPushPreview:"code.delivery.action.pushPreview",codeDeliveryActionPushConfirm:"code.delivery.action.pushConfirm",codeDeliveryActionPushCancel:"code.delivery.action.pushCancel",codeDeliveryActionExport:"code.delivery.action.export",codeDeliveryActionCommitPlaceholder:"code.delivery.action.commitPlaceholder",codeDeliveryConfirmationPush:"code.delivery.confirmation.push",codeDeliveryConfirmationPushHint:"code.delivery.confirmation.pushHint",codeDeliveryCommitFailed:"code.delivery.error.commitFailed",codeDeliveryPushFailed:"code.delivery.error.pushFailed",codeDeliveryExportFailed:"code.delivery.error.exportFailed",codeDeliveryStatusReady:"code.delivery.status.ready",codeDeliveryStatusBlocked:"code.delivery.status.blocked",codeDeliveryStatusUnknown:"code.delivery.status.unknown",codeDeliveryDecisionApprove:"code.delivery.decision.approve",codeDeliveryDecisionComplete:"code.delivery.decision.complete",codeDeliveryDecisionReject:"code.delivery.decision.reject",codeDeliveryDecisionReroute:"code.delivery.decision.reroute",codeDeliveryDecisionWait:"code.delivery.decision.wait",codeDeliveryUnknownBlocker:"code.delivery.unknownBlocker",codeDeliveryWarningFallback:"code.delivery.warningFallback",codePlanHeader:"code.plan.header",codePlanPanelTitle:"code.plan.panelTitle",codePlanEmpty:"code.plan.empty",codePlanReplan:"code.plan.replan",codePlanStatusBlocked:"code.plan.status.blocked",codePlanStatusDone:"code.plan.status.done",codePlanStatusPending:"code.plan.status.pending",codePlanStatusRunning:"code.plan.status.running",codePlanTitle:"code.plan.title",codePlanReplannedSuffix:"code.plan.replannedSuffix",codePlanLoadError:"code.plan.error.load",codePlanUpdateError:"code.plan.error.update",codePlanStepUpdateError:"code.plan.error.stepUpdate",codePreviewArtifactCountMany:"code.preview.artifactCountMany",codePreviewArtifactCountOne:"code.preview.artifactCountOne",codePreviewBlocked:"code.preview.blocked",codePreviewDetails:"code.preview.details",codePreviewHeader:"code.preview.header",codePreviewIframeTitle:"code.preview.iframeTitle",codePreviewNoPreview:"code.preview.noPreview",codePreviewNotInlineSafe:"code.preview.notInlineSafe",codePreviewOpenArtifact:"code.preview.openArtifact",codePreviewOpenLatestArtifact:"code.preview.openLatestArtifact",codePreviewOpenLatestPreview:"code.preview.openLatestPreview",codePreviewOpenPreview:"code.preview.openPreview",codePreviewTitle:"code.preview.title",codeRelayActionCreateRelayThread:"code.relay.action.createThread",codeRelayActionDispatching:"code.relay.action.dispatching",codeRelayActionFanOut:"code.relay.action.fanOut",codeRelayActionRefresh:"code.relay.action.refresh",codeRelayActionFanOutSelected:"code.relay.action.fanOutSelected",codeRelayAuthorKindAgent:"code.relay.authorKind.agent",codeRelayAuthorKindSystem:"code.relay.authorKind.system",codeRelayAuthorKindUnknown:"code.relay.authorKind.unknown",codeRelayAuthorKindUser:"code.relay.authorKind.user",codeRelayAvailabilityInstanceUnavailable:"code.relay.availability.instanceUnavailable",codeRelayAvailabilityProviderPathMissing:"code.relay.availability.providerPathMissing",codeRelayAvailabilityProviderPathReady:"code.relay.availability.providerPathReady",codeRelayAvailabilityRuntimeConfigUnavailable:"code.relay.availability.runtimeConfigUnavailable",codeRelayAvailabilityRuntimeReadyVia:"code.relay.availability.runtimeReadyVia",codeRelayErrorAgentRequired:"code.relay.error.agentRequired",codeRelayErrorFanOutPromptRequired:"code.relay.error.fanOutPromptRequired",codeRelayErrorThreadRequired:"code.relay.error.threadRequired",codeRelayErrorThreadTitleRequired:"code.relay.error.threadTitleRequired",codeRelayErrorMissingPayload:"code.relay.error.missingPayload",codeRelayErrorNoPayload:"code.relay.error.noPayload",codeRelayErrorRelayFailed:"code.relay.error.relayFailed",codeRelayErrorRosterUpdateFailed:"code.relay.error.rosterUpdateFailed",codeRelayErrorThreadLoadFailed:"code.relay.error.threadLoadFailed",codeRelayErrorThreadRefreshFailed:"code.relay.error.threadRefreshFailed",codeRelayErrorThreadCreateFailed:"code.relay.error.threadCreateFailed",codeRelayHeaderCodeRelay:"code.relay.header.codeRelay",codeRelayLabelContract:"code.relay.label.contract",codeRelayLabelContractLoading:"code.relay.label.contractLoading",codeRelayLabelActiveThread:"code.relay.label.activeThread",codeRelayLabelDefault:"code.relay.label.default",codeRelayLabelEnabled:"code.relay.label.enabled",codeRelayLabelEnded:"code.relay.label.ended",codeRelayLabelModel:"code.relay.label.model",codeRelayLabelNoObjective:"code.relay.label.noObjective",codeRelayLabelNoRounds:"code.relay.label.noRounds",codeRelayLabelNoThreads:"code.relay.label.noThreads",codeRelayLabelNoneYet:"code.relay.label.noneYet",codeRelayLabelObjective:"code.relay.label.objective",codeRelayLabelProven:"code.relay.label.proven",codeRelayLabelRepoPath:"code.relay.label.repoPath",codeRelayLabelRelayThreadTitle:"code.relay.label.relayThreadTitle",codeRelayLabelRepoNoBound:"code.relay.label.repoNoBound",codeRelayLabelUpdated:"code.relay.label.updated",codeRelayLabelMode:"code.relay.label.mode",codeRelayLabelOpen:"code.relay.label.open",codeRelayLabelQuotaNote:"code.relay.label.quotaNote",codeRelayLabelRoster:"code.relay.label.roster",codeRelayLabelRoundObjective:"code.relay.label.roundObjective",codeRelayLabelRoundPrompt:"code.relay.label.roundPrompt",codeRelayLabelRoundTimeline:"code.relay.label.roundTimeline",codeRelayLabelRounds:"code.relay.label.rounds",codeRelayLabelRole:"code.relay.label.role",codeRelayLabelStarted:"code.relay.label.started",codeRelayLabelStatusWaiting:"code.relay.label.statusWaiting",codeRelayStatusActive:"code.relay.status.active",codeRelayStatusAvailable:"code.relay.status.available",codeRelayStatusCompleted:"code.relay.status.completed",codeRelayStatusFailed:"code.relay.status.failed",codeRelayStatusRequested:"code.relay.status.requested",codeRelayStatusRunning:"code.relay.status.running",codeRelayStatusUnavailable:"code.relay.status.unavailable",codeRelayStatusUnknown:"code.relay.status.unknown",codeRelayStatusWaitingForAgents:"code.relay.status.waitingForAgents",codeRelayStatusWaitingForUser:"code.relay.status.waitingForUser",codeRelayModeBuild:"code.relay.mode.build",codeRelayModeDiscover:"code.relay.mode.discover",codeRelayModeDocument:"code.relay.mode.document",codeRelayModeFit:"code.relay.mode.fit",codeRelayModeHumanVerify:"code.relay.mode.humanVerify",codeRelayModeRepair:"code.relay.mode.repair",codeRelayModeReview:"code.relay.mode.review",codeRelayModeShape:"code.relay.mode.shape",codeRelayRoleCritic:"code.relay.role.critic",codeRelayRoleDrafter:"code.relay.role.drafter",codeRelayRoleIdle:"code.relay.role.idle",codeRelayRoleMainCoder:"code.relay.role.mainCoder",codeRelayRoleReviewer:"code.relay.role.reviewer",codeRelayRoleSummarizer:"code.relay.role.summarizer",codeRelayLabelThreadShell:"code.relay.label.threadShell",codeRelayLabelThreadTitle:"code.relay.label.threadTitle",codeRelayLabelPhase0:"code.relay.phase.phase0",codeRelayLabelPhase1:"code.relay.phase.phase1",codeRelayLabelPhase2:"code.relay.phase.phase2",codeRelayLabelPhaseFanOut:"code.relay.phase.fanOut",codeRelayLabelPhaseRoster:"code.relay.phase.roster",codeRelayLabelPhaseProject:"code.relay.phase.project",codeRelayLabelProjectThread:"code.relay.projectThread",codeRelayLabelProjectThreadSummary:"code.relay.projectThreadSummary",codeRelayLabelRuntimeProviderSurface:"code.relay.runtimeProviderSurface",codeRelayLabelRuntimeSurface:"code.relay.runtimeSurface",codeRelayLabelThreadProject:"code.relay.threadProject",codeRelayLabelThreadShellTitle:"code.relay.threadShellTitle",codeRelayModeParallelPrompt:"code.relay.mode.parallelPrompt",codeRelayNoObjective:"code.relay.noObjective",codeRelayNotRecorded:"code.relay.notRecorded",codeRelayOpenDiscoveryRound:"code.relay.openDiscoveryRound",codeRelayPlaceholderObjective:"code.relay.placeholder.objective",codeRelayPlaceholderOptionalRepo:"code.relay.placeholder.optionalRepo",codeRelayPlaceholderFanOutPrompt:"code.relay.placeholder.fanOutPrompt",codeRelayPlaceholderQuotaNote:"code.relay.placeholder.quotaNote",codeRelayLabelCurrentChat:"code.relay.currentChat",codeRelayLabelCreate:"code.relay.create",codeRelayDefaultThreadTitle:"code.relay.defaultThreadTitle",codeRelayLabelLoading:"code.relay.loading",codeRelayLabelProjectThreadHeader:"code.relay.projectThreadHeader",codeRelayLabelRelayToOthers:"code.relay.relayToOthers",codeRelayLabelTargetAgent:"code.relay.targetAgent",codeRelayLabelThreadLabel:"code.relay.threadLabel",codeRelayTitle:"code.relay.title",codeRelayTitleConnectorContract:"code.relay.titleConnectorContract",codeRelayTitleProjectThread:"code.relay.titleProjectThread",codeRelayTitleTimeline:"code.relay.titleTimeline",codeRelayTransportUnknown:"code.relay.transportUnknown",codeRelayTransportUnknownWithValue:"code.relay.transportUnknownWithValue",codeRelayTransportRuntimeSessionBridge:"code.relay.transportRuntimeSessionBridge",codeSidebarCodespaceLabel:"code.sidebar.codespace",codeSidebarCodeBuilderTitle:"code.sidebar.codeBuilderTitle",codeSidebarCodespacesLabel:"code.sidebar.codespaces",codeSidebarSourceCodeTask:"code.workspaceSource.codeTask",codeSidebarSourceConversationRepo:"code.workspaceSource.conversationRepo",codeSidebarSourceRuntimeCwd:"code.workspaceSource.runtimeCwd",codeRelayTitleProjectThreadSection:"code.relay.titleProjectThreadSection",codeSidebarTeamCodeLabel:"code.sidebar.teamCode",codeSidebarPeerCodeLabel:"code.sidebar.peerCode",codeSidebarNewCodeLabel:"code.sidebar.newCode",codeSidebarNoCodesYetLabel:"code.sidebar.noCodesYet",codeSidebarNoConversationsSummary:"code.sidebar.noConversationsSummary",codeRelayNoRoundsHint:"code.relay.noRoundsHint",codeSidebarLabelArtifacts:"code.sidebar.artifacts",codeSidebarLabelBuild:"code.sidebar.build",codeSidebarLabelRelay:"code.sidebar.relay",codeWorkspaceSectionCodeOutput:"code.workspace.sectionCodeOutput",codeWorkspaceSummaryBinding:"code.workspace.summary.binding",codeWorkspaceSummaryCodespace:"code.workspace.summary.codespace",codeWorkspaceSummaryKind:"code.workspace.summary.kind",codeWorkspaceSummaryOwnership:"code.workspace.summary.ownership",codeWorkspaceSummaryNoticeConversation:"code.workspace.summary.chatContext",codeWorkspaceSummaryNoBindingChat:"code.workspace.summary.noChatContext",codeWorkspaceSummaryNoChat:"code.workspace.summary.noChat",codeWorkspaceSummaryBindingConversationRepo:"code.workspace.summary.binding.conversationRepo",codeWorkspaceSummaryBindingManagedRoom:"code.workspace.summary.binding.managedRoom",codeWorkspaceSummaryBindingUserSelected:"code.workspace.summary.binding.userSelected",codeWorkspaceKindConversationRepo:"code.workspace.kind.conversationRepo",codeWorkspaceKindManagedRoom:"code.workspace.kind.managedRoom",codeWorkspaceKindUserSelected:"code.workspace.kind.userSelected",codeWorkspaceOwnershipConversationBound:"code.workspace.ownership.conversationBound",codeWorkspaceOwnershipRoomOwned:"code.workspace.ownership.roomOwned",codeWorkspaceOwnershipOwnerSelected:"code.workspace.ownership.ownerSelected",codeWorkspaceSourceTask:"code.workspace.source.task",codeWorkspaceSourceConversationRepo:"code.workspace.source.conversationRepo",codeWorkspaceSourceRuntimeCwd:"code.workspace.source.runtimeCwd",codeWorkspacesListHeader:"code.workspaces.listHeader",codeWorkspacesListNoCodespaces:"code.workspaces.listNoCodespaces",codeWorkspacesListLoading:"code.workspaces.loading",codeWorkspacesListError:"code.workspaces.error",codeWorkspacesLoadError:"code.workspaces.loadError",codeWorkspacesListSourceCodes:"code.workspaces.sourceCodes",codeWorkspacesListSourceRepo:"code.workspaces.sourceRepo",codeWorkspacesListSourceRuntime:"code.workspaces.sourceRuntime",codeWorkspacesListSourceArtifact:"code.workspaces.sourceArtifact",codeWorkspacesListAriaOpen:"code.workspaces.ariaOpen",codeWorkspaceStatusActive:"code.workspaceStatus.active",codeWorkspaceStatusArchived:"code.workspaceStatus.archived",codeWorkspaceStatusDraft:"code.workspaceStatus.draft",codeWorkspaceStatusReady:"code.workspaceStatus.ready",codeWorkspaceStatusUnknown:"code.workspaceStatus.unknown",codeWorkspaceDetailError:"code.workspaceDetail.error",codeWorkspaceDetailLoading:"code.workspaceDetail.loading",codeWorkspaceDetailTitle:"code.workspaceDetail.title",codeWorkspaceDetailNotFound:"code.workspaceDetail.notFound",codeWorkspaceDetailMissingId:"code.workspaceDetail.missingId",codeWorkspaceDetailBackToList:"code.workspaceDetail.backToList",codeWorkspaceDetailOverviewTitle:"code.workspaceDetail.overviewTitle",codeWorkspaceDetailArtifactSection:"code.workspaceDetail.artifactSection",codeWorkspaceDetailConversationsSection:"code.workspaceDetail.conversationsSection",codeWorkspaceDetailTasksSection:"code.workspaceDetail.tasksSection",codeWorkspaceDetailNoArtifacts:"code.workspaceDetail.noArtifacts",codeWorkspaceDetailNoArtifactsDesc:"code.workspaceDetail.noArtifactsDesc",codeWorkspaceDetailNoConversations:"code.workspaceDetail.noConversations",codeWorkspaceDetailNoTasks:"code.workspaceDetail.noTasks",codeWorkspaceDetailOverviewPath:"code.workspaceDetail.overviewPath",codeWorkspaceDetailOverviewSource:"code.workspaceDetail.overviewSource",codeWorkspaceDetailOverviewStatus:"code.workspaceDetail.overviewStatus",codeWorkspaceDetailOverviewLastActive:"code.workspaceDetail.overviewLastActive",codeWorkspaceDetailOverviewSummary:"code.workspaceDetail.overviewSummary",codeWorkspaceDetailNoSummary:"code.workspaceDetail.noSummary",codeWorkspaceDetailMetricConversations:"code.workspaceDetail.metric.conversations",codeWorkspaceDetailMetricTasks:"code.workspaceDetail.metric.tasks",codeWorkspaceDetailMetricArtifacts:"code.workspaceDetail.metric.artifacts",codeWorkspaceDetailMetricId:"code.workspaceDetail.metric.id",codeWorkspaceDetailOverviewNoArtifactYet:"code.workspaceDetail.overviewNoArtifacts",codeWorkspaceDetailConversationsEmpty:"code.workspaceDetail.conversationsEmpty",codeWorkspaceDetailTasksEmpty:"code.workspaceDetail.tasksEmpty",codeWorkspaceDetailTaskLabel:"code.workspaceDetail.taskLabel",codeWorkspaceDetailArtifactsHeader:"code.workspaceDetail.artifactsHeader",codeWorkspaceDetailSourceUnknown:"code.workspace.source.unknown",designSidePanelCloseLabel:"design.sidePanel.closeLabel",designAccountIdentityMenuLabel:"design.accountIdentityMenu.label",designAccountIdentityMenuMenuLabel:"design.accountIdentityMenu.menuLabel",designAccountIdentityMenuSettingsLabel:"design.accountIdentityMenu.settingsLabel",designAccountIdentityMenuEnvironmentLabel:"design.accountIdentityMenu.environmentLabel",designNotificationDismissLabel:"design.notification.dismissLabel",entityComingSoonBackToLobby:"entity.comingSoon.backToLobby",entityDetailBreadcrumbLobby:"entity.detail.breadcrumb.lobby",clowdersListTitle:"clowdersList.title",clowdersListEyebrow:"clowdersList.eyebrow",clowdersListEmptyState:"clowdersList.emptyState",catteriesListTitle:"catteriesList.title",catteriesListEyebrow:"catteriesList.eyebrow",catteriesListEmptyState:"catteriesList.emptyState",clowdersCanvasAriaLabel:"clowdersCanvas.ariaLabel",catteriesCanvasAriaLabel:"catteriesCanvas.ariaLabel",entityCanvasTotalLabel:"entityCanvas.totalLabel",entityCanvasCatsLabel:"entityCanvas.catsLabel",entityCanvasMembersLabel:"entityCanvas.membersLabel",entityCanvasClowdersLabel:"entityCanvas.clowdersLabel",entityCanvasIdLabel:"entityCanvas.idLabel",entityCanvasCreatedLabel:"entityCanvas.createdLabel",entityCanvasSelectedClowderLabel:"entityCanvas.selectedClowderLabel",entityCanvasSelectedCatteryLabel:"entityCanvas.selectedCatteryLabel",entityCanvasOrganizationLabel:"entityCanvas.organizationLabel",entityCanvasParentCatteryLabel:"entityCanvas.parentCatteryLabel",entityCanvasFormalClowderLabel:"entityCanvas.formalClowderLabel",entityCanvasNoOrganizationLabel:"entityCanvas.noOrganizationLabel",entityCanvasNoFormalClowdersLabel:"entityCanvas.noFormalClowdersLabel",entityCanvasOpenClowderAction:"entityCanvas.openClowderAction",entityCanvasOpenCatteryAction:"entityCanvas.openCatteryAction",entityCanvasCatterySubtitle:"entityCanvas.catterySubtitle",catProfileNotFoundTitle:"catProfile.notFound.title",catProfileNotFoundBody:"catProfile.notFound.body",entitiesSidebarSectionCats:"entitiesSidebar.section.cats",entitiesSidebarSectionClowders:"entitiesSidebar.section.clowders",entitiesSidebarSectionCatteries:"entitiesSidebar.section.catteries",entitiesSidebarNewCat:"entitiesSidebar.newCat",entitiesSidebarNewClowder:"entitiesSidebar.newClowder",entitiesSidebarNewCattery:"entitiesSidebar.newCattery",entityIndexEyebrow:"entityIndex.eyebrow",entityIndexTitle:"entityIndex.title",entityIndexColumnHeaderCats:"entityIndex.columnHeader.cats",entityIndexColumnHeaderClowders:"entityIndex.columnHeader.clowders",entityIndexColumnHeaderCatteries:"entityIndex.columnHeader.catteries",entityIndexCardTotal:"entityIndex.card.total",entityIndexCardOpenCanvasAriaLabel:"entityIndex.card.openCanvasAriaLabel",entitiesShellAriaLabel:"entitiesShell.ariaLabel",entitiesShellSurfaceLabel:"entitiesShell.surfaceLabel",entitiesShellBrandLabel:"entitiesShell.brandLabel",entitiesShellExitButtonAriaLabel:"entitiesShell.exitButtonAriaLabel",clowderHomeAriaLabel:"clowderHome.ariaLabel",clowderHomeChipPartOf:"clowderHome.chip.partOf",clowderHomeChipCrossUnit:"clowderHome.chip.crossUnit",clowderHomeTabCats:"clowderHome.tab.cats",clowderHomeTabSettings:"clowderHome.tab.settings",clowderHomeEmptyCats:"clowderHome.empty.cats",clowderHomeSettingsBody:"clowderHome.settings.body",clowderHomeNotFoundTitle:"clowderHome.notFound.title",clowderHomeNotFoundBody:"clowderHome.notFound.body",catteryHomeAriaLabel:"catteryHome.ariaLabel",catteryHomeTabMembers:"catteryHome.tab.members",catteryHomeTabClowders:"catteryHome.tab.clowders",catteryHomeTabCats:"catteryHome.tab.cats",catteryHomeTabSettings:"catteryHome.tab.settings",catteryHomeEmptyMembers:"catteryHome.empty.members",catteryHomeEmptyClowders:"catteryHome.empty.clowders",catteryHomeEmptyCats:"catteryHome.empty.cats",catteryHomeSettingsBody:"catteryHome.settings.body",catteryHomeNotFoundTitle:"catteryHome.notFound.title",catteryHomeNotFoundBody:"catteryHome.notFound.body"},Ep={"app.brandName":"CATS INC","app.loadingWithSurface":"Loading {surface}","app.loadingEllipsis":"Loading …","app.errorTitle":"Could not start Cats","app.errorEyebrow":"Error","app.loadErrorMessage":"Failed to load","app.loadStateFailedWithStatus":"Failed to load app state ({status})","app.title":"Cats","setupWizard.adminCredentialsHint":"Use these credentials to sign in after setup. They are separate from your display profile.","setupWizard.adminIdentifierLabel":"Admin login email","setupWizard.adminIdentifierPlaceholder":"you@example.com","setupWizard.adminPasswordLabel":"Admin password","setupWizard.adminPasswordPlaceholder":"Create a password","auth.login.title":"Sign in to Cats","auth.login.subtitle":"Use the local admin credentials created during setup.","auth.login.identifierLabel":"Email","auth.login.identifierPlaceholder":"you@example.com","auth.login.passwordLabel":"Password","auth.login.passwordPlaceholder":"Enter your password","auth.login.submit":"Sign in","auth.login.submitting":"Signing in…","auth.login.invalidCredentials":"The email or password is incorrect.","auth.login.forbidden":"Sign-in is temporarily blocked or not allowed.","auth.login.csrfMismatch":"Security token mismatch. Refresh and try again.","auth.login.failed":"Sign-in failed.","auth.login.failedWithStatus":"Sign-in failed ({status}).","auth.login.googleOriginHint":"Google sign-in only works on authorized Google JavaScript origins. If this LAN/IP origin is not authorized, use local admin credentials.","auth.login.googleUnavailable":"Google sign-in is unavailable on this origin. Use local admin credentials or open Cats from an authorized origin.","auth.repair.title":"Repair Cats authentication","auth.repair.subtitle":"Cats found setup-complete state but cannot read a usable auth state file. Recreate the first local Admin account to unlock this workspace.","auth.repair.displayNameLabel":"Owner display name","auth.repair.displayNamePlaceholder":"Owner","auth.repair.identifierLabel":"Admin login email","auth.repair.identifierPlaceholder":"you@example.com","auth.repair.passwordLabel":"Admin password","auth.repair.passwordPlaceholder":"Create a replacement password","auth.repair.recoveryTokenLabel":"Recovery token","auth.repair.recoveryTokenPlaceholder":"Required recovery token","auth.repair.recoveryTokenHint":"Required for every repair. Read it from the local auth-recovery-token file printed at startup.","auth.repair.submit":"Repair and sign in","auth.repair.submitting":"Repairing…","auth.repair.forbidden":"Repair requires the one-time recovery token.","auth.repair.failed":"Repair failed.","auth.repair.failedWithStatus":"Repair failed ({status}).","appHost.label":"App","appHost.notInstalledTitle":"App not installed","appHost.backToLobby":"Back to Lobby","appHost.rendererUnavailable":"This app has no available, verified renderer.","appHost.rendererTimedOut":"The app did not finish loading. Retry, or return to the lobby and reopen it.","appHost.rendererRetry":"Retry loading","appHost.rendererAccessChanged":"App access or version changed. Return to the lobby and reopen this app.","appHost.rendererNavigatedAway":"The app navigated away. Reopen it from the lobby.","appHost.subtitleRendererPending":"App renderer pending","appHost.subtitleDisabled":"App disabled","appHost.sectionPackage":"Package","appHost.sectionStatus":"Status","appHost.sectionPublisher":"Publisher","shared.productRenderer.errorEyebrow":"Renderer Error","shared.productRenderer.chatUnavailableTitle":"Chat unavailable","shared.productRenderer.unknownError":"Unknown renderer error.","shared.product.bootLoadingAria":"Loading Cats {productName}","platform.product.chat.name":"Cats Chat","platform.product.chat.subtitle":"Conversations with companions and personal agents","platform.product.chat.settingsLabel":"Chat","platform.product.code.name":"Cats Code","platform.product.code.subtitle":"Repos, runs, and codespaces","platform.product.code.settingsLabel":"Code","platform.product.work.name":"Cats Work","platform.product.work.subtitle":"Projects, approvals, and operator workflow","platform.product.work.settingsLabel":"Work","lobby.accountSettingsAriaLabel":"Account settings","lobby.openAccountSettings":"Open account settings","lobby.runtimeStatusLabel":"Runtime status: {runtimeStatus}","lobby.productsSectionTitle":"Products","lobby.appsSectionTitle":"Apps","lobby.continueText":"Continue","lobby.openEntry":"Open {entryTitle}","lobby.greeting.chooseSurface":"Choose a surface and get moving.","lobby.greeting.homeReady":"Home base is ready.","lobby.greeting.pickProduct":"Chat, Work, or Code. Your call.","lobby.greeting.everythingStaged":"Everything is staged. Pick a lane.","lobby.greeting.openSurface":"Open the surface that fits the task.","lobby.greeting.awake":"Cats Inc is awake.","lobby.greeting.continue":"Continue where the work makes sense.","shared.runtimeStatus.tooltip.ready":"Cats Runtime is connected","shared.runtimeStatus.tooltip.degraded":"Cats Runtime is starting up","shared.runtimeStatus.tooltip.unavailable":"Cats Runtime is offline","shared.runtimeStatus.tooltip.unknown":"Checking Cats Runtime status…","shared.runtimeStatus.chip.ready":"Runtime connected","shared.runtimeStatus.chip.degraded":"Runtime degraded","shared.runtimeStatus.chip.unavailable":"Runtime unavailable","settings.general.profileTitle":"Profile","settings.general.profileDescription":"This is your platform-wide profile across Chat, Code, Work, and Lobby.","settings.general.avatarLabel":"Avatar","settings.general.avatarChangeLabel":"Change avatar","settings.general.avatarUploadLabel":"Upload avatar","settings.general.avatarRemoveLabel":"Remove avatar","settings.general.nameLabel":"Name","settings.general.accountTitle":"Account","settings.general.accountDescription":"End the current browser session on this device.","settings.general.signOutButton":"Sign out","settings.general.signingOutButton":"Signing out…","settings.general.signOutFailed":"Sign-out failed.","settings.general.signOutFailedWithStatus":"Sign-out failed ({status}).","settings.general.signOutCsrfError":"Security token mismatch. Refresh and try again.","settings.general.signOutForbiddenError":"Sign-out is not allowed right now.","settings.general.signOutUnauthenticated":"You are already signed out.","settings.account.signedInAs":"Signed in as {name}","settings.account.loginMethodsTitle":"Sign-in methods","settings.account.localPasswordLabel":"Local password","settings.account.localPasswordDescription":"Works offline and on a local network address, so it stays available when Google cannot be used.","settings.account.localPasswordLinked":"Set up","settings.account.localPasswordMissing":"Not set up","settings.account.googleLabel":"Google","settings.account.googleDescription":"Sign in with a linked Google account. Linking asks for your password first.","settings.account.googleLinkedStatus":"Linked · {email}","settings.account.googleNotLinkedStatus":"Not linked","settings.account.googleUnavailableStatus":"Unavailable","settings.account.googleUnavailableHint":"Google sign-in is not configured for this address. Open Cats from an authorized origin to link an account.","settings.account.googleLinkButton":"Link Google account","settings.account.googleUnlinkButton":"Unlink Google account","settings.account.googleLinkingLabel":"Linking…","settings.account.googleUnlinkingLabel":"Unlinking…","settings.account.reauthTitle":"Confirm your password","settings.account.reauthLinkDescription":"Enter your local password to link a Google account.","settings.account.reauthUnlinkDescription":"Enter your local password to unlink your Google account.","settings.account.reauthPasswordLabel":"Password","settings.account.reauthPasswordPlaceholder":"Your local password","settings.account.reauthSubmit":"Confirm","settings.account.reauthSubmitting":"Confirming…","settings.account.reauthCancel":"Cancel","settings.account.googleContinueTitle":"Continue with Google","settings.account.googleContinueDescription":"Choose the Google account to link. It must use the same email as this Cats account.","settings.account.unlinkWarning":"Unlinking signs out your other browsers and mobile devices. This device stays signed in.","settings.account.reauthFailed":"Could not confirm your password.","settings.account.reauthFailedWithStatus":"Could not confirm your password ({status}).","settings.account.reauthInvalidPassword":"That password is incorrect.","settings.account.reauthRequired":"Password confirmation expired. Try again.","settings.account.linkFailed":"Could not link the Google account.","settings.account.linkFailedWithStatus":"Could not link the Google account ({status}).","settings.account.linkConflict":"That Google account cannot be linked. Check that its email matches this account.","settings.account.unlinkFailed":"Could not unlink the Google account.","settings.account.unlinkFailedWithStatus":"Could not unlink the Google account ({status}).","settings.account.unlinkConflict":"Google cannot be unlinked because no other sign-in method would remain.","settings.account.googleUnavailableError":"Google sign-in is unavailable right now.","settings.general.languageTitle":"Language","settings.general.languageDescription":"Choose how assistants answer and how Cats displays its interface.","settings.general.assistantLanguagePreferenceLabel":"Assistant response language","settings.general.assistantLanguagePreferenceDescription":"Sets the default language instruction for assistant replies. User requests in a turn still take priority.","settings.general.assistantLanguageSelectAriaLabel":"Assistant response language","settings.general.assistantLanguageUnspecifiedOption":"Unspecified","settings.general.languagePreferenceLabel":"Display language","settings.general.languagePreferenceDescription":"Auto-detect follows your browser or desktop language. Named languages are shown in their own language.","settings.general.languageSelectAriaLabel":"Display language","settings.general.languageAutoOption":"Auto-detect","settings.general.languageEnglishOption":"English","settings.general.languageTraditionalChineseOption":"Traditional Chinese","settings.general.lobbyMotionTitle":"Lobby motion","settings.general.lobbyMotionDescription":"Choose how lively the Lobby background should feel. Reduced is the default.","settings.general.lobbyMotionOffLabel":"Off","settings.general.lobbyMotionOffDescription":"Keep the Lobby still and remove the bouncing cats background.","settings.general.lobbyMotionReducedLabel":"Reduced","settings.general.lobbyMotionReducedDescription":"Keep the background alive, but soft and slow.","settings.general.lobbyMotionFullLabel":"Full","settings.general.lobbyMotionFullDescription":"Let the cats bounce at full speed in the Lobby background.","settings.general.guideCatAssistTitle":"Guide Cat assist","settings.general.guideCatAssistDisabledDescription":"{guideCatName} is disabled. Enable it again from Settings > Assistants when you want {guideCatName} help back.","settings.general.guideCatAssistEnabledDescription":"Choose how {guideCatName} appears when you click the floating avatar.","settings.general.openAssistantsButton":"Open Assistants","settings.general.guideCatAutoLabel":"Auto","settings.general.guideCatAutoDescription":"First time shows a speech bubble, then switches to a full side panel.","settings.general.guideCatSidePanelLabel":"Side panel","settings.general.guideCatSidePanelDescription":"Always open a full side panel when you click the guide cat avatar.","settings.general.guideCatBubbleLabel":"Speech bubble","settings.general.guideCatBubbleDescription":"Always show a compact speech bubble with quick actions.","settings.general.updateNameError":"Failed to update name","settings.general.updateAssistantLanguageError":"Failed to update assistant language","settings.general.updateLanguageError":"Failed to update language","settings.general.updateLobbyAnimationError":"Failed to update Lobby motion","settings.general.updateGuideCatModeError":"Failed to update Guide Cat mode","settings.general.removeAvatarError":"Failed to remove avatar","settings.general.saveAvatarError":"Failed to save avatar","settings.shell.heading":"Settings","settings.shell.sectionGeneral":"General","settings.shell.sectionCats":"Cats","settings.shell.subsectionMyCats":"My Cats","settings.shell.subsectionAssistants":"Assistants","settings.shell.sectionApps":"Apps","settings.shell.sectionDesktop":"Desktop","settings.shell.sectionRuntime":"Runtime","settings.shell.sectionData":"Data","settings.shell.closeButtonLabel":"Close settings","settings.chat.bossToolProfileTitle":"Boss Cat tool profile","settings.chat.bossToolProfileUpdateFailure":"Failed to update Boss Cat tool profile","settings.chat.advancedControlsFailure":"Failed to update chat advanced controls","settings.conversation.productLabelChat":"Cats Chat","settings.conversation.productLabelCode":"Cats Code","settings.conversation.productLabelWork":"Cats Work","settings.conversation.behaviorTitle":"Conversation behavior","settings.conversation.behaviorDescription":"These settings affect {product} only.","settings.conversation.showVerboseLabel":"Show verbose messages","settings.conversation.showVerboseDescription":"Keep system-level room and orchestration messages visible in chat.","settings.conversation.showLiveProgressLabel":"Show live progress details","settings.conversation.showLiveProgressDescription":"Show more granular progress updates while a response is still running.","settings.conversation.updateFailure":"Failed to update conversation behavior","settings.conversation.concurrentLayoutLabel":"Concurrent response layout","settings.conversation.concurrentLayoutDescription":"Choose how multi-model replies are arranged in {product}.","settings.conversation.layoutInlineStack":"Inline stack","settings.conversation.layoutCompareCards":"Compare cards","settings.conversation.layoutFocusRail":"Focus rail","settings.conversation.layoutAdaptive":"Adaptive","settings.advancedDraftControls.title":"Draft builder","settings.advancedDraftControls.description":"Let any {surface} draft add collaborators or compare against other models.","settings.advancedDraftControls.enableLabel":"Enable advanced draft controls","settings.advancedDraftControls.toggleDescription":"Shows whichever +collaborate or +compare button each draft entry hides by default.","settings.runtime.statusChip.runtimeUnavailable":"Runtime unavailable","settings.runtime.statusChip.runtimeDegraded":"Runtime degraded","settings.runtime.statusChip.runtimeReady":"Runtime ready","settings.runtime.statusChip.setupReadyToApply":"Setup ready to apply","settings.runtime.statusChip.setupNeedsRemediation":"Setup needs remediation","settings.runtime.statusChip.providerScanRequired":"Provider scan required","settings.runtime.statusChip.setupUnavailable":"Setup unavailable","settings.runtime.statusTitle":"Runtime status","settings.runtime.statusDescription":"Whether cats-runtime is reachable and your provider setup is complete. The breakdown below shows how many providers are currently usable.","settings.runtime.metricReadyProviders":"ready providers","settings.runtime.metricProvidersScanned":"providers scanned","settings.runtime.metricNeedAttention":"need attention","settings.runtime.needAttentionTitle":"Need attention","settings.runtime.needAttentionDescription":"Providers the scan flagged for remediation before they can join the runtime.","settings.runtime.providerHelpersTitle":"Provider helpers","settings.runtime.providerHelpersDescription":"Run packaged installers to check, install, upgrade, repair, or uninstall each local CLI provider. Actions stream through the desktop host bridge; the renderer never executes scripts directly.","settings.runtime.loadingHelpers":"Loading helpers…","settings.runtime.noProviderHelpers":"No provider helpers are bundled with this host build.","settings.runtime.workingState":"Working…","settings.runtime.actions.check":"Check","settings.runtime.actions.install":"Install","settings.runtime.actions.upgrade":"Upgrade","settings.runtime.actions.repair":"Repair","settings.runtime.actions.uninstall":"Uninstall","settings.runtime.uninstallButtonLabel":"Uninstall","settings.runtime.modelCatalogsTitle":"Model catalogs","settings.runtime.modelCatalogsDescription":"Ask cats-runtime to refresh every provider's model list now, so newly released models show up in the Brain picker without waiting for the background caches to expire.","settings.runtime.refreshingState":"Refreshing","settings.runtime.refreshCatalogsButton":"Refresh model catalogs","settings.runtime.standaloneSetupTitle":"Standalone setup","settings.runtime.standaloneSetupDescription":"Open the standalone runtime setup when you need provider remediation or a deeper scan.","settings.runtime.openStandaloneSetup":"Open Cats Runtime setup","settings.runtime.browserHandoffError":"Cats could not open Runtime setup in your browser. Please try again.","settings.runtime.cancelActionLabel":"Cancel","settings.runtime.cancelActionFallbackLabel":"Close","settings.runtime.refreshFailure":"Refresh failed.","settings.runtime.refreshFailureWithStatus":"Refresh failed ({status}).","settings.runtime.refreshSummary":"Refreshed {refreshed} target{pluralSuffix}","settings.runtime.refreshSummaryWithFailures":"Refreshed {refreshed} · {failed} failed","settings.runtime.uninstallTitle":"Uninstall {label}","settings.runtime.uninstallDescriptionPrefix":"This will remove user-owned files for","settings.runtime.uninstallDescriptionSuffix":"Auth files, API keys, and external configuration are left in place. Active sessions using this provider may fail until another provider is configured.","settings.runtime.uninstallHelperLabel":"Helper: {helperId}","settings.runtime.uninstallScriptLabel":"Script: {scriptPath}","settings.runtime.computingPlannedRemovals":"Computing planned removals…","settings.runtime.previewUnavailable":"Preview unavailable; the uninstall will still report planned actions.","settings.runtime.nothingToRemove":"Nothing to remove — the helper reports this provider is not installed.","settings.runtime.systemInstallDetected":"Note: a system install was detected at {installPath} but it cannot be removed by this helper.","settings.runtime.willRemoveItems":"Will remove {itemCount} item{pluralSuffix}:","settings.runtime.systemInstallCannotRemove":"Note: a system install at {installPath} cannot be removed by this helper.","settings.runtime.actionNoResult":"{helperLabel}: host did not report a result for {actionLabel}.","settings.runtime.actionSuccessComplete":"{helperLabel}: {actionLabel} complete.","settings.runtime.actionSuccessNothingToRemove":"{helperLabel}: {actionLabel} reported nothing to remove.","settings.runtime.actionPartialWithDetail":"{helperLabel}: {actionLabel} {status} - {detail}","settings.runtime.actionPartial":"{helperLabel}: {actionLabel} {status}.","settings.runtime.actionFailedWithDetail":"{helperLabel}: {actionLabel} failed - {detail}.","settings.runtime.actionFailed":"{helperLabel}: {actionLabel} failed.","settings.runtime.hostBridgeUnavailableClient":"Desktop host bridge is not available in this client.","settings.runtime.hostBridgeUnavailable":"Desktop host bridge is not available.","settings.runtime.previewMissingResult":"Host did not return a preview result.","settings.runtime.previewFailed":"Preview failed.","settings.runtime.fixStepCount":"{count} fix step{pluralSuffix}","settings.runtime.helperLabel.windowsCliReadiness":"Windows PowerShell + PATH readiness helper","settings.runtime.helperLabel.windowsVcRedist":"Windows Microsoft Visual C++ 2015-2022 Redistributable (x64)","settings.runtime.helperLabel.nodeHostInstaller":"{platform} Node.js LTS host installer","settings.runtime.helperLabel.githubCliHostInstaller":"{platform} GitHub CLI host installer","settings.runtime.helperLabel.npmPrefixHelper":"{platform} npm prefix and PATH prerequisite helper","settings.runtime.helperLabel.setupReadinessAudit":"{platform} setup readiness audit","settings.runtime.helperLabel.packagedBackgroundProcessHelper":"{platform} packaged setup background process helper","settings.runtime.helperLabel.packagedProviderUninstallHelper":"{platform} packaged provider uninstall helper","settings.runtime.helperLabel.packagedNpmGlobalCliInstallerHelper":"{platform} packaged npm-global CLI installer helper","settings.runtime.helperLabel.nativeProviderInstaller":"{platform} native {providerLabel} installer","settings.runtime.helperLabel.providerInstaller":"{platform} {providerLabel} installer","settings.runtime.helperLabel.localModelInstaller":"{platform} {providerLabel} local-model installer","settings.runtime.helperUnavailableReason":"{helperLabel} is not currently bundled with this host build.","settings.runtime.helperUnsupportedPlatformReason":"{helperLabel} is currently only supported on {platformSupport}.","settings.runtime.platformSupport.allDesktop":"Windows, macOS, or Linux hosts","settings.runtime.platformSupport.windows":"Windows hosts","settings.runtime.platformSupport.windowsWsl":"Windows hosts with WSL support","settings.runtime.platformSupport.macos":"macOS hosts","settings.runtime.platformSupport.linux":"Linux hosts","settings.runtime.helperUnsupportedActionReason":"{helperLabel} does not support {actionLabel}.","settings.runtime.lifecycleStatus.authRequired":"authentication required","settings.runtime.lifecycleStatus.blocked":"blocked","settings.runtime.lifecycleStatus.changesRequired":"changes required","settings.runtime.lifecycleStatus.failed":"failed","settings.runtime.lifecycleStatus.notInstalled":"not installed","settings.runtime.lifecycleStatus.preview":"preview","settings.runtime.lifecycleStatus.ready":"ready","settings.runtime.lifecycleStatus.restartRequired":"restart required","settings.runtime.lifecycleStatus.uninstalled":"uninstalled","settings.runtime.lifecycleDetail.launchWslFirstBoot":"Launch the target WSL distro once to finish first-user setup, then rerun the packaged setup check.","settings.runtime.lifecycleDetail.startDockerWarmUp":"Start Docker Desktop and wait for the engine to become ready, then rerun the packaged setup check.","settings.runtime.lifecycleDetail.runMissingHostSubstrate":"Run {helperLabel} to install the missing host substrate flagged by the readiness audit.","settings.runtime.lifecycleDetail.restartThenRerunMode":"Restart the host or Windows session, then rerun {helperLabel} in {mode} mode.","settings.runtime.lifecycleDetail.restartThenRerun":"Restart Windows or the current session, then rerun {helperLabel}.","settings.runtime.lifecycleDetail.relaunchThenVerify":"Relaunch Cats Desktop Host, then rerun {helperLabel} to verify the updated packaged setup state.","settings.runtime.lifecycleDetail.elevationRequired":"{helperLabel} requires an elevated host step before it can continue.","settings.runtime.lifecycleDetail.authThenRerunMode":"Complete the required sign-in flow, then rerun {helperLabel} in {mode} mode.","settings.runtime.lifecycleDetail.retryAfterFailure":"Retry {helperLabel} after addressing the last failure.","settings.runtime.lifecycleDetail.runMissingRequirement":"Run {helperLabel} to install the missing packaged setup requirement.","settings.runtime.lifecycleDetail.finishManualFollowThrough":"Finish the manual follow-through for {helperLabel}, then rerun a verification step.","settings.runtime.lifecycleDetail.runApplyRemainingChanges":"Run {helperLabel} again to apply the remaining packaged setup changes.","settings.runtime.lifecycleDetail.rerunCheckToVerify":"Rerun {helperLabel} in check mode if you want to verify the packaged setup state again.","settings.runtime.lifecycleDetail.finishedWithStatus":"{helperLabel} {mode} finished with {status}.","settings.runtime.lifecycleMode.apply":"apply","settings.runtime.lifecycleMode.check":"check","settings.runtime.lifecycleMode.force":"force","settings.runtime.lifecycleMode.uninstall":"uninstall","settings.runtime.lifecycleMode.upgrade":"upgrade","settings.route.title.assistants":"Assistants","settings.route.title.myCats":"My Cats","settings.route.title.chat":"Chat","settings.route.title.work":"Work","settings.route.title.code":"Code","settings.route.title.apps":"Apps","settings.route.title.desktop":"Desktop","settings.route.title.runtime":"Runtime","settings.route.title.data":"Data","settings.route.title.general":"General","settings.route.title.notFound":"Settings page not found","settings.route.notFound.description":"This settings page is not registered in the current Cats build.","settings.route.notFound.openGeneral":"Open General settings","settings.canvas.loadingLabel":"Loading settings…","settings.canvas.loadErrorTitle":"Couldn’t load settings","settings.canvas.loadErrorBody":"The platform service didn’t respond. Check that the runtime is up and try again.","settings.apps.sectionTitle":"Apps","settings.apps.sectionDescription":"Installed Cats apps, connector packages, and system modules.","settings.apps.installedPackagesLabel":"Installed packages","settings.apps.installedPackagesDescription":"{count} connector package{pluralSuffix}","settings.apps.noInstalledAppsLabel":"Installed apps","settings.apps.noInstalledAppsDescription":"No installed apps are registered yet.","settings.apps.emptyStateChipLabel":"Empty","settings.apps.localInstallTitle":"Local install","settings.apps.localInstallDescription":"Review a local Cats app package before adding it to Cats.","settings.apps.packagePathLabel":"Package path","settings.apps.packagePathPlaceholder":"/path/to/cats-app-package","settings.apps.reviewButton":"Review","settings.apps.readyStatusChip":"Ready","settings.apps.needsReviewStatusChip":"Needs review","settings.apps.noLobbyRoute":"No Lobby route","settings.apps.installButton":"Install","settings.apps.enableAction":"Enable","settings.apps.disableAction":"Disable","settings.apps.uninstallAction":"Uninstall","settings.apps.openAction":"Open","settings.apps.settingsAction":"Settings","settings.apps.uninstallTitle":"Uninstall app","settings.apps.enableTitle":"Enable app","settings.apps.disableTitle":"Disable app","settings.apps.uninstallMessage":'Uninstall "{appDisplayName}"? It will be removed from Cats without deleting package files.',"settings.apps.enableMessage":'Enable "{appDisplayName}"? It can appear in Cats wherever its permissions allow.',"settings.apps.disableMessage":'Disable "{appDisplayName}"? It will stop appearing in Lobby and scoped app routes.',"settings.apps.installTitle":"Install app","settings.apps.installMessage":'Install "{appDisplayName}"? It will be enabled after install.',"settings.apps.localInstallReady":"Ready","settings.apps.localInstallNeedsReview":"Needs review","settings.apps.category.connector":"Connector","settings.apps.category.productModule":"Product module","settings.apps.category.userApp":"User app","settings.apps.installState.enabled":"Enabled","settings.apps.installState.installed":"Installed","settings.apps.installState.disabled":"Disabled","settings.apps.installState.error":"Error","settings.apps.installState.upgradePending":"Upgrade pending","settings.apps.installState.uninstalled":"Uninstalled","settings.apps.trustTier.localUser":"Local user","settings.apps.trustTier.system":"System","settings.apps.trustTier.thirdParty":"Third party","settings.apps.permissionCount":"{count} permission{pluralSuffix}","settings.apps.toolCount":"{count} tool{pluralSuffix}","settings.apps.capabilitySingular":"capability","settings.apps.capabilityPlural":"capabilities","settings.apps.connectorCountSingle":"{connector}: {count} {capabilityLabel}","settings.apps.connectorCountMany":"{connectorCount} connectors, {count} {capabilityLabel}","settings.apps.authLabel":"Auth","settings.apps.confirmMutationFailed":"Could not confirm the action. Please retry.","settings.apps.confirmMutationFailedFallback":"Action confirmation failed before execution.","settings.apps.mutationFailed":"{action} failed.","settings.apps.mutationFailedFallback":"The action failed.","settings.apps.packagePathRequired":"Package path is required.","settings.apps.validationFailed":"Package validation failed.","settings.apps.error.notInstalled":'Cats app "{appId}" is not installed.',"settings.apps.error.notEnabled":'Cats app "{appId}" is not enabled.',"settings.apps.error.packagePathNotFound":"Package path does not exist: {path}.","settings.apps.error.invalidManifestJson":"cats.app.json is not valid JSON.","settings.apps.error.cannotReadManifest":"Cannot read cats.app.json.","settings.apps.error.reservedAppId":'Cats app id "{appId}" is reserved.',"settings.apps.error.duplicateAppId":'Cats app id "{appId}" is already installed.',"settings.apps.error.manifestInvalid":"Cats app manifest must be an object.","settings.apps.error.validationIssueWithPath":"Package validation failed at {path}: {code}.","settings.apps.error.validationIssue":"Package validation failed: {code}.","settings.apps.openPairingUrl":"Open pairing URL","settings.data.resetAllDataTitle":"Reset all data","settings.data.resetAllDataDescription":"This will erase all chats, cats, accounts, login sessions, and setup state. You will be returned to the setup wizard.","settings.data.resetButtonResetting":"Resetting...","settings.data.resetButtonLabel":"Reset all data","settings.data.resetFailure":"Failed to reset setup.","settings.conversation.preferenceUpdateFailure":"Failed to update preference.","settings.desktop.mobilePairingTitle":"Mobile pairing","settings.desktop.mobilePairingDescription":"LAN readiness for the bundled Expo Go mobile shell.","settings.desktop.mobilePairingStatusDisabled":"Disabled","settings.desktop.mobilePairingStatusLoopbackOnly":"Loopback only","settings.desktop.mobilePairingStatusNoLanAddress":"No LAN address","settings.desktop.mobilePairingStatusReady":"Ready","settings.desktop.mobilePairingStatusValidationPending":"Manifest validation pending","settings.desktop.mobilePairingEnableLabel":"Enable mobile pairing","settings.desktop.mobilePairingEnableDescription":"Writes the desktop .env values needed for LAN access. Restart Cats Desktop after applying.","settings.desktop.mobilePairingEnableButton":"Enable","settings.desktop.mobilePairingApplyingButton":"Applying...","settings.desktop.mobilePairingBindLabel":"Bind","settings.desktop.mobilePairingReachabilityLabel":"Reachability","settings.desktop.mobilePairingLanAddressLabel":"LAN address","settings.desktop.mobilePairingNoneLabel":"None","settings.desktop.mobilePairingReachabilityLoopback":"Loopback","settings.desktop.mobilePairingReachabilityLan":"LAN address","settings.desktop.mobilePairingReachabilityAllInterfaces":"All interfaces","settings.desktop.mobilePairingReachabilityOtherInterface":"Interface mismatch","settings.desktop.mobilePairingAllowLanLabel":"Allow LAN access","settings.desktop.mobilePairingAllowLanDescription":"Cats is bound to loopback. Restart with {bindOverrideEnv} before scanning from a phone.","settings.desktop.mobilePairingApplyAndRestartButton":"Apply and restart","settings.desktop.mobilePairingNoLanAddressNote":"No non-loopback LAN IPv4 address was detected.","settings.desktop.mobilePairingHostMismatchNote":"The current bind host does not match a LAN IPv4 address.","settings.desktop.mobilePairingDiagnosticLabel":"Diagnostic manifest","settings.desktop.mobilePairingDiagnosticCopyButton":"Copy URL","settings.desktop.mobilePairingDiagnosticCopiedMessage":"Copied diagnostic manifest URL.","settings.desktop.mobilePairingExpoUrlLabel":"Expo Go URL","settings.desktop.mobilePairingExpoUrlCopiedMessage":"Copied Expo Go URL.","settings.desktop.mobilePairingCopyUrlButton":"Copy URL","settings.desktop.mobilePairingQrUrlTooLong":"URL too long","settings.desktop.mobilePairingQrCodeLabel":"Mobile pairing QR code","settings.desktop.mobilePairingNoPairingUrlStatus":"QR pending","settings.desktop.mobilePairingOpenPairingUrlLabel":"Open pairing URL","settings.desktop.mobilePairingCopyEnvValuesSuccess":"Copied mobile pairing env values.","settings.desktop.mobilePairingConfirmRestart":"Apply 0.0.0.0 binding and restart Cats Desktop now? Unsaved changes will be lost.","settings.desktop.mobilePairingDesktopUpdateSuccess":"Updated {envPath}. Restarting Cats Desktop…","settings.desktop.mobilePairingDesktopUpdateFailure":"Failed to update desktop env.","settings.desktop.updatesTitle":"App updates","settings.desktop.updatesDescription":"Check for and install Cats desktop updates. Downloads never start on their own.","settings.desktop.updatesCurrentVersionLabel":"Installed version","settings.desktop.updatesChannelLabel":"Release channel","settings.desktop.updatesLastCheckedLabel":"Last checked","settings.desktop.updatesLastCheckedNever":"Not checked yet","settings.desktop.updatesAvailableVersionLabel":"Available version","settings.desktop.updatesStatusUnavailable":"Updates unavailable","settings.desktop.updatesStatusIdle":"Ready to check","settings.desktop.updatesStatusChecking":"Checking","settings.desktop.updatesStatusUpToDate":"Up to date","settings.desktop.updatesStatusAvailable":"Update available","settings.desktop.updatesStatusDownloading":"Downloading","settings.desktop.updatesStatusDownloaded":"Ready to install","settings.desktop.updatesStatusInstalling":"Installing","settings.desktop.updatesStatusFailed":"Update failed","settings.desktop.updatesActionCheck":"Check for Updates","settings.desktop.updatesActionChecking":"Checking…","settings.desktop.updatesActionDownload":"Download Update","settings.desktop.updatesActionDownloading":"Downloading…","settings.desktop.updatesActionRestartInstall":"Restart and Install","settings.desktop.updatesActionInstalling":"Installing…","settings.desktop.updatesToastUpToDate":"Cats is already up to date.","settings.desktop.updatesWindowsInstallerNotice":"Cats will close and the Windows installer will open. You may be asked to confirm the installation folder.","settings.desktop.updatesLinuxInstallerNotice":"Cats will close and the update will be installed with dpkg, which asks for your password.","settings.desktop.updatesPreviewNotice":"This is an unsigned preview build. Updates are for testing the release flow and are not a supported installation.","settings.desktop.updatesErrorOffline":"Cats could not reach the update service.","settings.desktop.updatesErrorTimeout":"The update service did not respond in time.","settings.desktop.updatesErrorProviderRejected":"The update service rejected the request.","settings.desktop.updatesErrorMetadataInvalid":"The update information could not be read.","settings.desktop.updatesErrorChecksumMismatch":"The downloaded update failed its integrity check.","settings.desktop.updatesErrorSignatureRejected":"The downloaded update failed its signature check.","settings.desktop.updatesErrorUnsupportedPackage":"This installation cannot update itself.","settings.desktop.updatesErrorDownloadCancelled":"The update download was cancelled.","settings.desktop.updatesErrorInstallHandoffFailed":"Cats could not open the installer.","settings.desktop.updatesErrorUnknown":"The update could not be completed.","settings.desktop.startupTitle":"Startup behavior","settings.desktop.startupDescription":"Control whether Cats Desktop starts when you sign in, whether it opens the main window automatically after sign-in startup, and whether closing the window keeps Cats available in the system tray.","settings.desktop.startupSignInLabel":"Start Cats Desktop when you sign in to your computer","settings.desktop.startupSignInDescription":"Keep Cats Desktop ready in the background as soon as you sign in.","settings.desktop.startupTrayLabel":"Keep Cats in the system tray when you close the window","settings.desktop.startupTrayDescription":"When enabled, closing the window hides Cats and keeps it running. When disabled, closing the window quits Cats.","settings.desktop.startupOpenWindowLabel":"Open Cats after sign-in startup","settings.desktop.startupOpenWindowDescription":"When disabled, Cats can start in the background after you sign in without opening the main window automatically. Opening Cats yourself still shows the app.","work.newChatDraft.startProjectChipLabel":"Start a project","work.newChatDraft.startProjectPrompt":"Spin up a new project workspace and outline its milestones.","work.newChatDraft.addTaskChipLabel":"Add a task","work.newChatDraft.addTaskPrompt":"Capture a new task with owner, deadline, and priority.","work.newChatDraft.planSprintChipLabel":"Plan a sprint","work.newChatDraft.planSprintPrompt":"Plan the next sprint with goals and a delivery cadence.","work.newChatDraft.scheduleReviewChipLabel":"Schedule a review","work.newChatDraft.scheduleReviewPrompt":"Schedule a project review with the right cats invited.","work.newChatDraft.triageBacklogChipLabel":"Triage backlog","work.newChatDraft.triageBacklogPrompt":"Walk the backlog with me and triage what to ship next.","work.items.listTitle":"Work items","work.items.newAction":"New work item","work.items.importExternalIssueAction":"Import issue","work.items.importExternalIssueAriaLabel":"Import external issue","work.items.createNewWorkItem":"New work item","work.items.createNewWorkItemAriaLabel":"Create new work item","work.items.loading":"Loading work items…","work.items.loadError":"Failed to load work items: {errorMessage}","work.items.emptyIntro":"No work items yet. Click","work.items.emptyActionLabel":"New work item","work.items.emptySuffix":"to create one.","work.items.projectPrefix":"in {projectTitle}","work.items.projectOrphan":"orphan","work.items.pill.decision":"decision","work.items.pill.blocked":"blocked","work.items.tasksLabel":"tasks","work.items.openWorkItemAriaLabel":"Open work item {title}","work.items.parentWorkItemTooltip":"Parent work item: {parentTitle}","work.item.backLabel":"Work items","work.item.backArrowLabel":"← Work items","work.item.updatedAtPrefix":"updated {updatedAt}","work.item.deleteLabel":"Delete work item","work.item.deleteLabelBusy":"Deleting…","work.item.deleteConfirmation":`Delete work item "{title}"?
@@ -35,7 +35,7 @@ Cats 會先透過監督式執行階段工作階段要求執行階段取消,再
35
35
  使用 /mode companion 或 /mode agent 來切換。`,"telegram.command.mode.unknown":`未知模式:{mode}
36
36
  請使用 /mode companion 或 /mode agent。`,"telegram.command.mode.switchUnavailable":"這個 bot 綁定目前無法切換模式。","telegram.command.mode.switched":`已將 {name} 切換為{mode}模式。
37
37
  之後此聊天中的一般訊息會使用該模式。`,"telegram.command.unknownCommand":`未知指令:/{command}
38
- 輸入 /help 查看可用指令。`,"workDelivery.action.startWork":"開始執行","workDelivery.action.cancel":"取消","workDelivery.action.publish":"發布","workDelivery.action.deny":"不要發布","workDelivery.timeout.reason":"某個步驟超過時間預算而被放棄。","workDelivery.permissionDenied.reason":"監督層拒絕了 {tool}({code})。","workDelivery.permissionDenied.consequence":"在 Cats 授予該權限之前,重試會以同樣的方式失敗。","workDelivery.timeout.consequence":"沒有交付任何東西。可以重試再跑一次。","workDelivery.action.retry":"重試","workDelivery.action.resume":"繼續","workDelivery.retry.started":"正在重試這項工作。","workDelivery.resume.started":"正在繼續這項工作。","workDelivery.lifecycle.refused":"目前無法這麼做:{reason}","workDelivery.publish.requested":"發布需要你的核准:{gates}","workDelivery.publish.consequence":"在你核准之前不會有任何東西離開這台機器。","workDelivery.publish.denied":"已婉拒發布。結果留在本機,不會發布。","workDelivery.publish.blocked":"發布無法完成:{reasons}","workDelivery.publish.done":"已發布:{actions}","workDelivery.publish.pendingChecks":"目前已完成:{actions}。檢查仍在執行中。","workDelivery.publish.pendingConsequence":"在檢查結束後再按一次發布之前,不會有後續動作。","workDelivery.stage.publishing":"發布中","workDelivery.accepted.title":"已收到:{goal}","workDelivery.accepted.body":"正在檢查準備狀態並整理工作範圍。","workDelivery.notReady.title":"目前還無法接下這項工作。","workDelivery.notReady.footer":"請開啟 Cats 修正以下項目。目前沒有任何工作被排入佇列。","workDelivery.readiness.bindingDisabled":"此 Telegram 綁定已停用。","workDelivery.readiness.bindingUnhealthy":"此 Telegram 綁定目前收不到更新。","workDelivery.readiness.ownerNotAuthorized":"你不是此綁定的授權擁有者。","workDelivery.readiness.catNotBound":"此綁定尚未指定貓咪。","workDelivery.readiness.executionTargetMissing":"綁定的貓咪尚未設定供應商或模型。","workDelivery.readiness.capabilityProfileMissing":"供應商能力設定檔尚未建立。","workDelivery.readiness.workspaceMissing":"尚未選擇專案或工作區。","workDelivery.readiness.section.title":"Telegram 工作委派","settings.capabilityBootstrap.title":"Provider 能力初始設定","settings.capabilityBootstrap.description":"在 Cats 實際觀察過某個 provider 之前要信任它多少。變更會先驗證,再寫入平台 YAML 設定。","settings.capabilityBootstrap.configPathLabel":"設定檔","settings.capabilityBootstrap.statusLabel":"狀態","settings.capabilityBootstrap.statusLoaded":"已載入","settings.capabilityBootstrap.statusMissing":"沒有設定檔 —— 套用 provider 預設值","settings.capabilityBootstrap.statusInvalid":"設定檔無法解析","settings.capabilityBootstrap.rulesLabel":"生效的規則","settings.capabilityBootstrap.diagnosticsLabel":"診斷","settings.capabilityBootstrap.installExample":"安裝內建範例","settings.capabilityBootstrap.installFailed":"無法安裝內建範例。","settings.capabilityBootstrap.restartRequired":"磁碟上的檔案已變更,需重新啟動 Cats 才會生效。","settings.capabilityBootstrap.editHint":"Provider 為必填;instance、model 與 control 可將規則限縮到更精確的執行目標。在 Cats 實際觀察 provider 之前,信心層級固定為 catalog-only。","settings.capabilityBootstrap.noRules":"尚未設定任何能力初始規則。","settings.capabilityBootstrap.ruleTitle":"規則 {number}","settings.capabilityBootstrap.ruleId":"規則 ID","settings.capabilityBootstrap.provider":"Provider","settings.capabilityBootstrap.instance":"Instance(選填)","settings.capabilityBootstrap.model":"Model(選填)","settings.capabilityBootstrap.control":"Control(選填)","settings.capabilityBootstrap.treatment":"初始處置","settings.capabilityBootstrap.treatmentStrong":"Strong agent","settings.capabilityBootstrap.treatmentWeak":"Weak worker","settings.capabilityBootstrap.reason":"理由","settings.capabilityBootstrap.addRule":"新增規則","settings.capabilityBootstrap.removeRule":"移除規則","settings.capabilityBootstrap.moveUp":"上移","settings.capabilityBootstrap.moveDown":"下移","settings.capabilityBootstrap.save":"儲存規則","settings.capabilityBootstrap.reload":"重新載入","settings.capabilityBootstrap.saveFailed":"無法儲存能力初始規則。","settings.capabilityBootstrap.validationFailed":"請先修正無效或重複的能力規則再儲存。","settings.capabilityBootstrap.revisionConflict":"設定已在 Cats 外被變更,請重新載入後再儲存。","settings.capabilityBootstrap.loading":"正在讀取能力初始設定…","settings.capabilityBootstrap.loadError":"無法讀取能力初始設定。","workDelivery.readiness.section.description":"目前 Telegram binding 是否能接受 `/work`,以及還缺什麼。","workDelivery.readiness.section.disabled":"此主機未啟用透過 Telegram 委派工作。","workDelivery.readiness.section.loading":"正在檢查委派整備狀態…","workDelivery.readiness.section.loadError":"無法載入委派整備狀態。","workDelivery.readiness.section.noBindings":"尚未設定任何 Telegram bot binding。","workDelivery.readiness.status.ready":"已就緒","workDelivery.readiness.status.blocked":"受阻","workDelivery.readiness.workspaceLabel":"工作區","workDelivery.readiness.workspaceUnset":"未設定","workDelivery.readiness.deliveryModeLabel":"預設交付方式","workDelivery.readiness.toolScopeLabel":"授予的工具範圍","workDelivery.readiness.authorizedOwnersLabel":"已授權的擁有者","workDelivery.readiness.localExecutionLabel":"本機執行","workDelivery.readiness.localExecutionHealthy":"正常","workDelivery.readiness.localExecutionDegraded":"降級","workDelivery.readiness.localExecutionUnavailable":"無法使用","workDelivery.readiness.localExecutionUnknown":"尚未檢查","workDelivery.readiness.blockersLabel":"待修正項目","workDelivery.readiness.openRemediation":"前往","workDelivery.readiness.refresh":"重新檢查","workDelivery.readiness.workspaceUnreachable":"無法讀取設定的工作區路徑,請確認路徑存在且 runtime 正在執行。","workDelivery.readiness.workspaceNotARepository":"此交付模式需要 git 儲存庫,但設定的工作區不是。","workDelivery.readiness.workspaceNotClean":"儲存庫已有未交付的變更。請先交付、stash 或捨棄它們再交辦工作。","workDelivery.readiness.deliveryPolicyUnresolved":"無法解析有效的交付政策。","workDelivery.readiness.backgroundServiceUnavailable":"本機執行 runtime 無法使用,因此無法在此執行工作。","workDelivery.proposal.title":"工作範圍(版本 {revision})","workDelivery.proposal.goal":"目標:{goal}","workDelivery.proposal.target":"對象:{target}","workDelivery.proposal.doneWhen":"完成條件:{criteria}","workDelivery.proposal.delivery":"交付方式:{mode}","workDelivery.proposal.sideEffects":"副作用:{effects}","workDelivery.proposal.gates":"審核關卡:{gates}","workDelivery.proposal.question":"待確認:{question}","workDelivery.proposal.confirm":"按下「開始執行」就會照這份範圍執行。","workDelivery.value.none":"無","workDelivery.value.notSpecified":"未指定","workDelivery.sideEffects.artifactOnly":"會在所選工作區內寫入檔案。","workDelivery.sideEffects.commitOnly":"會在所選工作區內寫入檔案,並建立一個本機 git commit。","workDelivery.sideEffects.pushBranch":"會寫入檔案、建立 commit,並推送分支到已設定的遠端。","workDelivery.sideEffects.prWithChecks":"會寫入檔案、建立 commit、推送分支、開啟 pull request 並等待檢查。","workDelivery.sideEffects.deployPreview":"會寫入檔案、建立 commit、推送分支,並發布預覽部署。","workDelivery.progress":"{stage}:{milestone}","workDelivery.stage.admitted":"已受理","workDelivery.stage.running":"執行中","workDelivery.stage.cancelled":"已取消","workDelivery.milestone.cancelled":"擁有者已取消這項工作,不會再執行。","workDelivery.milestone.admitted":"任務已核准,受監督的 Run 已排入佇列。","workDelivery.decision.title":"需要你做個決定才能繼續。","workDelivery.decision.reason":"原因:{reason}","workDelivery.decision.consequence":"若未處理:{consequence}","workDelivery.decision.evidenceReason":"執行已回傳,但未達成完成條件:{gaps}。","workDelivery.decision.evidenceConsequence":"工作維持阻塞狀態,不會交付任何成果。","workDelivery.result.title":"結果:{goal}","workDelivery.result.commit":"Commit:{commitId}","workDelivery.result.artifact":"產出物:{title}","workDelivery.result.acceptanceMet":"完成條件:已達成","workDelivery.result.acceptanceUnmet":"完成條件:未達成({gaps})","workDelivery.result.waitingOn":"等待中:{gates}","workDelivery.inbound.attachmentNotIngested":"我目前還無法讀取附件,所以沒有開始任何工作。請改用文字描述,或到 Cats Desktop 繼續。","workDelivery.inbound.goalRequired":"請告訴我要做什麼,例如:/work 為 0.1.21 加上 changelog 條目","workTask.goldenPath.title":"傳輸交付","workTask.goldenPath.stage":"階段","workTask.goldenPath.sourceTitle":"來源","workTask.goldenPath.binding":"綁定","workTask.goldenPath.bindingMissing":"綁定已移除","workTask.goldenPath.scopeTitle":"已授權範圍","workTask.goldenPath.revision":"版本","workTask.goldenPath.target":"對象","workTask.goldenPath.workspace":"工作區","workTask.goldenPath.doneWhen":"完成條件","workTask.goldenPath.delivery":"交付方式","workTask.goldenPath.gates":"待審核關卡","workTask.goldenPath.authorizationTitle":"擁有者授權","workTask.goldenPath.authorizedBy":"由 {actor} 於 {at} 授權","workTask.goldenPath.authorizedFrom":"來自綁定 {binding},版本 {revision}","workTask.goldenPath.notAuthorized":"尚未授權。","workTask.goldenPath.evidenceTitle":"完成證據","workTask.goldenPath.commit":"Commit","workTask.goldenPath.validation":"檢查","workTask.goldenPath.validationPassed":"通過","workTask.goldenPath.validationFailed":"未通過","workTask.goldenPath.artifacts":"產出物","workTask.goldenPath.unmet":"未達成條件","workTask.goldenPath.noEvidence":"尚無已接受的證據。","workTask.goldenPath.blockers":"阻塞原因","workTask.goldenPath.permissionDenial":"權限被拒","workTask.goldenPath.permissionDenialDetail":"{tool} 被以 {code} 拒絕。請先在 Cats 授予權限再重試。","workTask.goldenPath.deliveryTitle":"交付嘗試","workTask.goldenPath.noAttempts":"尚未送出任何訊息。","workTask.goldenPath.attempt":"{purpose}:{state}(第 {count} 次)","workTask.goldenPath.receipt":"回執:訊息 {messageId},時間 {at}","workTask.goldenPath.retryDelivery":"重送交付","workTask.goldenPath.retrying":"重送中…","workTask.goldenPath.retryFailed":"交付仍然失敗:{reason}","workTask.goldenPath.retryUnavailable":"沒有可重送的項目。","workTask.goldenPath.retryRun":"重試執行","workTask.goldenPath.resumeRun":"繼續執行","workTask.goldenPath.lifecycleFailed":"無法執行:{reason}","workTask.goldenPath.stage.received":"已收到","workTask.goldenPath.stage.scopeProposed":"已提出範圍","workTask.goldenPath.stage.executionAuthorized":"已授權執行","workTask.goldenPath.stage.admitted":"已受理","workTask.goldenPath.stage.running":"執行中","workTask.goldenPath.stage.decisionNeeded":"需要決定","workTask.goldenPath.stage.resultReady":"結果待確認","workTask.goldenPath.stage.publishAuthorized":"已可發布","workTask.goldenPath.stage.delivered":"已交付","workTask.goldenPath.stage.failed":"失敗","workTask.goldenPath.stage.cancelled":"已取消","shared.operator.noTimestamp":"沒有時間","shared.operator.runStatus.running":"進行中","shared.operator.runStatus.blocked":"受阻","shared.operator.runStatus.completed":"已完成","shared.operator.runStatus.failed":"失敗","shared.operator.runStatus.cancelled":"已取消","shared.operator.runStatus.queued":"排隊中","shared.operator.runStatus.title":"執行狀態","shared.operator.branchStatus.pending":"等待中","shared.operator.branchStatus.running":"執行中","shared.operator.branchStatus.completed":"已完成","shared.operator.branchStatus.failed":"失敗","shared.operator.branchStatus.blocked":"受阻","shared.operator.branchStatus.cancelled":"已取消","shared.operator.branchStatus.waitingForConverge":"等待匯合","shared.operator.checkpointStatus.completed":"完成","shared.operator.checkpointStatus.cancelled":"已取消","shared.operator.checkpointStatus.open":"進行中","shared.operator.outcomeStatus.succeeded":"成功","shared.operator.outcomeStatus.blocked":"受阻","shared.operator.outcomeStatus.failed":"失敗","shared.operator.outcomeStatus.cancelled":"已取消","shared.operator.traceKind.approval":"批准","shared.operator.traceKind.checkpoint":"檢查點","shared.operator.traceKind.dispatch":"派工","shared.operator.traceKind.error":"錯誤","shared.operator.traceKind.outcome":"結果","shared.operator.traceKind.status":"狀態","shared.operator.traceKind.note":"附註","shared.operator.activity.label.recovery":"復原","shared.operator.activity.label.replay":"重放","shared.operator.activity.label.decision":"決策","shared.operator.activity.label.action":"動作","shared.operator.activity.label.artifact":"成果物","shared.operator.activity.label.update":"更新","shared.operator.activity.label.trace":"軌跡","shared.operator.eyebrow.inspector":"檢視器","shared.operator.runInspector.title":"執行檢視","shared.operator.runInspector.noHistory":"請選擇一個有歷史紀錄的房間,以查看軌跡與檢查點。","shared.operator.runInspector.summaryFallback":"這裡會顯示本次執行的軌跡、檢查點與結果紀錄。","shared.operator.meta.started":"開始於 {time}","shared.operator.meta.updated":"更新於 {time}","shared.operator.meta.stage":"階段:{stage}","shared.operator.workflowStage.blocked":"受阻","shared.operator.workflowStage.concurrentFanOut":"並行展開","shared.operator.workflowStage.continuationHandoff":"續接交接","shared.operator.workflowStage.convergeReview":"匯合檢閱","shared.operator.workflowStage.dispatch":"派工","shared.operator.workflowStage.initialDispatch":"初始派工","shared.operator.workflowStage.runtimeError":"執行階段錯誤","shared.operator.workflowStage.startupRecovery":"啟動復原","shared.operator.workflowStage.turnCompleted":"回合完成","shared.operator.meta.shape":"形態:{shape}","shared.operator.meta.reviewRequired":"需要檢閱","shared.operator.meta.guardrail":"保護條件:{guardrail}","shared.operator.meta.cooldown":"冷卻:{cooldown}","shared.operator.guard.maxContinuations":"達到最大續接次數","shared.operator.guard.maxDispatches":"達到最大派工次數","shared.operator.guard.maxTargetVisits":"達到單一目標最大造訪次數","shared.operator.guard.antiPingPong":"防止來回轉派","shared.operator.cooldown.active":"冷卻中","shared.operator.section.trace":"軌跡","shared.operator.section.checkpoints":"檢查點","shared.operator.noCheckpointsRecorded":"本次執行尚無檢查點紀錄。","shared.operator.checkpointSummaryFallback":"已紀錄檢查點。","shared.operator.section.branches":"分支","shared.operator.noBranchesRecorded":"本次執行尚無分支或交接紀錄。","shared.operator.branch.handoff":"交接:{handoffReason}","shared.operator.branch.strategy":"策略:{strategy}","shared.operator.branchStrategy.forkIfPossible":"可行時分支","shared.operator.branchStrategy.freshNoParent":"新分支無父層","shared.operator.branchStrategy.singleTargetReview":"單一目標檢閱","shared.operator.branchStrategy.transplantContext":"沿用上下文","shared.operator.branchHandoff.explicitMention":"明確提及","shared.operator.branchHandoff.operatorReroute":"操作員改派","shared.operator.branchHandoff.roomDefault":"房間預設","shared.operator.branchHandoff.roomEntry":"進入房間","shared.operator.branchHandoff.runtimeRetry":"執行階段重試","shared.operator.branchHandoff.workflowContinuation":"工作流程續接","shared.operator.branch.fromCheckpoint":"來源檢查點:{checkpointId}。","shared.operator.branch.noLineage":"尚未錄到檢查點血緣。","shared.operator.section.outcomes":"結果","shared.operator.noOutcomesRecorded":"本次執行尚無結果紀錄。","shared.operator.outcomeSummaryFallback":"已紀錄結果。","shared.operator.eyebrow.progress":"進度","shared.operator.noActiveRun":"目前沒有啟動中的 room 執行。請先開始或繼續對話以查看派工狀態。","shared.operator.progressSummaryFallback":"目前可檢視 room 的編排狀態。","shared.operator.metric.dispatches":"派工次數","shared.operator.metric.continuations":"續接次數","shared.operator.metric.targets":"目標數","shared.operator.approvalPending.singular":"{count} 項待處理同意","shared.operator.approvalPending.plural":"{count} 項待處理同意","shared.operator.meta.delivery":"交付:{deliveryMode}","shared.operator.meta.gates":"門檻:{gates}","shared.operator.meta.budget":"預算:{budgetLevel}","shared.operator.deliveryMode.artifactOnly":"僅成果物","shared.operator.deliveryMode.commitOnly":"僅提交","shared.operator.deliveryMode.deployPreview":"部署預覽","shared.operator.deliveryMode.prWithChecks":"含檢查的 Pull Request","shared.operator.deliveryMode.pushBranch":"推送分支","shared.operator.deliveryGate.manualReviewRequired":"需要人工檢閱","shared.operator.deliveryGate.ownerApprovalRequired":"需要擁有者核准","shared.operator.deliveryGate.publishArtifactRequired":"需要發布成果物","shared.operator.budgetLevel.normal":"正常","shared.operator.budgetLevel.warning":"警告","shared.operator.budgetLevel.blocked":"受阻","shared.operator.workflowShape.sequential":"依序","shared.operator.workflowShape.concurrent":"並行","shared.operator.workflowShape.converge":"匯合","shared.operator.inspectRunButton":"檢視執行","shared.operator.noTraceRecords":"本次執行尚無軌跡紀錄。","shared.operator.action.requestRetry":"要求重試","shared.operator.action.retryAgain":"再次重試","shared.operator.action.retrying":"重試中","shared.operator.action.retryRequested":"已要求重試","shared.operator.action.acknowledge":"標記已知悉","shared.operator.action.acknowledged":"已知悉","shared.operator.action.retryDescription":"記錄操作員希望重試這個受阻或失敗的執行。","shared.operator.action.replayStoredDispatchDescription":"透過既有操作員路徑重放已儲存的派工或工作流程延續。","shared.operator.action.retryTaskDescription":"記錄操作員希望重試這個受阻或失敗的任務。","shared.operator.action.retryFailedDescription":"重試失敗。操作員可以再次重放已儲存的派工。","shared.operator.action.acknowledgeDescription":"記錄操作員已查看目前的保護條件或事件狀態。","shared.operator.action.acknowledgeBlockedDescription":"記錄操作員已查看目前受阻或失敗的狀態。","shared.operator.action.status.retryInProgress":"重試進行中","shared.operator.action.status.retryFailed":"重試失敗","shared.operator.action.status.retryFailedWithError":"重試失敗:{error}","shared.operator.action.status.retryDispatched":"已派送重試","shared.operator.action.status.retryRequested":"已要求重試","shared.operator.action.status.acknowledged":"已知悉","shared.common.apply":"套用","shared.common.cancel":"取消","shared.common.close":"關閉","shared.common.delete":"刪除","shared.common.retry":"重試","shared.guideCat.panelGreeting":"嗨 {ownerDisplayName},我是 {guideCatName},你的導覽貓。可以點這些項目開始,或關閉面板自己探索吧。","shared.guideCat.welcomeGreeting":"歡迎,{ownerDisplayName}。我是你的導覽貓。這裡有一些你可以先嘗試的功能。","shared.guideCat.welcomeStartChat":"先開始一則聊天","shared.guideCat.welcomeMeetCats":"認識你的貓","shared.guideCat.welcomeExploreProducts":"探索產品","shared.guideCat.welcomeHideNow":"先隱藏","shared.guideCat.pillOpenLabel":"開啟導覽:{guideCatName}","shared.guideCat.pillDisableLabel":"停用導覽貓","shared.guideCat.dockUndockLabel":"取消停駐 {guideCatName}","shared.guideCat.dialog.disableTitle":"停用 {guideCatName}?","shared.guideCat.dialog.disableMessage":"這會關閉 {guideCatName} 的導覽幫助。若只是想先藏起來,可先將其收進側欄。你隨時可以回到「設定」>「助手」重新開啟。","shared.guideCat.dialog.disableConfirm":"停用","shared.guideCat.dialog.keepEnabled":"保留啟用","shared.guideCat.dialog.dockNow":"立即收合","shared.imageUpload.clickHint":"點擊以選擇圖片","shared.imageUpload.dragHint":"拖曳來移動畫面,滾動可縮放","shared.workspaceNavigation.deleteChannelRuntimeCleanupFeedbackOne":"對話已刪除;Cats 執行階段保留了 {count} 個連結的執行階段工作階段。如需清理磁碟,請開啟執行階段診斷。","shared.workspaceNavigation.deleteChannelRuntimeCleanupFeedbackMany":"對話已刪除;Cats 執行階段保留了 {count} 個連結的執行階段工作階段。如需清理磁碟,請開啟執行階段診斷。","shared.workspaceNavigation.renameChatError":"重新命名聊天失敗。","shared.workspaceNavigation.deleteChatError":"刪除聊天失敗。","shared.workspaceNavigation.renameParallelChatError":"重新命名平行聊天失敗。","shared.workspaceNavigation.ungroupParallelChatError":"取消群組平行聊天失敗。","shared.workspaceNavigation.deleteParallelChatGroupError":"刪除所有聊天失敗。","shared.workspaceNavigation.parallelChatFallbackName":"這個平行聊天","shared.workspaceNavigation.error.chatNotFound":"找不到這個聊天工作區。","shared.workspaceNavigation.error.channelNotFound":"找不到這個聊天室。","shared.workspaceNavigation.error.parallelChatGroupNotFound":"找不到這個平行聊天群組。","shared.workspaceNavigation.error.titleRequired":"聊天標題不可空白。","shared.workspaceNavigation.error.parallelChatTitleRequired":"平行聊天標題不可空白。","shared.settingsCatsRegistry.sectionLabel":"註冊表","shared.settingsCatsRegistry.savedCatsLabel":"已儲存貓咪","shared.settingsCatsRegistry.noCatsYetLabel":"尚未有貓咪","shared.settingsCatsRegistry.showArchivedLabel":"顯示封存({count})","shared.settingsCatsRegistry.bossCatLabel":"主控貓","shared.settingsCatsRegistry.recoverLabel":"恢復","shared.settingsCatsRegistry.recoverTooltip":"恢復 {name}","shared.settingsCatsRegistry.deleteTooltip":"刪除 {name}","shared.settingsCatsRegistry.archiveTooltip":"封存 {name}","shared.settingsCatsRegistry.defaultSkillProfileLabel":"預設","shared.settingsCatsRegistry.memorySavedLabel":"已記憶","shared.settingsCatsRegistry.noMemoryYetLabel":"尚未有記憶","shared.settingsCatsRegistry.botBindingCount":"{count} 個機器人","shared.settingsCatsRegistry.emptyStateHint":"從右側面板新增第一隻貓咪。","shared.settingsCats.selectCatAriaLabel":"選擇貓咪","shared.settingsCats.addNewCatLabel":"新增貓咪","shared.settingsCats.showArchivedLabel":"顯示封存({count})","shared.settingsCats.archiveLabel":"封存","shared.settingsCats.deleteLabel":"刪除","shared.settingsCats.channelLabel":"通道","shared.settingsCats.memoryLabel":"記憶","shared.settingsCats.renameLabel":"重新命名","shared.settingsCats.save":"儲存","shared.settingsCats.saving":"儲存中…","shared.settingsCats.bossCatLabel":"主控貓","shared.settingsCats.changeBossCatTitle":"更改主控貓","shared.settingsCats.changeBossCatMessage":"將 {name} 設為主控貓?這將更改新對話的預設接收對象。","shared.settingsCats.confirm":"確認","shared.settingsCats.setting":"設定中…","shared.settingsCats.saveSuccess":"貓咪已儲存。","shared.settingsCats.saveError":"儲存貓咪失敗。","shared.settingsCats.renameSuccess":"貓咪已重新命名。","shared.settingsCats.renameError":"重新命名貓咪失敗。","shared.settingsCats.deleteSuccess":"{catName} 已刪除。","shared.settingsCats.deleteError":"刪除貓咪失敗。","shared.settingsCats.bossUpdated":"主控貓已更新。","shared.settingsCats.status.active":"啟用","shared.settingsCats.status.archived":"已封存","shared.settingsCats.makeBossCatLabel":"將 {name} 設為主控貓","shared.settingsCats.setBossCatLabel":"設為主控貓","shared.settingsCats.setBossCatError":"無法將其設為主控貓。","shared.settingsCats.skillUpdateError":"更新技能失敗。","shared.settingsCats.skillProfileLabel":"技能檔案","shared.settingsCats.mcpProfileLabel":"工具檔案","shared.settingsCats.mcpProfileChatMemoryLabel":"聊天記憶","shared.settingsCats.mcpProfileWorkMemoryLabel":"工作記憶","shared.settingsCats.changeMcpProfileError":"無法變更工具檔案。","shared.settingsCats.coverPhotoLabel":"封面圖片","shared.settingsCats.changeCoverPhotoLabel":"更換封面圖片","shared.settingsCats.uploadCoverPhotoLabel":"上傳封面圖片","shared.settingsCats.changeCoverLabel":"更換封面","shared.settingsCats.uploadCoverLabel":"上傳封面","shared.settingsCats.removeCoverLabel":"移除封面","shared.settingsCats.changeSkillProfileError":"無法變更技能檔案。","shared.settingsCats.updateBrainError":"更新大腦設定失敗。","shared.settingsCats.disconnectTelegramAria":"中斷 Telegram 連線","shared.settingsCats.disconnectTelegram":"中斷連線","shared.settingsCats.bindingActive":"啟用","shared.settingsCats.bindingDisabled":"停用","shared.settingsCats.bindingPollingMode":"輪詢","shared.settingsCats.bindingWebhookMode":"Webhook","shared.settingsCats.telegramBindingCreated":"Telegram 機器人綁定已建立。","shared.settingsCats.telegramBindingCreateError":"建立綁定失敗。","shared.settingsCats.telegramBindingRemoved":"綁定已移除。","shared.settingsCats.telegramBindingRemoveError":"移除綁定失敗。","shared.settingsCats.telegramDiagnosticsLoadError":"載入 Telegram 診斷資訊失敗。","shared.settingsCats.lastInboundLabel":"最後入站 {time}","shared.settingsCats.connectTelegramLabel":"連線 Telegram","shared.settingsCats.unavailableHint":"已封存或非聊天貓無法使用。","shared.settingsCats.addMemoryLabel":"新增記憶","shared.settingsCats.deleteMemoryAria":"刪除記憶","shared.settingsCats.skillProfileDefaultLabel":"預設","shared.settingsCats.skillProfileCompanionLabel":"助手","shared.settingsCats.memoryCategoryPreferenceLabel":"偏好","shared.settingsCats.memoryCategoryFactLabel":"事實","shared.settingsCats.memoryCategoryPolicyLabel":"規範","shared.settingsCats.memoryCategoryStyleLabel":"風格","shared.settingsCats.memoryCategoryRelationshipLabel":"關係","shared.settingsCats.memoryCategoryLessonLabel":"學習","shared.settingsCats.fallbackCatName":"這隻貓咪","shared.settingsCats.archiveConfirmTitle":"封存貓咪","shared.settingsCats.archiveConfirmMessage":"要封存「{catName}」嗎?之後仍可從設定復原。","shared.settingsCats.archiveWithTelegramConfirmMessage":"要封存「{catName}」嗎?Telegram 機器人綁定會被移除,但之後仍可從設定復原。","shared.settingsCats.archiveSuccess":"{catName} 已封存。","shared.settingsCats.archiveError":"封存貓咪失敗。","shared.settingsCats.recoverConfirmTitle":"復原貓咪","shared.settingsCats.recoverConfirmMessage":"要從封存復原「{catName}」嗎?","shared.settingsCats.recoverConfirmLabel":"復原","shared.settingsCats.recoverSuccess":"{catName} 已復原。","shared.settingsCats.recoverError":"復原貓咪失敗。","shared.settingsCats.error.nameRequired":"請輸入貓咪名稱。","shared.settingsCats.error.providerRequired":"請選擇貓咪供應器。","shared.settingsCats.error.nameEmpty":"貓咪名稱不可空白。","shared.settingsCats.error.alreadyArchived":"這隻貓咪已封存。","shared.settingsCats.error.alreadyActive":"這隻貓咪已啟用。","shared.settingsCats.error.archiveRecoverConflict":"貓咪不可同時封存與復原。","shared.settingsCats.error.noProducts":"請至少為這隻貓咪選擇一個產品。","shared.settingsCats.error.botTokenDuplicate":"這個 bot token 已被另一個綁定使用。","shared.settingsCats.error.nameDuplicate":"已存在名為「{name}」的貓咪。","shared.settingsCats.error.limitReached":"已達貓咪數量上限(最多 {maxCats} 隻)。","shared.settingsCats.error.notFound":"找不到這隻貓咪。","shared.settingsCats.error.notActive":"這隻貓咪尚未啟用。","shared.settingsCats.error.notAvailableInChat":"這隻貓咪無法在 Cats Chat 使用。","shared.settingsCats.error.botBindingNotFound":"找不到 bot 綁定。","shared.platformSurfaceSwitcher.menuLabel":"切換產品","shared.platformSurfaceSwitcher.openLobby":"開啟大廳","shared.platformSurfaceSwitcher.ariaLabel":"切換產品。目前產品為 {productName}。","shared.providerModelBrainCard.title":"大腦","shared.providerModel.controls.default":"預設","shared.providerModel.controls.enabled":"啟用","shared.providerModel.controls.disabled":"停用","shared.providerModel.controls.optionalPlaceholder":"選填","shared.providerModel.field.providerLabel":"供應器","shared.providerModel.field.loadingProviders":"正在載入可用的供應器…","shared.providerModel.field.selectProviderHint":"請選擇可用的供應器","shared.providerModel.field.providerLoadFailed":"無法載入執行階段支援的供應器","shared.providerModel.field.noProviders":"沒有執行階段支援的供應器可用","shared.providerModel.field.registryCheckingHint":"正在檢查 cats-runtime 可用的供應器目標。","shared.providerModel.field.registryUsingProductCatalogHint":"檢查 cats-runtime 供應器目標時,先使用產品內建供應器目錄。","shared.providerModel.field.registryStaleHint":"cats-runtime 重新連線時,先顯示上次可用的供應器目標。","shared.providerModel.field.registryCachedRefreshFailedHint":"重新整理失敗,先顯示快取的供應器目標:{message}","shared.providerModel.field.registryLoadFailedHint":"無法從 cats-runtime 載入目前可用的供應器目標。","shared.providerModel.field.registryEmptyHint":"cats-runtime 已連線,但沒有回報任何目前可用的供應器目標。","shared.providerModel.field.providerInstanceLabel":"供應器實例","shared.providerModel.field.modelLabel":"模型","shared.providerModel.field.retryProvidersFirst":"請先重新載入供應器","shared.providerModel.field.selectProviderFirst":"請先選擇可用的供應器","shared.providerModel.field.waitingProviders":"正在等待可用的供應器…","shared.providerModel.field.loadingModels":"正在載入可用模型…","shared.providerModel.field.selectModel":"選擇模型","shared.providerModel.field.noModels":"沒有執行階段支援的模型可用","shared.providerModel.field.customLegacyModelLabel":"自訂舊版模型…","shared.providerModel.field.legacyModelIdLabel":"舊版模型 ID","shared.providerModel.field.legacyModelIdPlaceholder":"例如 claude-sonnet-4-6","shared.providerModel.field.legacyModelIdHint":"手動輸入模型 ID 會直接傳遞。執行階段會把它視為舊版 `model` 欄位,而不是結構化項目/預設選擇。","shared.providerModel.field.modeLabel":"模式","shared.providerModel.field.modeStandardLabel":"標準","shared.providerModel.field.modeStandardOnlyLabel":"僅標準","shared.providerModel.field.presetPreviewSuffix":"(預覽)","shared.providerModel.field.presetUnavailableSuffix":"(不可用)","shared.providerModel.field.presetTuningDescriptionFallback":"這個模型的額外參數。","shared.providerModel.field.modeOnlyBaseHint":"此供應器目標只會對持久化的聊天/會話設定曝光基礎模型。","shared.providerModel.field.requestScopedWarning":"這裡隱藏了只可套用於個別請求的覆寫,因為這組選擇器會寫回聊天/會話預設。","shared.providerModel.field.openRuntimeSetupLabel":"開啟 Cats 執行階段設定","shared.providerModel.field.advancedCatalogUnavailable":"執行階段進階模型目錄無法使用。","shared.providerModel.field.catalogKindModel":"模型","shared.providerModel.field.catalogKindAdvancedModel":"進階模型","shared.providerModel.field.runtimeCatalogUnavailable":"執行階段{catalogKind}目錄無法使用。","shared.providerModel.field.runtimeCatalogUnavailableWarning":"cats-runtime 重新整理時,先使用產品內建的{catalogKind}目錄:{message}","shared.memoryEditorDialog.title":"新增記憶","shared.memoryEditorDialog.categoryLabel":"分類","shared.memoryEditorDialog.contentLabel":"內容","shared.memoryEditorDialog.memoryPlaceholder":"這隻貓咪需要記住些什麼?","shared.memoryEditorDialog.cancel":"取消","shared.memoryEditorDialog.saving":"儲存中…","shared.memoryEditorDialog.add":"新增","shared.approvalEyebrow":"核准","shared.approvalPendingTitle":"待核准項目","shared.approvalEmptyState":"在此由指揮面板保持運轉,直到任務需要由負責人做判斷決定。","shared.approvalRequester":"指揮者","shared.approvalSummaryFallback":"請先確認此次派工,再讓 Cats 繼續。","shared.approvalRequestedBy":"提交者:{requestedBy}","shared.approval.action.approve":"核准","shared.approval.action.reroute":"改派路徑","shared.approval.action.reject":"拒絕","shared.approval.action.approveDescription":"允許編排計畫繼續。","shared.approval.action.rerouteDescription":"將計畫退回,改用其他交接或派工路徑。","shared.approval.action.rejectDescription":"不允許計畫繼續。","shared.catInspectTitle":"貓咪預設","shared.catInspectClose":"關閉","shared.catInspectBossLabel":"主控","shared.catInspectProviderLabel":"供應器","shared.catInspectInstanceLabel":"實例","shared.catInspectModelLabel":"模型","shared.catInspectSkillProfileLabel":"技能檔案","shared.catInspectSharedPresetDescription":"這是共用的貓咪預設。這裡的變更會影響所有使用此貓咪的對話。","shared.messageChoicesCustom":"自訂","shared.messageChoicesAddCustomPlaceholder":"輸入你的答案","shared.messageChoicesSkipped":"發起者已略過這些選項。","shared.messageChoicesRecorded":"發起者回應已記錄。","shared.messageChoicesConfirm":"確認","shared.messageChoicesSkip":"跳過","shared.folderBrowserEnterPath":"輸入路徑","shared.folderBrowserGo":"前往","shared.folderBrowserUpOneLevel":"回上一層","shared.folderBrowserRefresh":"重新整理","shared.folderBrowserLoading":"載入中…","shared.folderBrowserNoSubdirectories":"此資料夾中沒有子資料夾。","shared.folderBrowserUseThisFolder":"使用此資料夾","shared.common.saving":"儲存中…","shared.common.dismiss":"關閉","setup.wizard.welcomeTitle":"歡迎使用 Cats","setup.wizard.welcomeIntro":"你的個人 AI 工作空間。讓我們快速完成設定。","setup.wizard.ownerNameLabel":"您的名字","setup.wizard.ownerNamePlaceholder":"顯示名稱","setup.wizard.getStartedButton":"開始","setup.wizard.stepIndicator":"第 {step} 步,共 {total} 步","setup.wizard.enableGuideTitle":"啟用 {guideCatName}","setup.wizard.enableGuideSubtitle":"這位可選助理可在聊天、工作與程式碼場景中提供協助。","setup.wizard.enableGuideLabel":"啟用 {guideCatName}","setup.wizard.skipGuideMessage":"你可以先略過此步驟,稍後再從「設定 > 助理」啟用 {guideCatName}。","setup.wizard.backButton":"返回","setup.wizard.openingCatsAction":"正在開啟 Cats…","setup.wizard.openCatsAction":"開啟 Cats","setup.wizard.failedMessage":"設定失敗。","setup.wizard.failedWithStatus":"設定失敗({status})","setup.wizard.alreadyCompleteError":"設定已完成。","setup.wizard.invalidRequestError":"設定請求無效。","setup.wizard.serverError":"無法完成設定,請稍後再試。","setup.wizard.recordOpenFailedWithStatus":"記錄設定開啟狀態失敗({status})","setup.guideCat.runtimeUnavailable":"供應器目錄無法使用","setup.guideCat.noUsableTargets":"找不到可用供應器","setup.guideCat.runtimeConnected":"Cats 執行階段已連線","setup.guideCat.runtimeNotDetected":"未偵測到 Cats 執行階段","setup.guideCat.nameLabel":"導覽貓名稱","setup.guideCat.nameHint":"Cats 會保留這個名稱,後續可依語系調整。","setup.guideCat.openRuntimeSetup":"開啟 Cats 執行階段設定","setup.guideCat.unavailableNote":"即使導覽貓未啟用也能使用。若遇到連線逾時,請在此重試,或前往 Cats 執行階段設定頁。","setup.guideCat.noUsableTargetsNote":"Cats 執行階段已可連線,但目前沒有回報任何可用的導覽貓供應器設定。","settings.assistants.defaultName":"助理","settings.assistants.statusFailed":"狀態更新失敗({status})","settings.assistants.saveFailed":"儲存失敗。","settings.assistants.statusUpdateFailed":"狀態更新失敗({status})","settings.assistants.guideCatUpdateFailed":"無法更新導覽貓。","settings.assistants.guideCatSaveFailed":"無法儲存導覽貓。","settings.assistants.saveFailedWithError":"儲存失敗({status})","settings.assistants.removeTitle":"移除助理","settings.assistants.removeMessage":"移除「{title}」?將無法復原。","settings.assistants.removeButton":"移除","settings.assistants.removeFailed":"無法移除助理。","settings.assistants.enableButton":"啟用","settings.assistants.enableBusyButton":"儲存中…","settings.assistants.disableButton":"停用","settings.assistants.avatarLabel":"頭像","settings.assistants.nameLabel":"名稱","settings.assistants.selectAriaLabel":"選取助理","settings.assistants.addNewLabel":"新增助理","settings.assistants.newAssistantTitle":"新增助理","settings.assistants.cancelButton":"取消","settings.assistants.createButton":"儲存","settings.assistants.deleteButton":"刪除","settings.assistants.roleHintTitle":"角色提示","settings.assistants.namePlaceholder":"助理","settings.assistants.roleHintPlaceholder":"檢閱者、除錯人員、文字編修者、API 專家…","settings.assistants.renameFailed":"無法重新命名助理。","settings.assistants.roleHintUpdateFailed":"無法更新角色提示。","settings.assistants.brainUpdateFailed":"無法更新大腦設定。","settings.assistants.createFailed":"無法儲存助理。","settings.assistants.api.invalidRequestBody":"請求內容無效。","settings.assistants.api.assistantNameRequired":"請輸入助理名稱。","settings.assistants.api.assistantProviderRequired":"請選擇助理供應器。","settings.assistants.api.assistantModelRequired":"請選擇助理模型。","settings.assistants.api.assistantNotFound":"找不到助理。","settings.assistants.api.guideCatNameManaged":"導覽貓名稱由 Cats 管理。","settings.assistants.api.guideCatStatusInvalid":"導覽貓狀態必須是啟用或已停用。","settings.assistants.api.guideCatNotFound":"尚未建立導覽貓。","conversationSidebar.chatsLabel":"聊天","conversationSidebar.recentsLabel":"最近","conversationSidebar.noChatsLabel":"尚無聊天","conversationSidebar.primaryAriaLabel":"主要","conversationSidebar.openSidebarLabel":"展開側邊欄","conversationSidebar.closeSidebarLabel":"收合側邊欄","conversationSidebar.renameLabel":"重新命名","conversationSidebar.renamingLabel":"重新命名中…","conversationSidebar.deleteLabel":"刪除","conversationSidebar.deletingLabel":"刪除中…","conversationSidebar.ungroupLabel":"取消群組","conversationSidebar.ungroupingLabel":"取消群組中…","conversationSidebar.deleteAllLabel":"刪除全部","conversationSidebar.openAccountSettingsLabel":"開啟帳號設定","conversationSidebar.runtimeStatusAriaLabel":"執行階段狀態:{status}","conversationSidebar.directMessagesLabel":"直接訊息","conversationSidebar.telegramBoundTooltip":"已綁定 Telegram 機器人","conversationSidebar.archiveButton":"封存","conversationSidebar.directMessageButton":"直接訊息","conversationSidebar.clearButton":"清除","conversationSidebar.clearConfirmMessage":"清除與 {catName} 的對話歷史?此操作無法復原。","chatNewChatDraft.viewCatProfileAction":"查看貓咪個人檔案","chatTopBar.openCatProfileAriaLabel":"查看貓咪個人檔案","design.sidePanel.closeLabel":"關閉","design.accountIdentityMenu.label":"帳號選單","design.accountIdentityMenu.menuLabel":"帳號選單","design.accountIdentityMenu.settingsLabel":"設定","design.accountIdentityMenu.environmentLabel":"環境","design.notification.dismissLabel":"關閉","entity.comingSoon.backToLobby":"返回大廳","entity.detail.breadcrumb.lobby":"大廳","clowdersList.title":"我的貓群","clowdersList.eyebrow":"貓群","clowdersList.emptyState":"尚未有貓群。接上貓群 registry 後,正式任務群組會在這裡列出。","catteriesList.title":"我的貓窩","catteriesList.eyebrow":"貓窩","catteriesList.emptyState":"尚未有貓窩。接上貓窩 registry 後,組織會在這裡列出。","clowdersCanvas.ariaLabel":"貓群畫布","catteriesCanvas.ariaLabel":"貓窩畫布","entityCanvas.totalLabel":"總數","entityCanvas.catsLabel":"貓咪","entityCanvas.membersLabel":"成員","entityCanvas.clowdersLabel":"貓群","entityCanvas.idLabel":"識別碼","entityCanvas.createdLabel":"建立時間","entityCanvas.selectedClowderLabel":"選取的貓群","entityCanvas.selectedCatteryLabel":"選取的貓窩","entityCanvas.organizationLabel":"組織","entityCanvas.parentCatteryLabel":"上層貓窩","entityCanvas.formalClowderLabel":"正式貓群","entityCanvas.noOrganizationLabel":"沒有組織連結","entityCanvas.noFormalClowdersLabel":"沒有正式貓群","entityCanvas.openClowderAction":"開啟貓群","entityCanvas.openCatteryAction":"開啟貓窩","entityCanvas.catterySubtitle":"{clowderCount} 個貓群 · {memberCount} 位成員","catProfile.notFound.title":"找不到這隻貓","catProfile.notFound.body":"此工作區中沒有 id 為「{catId}」的貓。可能已被移除,或連結已失效。","entitiesSidebar.section.cats":"我的貓咪","entitiesSidebar.section.clowders":"我的貓群","entitiesSidebar.section.catteries":"我的貓窩","entitiesSidebar.newCat":"新增貓咪","entitiesSidebar.newClowder":"新增貓群","entitiesSidebar.newCattery":"新增貓窩","entityIndex.eyebrow":"目錄","entityIndex.title":"Cats 目錄","entityIndex.columnHeader.cats":"貓咪","entityIndex.columnHeader.clowders":"貓群","entityIndex.columnHeader.catteries":"貓窩","entityIndex.card.total":"共 {count} 個","entityIndex.card.openCanvasAriaLabel":"開啟{label}","entitiesShell.ariaLabel":"Cats 目錄 工作區","entitiesShell.surfaceLabel":"Cats 目錄","entitiesShell.brandLabel":"目錄","entitiesShell.exitButtonAriaLabel":"離開 Cats 目錄","clowderHome.ariaLabel":"貓群主頁","clowderHome.chip.partOf":"隸屬於 {catteryName}","clowderHome.chip.crossUnit":"跨單位任務小組","clowderHome.tab.cats":"貓咪","clowderHome.tab.settings":"設定","clowderHome.empty.cats":"此貓群尚未有貓咪。Phase 6 成員管理上線後即可加入第一隻。","clowderHome.settings.body":"貓群設定(重新命名、封存、轉移)會在 PLAN-091 phase 6 成員管理上線時提供。","clowderHome.notFound.title":"找不到這個貓群","clowderHome.notFound.body":"此工作區中沒有 id 為「{clowderId}」的貓群。可能已被移除,或連結已失效。","catteryHome.ariaLabel":"貓窩主頁","catteryHome.tab.members":"成員","catteryHome.tab.clowders":"貓群","catteryHome.tab.cats":"貓咪","catteryHome.tab.settings":"設定","catteryHome.empty.members":"尚未有成員。Phase 6 成員管理上線後即可加入第一位。","catteryHome.empty.clowders":"此貓窩尚未有貓群。Phase 6 上線後正式編制的貓群會在這裡列出。","catteryHome.empty.cats":"尚未能透過此貓窩取得貓咪。Phase 6 成員資料上線後會把直接成員與透過正式貓群間接到的成員彙總在這裡。","catteryHome.settings.body":"貓窩設定(個資、轉移所有權、封存)會在 PLAN-091 phase 6 成員管理上線時提供。","catteryHome.notFound.title":"找不到這個貓窩","catteryHome.notFound.body":"此工作區中沒有 id 為「{catteryId}」的貓窩。可能已被移除,或連結已失效。","code.activeComposer.detachedBranch":"分離分支","code.newDraft.greeting":"準備開始寫程式。","code.newDraft.greeting.openRepo":"開啟 repo,從小處開始。","code.newDraft.greeting.buildFixRefactor":"建置、修復或重構真實的東西。","code.newDraft.greeting.shipImprovement":"交付一個清楚的改善。","code.newDraft.greeting.smallestChange":"從最小但有用的變更開始。","code.newDraft.composer.placeholder":"這次程式工作階段要建置、修復或調查什麼?","code.newDraft.setupTitle":"新程式設定","code.newDraft.participants.title":"參與者","code.newDraft.participants.empty":"目前沒有可用的參與者。","code.newDraft.execution.title":"執行","code.newDraft.execution.action":"選擇執行目標","code.newDraft.execution.empty":"尚未設定執行目標。","code.newDraft.folder.title":"程式工作區","code.newDraft.folder.action":"選擇程式工作區","code.newDraft.folder.empty":"尚未選擇程式工作區。","code.newDraft.sessionProfile.title":"工作階段設定","code.newDraft.sessionProfile.description":"此程式工作階段會以 {workspace} 與 {permission} 開始。","code.newDraft.workspace.independentWorktree":"獨立工作樹","code.newDraft.workspace.currentFolder":"目前資料夾","code.newDraft.workspace.sandbox":"沙盒","code.newDraft.permission.readOnly":"唯讀","code.newDraft.permission.fullAccess":"完整存取","code.newDraft.starter.pomodoro.label":"建置番茄鐘應用程式","code.newDraft.starter.pomodoro.prompt":"寫一個小型番茄鐘計時器應用程式。","code.newDraft.starter.fixBug.label":"修復錯誤","code.newDraft.starter.fixBug.prompt":"找出並修復這個程式碼庫中的錯誤。","code.newDraft.starter.refactor.label":"重構程式碼","code.newDraft.starter.refactor.prompt":"在不改變行為的前提下重構這段程式碼。","code.newDraft.starter.writeTests.label":"撰寫測試","code.newDraft.starter.writeTests.prompt":"為我們上次碰過的程式碼新增測試。","code.newDraft.starter.startProject.label":"開始專案","code.newDraft.starter.startProject.prompt":"開始一個小專案來追蹤里程碑。","code.taskPills.ariaLabel":"任務提醒","code.taskPills.mock.authMiddleware":"重構驗證中介層","code.taskPills.mock.kiroSessionDelete":"修復 Kiro 工作階段刪除","code.taskPills.mock.artifactGallery":"草擬成品圖庫","code.taskPills.namePlaceholder":"命名此任務","code.taskPills.editAria":"編輯任務名稱","code.taskPills.title.current":"目前任務:{taskLabel} — 雙擊可重新命名","code.taskPills.title.focus":"聚焦 {taskLabel}(雙擊可重新命名)","code.taskPills.hideAria":"隱藏 {taskLabel}","code.taskPills.fallbackTask":"任務","code.taskPills.addAria":"新增任務提醒","code.taskPills.buttonTask":"任務","code.workspace.source.artifactAnchor":"成品錨點","code.artifact.kind.build":"建置","code.artifact.kind.dataset":"資料集","code.artifactDetail.artifactUnavailable":"成品詳細資料不可用","code.artifactDetail.backToBuild":"返回建置","code.artifactDetail.artifactOutput":"成品輸出","code.artifactDetail.conversationLabel":"對話","code.artifactDetail.contextEyebrow":"脈絡","code.artifactDetail.contextTitle":"已連結記錄","code.artifactDetail.loadFailed":"無法載入成品詳細資料。","code.artifactDetail.loadingBody":"正在取得成品中繼資料與相關脈絡。","code.artifactDetail.loadingTitle":"正在載入成品詳細資料","code.artifactDetail.missingId":"成品 ID 為必填。","code.artifactDetail.noArtifactSummary":"尚未記錄成品摘要。","code.artifactDetail.noInlinePreview":"這個成品目前沒有可用的內嵌預覽。","code.artifactDetail.notInlineSafe":"此成品已可用,但目前 Code 介面不適合內嵌顯示。","code.artifactDetail.previewOutput":"預覽輸出","code.artifactDetail.previewActionOpenArtifact":"開啟成品","code.artifactDetail.previewActionOpenPreview":"開啟預覽","code.artifactDetail.projectLabel":"專案","code.artifactDetail.projectMeta":"專案:{projectTitle}","code.artifactDetail.relatedEmpty":"這個任務或工作項目尚未記錄相關成品。","code.artifactDetail.relatedEyebrow":"相關","code.artifactDetail.relatedTitle":"鄰近成品","code.artifactDetail.openConversationAction":"開啟對話","code.artifactDetail.openProjectAction":"開啟專案","code.artifactDetail.openTaskAction":"開啟任務","code.artifactDetail.openWorkItemAction":"開啟工作項目","code.artifactDetail.taskLabel":"任務","code.artifactDetail.title":"成品","code.artifactDetail.viewArtifact":"查看成品","code.artifactDetail.workItemLinkedLabel":"工作項目","code.artifactDetail.workItemMissingLabel":"沒有連結的工作項目","code.artifactKind.attachment":"附件","code.artifactKind.document":"文件","code.artifactKind.preview":"預覽","code.artifactKind.report":"報告","code.artifactKind.transcript":"對話紀錄","code.artifactKind.unknown":"未知","code.artifactKind.build":"建置","code.artifactStatus.archived":"已封存","code.artifactStatus.draft":"草稿","code.artifactStatus.published":"已發佈","code.artifactStatus.ready":"就緒","code.artifactStatus.unknown":"未知","code.artifactList.artifact":"成品","code.artifactList.filter.all":"全部","code.artifactList.ariaOpenArtifact":"開啟成品 {title}","code.artifactList.empty":"目前沒有符合此篩選的成品。建置、預覽、報告、附件與對話匯出會出現在這裡。","code.artifactList.header":"成品","code.artifactList.loading":"正在載入成品…","code.artifactList.error":"無法載入成品:{error}","code.artifactList.loadFailed":"成品清單請求失敗。","code.artifactList.candidateHint":"候選成品尚未升級為持久記錄。","code.artifactList.candidateLabel":"候選","code.artifactList.provenance.run":"執行","code.artifactList.statusFilterLabel":"狀態:","code.artifactList.provenance.task":"任務","code.artifactMeta.contract":"契約","code.artifactMeta.mode":"模式:{mode}","code.artifactMeta.decision":"決策:{decision}","code.artifactMeta.kind":"類型:{kind}","code.artifactMeta.path":"路徑:{path}","code.artifactMeta.status":"狀態:{status}","code.artifactMeta.updated":"更新時間:{updatedAt}","code.artifactMeta.viewArtifact":"查看成品","code.artifactPreview":"成品預覽","code.artifact.unknown":"未知","code.conversationKind.chatChannel":"聊天頻道","code.conversationKind.chatRoot":"聊天根目錄","code.conversationKind.codeThread":"程式討論串","code.conversationKind.directMessage":"直接訊息","code.conversationKind.parallelGroup":"平行群組","code.conversationKind.unknown":"對話","code.conversationKind.workThread":"工作討論串","code.recordStatus.archived":"已封存","code.recordStatus.blocked":"已阻擋","code.recordStatus.cancelled":"已取消","code.recordStatus.completed":"已完成","code.recordStatus.draft":"草稿","code.recordStatus.failed":"失敗","code.recordStatus.inProgress":"進行中","code.recordStatus.open":"開啟","code.recordStatus.pending":"待處理","code.recordStatus.pendingApproval":"等待核准","code.recordStatus.ready":"就緒","code.recordStatus.running":"執行中","code.recordStatus.unknown":"未知","code.builder.codespaceHeader":"程式工作區","code.builder.codeOutputLabel":"輸出","code.builder.back":"返回","code.builder.continue":"繼續","code.builder.continueBuild":"繼續建置","code.builder.continueBuildBusy":"正在繼續…","code.builder.continueTaskBusy":"正在繼續…","code.builder.createArtifact":"建立成品","code.builder.createLabel":"建置","code.builder.creatingTask":"正在建立…","code.builder.defineTaskHeader":"定義任務","code.builder.detailsPlaceholder":"描述完成狀態與驗收條件…","code.builder.detailsLabel":"細節 / 驗收條件(選填)","code.builder.errorCodespaceResolve":"無法解析這個程式工作區。","code.builder.errorCodespacePathInvalid":"選取的路徑不存在或不是資料夾:{path}","code.builder.errorCodespaceNoPath":"找不到有效的程式工作區路徑。請選擇資料夾,或確認房間工作區存在。","code.builder.errorTaskCreate":"無法建立程式碼任務。","code.builder.errorTaskCreateMissingId":"建立任務的回應缺少 task id。","code.builder.errorTaskExecution":"無法啟動程式碼任務。","code.builder.errorTaskDetailLoad":"無法載入這個程式碼任務。","code.builder.errorTaskResume":"無法接續這個程式碼任務。","code.builder.errorTaskResumeInput":"請輸入要接續的任務 ID。","code.builder.errorTaskTitle":"請輸入你想建置的內容。","code.builder.runtimeObservationFailed":"無法重新整理執行階段工作階段。","code.builder.executionDoneBanner":"任務已完成。請檢查上方結果,並使用交付操作提交或推送。","code.builder.existingTask":"既有任務","code.builder.feedbackResumeReady":"任務已可繼續。","code.builder.feedbackResumeTask":"已接續任務 {taskId}。","code.builder.feedbackResumeNoWorkspace":"已接續任務 {taskId};繼續前請先選擇程式工作區。","code.builder.feedbackResumeWorkspaceNeeded":"繼續此任務前請先選擇程式工作區。","code.builder.filter.codespace":"程式工作區","code.builder.header.codespace":"程式工作區","code.builder.header.newTask":"新任務","code.builder.header.projectFolder":"專案資料夾","code.builder.header.taskStep":"任務","code.builder.modelLabel":"模型(選填)","code.builder.modelPlaceholder":"預設","code.builder.newTaskButton":"新任務","code.builder.providerLabel":"供應器","code.builder.providerTaskLabel":"供應器","code.builder.repoPathLabel":"儲存庫路徑","code.builder.resumeLabel":"既有任務 ID(選填)","code.builder.resumePrompt":"接續任務","code.builder.retryPrompt":"重試","code.builder.stepLabel":"步驟 {step}","code.builder.successTaskReadyWithCurrentChat":"{workspaceFallback},來源:{title}。","code.builder.taskIdRequired":"請輸入任務 ID。","code.builder.taskIdReady":"任務 {taskId} 已可繼續。","code.builder.taskIdReadyNoWorkspace":"任務 {taskId} 已可繼續;繼續前請先選擇程式工作區。","code.builder.taskLabel":"任務","code.builder.taskSummaryPlaceholder":"例如:加入使用者登入功能","code.builder.title":"程式建置器","code.builder.workspaceActiveNotice":"這會成為下一個任務步驟使用的建置程式工作區。","code.builder.workspaceFallbackBound":"已綁定工作區","code.builder.workspaceFallbackBoundFallback":"請輸入專案資料夾,或接續既有任務。","code.builder.workspaceFallbackChatRepo":"目前聊天室儲存庫","code.builder.workspaceFallbackRoom":"目前房間資料夾","code.builder.workspaceFooterLabel":"工作區","code.builder.workspacePathPlaceholder":"/path/to/project","code.builder.workspaceResumeHelp":"接續功能適用於你想繼續處理的草稿、已阻擋或失敗程式碼任務。","code.builder.sampleTaskId":"task-...","code.builder.workspaceSummaryLabel":"程式工作區","code.builder.workspaceSummaryNotice":"目前的建置程式工作區。","code.builder.startingTaskBusy":"正在啟動…","code.builder.taskQuestion":"你想建置什麼?","code.livePreview.commandProfile":"設定檔:{profile}","code.livePreview.description":"檢視連到此 Cats Code 介面的受監管本機即時預覽。","code.livePreview.diagnostic":"診斷:{message}","code.livePreview.error.load":"無法載入即時預覽狀態。","code.livePreview.error.logs":"無法載入即時預覽記錄。","code.livePreview.error.stop":"無法停止即時預覽。","code.livePreview.expiresAt":"到期:{time}","code.livePreview.hideLogs":"隱藏記錄","code.livePreview.logs":"記錄","code.livePreview.logsEmpty":"此預覽尚未記錄內容。","code.livePreview.logsLoading":"正在載入記錄…","code.livePreview.open":"開啟預覽","code.livePreview.retry":"重試","code.livePreview.retryUnavailable":"重試會在即時預覽啟動流程核准後開放。","code.livePreview.status.expired":"已到期","code.livePreview.status.failed":"失敗","code.livePreview.status.ready":"就緒","code.livePreview.status.starting":"啟動中","code.livePreview.status.stopped":"已停止","code.livePreview.status.stopping":"停止中","code.livePreview.stop":"停止","code.livePreview.stopRequested":"已送出停止要求。","code.livePreview.stopping":"正在停止…","code.livePreview.title":"即時預覽","code.livePreview.workspace":"工作區:{workspace}","code.execution.header":"執行","code.execution.meta.noTask":"尚未綁定任務","code.execution.meta.runtimeSession":"執行階段工作階段:{sessionId}","code.execution.meta.workingTreeClean":"工作樹乾淨","code.execution.meta.workingTreeDirty":"工作樹有變更","code.execution.noActiveSession":"沒有作用中的工作階段","code.execution.noTask":"尚未綁定任務","code.execution.notStarted":"尚未開始","code.execution.ownerDecisionRequired":"需要使用者決策","code.execution.panelTitle":"任務執行","code.execution.runtimeHeader":"執行階段","code.execution.runtimeIdle":"閒置","code.execution.modeDelivery":"交付模式:{deliveryMode}","code.execution.targetLabel":"目標:{target}","code.execution.targets":"目標:{targets}","code.execution.runtimeTitle":"執行階段","code.execution.sectionBlocked":"已阻擋","code.execution.taskHeader":"任務","code.execution.taskStatus":"狀態:{status}","code.execution.taskTitle":"任務","code.execution.notActiveYet":"尚未啟用","code.execution.paused":"已暫停","code.execution.provider":"供應器:{provider}","code.execution.model":"模型:{model}","code.execution.defaultModel":"預設","code.execution.session":"工作階段:{sessionId}","code.execution.taskId":"ID:{taskId}","code.execution.status.blocked":"已阻擋","code.execution.status.done":"完成","code.execution.status.pending":"待處理","code.execution.status.running":"執行中","code.execution.status.unknown":"未知","code.execution.taskRuntimeHeader":"執行階段","code.execution.taskStrategy":"策略:{strategy}","code.execution.strategy.pdca":"PDCA","code.execution.strategy.react":"ReAct","code.execution.strategy.reflexion":"Reflexion","code.execution.deliveryMode.artifactOnly":"僅成品","code.execution.deliveryMode.commitOnly":"僅提交","code.execution.deliveryMode.deployPreview":"部署預覽","code.execution.deliveryMode.prWithChecks":"含檢查的 Pull Request","code.execution.deliveryMode.pushBranch":"推送分支","code.execution.blockedReason.antiPingPong":"防迴圈保護","code.execution.blockedReason.approvalPending":"等待核准","code.execution.blockedReason.maxDispatches":"已達分派上限","code.execution.blockedReason.noValidTargets":"沒有有效目標","code.execution.blockedReason.startupRecovery":"啟動修復","code.execution.blockedReason.userCancelled":"使用者已取消","code.execution.unknownDeliveryMode":"未知交付模式","code.execution.unknownValue":"未知","code.execution.unknownValueUnknown":"未知","code.execution.controlHeader":"控制","code.execution.controlMode":"模式:{mode}","code.execution.controlDelivery":"交付:{deliveryMode}","code.execution.controlBlocked":"已阻擋","code.execution.controlApprovalPending":"等待核准","code.execution.controlBlockedBy":"接續流程被 {reason} 阻擋。","code.execution.controlTargets":"目標:{targets}","code.execution.statusActiveLabel":"作用中","code.execution.statusIdleLabel":"閒置","code.execution.statusBlockedLabel":"已阻擋","code.execution.statusRunningLabel":"執行中","code.execution.statusDoneLabel":"完成","code.execution.statusPendingLabel":"待處理","code.delivery.previewHeader":"預覽","code.delivery.blockerLabel":"已阻擋","code.delivery.contractLabel":"契約","code.delivery.error.repoStatusUnavailable":"無法取得儲存庫狀態。","code.delivery.warningsLabel":"警告","code.delivery.warningsTitle":"警告","code.delivery.header":"交付","code.delivery.label":"交付","code.delivery.labelPreview":"{label} 預覽","code.delivery.metaBranch":"分支:{branch}","code.delivery.metaAhead":"領先:{count}","code.delivery.metaBehind":"落後:{count}","code.delivery.metaStaged":"已暫存:{count}","code.delivery.metaUnstaged":"未暫存:{count}","code.delivery.metaUntracked":"未追蹤:{count}","code.delivery.metaRemote":"遠端:{remote}","code.delivery.metaMode":"模式:{mode}","code.delivery.metaDecision":"決策:{decision}","code.delivery.noCodespace":"尚未綁定程式工作區。請先解析程式工作區才能查看儲存庫操作。","code.delivery.noRepoStatus":"尚未載入儲存庫狀態。","code.delivery.noInlinePreview":"目前沒有可用的內嵌預覽。","code.delivery.noWorkspace":"尚未選擇工作區。","code.delivery.panelSubtitle":"從目前程式工作區提交、推送或匯出輸出。","code.delivery.panelTitle":"儲存庫操作","code.delivery.previewHintUnsafe":"此預覽已可用,但較適合在內嵌框架外開啟。","code.delivery.repoClean":"乾淨","code.delivery.repoDirty":"有變更","code.delivery.repoStatusHeader":"儲存庫狀態","code.delivery.actions.commitHeader":"提交","code.delivery.actions.pushHeader":"推送","code.delivery.actions.exportHeader":"匯出","code.delivery.action.refresh":"重新整理","code.delivery.action.preview":"預覽","code.delivery.action.commit":"提交","code.delivery.action.push":"推送…","code.delivery.action.pushPreview":"預覽推送","code.delivery.action.pushConfirm":"確認推送","code.delivery.action.pushCancel":"取消","code.delivery.action.export":"匯出成品","code.delivery.action.commitPlaceholder":"提交訊息…","code.delivery.confirmation.push":"要推送到遠端嗎?這會對外可見。","code.delivery.confirmation.pushHint":"此操作會將本機提交發佈到設定的遠端。","code.delivery.error.commitFailed":"提交操作失敗。","code.delivery.error.pushFailed":"推送操作失敗。","code.delivery.error.exportFailed":"成品匯出失敗。","code.delivery.status.ready":"就緒","code.delivery.status.blocked":"已阻擋","code.delivery.status.unknown":"未知","code.delivery.decision.approve":"核准","code.delivery.decision.complete":"完成","code.delivery.decision.reject":"拒絕","code.delivery.decision.reroute":"重新指派","code.delivery.decision.wait":"等待","code.delivery.unknownBlocker":"未知阻擋原因","code.delivery.warningFallback":"警告","code.plan.header":"計畫","code.plan.panelTitle":"程式計畫","code.plan.empty":"這個任務尚未建立計畫步驟。","code.plan.replan":"重新規劃","code.plan.status.blocked":"已阻擋","code.plan.status.done":"完成","code.plan.status.pending":"待處理","code.plan.status.running":"執行中","code.plan.title":"計畫","code.plan.replannedSuffix":"(已重新規劃 {count} 次)","code.plan.error.load":"無法載入計畫。","code.plan.error.update":"無法更新計畫。","code.plan.error.stepUpdate":"無法更新計畫步驟。","code.preview.artifactCountMany":"{count} 個成品","code.preview.artifactCountOne":"{count} 個成品","code.preview.blocked":"預覽已阻擋","code.preview.details":"詳細資料","code.preview.header":"輸出","code.preview.iframeTitle":"即時預覽","code.preview.noPreview":"尚未產生建置或預覽成品。","code.preview.notInlineSafe":"最新預覽已可用,但此輸出較適合在內嵌框架外開啟。","code.preview.openArtifact":"開啟成品","code.preview.openLatestArtifact":"開啟最新成品","code.preview.openLatestPreview":"開啟最新預覽","code.preview.openPreview":"開啟預覽","code.preview.title":"建置與預覽","code.relay.action.createThread":"建立分派討論串","code.relay.action.dispatching":"正在分派…","code.relay.action.fanOut":"分派","code.relay.action.refresh":"重新整理","code.relay.action.fanOutSelected":"分派給已選代理人","code.relay.authorKind.agent":"代理人","code.relay.authorKind.system":"系統","code.relay.authorKind.unknown":"未知","code.relay.authorKind.user":"使用者","code.relay.availability.instanceUnavailable":"{providerLabel} 執行個體「{instance}」無法在 cats-runtime 中使用。","code.relay.availability.providerPathMissing":"執行階段沒有回報已設定的 {providerLabel} 供應器路徑。","code.relay.availability.providerPathReady":"{providerLabel} 的執行階段供應器路徑已就緒。","code.relay.availability.runtimeConfigUnavailable":"執行階段供應器設定無法使用。","code.relay.availability.runtimeReadyVia":"執行階段已透過 {target} 就緒。","code.relay.error.agentRequired":"請至少選擇一個代理人。","code.relay.error.fanOutPromptRequired":"分派提示為必填。","code.relay.error.threadRequired":"請先建立或選擇分派討論串。","code.relay.error.threadTitleRequired":"討論串標題為必填。","code.relay.error.missingPayload":"分派請求缺少必要酬載。","code.relay.error.noPayload":"分派回應沒有包含酬載。","code.relay.error.relayFailed":"分派執行失敗。","code.relay.error.rosterUpdateFailed":"更新分派名單失敗。","code.relay.error.threadLoadFailed":"載入分派討論串失敗。","code.relay.error.threadRefreshFailed":"重新整理分派討論串失敗。","code.relay.error.threadCreateFailed":"建立分派討論串失敗。","code.relay.header.codeRelay":"程式分派","code.relay.label.contract":"契約","code.relay.label.contractLoading":"正在載入連接器契約…","code.relay.label.activeThread":"作用中討論串","code.relay.label.default":"預設","code.relay.label.enabled":"啟用","code.relay.label.ended":"結束:{endedAt}","code.relay.label.model":"模型:{model}","code.relay.label.noObjective":"尚未記錄目標。","code.relay.label.noRounds":"尚無回合","code.relay.label.noThreads":"尚無分派討論串","code.relay.label.noneYet":"尚無","code.relay.label.objective":"目標","code.relay.label.proven":"已驗證:{providers}","code.relay.label.repoPath":"儲存庫:{repoPath}","code.relay.label.relayThreadTitle":"分派討論串標題","code.relay.label.repoNoBound":"未綁定","code.relay.label.updated":"更新:{updatedAt}","code.relay.label.mode":"模式:{mode}","code.relay.label.open":"開啟","code.relay.label.quotaNote":"額度備註","code.relay.label.roster":"代理人名單","code.relay.label.roundObjective":"回合目標","code.relay.label.roundPrompt":"分派提示","code.relay.label.roundTimeline":"時間軸","code.relay.label.rounds":"回合","code.relay.label.role":"角色:{role}","code.relay.label.started":"開始:{startedAt}","code.relay.label.statusWaiting":"等待中","code.relay.status.active":"作用中","code.relay.status.available":"可用","code.relay.status.completed":"已完成","code.relay.status.failed":"失敗","code.relay.status.requested":"已請求","code.relay.status.running":"執行中","code.relay.status.unavailable":"不可用","code.relay.status.unknown":"未知","code.relay.status.waitingForAgents":"等待代理人","code.relay.status.waitingForUser":"等待使用者","code.relay.mode.build":"建置","code.relay.mode.discover":"探索","code.relay.mode.document":"文件化","code.relay.mode.fit":"整合","code.relay.mode.humanVerify":"人工驗證","code.relay.mode.repair":"修復","code.relay.mode.review":"審查","code.relay.mode.shape":"塑形","code.relay.role.critic":"評論者","code.relay.role.drafter":"草稿手","code.relay.role.idle":"閒置","code.relay.role.mainCoder":"主要程式代理人","code.relay.role.reviewer":"審查者","code.relay.role.summarizer":"摘要者","code.relay.label.threadShell":"討論串外殼","code.relay.label.threadTitle":"討論串標題","code.relay.phase.phase0":"階段 0","code.relay.phase.phase1":"階段 1","code.relay.phase.phase2":"階段 2","code.relay.phase.fanOut":"分派","code.relay.phase.roster":"名單","code.relay.phase.project":"專案","code.relay.projectThread":"專案討論串","code.relay.projectThreadSummary":"專案討論串摘要","code.relay.runtimeProviderSurface":"執行階段供應器介面","code.relay.runtimeSurface":"執行階段介面","code.relay.threadProject":"專案討論串","code.relay.threadShellTitle":"討論串外殼","code.relay.mode.parallelPrompt":"平行提示","code.relay.noObjective":"尚未記錄目標。","code.relay.notRecorded":"未記錄","code.relay.openDiscoveryRound":"開啟探索回合","code.relay.placeholder.objective":"我們要決定或建置什麼?","code.relay.placeholder.optionalRepo":"選填的本機儲存庫綁定","code.relay.placeholder.fanOutPrompt":"把同一個需求問題發給多個程式代理人。","code.relay.placeholder.quotaNote":"選填的建議備註","code.relay.currentChat":"目前對話:{title}","code.relay.create":"正在建立…","code.relay.defaultThreadTitle":"新的分派討論串","code.relay.loading":"正在載入分派程式工作區…","code.relay.projectThreadHeader":"專案討論串","code.relay.relayToOthers":"分派給其他人(階段 2)","code.relay.targetAgent":"目標代理人","code.relay.threadLabel":"討論串","code.relay.title":"程式分派","code.relay.titleConnectorContract":"連接器契約","code.relay.titleProjectThread":"專案討論串","code.relay.titleTimeline":"時間軸","code.relay.transportUnknown":"未知傳輸","code.relay.transportUnknownWithValue":"未知傳輸({transport})","code.relay.transportRuntimeSessionBridge":"執行階段工作階段橋接","code.sidebar.codespace":"程式工作區","code.sidebar.codeBuilderTitle":"程式建置器","code.sidebar.codespaces":"程式工作區","code.workspaceSource.codeTask":"程式碼任務","code.workspaceSource.conversationRepo":"對話儲存庫","code.workspaceSource.runtimeCwd":"執行階段工作目錄","code.relay.titleProjectThreadSection":"專案討論串","code.sidebar.teamCode":"團隊程式","code.sidebar.peerCode":"同儕程式","code.sidebar.newCode":"新增程式","code.sidebar.noCodesYet":"目前沒有程式對話","code.sidebar.noConversationsSummary":"目前沒有程式對話","code.relay.noRoundsHint":"使用上方分派表單開啟第一個探索回合。","code.sidebar.artifacts":"成品","code.sidebar.build":"建置","code.sidebar.relay":"分派","code.workspace.sectionCodeOutput":"程式輸出","code.workspace.summary.binding":"綁定","code.workspace.summary.codespace":"程式工作區","code.workspace.summary.kind":"類型:{kind}","code.workspace.summary.ownership":"歸屬:{ownership}","code.workspace.summary.chatContext":"對話脈絡:{title}","code.workspace.summary.noChatContext":"沒有對話脈絡","code.workspace.summary.noChat":"沒有對話","code.workspace.summary.binding.conversationRepo":"建置流程已綁定到選取的對話儲存庫。","code.workspace.summary.binding.managedRoom":"建置流程已綁定到這個房間管理的程式工作區。","code.workspace.summary.binding.userSelected":"建置流程已綁定到使用者選取的本機資料夾。","code.workspace.kind.conversationRepo":"目前對話儲存庫","code.workspace.kind.managedRoom":"房間管理的工作區","code.workspace.kind.userSelected":"使用者選取的資料夾","code.workspace.ownership.conversationBound":"對話擁有","code.workspace.ownership.roomOwned":"房間擁有","code.workspace.ownership.ownerSelected":"使用者選取","code.workspace.source.task":"程式碼任務","code.workspace.source.conversationRepo":"對話儲存庫","code.workspace.source.runtimeCwd":"執行階段工作目錄","code.workspaces.listHeader":"程式工作區","code.workspaces.listNoCodespaces":"目前沒有程式工作區。啟動一個指定儲存庫、資料夾、工作樹或受管理房間的程式工作階段後,會出現在這裡。","code.workspaces.loading":"正在載入程式工作區…","code.workspaces.error":"無法載入程式工作區:{error}","code.workspaces.loadError":"載入程式工作區失敗。","code.workspaces.sourceCodes":"程式碼任務","code.workspaces.sourceRepo":"對話儲存庫","code.workspaces.sourceRuntime":"執行階段工作目錄","code.workspaces.sourceArtifact":"成品錨點","code.workspaces.ariaOpen":"開啟程式工作區 {title}","code.workspaceStatus.active":"作用中","code.workspaceStatus.archived":"已封存","code.workspaceStatus.draft":"草稿","code.workspaceStatus.ready":"就緒","code.workspaceStatus.unknown":"未知","code.workspaceDetail.error":"無法載入程式工作區。","code.workspaceDetail.loading":"正在載入程式工作區…","code.workspaceDetail.title":"程式工作區","code.workspaceDetail.notFound":"找不到程式工作區。它可能已被移除,或 URL 已變更。","code.workspaceDetail.missingId":"程式工作區 ID 為必填。","code.workspaceDetail.backToList":"返回所有程式工作區 →","code.workspaceDetail.overviewTitle":"總覽","code.workspaceDetail.artifactSection":"成品","code.workspaceDetail.conversationsSection":"對話","code.workspaceDetail.tasksSection":"任務","code.workspaceDetail.noArtifacts":"沒有成品","code.workspaceDetail.noArtifactsDesc":"尚未連結成品。這個程式工作區產生的建置、預覽或文件會出現在這裡。","code.workspaceDetail.noConversations":"目前沒有對話連結到這個程式工作區。","code.workspaceDetail.noTasks":"目前沒有程式碼任務連結到這個程式工作區。","code.workspaceDetail.overviewPath":"路徑","code.workspaceDetail.overviewSource":"來源","code.workspaceDetail.overviewStatus":"狀態","code.workspaceDetail.overviewLastActive":"最後活動","code.workspaceDetail.overviewSummary":"摘要","code.workspaceDetail.noSummary":"尚無摘要。","code.workspaceDetail.metric.conversations":"對話","code.workspaceDetail.metric.tasks":"任務","code.workspaceDetail.metric.artifacts":"成品","code.workspaceDetail.metric.id":"識別碼","code.workspaceDetail.overviewNoArtifacts":"尚無成品","code.workspaceDetail.conversationsEmpty":"沒有連結的對話","code.workspaceDetail.tasksEmpty":"沒有連結的任務","code.workspaceDetail.taskLabel":"任務","code.workspaceDetail.artifactsHeader":"此程式工作區的成品","code.workspace.source.unknown":"未知來源","code.delivery.blocked":"交付已阻擋"},Qn={en:Ep,"zh-TW":Ip},Bp=["zh","zh-tw","zh-hant","zh-hk","zh-mo","chinese","traditional","traditional chinese","mandarin","中文","繁體中文","繁体中文","繁體","繁体","國語","国语","華語","华语"],Fp=["zh-cn","zh-hans","zh-sg","zh-my","simplified","simplified chinese","簡體中文","简体中文","簡體","简体"],Op=["zh-tw-","zh-hant-","zh-hk-","zh-mo-"],Wp=["zh-cn-","zh-hans-","zh-sg-","zh-my-"],Up=new Set(Bp),Hp=new Set(Fp);function Yo(e){if(!e)return null;for(const t of Gp(e)){const a=qp(t);if(a)return a}return null}function Gp(e){return e.split(",").map((t,a)=>{const[o,...n]=t.trim().split(";"),i=_p(o),s=Kp(n);return{token:i,quality:s,index:a}}).filter(t=>t.token.length>0&&t.quality>0).sort((t,a)=>a.quality-t.quality||t.index-a.index).map(t=>t.token)}function _p(e){return(e??"").trim().replace(/_/gu,"-").toLowerCase()}function Kp(e){const t=e.find(i=>/^q\s*=/iu.test(i.trim()));if(!t)return 1;const a=/^q\s*=\s*(?<quality>.*)$/iu.exec(t.trim());if(!a?.groups)return 1;const o=a.groups.quality.trim();if(!/^\d+(?:\.\d+)?$/u.test(o))return 1;const n=Number.parseFloat(o);return Math.min(Math.max(n,0),1)}function qp(e){return e==="en"||e.startsWith("en-")?"en":Jn(e,Up,Op)?"zh-TW":(Jn(e,Hp,Wp),null)}function Jn(e,t,a){return t.has(e)?!0:a.some(o=>e.startsWith(o))}function zp(e){return Yo(e)??"en"}function $p(e,t){return t?e.replace(/\{([^{}]+)\}/g,(a,o)=>{const n=t[o];return n===void 0?a:String(n)}):e}function $e(e){return function(a,o){const n=a in l?l[a]:a;return $p(Qn[e][n]??Qn.en[n],o)}}const kr=$e("en"),oa=$e("en"),Vp={chat:{nameKey:l.platformProductChatName,subtitleKey:l.platformProductChatSubtitle,settingsLabelKey:l.platformProductChatSettingsLabel},code:{nameKey:l.platformProductCodeName,subtitleKey:l.platformProductCodeSubtitle,settingsLabelKey:l.platformProductCodeSettingsLabel},work:{nameKey:l.platformProductWorkName,subtitleKey:l.platformProductWorkSubtitle,settingsLabelKey:l.platformProductWorkSettingsLabel}};function Qo(e){return Vp[e]??null}function Yp(e,t=oa){return Jp(e.id,e.productName,t)}function Qp(e,t=oa){return Xp(e.id,e.subtitle,t)}function Jp(e,t,a=oa){const o=Qo(e);return o?a(o.nameKey):t}function Xp(e,t,a=oa){const o=Qo(e);return o?a(o.subtitleKey):t}function sl(e,t,a=oa){const o=Qo(e);return o?a(o.settingsLabelKey):t}function Zp(e,t,a=oa){return t.id===e?sl(e,t.label,a):t.label}const Xn="en",il="auto",ll=()=>{},cl=d.createContext({locale:Xn,languagePreference:il,setLanguagePreference:ll,t:$e(Xn)});function zt({children:e,languagePreference:t=il,locale:a,setLanguagePreference:o=ll}){const n=d.useMemo(()=>({locale:a,languagePreference:t,setLanguagePreference:o,t:$e(a)}),[t,a,o]);return r.jsx(cl.Provider,{value:n,children:e})}const co=["chat","work","code"],eh=["chat","work","code"],th=["chat"];function dl(e){return co.includes(e)}function ga(e,t=null){return typeof e=="string"&&dl(e)?e:t}function Mr(e,t){const a=new Set(t),o=[];for(const n of e)!dl(n)||!a.has(n)||o.includes(n)||o.push(n);return o}function ah(e,t={}){const a=Mr(t.allowed??co,co),o=Mr(Array.isArray(e)?e.filter(i=>typeof i=="string"):[],a);if(o.length>0)return o;const n=t.fallback??null;return!n||n.length===0?[]:Mr(n,a)}function Jo(e,t,a={}){return ah(e,a).includes(t)}function rh(e){return eh.includes(e)}function wr(){return[...th]}const oh=null,ul="/api/work",nh="/api/code",sh={chat:oh,work:ul,code:nh};function ih(e){return sh[e]??null}const Zn="/settings";function Ia(e){return e===Zn||e.startsWith(`${Zn}/`)}const lh="/setup",es="/lobby",ts="/products",ch="/entities",dh=[ch];function pl(e){return e===lh}function La(e){return e===es||e.startsWith(`${es}/`)}function hl(e){return e===ts||e.startsWith(`${ts}/`)}function ml(e){return dh.some(t=>e===t||e.startsWith(`${t}/`))}function uh(e){return pl(e)||La(e)||hl(e)||ml(e)||Ia(e)}const Er=Object.fromEntries(Np().map(e=>[e.id,{surface:e.id,routePrefix:e.routePrefix,apiBase:ih(e.id),placeholder:!rh(e.id)}]));function ph(e){return jp(e)}function hh(e,t,a,o="chat"){const n=ga(e);if(n)return n;const i=ga(t);if(i)return i;const s=ga(a);if(s)return s;const c=ga(o);return c||"chat"}function _(){return d.useContext(cl)}function Gt(){const[e,t]=d.useState(null),a=d.useCallback(i=>new Promise(s=>{t({options:i,resolve:s})}),[]),o=d.useCallback(async i=>await a(i)==="confirm",[a]),n=d.useCallback(i=>{e&&(e.resolve(mh(i)),t(null))},[e]);return{dialog:e,confirm:o,choose:a,handleClose:n}}function _t({dialog:e,onClose:t}){const{t:a}=_(),o=d.useRef(null);if(d.useEffect(()=>{e&&o.current?.focus()},[e]),d.useEffect(()=>{if(!e)return;function i(s){s.key==="Escape"&&t("cancel")}return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[e,t]),!e)return null;const n=e.options.defaultAction??"confirm";return r.jsx("div",{className:"confirmOverlay",onClick:()=>t("cancel"),children:r.jsxs("div",{className:"confirmDialog",onClick:i=>i.stopPropagation(),children:[r.jsx("p",{className:"confirmTitle",children:e.options.title}),r.jsx("p",{className:"confirmMessage",children:e.options.message}),r.jsxs("div",{className:"confirmActions",children:[r.jsx("button",{ref:n==="cancel"?o:null,className:"confirmCancelButton",type:"button",onClick:()=>t("cancel"),children:e.options.cancelLabel??a(l.sharedCommonCancel)}),e.options.auxiliaryLabel?r.jsx("button",{ref:n==="auxiliary"?o:null,className:"confirmAuxiliaryButton",type:"button",onClick:()=>t("auxiliary"),children:e.options.auxiliaryLabel}):null,r.jsx("button",{ref:n==="confirm"?o:null,className:"confirmDestructiveButton",type:"button",onClick:()=>t("confirm"),children:e.options.confirmLabel??a(l.sharedCommonDelete)})]})]})})}function mh(e){return typeof e=="boolean"?e?"confirm":"cancel":e}function gh({id:e,title:t,badge:a,isOpen:o,onToggle:n,children:i}){return r.jsxs("div",{className:"accordionSection",children:[r.jsxs("button",{type:"button",className:"accordionHeader",onClick:()=>n(e),"aria-expanded":o,children:[r.jsx("span",{className:"accordionHeaderTitle",children:t}),a!=null&&a>0?r.jsx("span",{className:"accordionBadge",children:a}):null,r.jsx("svg",{className:o?"accordionChevron accordionChevronOpen":"accordionChevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:r.jsx("path",{d:"M4.5 2.5 8 6 4.5 9.5"})})]}),o?r.jsx("div",{className:"accordionBody",children:i}):null]})}const uo="cats:side-panel-layout-change";function kh({title:e,activeSection:t,onSectionToggle:a,onClose:o,sections:n,className:i="",position:s="side"}){const c=d.useRef(null),{t:h}=_(),u=["sidePanel",s==="bottom"?"sidePanelBottom":"",i].filter(Boolean).join(" ");d.useEffect(()=>{function p(w){if(c.current&&!c.current.contains(w.target)){if(w.target.closest(".sidePanelToggle"))return;o()}}function f(w){w.key==="Escape"&&o()}return document.addEventListener("mousedown",p),document.addEventListener("keydown",f),()=>{document.removeEventListener("mousedown",p),document.removeEventListener("keydown",f)}},[o]);const g=s==="bottom"?"bottom":"side";return d.useEffect(()=>(as(),()=>{as()}),[u,g]),r.jsxs("aside",{className:u,ref:c,"data-side-panel-position":g,children:[r.jsxs("div",{className:"sidePanelHeader",children:[r.jsx("strong",{children:e}),r.jsx("button",{type:"button",className:"chromeButton",onClick:o,"aria-label":h(l.designSidePanelCloseLabel),children:"×"})]}),r.jsx("div",{className:"sidePanelBody",children:n.map(p=>r.jsx(gh,{id:p.id,title:p.title,badge:p.badge,isOpen:t===p.id,onToggle:a,children:p.children},p.id))})]})}function as(){typeof window>"u"||window.dispatchEvent(new Event(uo))}let bt=null,Mt=null,wa=null;function gl(){return bt||(bt=document.createElement("div"),bt.className="tooltipPortal",document.body.appendChild(bt)),bt}function Xo(){wa&&(clearTimeout(wa),wa=null)}function wh(e){const t=e.getAttribute("data-tooltip-delay");if(!t)return 0;const a=Number(t);return Number.isFinite(a)&&a>0?a:0}function fh(e){if(!e.isConnected)return!1;try{return e.matches(":hover")}catch{return!0}}function rs(e,t){const a=gl();a.textContent=t,a.classList.add("tooltipVisible");const o=e.getBoundingClientRect(),n=6;a.style.left=`${o.left+o.width/2}px`,a.style.top=`${o.top-n}px`,a.style.transform="translate(-50%, -100%)";const i=a.getBoundingClientRect();i.top<4&&(a.style.top=`${o.bottom+n}px`,a.style.transform="translate(-50%, 0)"),a.getBoundingClientRect().right>window.innerWidth-4&&(a.style.left=`${window.innerWidth-4}px`,a.style.transform=i.top<4?"translate(-100%, 0)":"translate(-100%, -100%)")}function bh(e){const t=e.getAttribute("data-tooltip");if(!t)return;Mt&&(clearTimeout(Mt),Mt=null),Xo();const a=wh(e);if(a>0){wa=setTimeout(()=>{wa=null;const o=e.getAttribute("data-tooltip");o&&fh(e)&&rs(e,o)},a);return}rs(e,t)}function yh(){Xo(),Mt=setTimeout(()=>{gl().classList.remove("tooltipVisible")},50)}function po(){Xo(),Mt&&(clearTimeout(Mt),Mt=null),bt&&bt.classList.remove("tooltipVisible")}function vh(){po()}function Ch(){function e(o){const n=o.target.closest?.("[data-tooltip]");n&&bh(n)}function t(o){o.target.closest?.("[data-tooltip]")&&yh()}function a(){po()}return document.addEventListener("mouseover",e,!0),document.addEventListener("mouseout",t,!0),document.addEventListener("click",a,!0),()=>{document.removeEventListener("mouseover",e,!0),document.removeEventListener("mouseout",t,!0),document.removeEventListener("click",a,!0),po(),bt&&(bt.remove(),bt=null)}}function Ir(e,t={}){const a=t.pinnedOnly?'[data-side-panel-position="side"][data-side-panel-pinned="true"]':'[data-side-panel-position="side"]',n=Array.from(e.querySelectorAll(a)).filter(i=>Sh(i)).map(i=>i.getBoundingClientRect()).filter(i=>i.width>0&&i.height>0).reduce((i,s)=>i==null?s.left:Math.min(i,s.left),null);return n==null?null:Math.round(n)}function Sh(e){const t=e.checkVisibility;if(typeof t=="function")try{return t.call(e,{checkOpacity:!0,checkVisibilityCSS:!0,contentVisibilityAuto:!0})}catch{}if(typeof window>"u"||typeof window.getComputedStyle!="function")return!0;const a=window.getComputedStyle(e);if(a.display==="none"||a.visibility==="hidden")return!1;const o=Number(a.opacity);return!(Number.isFinite(o)&&o===0)}function Lh(e,t=!1){return e==="bubble"||t&&e==="auto"?"welcome-peek":"open"}function Ph(){return"collapsed"}function Rh(e){return e==="drawer"?"open":"welcome-peek"}function xh(e,t){return t<=e.lastQueuedToken?e:{lastQueuedToken:t,pendingToken:t}}function Ah(e,t){return t||e.pendingToken==null?{queue:e,shouldOpen:!1}:{queue:{...e,pendingToken:null},shouldOpen:!0}}function Th(e){const t=xh(e.queue,e.token),a=Ah(t,e.isHiddenRoute);return a.shouldOpen?{queue:a.queue,commit:{innerState:Rh(e.mode),proactive:!0}}:{queue:a.queue,commit:null}}function Dh(e,t,a=!1){return e==="collapsed"?{nextState:Lh(t,a),persistSeen:!1}:e==="welcome-peek"?t==="bubble"||a&&t==="auto"?{nextState:"collapsed",persistSeen:!0}:{nextState:"open",persistSeen:!0}:{nextState:"collapsed",persistSeen:!1}}function Nh(e){return{nextState:"collapsed",persistSeen:e==="welcome-peek"}}function os(){return Ph()}function jh(e,t,a=0,o="floating"){const n=Ne(),[i,s]=d.useState(()=>os()),[c,h]=d.useState(!1),u=d.useRef({lastQueuedToken:0,pendingToken:null}),g=d.useRef(e);g.current=e;const p=n.pathname==="/setup",f=Ia(n.pathname),w=p||f&&o!=="docked",k=f&&o==="docked";d.useEffect(()=>{w&&(h(!1),s(b=>{const S=os();return b===S?b:S}))},[w]),d.useEffect(()=>{const b=Th({queue:u.current,token:a,isHiddenRoute:w,mode:g.current});if(u.current=b.queue,!b.commit)return;const{innerState:S,proactive:T}=b.commit;h(T),s(M=>M===S?M:S)},[w,a]);const y=w?"hidden":i,m=d.useCallback(()=>{h(!1),s(b=>{const S=Dh(b,e,k);return S.persistSeen&&t(),S.nextState})},[e,t,k]),C=d.useCallback(()=>{h(!1),s(b=>{const S=Nh(b);return S.persistSeen&&t(),S.nextState})},[t]),v=d.useCallback(()=>{h(!1),s("collapsed"),t()},[t]);return{viewState:y,proactive:c,toggle:m,collapse:C,dismissWelcome:v}}const kl={x:.03,y:.5};function wl(e,t="floating"){return pl(e)?"hidden":Ia(e)?t==="docked"?"workspace":"hidden":La(e)?"lobby":"workspace"}const kt=16,Mh=28,Ha=Mh/2,Ga=24,Eh=24,Ih=4;function ns(e){const t=e.currentX-e.startX,a=e.currentY-e.startY;return Math.hypot(t,a)>=Ih}function Bh(e){const{surface:t,viewport:a,topChromeBottom:o,sidebarRight:n,rightBlockedLeft:i=null}=e,s=t==="workspace"&&n!=null?Math.max(kt,n+kt):kt,c=t==="lobby"&&o!=null?Math.max(kt,o+kt):kt,h=t==="workspace"&&i!=null?Math.min(a.width-kt,i-kt):a.width-kt,u=s+Ha,g=c+Ha,p=Math.max(u+1,h-Ha),f=Math.max(g+1,a.height-kt-Ha);return{left:u,top:g,right:p,bottom:f}}function fl(e){const{anchor:t,viewport:a,safeArea:o}=e,n=t.x*a.width,i=t.y*a.height;return{x:Math.min(o.right,Math.max(o.left,n)),y:Math.min(o.bottom,Math.max(o.top,i))}}function ho(e){const{pointerX:t,pointerY:a,viewport:o}=e;return o.width<=0||o.height<=0?{...kl}:{x:Math.min(1,Math.max(0,t/o.width)),y:Math.min(1,Math.max(0,a/o.height))}}function bl(e){return e??{...kl}}function Fh(e){const t=ho({pointerX:e.pointerX,pointerY:e.pointerY,viewport:e.viewport}),a=bl(t),o=fl({anchor:a,viewport:e.viewport,safeArea:e.safeArea}),n=ho({pointerX:o.x,pointerY:o.y,viewport:e.viewport});return e.undock?{placement:"floating",floatingAnchor:n}:{floatingAnchor:n}}function Oh(e){const{pointerX:t,pointerY:a,slotRect:o}=e;return o?t>=o.left-Ga&&t<=o.right+Ga&&a>=o.top-Ga&&a<=o.bottom+Ga:!1}function mo(e){return e==="lobby"?"lobby":e==="workspace"?"workspace":null}function Wh(e){const{placement:t,anchor:a,surface:o,viewport:n,safeArea:i}=e;if(o==="hidden")return{kind:"hidden"};if(t==="docked"){const p=mo(o);return p?{kind:"docked",slot:p}:{kind:"hidden"}}const s=bl(a),{x:c,y:h}=fl({anchor:s,viewport:n,safeArea:i}),u=ho({pointerX:c,pointerY:h,viewport:n}),g=Math.abs(u.x-s.x)>.001||Math.abs(u.y-s.y)>.001?"collision_reflow":null;return{kind:"floating",x:c,y:h,overrideReason:g}}const yl=d.createContext(null);function Uh({guideCat:e,placement:t,floatingAnchor:a,sidecarMode:o,proactiveGreetingToken:n=0,onPersistSeen:i,onCommit:s,children:c}){const h=jh(o,i,n,t),u=Ne(),g=wl(u.pathname,t),[p,f]=d.useState(()=>ss()),[w,k]=d.useState(null),[y,m]=d.useState(null),[C,v]=d.useState(null),b=d.useRef({lobby:null,workspace:null}),S=d.useRef({lobby:null,workspace:null}),T=d.useRef(null),M=d.useRef(!1),j=d.useRef(null),[R,P]=d.useState(null),A=d.useCallback(D=>{j.current=D,P(D)},[]);d.useEffect(()=>{if(typeof window>"u")return;const D=()=>f(ss());return window.addEventListener("resize",D),()=>window.removeEventListener("resize",D)},[]),d.useEffect(()=>{if(!(typeof document>"u"))return cs({document,selector:".lobbyTopBar",readValue:D=>D?Math.round(D.getBoundingClientRect().bottom):null,onChange:D=>{k(B=>B===D?B:D)}})},[u.pathname]),d.useEffect(()=>{if(!(typeof document>"u"))return cs({document,selector:"aside.sidebar",readValue:D=>D?Math.round(D.getBoundingClientRect().right):null,onChange:D=>{m(B=>B===D?B:D)}})},[u.pathname]),d.useEffect(()=>{if(typeof document>"u"||typeof window>"u")return;const D=()=>{const B=g==="workspace"?Ir(document):null;v(W=>W===B?W:B)};return D(),window.addEventListener("resize",D),window.addEventListener(uo,D),()=>{window.removeEventListener("resize",D),window.removeEventListener(uo,D)}},[g,u.pathname]);const x=d.useMemo(()=>Bh({surface:g,viewport:p,topChromeBottom:w,sidebarRight:y,rightBlockedLeft:C}),[g,p,w,y,C]),E=d.useMemo(()=>Wh({placement:t,anchor:a,surface:g,viewport:p,safeArea:x}),[t,a,g,p,x]),O=d.useMemo(()=>{if(!R||!R.activated)return E;const D=R.currentX-R.startX,B=R.currentY-R.startY;return R.mode==="floating"?{kind:"floating",x:_a(R.basePillX+D,p.width),y:_a(R.basePillY+B,p.height),overrideReason:null}:R.mode==="docked"&&!R.escaped?E:R.mode==="docked"&&R.escaped?{kind:"floating",x:_a(R.basePillX+D,p.width),y:_a(R.basePillY+B,p.height),overrideReason:null}:E},[E,R,p]),$=d.useMemo(()=>{const D=mo(g),B=t==="docked"&&D!=null,W=R?.mode==="floating"&&R.activated?R.overSlot:null;return{lobby:{active:B&&D==="lobby",preview:W==="lobby"},workspace:{active:B&&D==="workspace",preview:W==="workspace"}}},[t,g,R]),K=d.useCallback((D,B)=>{b.current[D]=B,S.current[D]=B?Fr(B):null},[]),ee=d.useCallback(()=>{Object.keys(b.current).forEach(D=>{const B=b.current[D];S.current[D]=B?Fr(B):null})},[]),F=d.useCallback(D=>{const B=b.current[D];return B?Fr(B):null},[]),Y=d.useCallback((D,B,W=!1)=>Fh({pointerX:D,pointerY:B,viewport:p,safeArea:x,undock:W}),[x,p]),H=d.useCallback(D=>{s({placement:"docked"})},[s]),ae=d.useCallback(D=>{const B=ns({startX:D.startX,startY:D.startY,currentX:D.currentX,currentY:D.currentY}),W=D.basePillX+(D.currentX-D.startX),Z=D.basePillY+(D.currentY-D.startY);D.mode==="floating"&&D.overSlot?(H(D.overSlot),M.current=!0):D.mode==="floating"&&B?(s(Y(W,Z)),M.current=!0):D.mode==="docked"&&D.escaped&&(s(Y(W,Z,!0)),M.current=!0),A(null)},[H,s,Y]),ue=d.useCallback(D=>{const B=j.current;if(!B||D.pointerId!==B.pointerId)return;const W={...B,currentX:D.clientX,currentY:D.clientY};if(!B.activated){if(!ns({startX:B.startX,startY:B.startY,currentX:D.clientX,currentY:D.clientY})){A(W);return}W.activated=!0,typeof document<"u"&&document.body.classList.add(Br),is(),h.collapse(),ee()}if(B.mode==="floating"){const Z=mo(g);if(Z){const q=S.current[Z];Oh({pointerX:D.clientX,pointerY:D.clientY,slotRect:q})?W.overSlot=Z:W.overSlot=null}else W.overSlot=null}else if(B.mode==="docked"){const Z=D.clientX-B.startX,q=D.clientY-B.startY;!B.escaped&&Math.hypot(Z,q)>=Eh&&(W.escaped=!0)}A(W)},[h,ee,A,g]),G=d.useCallback(D=>{const B=j.current;if(!B||D.pointerId!==B.pointerId)return;const W={...B,currentX:D.clientX,currentY:D.clientY};ae(W)},[ae]);d.useEffect(()=>{if(!R)return;const D=B=>{const W=j.current;!W||B.pointerId!==W.pointerId||A(null)};return window.addEventListener("pointermove",ue),window.addEventListener("pointerup",G),window.addEventListener("pointercancel",D),()=>{window.removeEventListener("pointermove",ue),window.removeEventListener("pointerup",G),window.removeEventListener("pointercancel",D)}},[R,ue,G,A]);const I=!!R?.activated,z=d.useMemo(()=>g==="workspace"&&y!=null?Math.max(0,Math.round(y)):0,[g,y]);d.useEffect(()=>{if(!(typeof document>"u")&&I)return document.body.classList.add(Br),()=>{document.body.classList.remove(Br),is()}},[I]);const re=d.useCallback(D=>{if(D.button!==0&&D.pointerType==="mouse")return;D.preventDefault(),D.stopPropagation(),M.current=!1,ls(),v(Ir(document,{pinnedOnly:!0}));const B=D.currentTarget,W=B.getBoundingClientRect(),Z=W.left+W.width/2,q=W.top+W.height/2;try{B.setPointerCapture(D.pointerId)}catch{}A({mode:"floating",pointerId:D.pointerId,startX:D.clientX,startY:D.clientY,currentX:D.clientX,currentY:D.clientY,basePillX:Z,basePillY:q,activated:!1,overSlot:null,escaped:!1})},[]),X=d.useCallback(D=>{if(D.button!==0&&D.pointerType==="mouse")return;D.preventDefault(),D.stopPropagation(),M.current=!1,ls(),v(Ir(document,{pinnedOnly:!0}));const B=D.currentTarget,W=B.getBoundingClientRect(),Z=W.left+W.width/2,q=W.top+W.height/2;try{B.setPointerCapture(D.pointerId)}catch{}A({mode:"docked",pointerId:D.pointerId,startX:D.clientX,startY:D.clientY,currentX:D.clientX,currentY:D.clientY,basePillX:Z,basePillY:q,activated:!1,overSlot:null,escaped:!1})},[]),pe=d.useCallback(()=>{const D=M.current;return M.current=!1,D},[]),ve=d.useCallback(()=>{M.current=!1},[]),U=d.useCallback(()=>{if(O.kind!=="docked")return;const D=F(O.slot);if(!D)return;const B=(D.left+D.right)/2,W=(D.top+D.bottom)/2;s(Y(B,W,!0))},[O,s,Y,F]),V=d.useMemo(()=>({guideCat:e,projection:O,dockSlotState:$,pillRef:T,registerSlotRef:K,onFloatingPointerDown:re,onDockedPointerDown:X,consumePillClickSuppression:pe,clearPillClickSuppression:ve,presentation:h,dragActive:I,panelOriginX:z,getDockSlotRect:F,undock:U}),[e,O,$,K,re,X,pe,ve,h,I,z,F,U]);return r.jsx(yl.Provider,{value:V,children:c})}function Zo(){const e=d.useContext(yl);if(!e)throw new Error("useGuideCatPlacement requires GuideCatPlacementProvider");return e}function Hh(e){const{registerSlotRef:t}=Zo();return d.useCallback(a=>{t(e,a)},[t,e])}function ss(){return typeof window>"u"?{width:0,height:0}:{width:window.innerWidth,height:window.innerHeight}}function _a(e,t){return t<=0?e:Math.min(t,Math.max(0,e))}function is(){vh()}const vl=Symbol.for("cats.guideCat.dismissTransientChrome");function Gh(e){return!!e[vl]}function ls(){if(typeof document>"u"||typeof MouseEvent>"u")return;const e=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:typeof window<"u"?window:void 0,button:0});e[vl]=!0,document.body.dispatchEvent(e)}const Br="guideCatDragging";function Fr(e){const t=e.getBoundingClientRect();return{left:t.left,top:t.top,right:t.right,bottom:t.bottom}}function cs(e){const{document:t,selector:a,readValue:o,onChange:n}=e,i=globalThis.ResizeObserver,s=globalThis.MutationObserver,c=t.body??t.documentElement;if(!c)return n(o(t.querySelector(a))),()=>{};let h=null,u=null,g=null;const p=()=>{u?.disconnect(),g?.disconnect(),u=null,g=null},f=()=>{n(o(h))},w=()=>{h&&typeof i=="function"&&(u=new i(f),u.observe(h)),h&&typeof s=="function"&&(g=new s(f),g.observe(h,{attributes:!0,attributeFilter:["class","style"]}))},k=()=>{const m=t.querySelector(a);return m===h?!1:(p(),h=m,w(),f(),!0)};let y=null;return typeof s=="function"&&(y=new s(()=>{h!=null&&(h.isConnected??!0)||k()}),y.observe(c,{childList:!0,subtree:!0})),k()||f(),()=>{p(),y?.disconnect()}}const fr="cats.guide-cat-ui-prefs",Cl=1,Qt={sidecarSeen:!1,sidecarMode:"auto",placement:"floating",floatingAnchor:null},ds=new Set;function Pa(){const e=globalThis;return typeof e.addEventListener!="function"||typeof e.removeEventListener!="function"?null:e}function _h(e,t){(Pa()===null?d.useEffect:d.useLayoutEffect)(e,t)}function Kh(e){if(typeof e!="object"||e===null)return null;const t=e,a=t.x,o=t.y;return typeof a!="number"||typeof o!="number"||!Number.isFinite(a)||!Number.isFinite(o)?null:{x:Math.min(1,Math.max(0,a)),y:Math.min(1,Math.max(0,o))}}function qh(e){return e==="auto"||e==="drawer"||e==="bubble"?e:Qt.sidecarMode}function zh(e){return e==="floating"||e==="docked"?e:Qt.placement}function $h(e,t){return{sidecarSeen:t.sidecarSeen??e.sidecarSeen,sidecarMode:t.sidecarMode??e.sidecarMode,placement:t.placement??e.placement,floatingAnchor:t.floatingAnchor!==void 0?t.floatingAnchor:e.floatingAnchor}}function en(e){if(!e)return null;try{const t=JSON.parse(e);if(typeof t!="object"||t===null)return null;const a=t;return a.version===Cl?{sidecarSeen:a.sidecarSeen===!0,sidecarMode:qh(a.sidecarMode),placement:zh(a.placement),floatingAnchor:Kh(a.floatingAnchor)}:null}catch{return null}}function Sl(e){ds.has(e)||(ds.add(e),globalThis.console?.warn?.(`[guide-cat-ui-prefs] Ignoring unsupported or malformed stored prefs during ${e}.`))}function Vh(e){const t={version:Cl,sidecarSeen:e.sidecarSeen,sidecarMode:e.sidecarMode,placement:e.placement,floatingAnchor:e.floatingAnchor?{...e.floatingAnchor}:null};return JSON.stringify(t)}function Yh(e){if(!e)return null;try{return en(e.getItem(fr))}catch{return null}}function Qh(e){if(!e)return null;try{return e.getItem(fr)}catch{return null}}function Ll(e,t){if(!e)return{persisted:!1,prefs:t};try{e.setItem(fr,Vh(t));const a=Yh(e);if(a)return{persisted:!0,prefs:a}}catch{}return{persisted:!1,prefs:t}}function Jh(e){const{storage:t}=e,a=Qh(t),o=en(a);if(o)return{prefs:o,source:"local",persisted:!0};if(a!==null)return Sl("bootstrap"),{prefs:{...Qt},source:"defaults",persisted:!1};const n={...Qt},i=Ll(t,n).persisted;return{prefs:n,source:"defaults",persisted:i}}function Or(e,t){return e.sidecarSeen===t.sidecarSeen&&e.sidecarMode===t.sidecarMode&&e.placement===t.placement&&e.floatingAnchor?.x===t.floatingAnchor?.x&&e.floatingAnchor?.y===t.floatingAnchor?.y}class Xh{constructor(t){this.storage=t}prefs={...Qt};hydrated=!1;listeners=new Set;storageListening=!1;getSnapshot=()=>this.prefs;isHydrated(){return this.hydrated}subscribe=t=>(this.listeners.add(t),this.ensureStorageListener(),()=>{this.listeners.delete(t),this.listeners.size===0&&this.teardownStorageListener()});ensureHydrated(){if(this.hydrated)return;const t=Jh({storage:this.storage});this.prefs=t.prefs,this.hydrated=!0}update(t){this.hydrated||this.ensureHydrated();const a=$h(this.prefs,t);if(Or(this.prefs,a))return;const o=Ll(this.storage,a).prefs;this.prefs=o,this.hydrated=!0,this.emit()}emit(){this.listeners.forEach(t=>t())}ensureStorageListener(){const t=Pa();!t||this.storageListening||(t.addEventListener?.("storage",this.handleStorageEvent),this.storageListening=!0)}teardownStorageListener(){const t=Pa();!t||!this.storageListening||(t.removeEventListener?.("storage",this.handleStorageEvent),this.storageListening=!1)}handleStorageEvent=t=>{if(t.key!==fr)return;if(t.newValue===null){const o={...Qt};if(Or(this.prefs,o))return;this.prefs=o,this.hydrated=!0,this.emit();return}const a=en(t.newValue);if(!a){Sl("storage-event");return}Or(this.prefs,a)||(this.prefs=a,this.hydrated=!0,this.emit())}}function Pl(e){return new Xh(e)}let Wr=null;function Zh(){return Wr||(Wr=Pl(Pa()?.localStorage??null)),Wr}function tn(e={}){const{hydrate:t=!0}=e,a=d.useMemo(()=>Pa()===null?Pl(null):Zh(),[]),[,o]=d.useState(0);_h(()=>{!t||a.isHydrated()||(a.ensureHydrated(),o(s=>s+1))},[t,a]);const n=d.useSyncExternalStore(a.subscribe,a.getSnapshot,a.getSnapshot),i=d.useCallback(s=>{a.update(s)},[a]);return{prefs:n,hydrated:t&&a.isHydrated(),update:i}}const go=["claude","codex","antigravity","grok","cline","devin","muse","cursor","copilot","opencode","kilo","goose","pi","auggie","junie","kiro","ollama","openclaw"],em={openclaw:[{value:"openclaw-coder",label:"openclaw-coder (default)",default:!0}],claude:[{value:"opus",label:"Opus 5 with 1M context",default:!0},{value:"fable",label:"Fable 5.1"},{value:"sonnet",label:"Sonnet 5"},{value:"haiku",label:"Haiku 4.5"}],codex:[{value:"gpt-6-astra",label:"gpt-6-astra",default:!0},{value:"gpt-5.6-sol",label:"gpt-5.6-sol"},{value:"gpt-5.6-terra",label:"gpt-5.6-terra"},{value:"gpt-5.6-luna",label:"gpt-5.6-luna"},{value:"gpt-5.5",label:"gpt-5.5"}],antigravity:[{value:"gemini-3.8-flash-low",label:"Gemini 3.8 Flash"},{value:"gemini-3.7-flash-low",label:"Gemini 3.7 Flash"},{value:"gemini-3.6-flash-low",label:"Gemini 3.6 Flash"},{value:"gemini-3.1-pro-low",label:"Gemini 3.1 Pro"},{value:"claude-sonnet-4-6",label:"Claude Sonnet 4.6 (Thinking)"},{value:"claude-opus-4-6-thinking",label:"Claude Opus 4.6 (Thinking)"},{value:"gpt-oss-120b-medium",label:"GPT-OSS 120B (Medium)"}],grok:[{value:"grok-4.6",label:"Grok 4.6"},{value:"grok-4.5",label:"Grok 4.5"}],cline:[{value:"cline-pass/glm-5.3",label:"GLM-5.3 — Medium"},{value:"cline-pass/kimi-k3",label:"Kimi K3 — Medium"},{value:"cline-pass/qwen3.8-max",label:"Qwen3.8 Max — Medium"},{value:"cline-pass/deepseek-v4-pro",label:"DeepSeek V4 Pro — Medium"},{value:"cline-pass/minimax-m3",label:"MiniMax-M3 — Medium"},{value:"cline-pass/mimo-v2.5-pro",label:"MiMo-V2.5-Pro — Medium"}],devin:[{value:"adaptive",label:"Adaptive"},{value:"claude-fable-5-1-medium",label:"Claude Fable 5.1 — Medium"},{value:"gemini-3-8-flash-medium",label:"Gemini 3.8 Flash — Medium"},{value:"gpt-6-astra-medium",label:"GPT-6 Astra — Medium"},{value:"grok-4-6-medium",label:"Grok 4.6 — Medium"},{value:"nemotron-3-ultra-high",label:"Nemotron 3 Ultra — High"}],muse:[{value:"muse-default",label:"Muse account default",default:!0},{value:"muse-spark-1.3",label:"muse-spark-1.3"},{value:"muse-spark-1.2",label:"muse-spark-1.2"}],copilot:[{value:"gpt-5.6-terra",label:"GPT-5.6 Terra — Medium (default)",default:!0},{value:"claude-sonnet-5",label:"Claude Sonnet 5 — Medium"},{value:"gemini-3.8-flash",label:"Gemini 3.8 Flash — Medium"},{value:"grok-4.6",label:"Grok 4.6 — Medium"},{value:"mai-code-1.1-flash",label:"MAI-Code-1.1-Flash — Medium"},{value:"kimi-k3",label:"Kimi K3 — High"}],opencode:[{value:"opencode-go/union-alpha",label:"Union Alpha Free"},{value:"opencode-go/deepseek-v4.1-flash",label:"DeepSeek V4.1 Flash"},{value:"opencode-go/hy4-preview",label:"Hy4 preview"},{value:"opencode-go/glm-5.3-flash",label:"GLM-5.3-Flash"},{value:"opencode-go/qwen3.8-flash",label:"Qwen3.8 Flash"},{value:"opencode-go/minimax-m3",label:"MiniMax-M3"}],kilo:[{value:"kilo/deepseek/deepseek-v4.1-flash",label:"DeepSeek: DeepSeek V4.1 Flash"},{value:"kilo/z-ai/glm-5.3-flash",label:"Z.ai: GLM 5.3 Flash"},{value:"kilo/moonshotai/kimi-k3",label:"MoonshotAI: Kimi K3"},{value:"kilo/minimax/minimax-m3",label:"MiniMax: MiniMax M3"},{value:"kilo/bytedance-seed/seed-2-1-turbo",label:"ByteDance Seed: Seed 2.1 Turbo Thinking"},{value:"kilo/google/gemini-3-pro-image",label:"Google: Nano Banana Pro (Gemini 3 Pro Image) Thinking"}],auggie:[{value:"gpt-5.4",label:"gpt-5.4 (default)",default:!0},{value:"claude opus 4.6",label:"claude opus 4.6"},{value:"sonnet 4.6",label:"sonnet 4.6"}],pi:[{value:"openai-codex/gpt-5.4",label:"openai-codex gpt-5.4 (default)",default:!0}],junie:[{value:"Gemini 3 Flash",label:"Gemini 3 Flash (default)",default:!0},{value:"Claude Opus 4.6",label:"Claude Opus 4.6"},{value:"Claude Opus 4.7",label:"Claude Opus 4.7"},{value:"Claude Sonnet 4.6",label:"Claude Sonnet 4.6"},{value:"Gemini 3.1 Flash Lite",label:"Gemini 3.1 Flash Lite"},{value:"Gemini 3.1 Pro Preview",label:"Gemini 3.1 Pro Preview"},{value:"GPT-5",label:"GPT-5"},{value:"GPT-5.2",label:"GPT-5.2"},{value:"GPT-5.3-codex",label:"GPT-5.3-codex"},{value:"GPT-5.4",label:"GPT-5.4"},{value:"Grok 4.1 Fast Reasoning",label:"Grok 4.1 Fast Reasoning"}],cursor:[{value:"grok-4.6[effort=high,fast=true]",label:"Cursor Grok 4.6 — High Fast"},{value:"composer-2.5[fast=true]",label:"Composer 2.5 — Fast"},{value:"claude-opus-5[thinking=true,context=300k,effort=high,fast=false]",label:"Claude Opus 5 — 300K High Thinking"},{value:"gpt-5.6-sol[context=272k,reasoning=medium,fast=false]",label:"GPT-5.6 Sol — 272K Medium"},{value:"gemini-3.8-flash[reasoning_effort=high]",label:"Gemini 3.8 Flash — High"},{value:"muse-spark-1.3[context=300k,effort=high]",label:"Muse Spark 1.3 — 300K High"}],kiro:[{value:"claude-opus-5",label:"claude-opus-5"},{value:"claude-sonnet-5",label:"claude-sonnet-5"},{value:"gpt-5.6-sol",label:"gpt-5.6-sol"},{value:"gpt-5.6-terra",label:"gpt-5.6-terra"},{value:"gpt-5.6-luna",label:"gpt-5.6-luna"},{value:"claude-haiku-4.5",label:"claude-haiku-4.5"}],goose:[{value:"openai/gpt-5-codex",label:"openai/gpt-5-codex (default)",default:!0},{value:"openai/gpt-5",label:"openai/gpt-5"}],ollama:[{value:"qwen2.5-coder:7b",label:"qwen2.5-coder:7b (default)",default:!0}]},tm={antigravity:"antigravity-default",muse:"muse-default"},am={claude:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0},{id:"sdk",label:"agent/sdk",target:"agent/sdk",backend:"agent"},{id:"sonnet",label:"api/sonnet",target:"api/sonnet",backend:"api"}],codex:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0},{id:"main",label:"api/main",target:"api/main",backend:"api"}],antigravity:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],grok:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],cline:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],devin:[{id:"acp",label:"agent/acp",target:"agent/acp",backend:"agent",default:!0}],muse:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],cursor:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],copilot:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],opencode:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],kilo:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],goose:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],pi:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],auggie:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],junie:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],kiro:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],ollama:[{id:"local",label:"local/local",target:"local/local",backend:"local",default:!0}],openclaw:[{id:"gateway",label:"agent/gateway",target:"agent/gateway",backend:"agent",default:!0}]};function jt(e){return e.target??(e.backend?`${e.backend}/${e.id}`:e.id)}const rm=Object.fromEntries(Object.entries(em).map(([e,t])=>[e,t.map(a=>({...a}))]));function Ce(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function Rl(e){const t=Ce(e);return t?Ce(t.catalog)??t:null}function ce(e){return typeof e=="string"&&e.trim().length>0?e:null}function ca(e){return e==="none"||e==="derived"||e==="native"||e==="unknown"?e:"unknown"}function om(e){return e==="none"||e==="final"||e==="chunk"||e==="line"||e==="token"||e==="unknown"?e:"unknown"}function nm(e){return e==="final_message"||e==="event_tape"||e==="content_blocks"||e==="unknown"?e:"unknown"}function sm(e){const t=Ce(e);if(!t)return null;const a=Ce(t.normalizedStream),o=Ce(a?.text),n=Ce(t.transcript),i=Ce(t.presentation),s=Ce(t.validation),c=Ce(s?.observed);return{normalizedStream:{text:{mode:om(o?.mode),stepwise:o?.stepwise===!0},toolUse:ca(a?.toolUse),toolResult:ca(a?.toolResult),progress:ca(a?.progress),reasoning:ca(a?.reasoning)},transcript:{contentBlocks:ca(n?.contentBlocks)},presentation:{recommended:nm(i?.recommended)},notes:_e(t.notes),...s?{validation:{artifactId:typeof s.artifactId=="string"?s.artifactId:"",capturedAt:typeof s.capturedAt=="string"?s.capturedAt:"",transport:typeof s.transport=="string"?s.transport:"",...typeof s.runtimeMode=="string"?{runtimeMode:s.runtimeMode}:{},executionStatus:s.executionStatus==="failed"?"failed":"completed",observed:{incrementalText:c?.incrementalText===!0,toolUse:c?.toolUse===!0,toolResult:c?.toolResult===!0,progress:c?.progress===!0,finalResult:c?.finalResult===!0}}}:{}}}function ko(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function _e(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function $t(e){const t=Ce(e);if(!t)return;const a=Object.entries(t).filter(([,o])=>ko(o));return a.length>0?Object.fromEntries(a):void 0}function us(e){return e==="supported"||e==="unavailable"||e==="available"||e==="preview"||e==="deprecated"?e:void 0}function im(e){return e==="boolean"||e==="enum"||e==="number"||e==="string"?e:"string"}function lm(e){return e==="session_default"||e==="request"||e==="both"?e:"session_default"}function cm(e){return e==="auto"||e==="explicit"?e:"explicit"}function ps(e){if(!Array.isArray(e))return;const t=e.flatMap(a=>{if(ko(a))return[{value:a,label:String(a)}];const o=Ce(a);return!o||!ko(o.value)?[]:[{value:o.value,label:ce(o.label)??String(o.value),...ce(o.description)?{description:ce(o.description)}:{},..._e(o.applicableEntryIds).length>0?{applicableEntryIds:_e(o.applicableEntryIds)}:{}}]});return t.length>0?t:void 0}function dm(e){return go.includes(e)}function At(e){const t=e?.trim().toLowerCase();if(!t)return null;if(go.includes(t))return t;if(t.endsWith("-cli")){const a=t.slice(0,-4);if(go.includes(a))return a}return null}function um(e){const t=At(e)??e.trim();return t==="openclaw"?"OpenClaw":t.charAt(0).toUpperCase()+t.slice(1)}function xl(e){const t=At(e);return t?rm[t]??[]:[]}function Al(e,t){const a=At(e);return a?tm[a]===t?.trim():!1}function an(e,t){const a=t?.trim();if(!a)return null;if((At(e)??e)==="claude"){const n=a.toLowerCase();if(n==="claude-opus-4-6"||n==="claude-opus-4.6"||n==="opus")return"opus";if(n==="claude-sonnet-4-6"||n==="claude-sonnet-4.6"||n==="sonnet")return"sonnet";if(n==="claude-haiku-4-5"||n==="claude-haiku-4.5"||n==="haiku")return"haiku"}return a}function BS(e){const t=xl(e);return t.find(a=>a.default)?.value??t[0]?.value??""}function rn(e){const t=At(e);return t?am[t]??[]:[]}function Tl(e){const t=rn(e);return t.find(a=>a.default)?.id??t[0]?.id??null}function pm(e){const t=rn(e);return t.find(a=>a.default)?.backend??t[0]?.backend??null}function Dl(e){return e.defaultModel||e.models.find(t=>t.default)?.id||e.models[0]?.id||""}function hm(e){const t=Dl(e)||null;return{provider:e.provider,backend:e.backend,instance:e.instance,defaultModel:t,source:e.source,cache:e.cache,entries:e.models.map(a=>({...a})),presets:[],controls:[],defaultSelection:t?{entryId:t,entryMode:"explicit"}:null,support:{tier:"entry_only",notes:[]},warnings:[...e.warnings]}}function mm(e,t){const a=Rl(e)??{},o=a.source,n=o==="dynamic"||o==="config"||o==="static"?o:"static",i=Ce(a.cache),s=Array.isArray(a.models)?a.models:[];return{provider:ce(a.provider)??t,backend:ce(a.backend),instance:ce(a.instance),defaultModel:ce(a.defaultModel),source:n,cache:i?{servedFromCache:!!i.servedFromCache,cachedAt:ce(i.cachedAt),ttlSec:typeof i.ttlSec=="number"?i.ttlSec:null}:null,models:s.map(c=>Ce(c)).filter(c=>c!==null).map(c=>({id:ce(c.id)??"",label:ce(c.label)??ce(c.id)??"",default:!!c.default,status:ce(c.status)??void 0})).filter(c=>c.id.length>0),warnings:Array.isArray(a.warnings)?a.warnings.filter(c=>typeof c=="string"):[]}}function gm(e,t){const a=Rl(e)??{},o=a.source,n=o==="dynamic"||o==="config"||o==="static"?o:"static",i=Ce(a.cache),s=Array.isArray(a.entries)?a.entries:[],c=Array.isArray(a.presets)?a.presets:[],h=Array.isArray(a.controls)?a.controls:[],u=Ce(a.support),g=Ce(a.defaultSelection);return{provider:ce(a.provider)??t,backend:ce(a.backend),instance:ce(a.instance),defaultModel:ce(a.defaultModel),source:n,cache:i?{servedFromCache:!!i.servedFromCache,cachedAt:ce(i.cachedAt),ttlSec:typeof i.ttlSec=="number"?i.ttlSec:null}:null,entries:s.map(p=>Ce(p)).filter(p=>p!==null).map(p=>({id:ce(p.id)??"",label:ce(p.label)??ce(p.id)??"",default:!!p.default,...$t(p.controlDefaults)?{controlDefaults:$t(p.controlDefaults)}:{},...ce(p.status)?{status:ce(p.status)}:{},..._e(p.capabilityTags).length>0?{capabilityTags:_e(p.capabilityTags)}:{},...Ce(p.limits)?{limits:{...typeof Ce(p.limits)?.contextWindowTokens=="number"?{contextWindowTokens:Number(Ce(p.limits)?.contextWindowTokens)}:typeof Ce(p.limits)?.contextWindow=="number"?{contextWindowTokens:Number(Ce(p.limits)?.contextWindow)}:{},...typeof Ce(p.limits)?.maxOutputTokens=="number"?{maxOutputTokens:Number(Ce(p.limits)?.maxOutputTokens)}:{}}}:{},..._e(p.notes).length>0?{notes:_e(p.notes)}:{}})).filter(p=>p.id.length>0),presets:c.map(p=>Ce(p)).filter(p=>p!==null).map(p=>({id:ce(p.id)??"",label:ce(p.label)??ce(p.id)??"",...ce(p.description)?{description:ce(p.description)}:{},...us(p.availability)?{availability:us(p.availability)}:{},..._e(p.applicableEntryIds).length>0?{applicableEntryIds:_e(p.applicableEntryIds)}:{},...ce(p.preferredEntryId)?{preferredEntryId:ce(p.preferredEntryId)}:{},...$t(p.controlDefaults)?{controlDefaults:$t(p.controlDefaults)}:{},..._e(p.warnings).length>0?{warnings:_e(p.warnings)}:{}})).filter(p=>p.id.length>0),controls:h.map(p=>Ce(p)).filter(p=>p!==null).map(p=>({key:ce(p.key)??"",label:ce(p.label)??ce(p.key)??"",...ce(p.description)?{description:ce(p.description)}:{},kind:im(p.kind),scope:lm(p.scope),...ps(p.values)?{values:ps(p.values)}:{},...typeof p.minimum=="number"?{minimum:p.minimum}:{},...typeof p.maximum=="number"?{maximum:p.maximum}:{},...typeof p.step=="number"?{step:p.step}:{},..._e(p.applicableEntryIds).length>0?{applicableEntryIds:_e(p.applicableEntryIds)}:{},..._e(p.semanticTags).length>0?{semanticTags:_e(p.semanticTags)}:{}})).filter(p=>p.key.length>0),defaultSelection:g?{...ce(g.entryId)?{entryId:ce(g.entryId)}:{},entryMode:cm(g.entryMode),...ce(g.presetId)?{presetId:ce(g.presetId)}:{},...$t(g.controls)?{controls:$t(g.controls)}:{}}:null,support:{tier:u?.tier==="full"||u?.tier==="entry_only"||u?.tier==="read_only"?u.tier:"entry_only",notes:_e(u?.notes)},warnings:Array.isArray(a.warnings)?a.warnings.filter(p=>typeof p=="string"):[]}}const Nl=new Map;function jl(e,t){return`${e.trim().toLowerCase()}::${t.trim().toLowerCase()}`}function km(e,t){const a=e.trim();if(a)for(const o of t){const n=o.id?.trim(),i=o.label?.trim();!n||!i||Nl.set(jl(a,n),i)}}function hs(e,t){return!e.trim()||!t.trim()?null:Nl.get(jl(e,t))??null}const on=new Map;function wm(e){const t=e.trim().toLowerCase();if(t.endsWith("-cli")){const o=t.slice(0,-4);if(dm(o))return{provider:o,backendSuffix:"-CLI"}}return{provider:At(t)??e.trim(),backendSuffix:null}}function br(e){return e.replace(/\s*\((?:default|recommended)\)\s*/giu," ").trim()}function ms(e){const t=e?.toLowerCase();return t==="cli"?"-CLI":t==="agent"?"-AGENT":t==="api"?"-API":t==="local"?"-LOCAL":""}function fm(e,t){if(!t)return"";const a=t.toLowerCase();if(a.startsWith("cli/")||a==="cli")return"-CLI";if(a.startsWith("agent/")||a==="agent")return"-AGENT";if(a.startsWith("api/")||a==="api")return"-API";if(a.startsWith("local/")||a==="local")return"-LOCAL";if(a==="default")return ms(pm(e));const o=rn(e).find(s=>s.id===t),n=ms(o?.backend);if(n)return n;const i=o?.target?.toLowerCase();return i?.startsWith("cli/")?"-CLI":i?.startsWith("agent/")?"-AGENT":i?.startsWith("api/")?"-API":i?.startsWith("local/")?"-LOCAL":""}function bm(e,t){if(!t)return null;const a=an(e,t)??t,n=hs(e,t)??hs(e,a)??xl(e).find(s=>s.value===a)?.label,i=e==="claude"&&(a==="opus"||a==="sonnet"||a==="haiku")?a.charAt(0).toUpperCase()+a.slice(1):a;return br(n??i)}function ym(e){const t=e?.trim();return t?br(t):null}function Ml(e){const t=e?.trim();return t?br(t):null}function vm(e){return JSON.stringify([typeof e,e])}function Cm(e){if(!e)return"";const t=Object.entries(e).filter(([,a])=>a!==""&&a!==!1).sort(([a],[o])=>a.localeCompare(o)).map(([a,o])=>[a,vm(o)]);return t.length>0?JSON.stringify(t):""}function El(e){const t=At(e.provider)??e.provider.trim().toLowerCase(),a=(e.instance?.trim()||Tl(e.provider)||"").toLowerCase(),o=(an(e.provider,e.model)??e.model?.trim()??"").toLowerCase();return JSON.stringify([t,a,o,Cm(e.controls)])}function Sm(){on.clear()}function Lm(e){return Bl(e)}function Il(e){const t=Ml(e.executionLabel);return t?(on.set(El({provider:e.provider,instance:e.instance,model:e.model,controls:e.modelSelection?.controls??null}),t),t):null}function Bl(e){return on.get(El({provider:e.provider,instance:e.instance,model:e.model,controls:e.modelSelection?.controls??null}))??null}const Pm={max:"Max",xhigh:"xHigh",high:"High",medium:"Medium",low:"Low",none:"None"};function Rm(e){return typeof e=="boolean"?e?"On":"Off":typeof e=="number"?String(e):Pm[e]??e.replace(/[_-]/g," ").replace(/\b\w/g,t=>t.toUpperCase())}function Fl(e,t){if(!e)return[];const a=new Map((t??[]).map(o=>[o.key,o]));return Object.entries(e).filter(([,o])=>o!==""&&o!==!1).map(([o,n])=>{const s=a.get(o)?.values?.find(c=>c.value===n);return br(s?.label??Rm(n))}).filter(o=>o.length>0)}function nn(e,t,a,o,n,i){const s=wm(e),c=o?.trim()||um(s.provider),h=t?.trim()||Tl(s.provider),u=s.backendSuffix??fm(s.provider,h),g=ym(i)??bm(s.provider,a),p=n&&n.length>0?` · ${n.join(" · ")}`:"";return c+u+(g?` · ${g}`:"")+p}function yr(e){const t=Il({provider:e.provider,instance:e.instance,model:e.model,modelSelection:e.modelSelection??null,executionLabel:e.executionLabel??null});if(t)return t;const a=Bl({provider:e.provider,instance:e.instance,model:e.model,modelSelection:e.modelSelection??null});if(a)return a;const o=e.controlLabels??Fl(e.modelSelection?.controls,e.catalogControls);return nn(e.provider,e.instance,e.model,e.providerLabel,o,e.modelLabelOverride)}function xm(e){const t=e.defaultExecutionTarget;return yr({provider:t.provider,instance:t.instance??null,model:t.model??null,modelSelection:e.defaultModelSelection??null,executionLabel:e.executionLabel??null})}function FS(e){const t=e.execution?.target;return t?.provider?yr({provider:t.provider,instance:t.instance??null,model:t.model??null,modelSelection:e.execution?.modelSelection??null,executionLabel:e.executionLabel??null}):Ml(e.executionLabel)}function Ol(e,t){return t?`${e} · ${t}`:e}const Am="Catlas",Tm=[];function gs(e){return e.trim().toLowerCase()}function Dm(e){return Array.isArray(e)?e.map(t=>gs(t)).filter(t=>t.length>0):typeof e!="string"?[]:e.split(",").map(t=>gs(t.split(";",1)[0]??"")).filter(t=>t.length>0)}function Nm(){const e=typeof globalThis=="object"&&globalThis!==null&&"navigator"in globalThis?globalThis.navigator:void 0;return e?Array.isArray(e.languages)&&e.languages.length>0?e.languages:typeof e.language=="string"?e.language:null:null}function jm(e){const t=Dm(e);for(const a of t){const o=Tm.find(n=>n.prefixes.some(i=>a===i||a.startsWith(`${i}-`)));if(o)return o.name}return Am}function vt(){return jm(Nm())}function Ra(e){return e==null||e==="active"}const Za=new URL("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20120%20120'%20width='100%25'%20height='100%25'%3e%3cdefs%3e%3cclipPath%20id='circle-clip'%3e%3ccircle%20cx='60'%20cy='60'%20r='60'%20/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20clip-path='url(%23circle-clip)'%3e%3c!--%20Background%20--%3e%3crect%20width='120'%20height='120'%20fill='%238B7E74'%20/%3e%3c!--%20Ears%20--%3e%3cpolygon%20points='25,25%2045,50%2025,60'%20fill='%23F2994A'%20/%3e%3cpolygon%20points='95,25%2075,50%2095,60'%20fill='%23F2994A'%20/%3e%3cpolygon%20points='28,32%2040,50%2030,55'%20fill='%23FDE1D3'%20/%3e%3cpolygon%20points='92,32%2080,50%2090,55'%20fill='%23FDE1D3'%20/%3e%3c!--%20Head%20--%3e%3cellipse%20cx='60'%20cy='65'%20rx='45'%20ry='35'%20fill='%23F2994A'%20/%3e%3c!--%20Face%20marking%20(white%20area)%20--%3e%3cpath%20d='M%2060,65%20Q%2020,65%2025,85%20Q%2060,110%2095,85%20Q%20100,65%2060,65%20Z'%20fill='%23FFFFFF'%20/%3e%3c!--%20Eyes%20--%3e%3ccircle%20cx='42'%20cy='60'%20r='6'%20fill='%23333333'%20/%3e%3ccircle%20cx='78'%20cy='60'%20r='6'%20fill='%23333333'%20/%3e%3c!--%20Catchlights%20--%3e%3ccircle%20cx='44'%20cy='58'%20r='2'%20fill='%23FFFFFF'%20/%3e%3ccircle%20cx='80'%20cy='58'%20r='2'%20fill='%23FFFFFF'%20/%3e%3c!--%20Nose%20--%3e%3cpolygon%20points='56,72%2064,72%2060,77'%20fill='%23EB5757'%20/%3e%3c!--%20Mouth%20--%3e%3cpath%20d='M%2052,80%20Q%2060,85%2068,80'%20fill='none'%20stroke='%23333333'%20stroke-width='2'%20stroke-linecap='round'%20/%3e%3c!--%20Whiskers%20--%3e%3cline%20x1='15'%20y1='65'%20x2='30'%20y2='68'%20stroke='%23333333'%20stroke-width='1.5'%20stroke-linecap='round'%20opacity='0.5'%20/%3e%3cline%20x1='12'%20y1='72'%20x2='28'%20y2='72'%20stroke='%23333333'%20stroke-width='1.5'%20stroke-linecap='round'%20opacity='0.5'%20/%3e%3cline%20x1='105'%20y1='65'%20x2='90'%20y2='68'%20stroke='%23333333'%20stroke-width='1.5'%20stroke-linecap='round'%20opacity='0.5'%20/%3e%3cline%20x1='108'%20y1='72'%20x2='92'%20y2='72'%20stroke='%23333333'%20stroke-width='1.5'%20stroke-linecap='round'%20opacity='0.5'%20/%3e%3c!--%20Guide%20Scarf/Bandana%20--%3e%3cpath%20d='M%2020,85%20Q%2060,105%20100,85%20L%20110,120%20L%2010,120%20Z'%20fill='%232D9CDB'%20/%3e%3cpath%20d='M%2060,100%20L%2075,120%20L%2045,120%20Z'%20fill='%232285C2'%20/%3e%3ccircle%20cx='60'%20cy='95'%20r='7'%20fill='%23F2C94C'%20/%3e%3c/g%3e%3c/svg%3e",import.meta.url).href,ks=14,Mm=36,Em=20,Im=20;function Bm(e,t="floating"){const a=wl(e,t);return a==="workspace"?"product":a}function ws({name:e,tooltip:t,unreadCount:a,onClick:o,onDismissClick:n,onPointerDown:i,style:s,className:c,dragging:h}){const{t:u}=_(),g=vt();return r.jsxs("div",{className:c??"guideCatPillWrap","data-dragging":h?"true":"false",style:s,children:[r.jsxs("button",{type:"button",className:"guideCatPill",onPointerDown:i,onClick:o,"aria-label":u(l.sharedGuideCatPillOpenLabel,{guideCatName:g}),"data-tooltip":t,"data-tooltip-delay":"1000",children:[r.jsx(Wl,{className:"guideCatPillAvatar"}),a>0?r.jsx("span",{className:"guideCatPillBadge",children:a}):null]}),n&&!h?r.jsx("button",{type:"button",className:"guideCatPillDismiss",onClick:p=>{p.stopPropagation(),n()},"aria-label":u(l.sharedGuideCatPillDisableLabel),children:"✕"}):null]})}function Fm({ownerDisplayName:e,onAction:t,onDismiss:a,style:o,anchor:n="anchor-left"}){const{t:i}=_();return r.jsxs("div",{className:`guideCatPeek guideCatPeek--${n}`,style:o,children:[r.jsx("p",{className:"guideCatPeekGreeting",children:i(l.sharedGuideCatWelcomeGreeting,{ownerDisplayName:e})}),r.jsxs("div",{className:"guideCatPeekActions",children:[r.jsx(Yt,{route:"/chat/new",onAction:t,labelKey:l.sharedGuideCatWelcomeStartChat}),r.jsx(Yt,{route:"/settings/cats",onAction:t,labelKey:l.sharedGuideCatWelcomeMeetCats}),r.jsx(Yt,{route:"/lobby",onAction:t,labelKey:l.sharedGuideCatWelcomeExploreProducts})]}),a?r.jsx("button",{type:"button",className:"guideCatPeekDismiss",onClick:a,children:i(l.sharedGuideCatWelcomeHideNow)}):null]})}function Yt({route:e,onAction:t,labelKey:a,className:o="guideCatPeekAction"}){const{t:n}=_();return r.jsx("button",{type:"button",className:o,onClick:()=>t(e),children:n(a)})}function Om({name:e,tooltip:t,ownerDisplayName:a,onAction:o,onClose:n,style:i,surfaceMode:s}){const{t:c}=_(),h=vt();return r.jsxs("div",{className:s==="lobby"?"guideCatPanel guideCatPanel--lobby":"guideCatPanel guideCatPanel--product",style:i,children:[r.jsxs("div",{className:"guideCatPanelHeader","data-tooltip":t,"data-tooltip-delay":"1000",children:[r.jsx(Wl,{className:"guideCatPanelAvatar"}),r.jsx("span",{className:"guideCatPanelName",children:h}),r.jsx("button",{type:"button",className:"guideCatPanelClose",onClick:n,"aria-label":c(l.sharedCommonClose),children:"✕"})]}),r.jsxs("div",{className:"guideCatPanelBody",children:[r.jsx("p",{className:"guideCatPanelGreeting",children:c(l.sharedGuideCatPanelGreeting,{ownerDisplayName:a,guideCatName:h})}),r.jsxs("div",{className:"guideCatPanelActions",children:[r.jsx(Yt,{route:"/chat/new",onAction:o,labelKey:l.sharedGuideCatWelcomeStartChat,className:"guideCatPanelAction"}),r.jsx(Yt,{route:"/settings/cats",onAction:o,labelKey:l.sharedGuideCatWelcomeMeetCats,className:"guideCatPanelAction"}),r.jsx(Yt,{route:"/lobby",onAction:o,labelKey:l.sharedGuideCatWelcomeExploreProducts,className:"guideCatPanelAction"})]})]})]})}function Wl({className:e}){return r.jsx("img",{className:e,src:Za,alt:"","aria-hidden":"true"})}function Wm({viewState:e,guideCat:t,ownerDisplayName:a,unreadCount:o,onToggle:n,onAction:i,onCollapse:s,onDismissWelcome:c,onDismissClick:h,onPillPointerDown:u,dragging:g,pillStyle:p,peekStyle:f,panelStyle:w,surfaceMode:k,dialog:y,onDialogClose:m,rootRef:C,pillHostedExternally:v,peekAnchor:b="anchor-left"}){if(e==="hidden"||v&&e==="collapsed")return null;const S=Um(t);let T;return e==="collapsed"?T=r.jsx(ws,{name:t.name,tooltip:S,unreadCount:o,onClick:n,onDismissClick:h,onPointerDown:u,style:p,dragging:g}):e==="welcome-peek"?T=r.jsxs("div",{ref:C,children:[v?null:r.jsx(ws,{name:t.name,tooltip:S,unreadCount:0,onClick:n,onDismissClick:h,onPointerDown:u,style:p,dragging:g}),r.jsx(Fm,{ownerDisplayName:a,onAction:i,onDismiss:c,style:f,anchor:b})]}):T=r.jsx("div",{ref:C,children:r.jsx(Om,{name:t.name,tooltip:S,ownerDisplayName:a,onAction:i,onClose:s,style:w,surfaceMode:k})}),r.jsxs(r.Fragment,{children:[T,r.jsx(_t,{dialog:y,onClose:m})]})}function Um(e){const t=vt(),a=yr({provider:e.executionTarget.provider,instance:e.executionTarget.instance,model:e.executionTarget.model,modelSelection:e.modelSelection??null});return Ol(t,a)}function Hm({viewState:e,guideCat:t,ownerDisplayName:a,unreadCount:o,proactive:n,toggle:i,collapse:s,dismissWelcome:c,onDismissed:h,onPillPointerDown:u,consumePillClickSuppression:g,pillStyle:p,peekStyle:f,panelStyle:w,surfaceMode:k,dragActive:y,pillHostedExternally:m,peekAnchor:C}){const v=Ue(),b=d.useRef(null),S=tn(),{dialog:T,choose:M,handleClose:j}=Gt(),R=vt(),{t:P}=_(),A=d.useCallback(O=>{s(),v(O)},[s,v]),x=d.useCallback(async()=>{const O=await M({title:P(l.sharedGuideCatDialogDisableTitle,{guideCatName:R}),message:P(l.sharedGuideCatDialogDisableMessage,{guideCatName:R}),confirmLabel:P(l.sharedGuideCatDialogDisableConfirm),cancelLabel:P(l.sharedGuideCatDialogKeepEnabled),auxiliaryLabel:P(l.sharedGuideCatDialogDockNow),defaultAction:"auxiliary"});if(O==="auxiliary"){S.update({placement:"docked"}),s();return}if(O==="confirm")try{(await fetch("/api/platform/guide-cat",{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({status:"dismissed"})})).ok&&h()}catch{}},[M,s,R,S,h]);d.useEffect(()=>{if(e!=="open"&&e!=="welcome-peek"||e==="welcome-peek"&&n||y)return;function O(K){if(Gh(K))return;const ee=K.target;ee?.closest?.(".guideCatDockSlot")||ee?.closest?.(".guideCatPillWrap")||b.current&&!b.current.contains(K.target)&&s()}function $(K){K.key==="Escape"&&s()}return document.addEventListener("mousedown",O),document.addEventListener("keydown",$),()=>{document.removeEventListener("mousedown",O),document.removeEventListener("keydown",$)}},[e,s,n,y]);const E=d.useCallback(()=>{g()||i()},[g,i]);return r.jsx(Wm,{viewState:e,guideCat:t,ownerDisplayName:a,unreadCount:o,onToggle:E,onAction:A,onCollapse:s,onDismissWelcome:n?c:void 0,onDismissClick:x,onPillPointerDown:u,dragging:y,pillStyle:p,peekStyle:f,panelStyle:w,surfaceMode:k,dialog:T,onDialogClose:j,rootRef:b,pillHostedExternally:m,peekAnchor:C})}function Gm({guideCat:e,ownerDisplayName:t,unreadCount:a,onDismissed:o}){const n=Ne(),{projection:i,presentation:s,onFloatingPointerDown:c,consumePillClickSuppression:h,dragActive:u,panelOriginX:g,getDockSlotRect:p}=Zo();if(i.kind==="hidden")return null;const f=i.kind==="docked";if(f&&s.viewState==="collapsed")return null;const w=i.kind==="floating"?i:null,k=w?{left:`${w.x-ks}px`,top:`${w.y-ks}px`,transform:"none"}:{},y=!w&&i.kind==="docked"?_m(i.slot,p(i.slot)):null,m=w?{left:`${w.x+Mm}px`,top:`${w.y}px`,transform:"translateY(-50%)"}:y?.style??{},C=y?.anchor??"anchor-left",v={left:`${g}px`},b=Bm(n.pathname,i.kind==="docked"?"docked":"floating");return Vt.createPortal(r.jsx(Hm,{viewState:s.viewState,guideCat:e,ownerDisplayName:t,unreadCount:a,proactive:s.proactive,toggle:s.toggle,collapse:s.collapse,dismissWelcome:s.dismissWelcome,onDismissed:o,onPillPointerDown:f?void 0:c,consumePillClickSuppression:h,pillStyle:k,peekStyle:m,panelStyle:v,surfaceMode:b,dragActive:u,pillHostedExternally:f,peekAnchor:C}),document.body)}function _m(e,t){return t?e==="workspace"?{style:{left:`${t.right+Em}px`,top:`${t.bottom}px`,transform:"translateY(-100%)"},anchor:"anchor-bottom-left"}:{style:{left:`${(t.left+t.right)/2}px`,top:`${t.bottom+Im}px`,transform:"translateX(-50%)"},anchor:"anchor-top"}:null}const Km="default-src 'none'; script-src 'unsafe-inline'; style-src 'unsafe-inline'; img-src data:; connect-src 'none'; font-src 'none'; frame-src 'none'; worker-src 'none'; object-src 'none'; base-uri 'none'; form-action 'none'",qm=15e3;function zm(e=crypto){return Array.from(e.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("")}function $m(e,t,a){if(!/<head\s*>/i.test(e))throw new Error("The app renderer has no head element.");const o=JSON.stringify(a).replace(/</g,"\\u003c");return`<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="Content-Security-Policy" content="${Km}"><script>globalThis.__CATS_APP_BOOT__=${o};
38
+ 輸入 /help 查看可用指令。`,"workDelivery.action.startWork":"開始執行","workDelivery.action.cancel":"取消","workDelivery.action.publish":"發布","workDelivery.action.deny":"不要發布","workDelivery.timeout.reason":"某個步驟超過時間預算而被放棄。","workDelivery.permissionDenied.reason":"監督層拒絕了 {tool}({code})。","workDelivery.permissionDenied.consequence":"在 Cats 授予該權限之前,重試會以同樣的方式失敗。","workDelivery.timeout.consequence":"沒有交付任何東西。可以重試再跑一次。","workDelivery.action.retry":"重試","workDelivery.action.resume":"繼續","workDelivery.retry.started":"正在重試這項工作。","workDelivery.resume.started":"正在繼續這項工作。","workDelivery.lifecycle.refused":"目前無法這麼做:{reason}","workDelivery.publish.requested":"發布需要你的核准:{gates}","workDelivery.publish.consequence":"在你核准之前不會有任何東西離開這台機器。","workDelivery.publish.denied":"已婉拒發布。結果留在本機,不會發布。","workDelivery.publish.blocked":"發布無法完成:{reasons}","workDelivery.publish.done":"已發布:{actions}","workDelivery.publish.pendingChecks":"目前已完成:{actions}。檢查仍在執行中。","workDelivery.publish.pendingConsequence":"在檢查結束後再按一次發布之前,不會有後續動作。","workDelivery.stage.publishing":"發布中","workDelivery.accepted.title":"已收到:{goal}","workDelivery.accepted.body":"正在檢查準備狀態並整理工作範圍。","workDelivery.notReady.title":"目前還無法接下這項工作。","workDelivery.notReady.footer":"請開啟 Cats 修正以下項目。目前沒有任何工作被排入佇列。","workDelivery.readiness.bindingDisabled":"此 Telegram 綁定已停用。","workDelivery.readiness.bindingUnhealthy":"此 Telegram 綁定目前收不到更新。","workDelivery.readiness.ownerNotAuthorized":"你不是此綁定的授權擁有者。","workDelivery.readiness.catNotBound":"此綁定尚未指定貓咪。","workDelivery.readiness.executionTargetMissing":"綁定的貓咪尚未設定供應商或模型。","workDelivery.readiness.capabilityProfileMissing":"供應商能力設定檔尚未建立。","workDelivery.readiness.workspaceMissing":"尚未選擇專案或工作區。","workDelivery.readiness.section.title":"Telegram 工作委派","settings.capabilityBootstrap.title":"Provider 能力初始設定","settings.capabilityBootstrap.description":"在 Cats 實際觀察過某個 provider 之前要信任它多少。變更會先驗證,再寫入平台 YAML 設定。","settings.capabilityBootstrap.configPathLabel":"設定檔","settings.capabilityBootstrap.statusLabel":"狀態","settings.capabilityBootstrap.statusLoaded":"已載入","settings.capabilityBootstrap.statusMissing":"沒有設定檔 —— 套用 provider 預設值","settings.capabilityBootstrap.statusInvalid":"設定檔無法解析","settings.capabilityBootstrap.rulesLabel":"生效的規則","settings.capabilityBootstrap.diagnosticsLabel":"診斷","settings.capabilityBootstrap.installExample":"安裝內建範例","settings.capabilityBootstrap.installFailed":"無法安裝內建範例。","settings.capabilityBootstrap.restartRequired":"磁碟上的檔案已變更,需重新啟動 Cats 才會生效。","settings.capabilityBootstrap.editHint":"Provider 為必填;instance、model 與 control 可將規則限縮到更精確的執行目標。在 Cats 實際觀察 provider 之前,信心層級固定為 catalog-only。","settings.capabilityBootstrap.noRules":"尚未設定任何能力初始規則。","settings.capabilityBootstrap.ruleTitle":"規則 {number}","settings.capabilityBootstrap.ruleId":"規則 ID","settings.capabilityBootstrap.provider":"Provider","settings.capabilityBootstrap.instance":"Instance(選填)","settings.capabilityBootstrap.model":"Model(選填)","settings.capabilityBootstrap.control":"Control(選填)","settings.capabilityBootstrap.treatment":"初始處置","settings.capabilityBootstrap.treatmentStrong":"Strong agent","settings.capabilityBootstrap.treatmentWeak":"Weak worker","settings.capabilityBootstrap.reason":"理由","settings.capabilityBootstrap.addRule":"新增規則","settings.capabilityBootstrap.removeRule":"移除規則","settings.capabilityBootstrap.moveUp":"上移","settings.capabilityBootstrap.moveDown":"下移","settings.capabilityBootstrap.save":"儲存規則","settings.capabilityBootstrap.reload":"重新載入","settings.capabilityBootstrap.saveFailed":"無法儲存能力初始規則。","settings.capabilityBootstrap.validationFailed":"請先修正無效或重複的能力規則再儲存。","settings.capabilityBootstrap.revisionConflict":"設定已在 Cats 外被變更,請重新載入後再儲存。","settings.capabilityBootstrap.loading":"正在讀取能力初始設定…","settings.capabilityBootstrap.loadError":"無法讀取能力初始設定。","workDelivery.readiness.section.description":"目前 Telegram binding 是否能接受 `/work`,以及還缺什麼。","workDelivery.readiness.section.disabled":"此主機未啟用透過 Telegram 委派工作。","workDelivery.readiness.section.loading":"正在檢查委派整備狀態…","workDelivery.readiness.section.loadError":"無法載入委派整備狀態。","workDelivery.readiness.section.noBindings":"尚未設定任何 Telegram bot binding。","workDelivery.readiness.status.ready":"已就緒","workDelivery.readiness.status.blocked":"受阻","workDelivery.readiness.workspaceLabel":"工作區","workDelivery.readiness.workspaceUnset":"未設定","workDelivery.readiness.deliveryModeLabel":"預設交付方式","workDelivery.readiness.toolScopeLabel":"授予的工具範圍","workDelivery.readiness.authorizedOwnersLabel":"已授權的擁有者","workDelivery.readiness.localExecutionLabel":"本機執行","workDelivery.readiness.localExecutionHealthy":"正常","workDelivery.readiness.localExecutionDegraded":"降級","workDelivery.readiness.localExecutionUnavailable":"無法使用","workDelivery.readiness.localExecutionUnknown":"尚未檢查","workDelivery.readiness.blockersLabel":"待修正項目","workDelivery.readiness.openRemediation":"前往","workDelivery.readiness.refresh":"重新檢查","workDelivery.readiness.workspaceUnreachable":"無法讀取設定的工作區路徑,請確認路徑存在且 runtime 正在執行。","workDelivery.readiness.workspaceNotARepository":"此交付模式需要 git 儲存庫,但設定的工作區不是。","workDelivery.readiness.workspaceNotClean":"儲存庫已有未交付的變更。請先交付、stash 或捨棄它們再交辦工作。","workDelivery.readiness.deliveryPolicyUnresolved":"無法解析有效的交付政策。","workDelivery.readiness.backgroundServiceUnavailable":"本機執行 runtime 無法使用,因此無法在此執行工作。","workDelivery.proposal.title":"工作範圍(版本 {revision})","workDelivery.proposal.goal":"目標:{goal}","workDelivery.proposal.target":"對象:{target}","workDelivery.proposal.doneWhen":"完成條件:{criteria}","workDelivery.proposal.delivery":"交付方式:{mode}","workDelivery.proposal.sideEffects":"副作用:{effects}","workDelivery.proposal.gates":"審核關卡:{gates}","workDelivery.proposal.question":"待確認:{question}","workDelivery.proposal.confirm":"按下「開始執行」就會照這份範圍執行。","workDelivery.value.none":"無","workDelivery.value.notSpecified":"未指定","workDelivery.sideEffects.artifactOnly":"會在所選工作區內寫入檔案。","workDelivery.sideEffects.commitOnly":"會在所選工作區內寫入檔案,並建立一個本機 git commit。","workDelivery.sideEffects.pushBranch":"會寫入檔案、建立 commit,並推送分支到已設定的遠端。","workDelivery.sideEffects.prWithChecks":"會寫入檔案、建立 commit、推送分支、開啟 pull request 並等待檢查。","workDelivery.sideEffects.deployPreview":"會寫入檔案、建立 commit、推送分支,並發布預覽部署。","workDelivery.progress":"{stage}:{milestone}","workDelivery.stage.admitted":"已受理","workDelivery.stage.running":"執行中","workDelivery.stage.cancelled":"已取消","workDelivery.milestone.cancelled":"擁有者已取消這項工作,不會再執行。","workDelivery.milestone.admitted":"任務已核准,受監督的 Run 已排入佇列。","workDelivery.decision.title":"需要你做個決定才能繼續。","workDelivery.decision.reason":"原因:{reason}","workDelivery.decision.consequence":"若未處理:{consequence}","workDelivery.decision.evidenceReason":"執行已回傳,但未達成完成條件:{gaps}。","workDelivery.decision.evidenceConsequence":"工作維持阻塞狀態,不會交付任何成果。","workDelivery.result.title":"結果:{goal}","workDelivery.result.commit":"Commit:{commitId}","workDelivery.result.artifact":"產出物:{title}","workDelivery.result.acceptanceMet":"完成條件:已達成","workDelivery.result.acceptanceUnmet":"完成條件:未達成({gaps})","workDelivery.result.waitingOn":"等待中:{gates}","workDelivery.inbound.attachmentNotIngested":"我目前還無法讀取附件,所以沒有開始任何工作。請改用文字描述,或到 Cats Desktop 繼續。","workDelivery.inbound.goalRequired":"請告訴我要做什麼,例如:/work 為 0.1.21 加上 changelog 條目","workTask.goldenPath.title":"傳輸交付","workTask.goldenPath.stage":"階段","workTask.goldenPath.sourceTitle":"來源","workTask.goldenPath.binding":"綁定","workTask.goldenPath.bindingMissing":"綁定已移除","workTask.goldenPath.scopeTitle":"已授權範圍","workTask.goldenPath.revision":"版本","workTask.goldenPath.target":"對象","workTask.goldenPath.workspace":"工作區","workTask.goldenPath.doneWhen":"完成條件","workTask.goldenPath.delivery":"交付方式","workTask.goldenPath.gates":"待審核關卡","workTask.goldenPath.authorizationTitle":"擁有者授權","workTask.goldenPath.authorizedBy":"由 {actor} 於 {at} 授權","workTask.goldenPath.authorizedFrom":"來自綁定 {binding},版本 {revision}","workTask.goldenPath.notAuthorized":"尚未授權。","workTask.goldenPath.evidenceTitle":"完成證據","workTask.goldenPath.commit":"Commit","workTask.goldenPath.validation":"檢查","workTask.goldenPath.validationPassed":"通過","workTask.goldenPath.validationFailed":"未通過","workTask.goldenPath.artifacts":"產出物","workTask.goldenPath.unmet":"未達成條件","workTask.goldenPath.noEvidence":"尚無已接受的證據。","workTask.goldenPath.blockers":"阻塞原因","workTask.goldenPath.permissionDenial":"權限被拒","workTask.goldenPath.permissionDenialDetail":"{tool} 被以 {code} 拒絕。請先在 Cats 授予權限再重試。","workTask.goldenPath.deliveryTitle":"交付嘗試","workTask.goldenPath.noAttempts":"尚未送出任何訊息。","workTask.goldenPath.attempt":"{purpose}:{state}(第 {count} 次)","workTask.goldenPath.receipt":"回執:訊息 {messageId},時間 {at}","workTask.goldenPath.retryDelivery":"重送交付","workTask.goldenPath.retrying":"重送中…","workTask.goldenPath.retryFailed":"交付仍然失敗:{reason}","workTask.goldenPath.retryUnavailable":"沒有可重送的項目。","workTask.goldenPath.retryRun":"重試執行","workTask.goldenPath.resumeRun":"繼續執行","workTask.goldenPath.lifecycleFailed":"無法執行:{reason}","workTask.goldenPath.stage.received":"已收到","workTask.goldenPath.stage.scopeProposed":"已提出範圍","workTask.goldenPath.stage.executionAuthorized":"已授權執行","workTask.goldenPath.stage.admitted":"已受理","workTask.goldenPath.stage.running":"執行中","workTask.goldenPath.stage.decisionNeeded":"需要決定","workTask.goldenPath.stage.resultReady":"結果待確認","workTask.goldenPath.stage.publishAuthorized":"已可發布","workTask.goldenPath.stage.delivered":"已交付","workTask.goldenPath.stage.failed":"失敗","workTask.goldenPath.stage.cancelled":"已取消","shared.operator.noTimestamp":"沒有時間","shared.operator.runStatus.running":"進行中","shared.operator.runStatus.blocked":"受阻","shared.operator.runStatus.completed":"已完成","shared.operator.runStatus.failed":"失敗","shared.operator.runStatus.cancelled":"已取消","shared.operator.runStatus.queued":"排隊中","shared.operator.runStatus.title":"執行狀態","shared.operator.branchStatus.pending":"等待中","shared.operator.branchStatus.running":"執行中","shared.operator.branchStatus.completed":"已完成","shared.operator.branchStatus.failed":"失敗","shared.operator.branchStatus.blocked":"受阻","shared.operator.branchStatus.cancelled":"已取消","shared.operator.branchStatus.waitingForConverge":"等待匯合","shared.operator.checkpointStatus.completed":"完成","shared.operator.checkpointStatus.cancelled":"已取消","shared.operator.checkpointStatus.open":"進行中","shared.operator.outcomeStatus.succeeded":"成功","shared.operator.outcomeStatus.blocked":"受阻","shared.operator.outcomeStatus.failed":"失敗","shared.operator.outcomeStatus.cancelled":"已取消","shared.operator.traceKind.approval":"批准","shared.operator.traceKind.checkpoint":"檢查點","shared.operator.traceKind.dispatch":"派工","shared.operator.traceKind.error":"錯誤","shared.operator.traceKind.outcome":"結果","shared.operator.traceKind.status":"狀態","shared.operator.traceKind.note":"附註","shared.operator.activity.label.recovery":"復原","shared.operator.activity.label.replay":"重放","shared.operator.activity.label.decision":"決策","shared.operator.activity.label.action":"動作","shared.operator.activity.label.artifact":"成果物","shared.operator.activity.label.update":"更新","shared.operator.activity.label.trace":"軌跡","shared.operator.eyebrow.inspector":"檢視器","shared.operator.runInspector.title":"執行檢視","shared.operator.runInspector.noHistory":"請選擇一個有歷史紀錄的房間,以查看軌跡與檢查點。","shared.operator.runInspector.summaryFallback":"這裡會顯示本次執行的軌跡、檢查點與結果紀錄。","shared.operator.meta.started":"開始於 {time}","shared.operator.meta.updated":"更新於 {time}","shared.operator.meta.stage":"階段:{stage}","shared.operator.workflowStage.blocked":"受阻","shared.operator.workflowStage.concurrentFanOut":"並行展開","shared.operator.workflowStage.continuationHandoff":"續接交接","shared.operator.workflowStage.convergeReview":"匯合檢閱","shared.operator.workflowStage.dispatch":"派工","shared.operator.workflowStage.initialDispatch":"初始派工","shared.operator.workflowStage.runtimeError":"執行階段錯誤","shared.operator.workflowStage.startupRecovery":"啟動復原","shared.operator.workflowStage.turnCompleted":"回合完成","shared.operator.meta.shape":"形態:{shape}","shared.operator.meta.reviewRequired":"需要檢閱","shared.operator.meta.guardrail":"保護條件:{guardrail}","shared.operator.meta.cooldown":"冷卻:{cooldown}","shared.operator.guard.maxContinuations":"達到最大續接次數","shared.operator.guard.maxDispatches":"達到最大派工次數","shared.operator.guard.maxTargetVisits":"達到單一目標最大造訪次數","shared.operator.guard.antiPingPong":"防止來回轉派","shared.operator.cooldown.active":"冷卻中","shared.operator.section.trace":"軌跡","shared.operator.section.checkpoints":"檢查點","shared.operator.noCheckpointsRecorded":"本次執行尚無檢查點紀錄。","shared.operator.checkpointSummaryFallback":"已紀錄檢查點。","shared.operator.section.branches":"分支","shared.operator.noBranchesRecorded":"本次執行尚無分支或交接紀錄。","shared.operator.branch.handoff":"交接:{handoffReason}","shared.operator.branch.strategy":"策略:{strategy}","shared.operator.branchStrategy.forkIfPossible":"可行時分支","shared.operator.branchStrategy.freshNoParent":"新分支無父層","shared.operator.branchStrategy.singleTargetReview":"單一目標檢閱","shared.operator.branchStrategy.transplantContext":"沿用上下文","shared.operator.branchHandoff.explicitMention":"明確提及","shared.operator.branchHandoff.operatorReroute":"操作員改派","shared.operator.branchHandoff.roomDefault":"房間預設","shared.operator.branchHandoff.roomEntry":"進入房間","shared.operator.branchHandoff.runtimeRetry":"執行階段重試","shared.operator.branchHandoff.workflowContinuation":"工作流程續接","shared.operator.branch.fromCheckpoint":"來源檢查點:{checkpointId}。","shared.operator.branch.noLineage":"尚未錄到檢查點血緣。","shared.operator.section.outcomes":"結果","shared.operator.noOutcomesRecorded":"本次執行尚無結果紀錄。","shared.operator.outcomeSummaryFallback":"已紀錄結果。","shared.operator.eyebrow.progress":"進度","shared.operator.noActiveRun":"目前沒有啟動中的 room 執行。請先開始或繼續對話以查看派工狀態。","shared.operator.progressSummaryFallback":"目前可檢視 room 的編排狀態。","shared.operator.metric.dispatches":"派工次數","shared.operator.metric.continuations":"續接次數","shared.operator.metric.targets":"目標數","shared.operator.approvalPending.singular":"{count} 項待處理同意","shared.operator.approvalPending.plural":"{count} 項待處理同意","shared.operator.meta.delivery":"交付:{deliveryMode}","shared.operator.meta.gates":"門檻:{gates}","shared.operator.meta.budget":"預算:{budgetLevel}","shared.operator.deliveryMode.artifactOnly":"僅成果物","shared.operator.deliveryMode.commitOnly":"僅提交","shared.operator.deliveryMode.deployPreview":"部署預覽","shared.operator.deliveryMode.prWithChecks":"含檢查的 Pull Request","shared.operator.deliveryMode.pushBranch":"推送分支","shared.operator.deliveryGate.manualReviewRequired":"需要人工檢閱","shared.operator.deliveryGate.ownerApprovalRequired":"需要擁有者核准","shared.operator.deliveryGate.publishArtifactRequired":"需要發布成果物","shared.operator.budgetLevel.normal":"正常","shared.operator.budgetLevel.warning":"警告","shared.operator.budgetLevel.blocked":"受阻","shared.operator.workflowShape.sequential":"依序","shared.operator.workflowShape.concurrent":"並行","shared.operator.workflowShape.converge":"匯合","shared.operator.inspectRunButton":"檢視執行","shared.operator.noTraceRecords":"本次執行尚無軌跡紀錄。","shared.operator.action.requestRetry":"要求重試","shared.operator.action.retryAgain":"再次重試","shared.operator.action.retrying":"重試中","shared.operator.action.retryRequested":"已要求重試","shared.operator.action.acknowledge":"標記已知悉","shared.operator.action.acknowledged":"已知悉","shared.operator.action.retryDescription":"記錄操作員希望重試這個受阻或失敗的執行。","shared.operator.action.replayStoredDispatchDescription":"透過既有操作員路徑重放已儲存的派工或工作流程延續。","shared.operator.action.retryTaskDescription":"記錄操作員希望重試這個受阻或失敗的任務。","shared.operator.action.retryFailedDescription":"重試失敗。操作員可以再次重放已儲存的派工。","shared.operator.action.acknowledgeDescription":"記錄操作員已查看目前的保護條件或事件狀態。","shared.operator.action.acknowledgeBlockedDescription":"記錄操作員已查看目前受阻或失敗的狀態。","shared.operator.action.status.retryInProgress":"重試進行中","shared.operator.action.status.retryFailed":"重試失敗","shared.operator.action.status.retryFailedWithError":"重試失敗:{error}","shared.operator.action.status.retryDispatched":"已派送重試","shared.operator.action.status.retryRequested":"已要求重試","shared.operator.action.status.acknowledged":"已知悉","shared.common.apply":"套用","shared.common.cancel":"取消","shared.common.close":"關閉","shared.common.delete":"刪除","shared.common.retry":"重試","shared.guideCat.panelGreeting":"嗨 {ownerDisplayName},我是 {guideCatName},你的導覽貓。可以點這些項目開始,或關閉面板自己探索吧。","shared.guideCat.welcomeGreeting":"歡迎,{ownerDisplayName}。我是你的導覽貓。這裡有一些你可以先嘗試的功能。","shared.guideCat.welcomeStartChat":"先開始一則聊天","shared.guideCat.welcomeMeetCats":"認識你的貓","shared.guideCat.welcomeExploreProducts":"探索產品","shared.guideCat.welcomeHideNow":"先隱藏","shared.guideCat.pillOpenLabel":"開啟導覽:{guideCatName}","shared.guideCat.pillDisableLabel":"停用導覽貓","shared.guideCat.dockUndockLabel":"取消停駐 {guideCatName}","shared.guideCat.dialog.disableTitle":"停用 {guideCatName}?","shared.guideCat.dialog.disableMessage":"這會關閉 {guideCatName} 的導覽幫助。若只是想先藏起來,可先將其收進側欄。你隨時可以回到「設定」>「助手」重新開啟。","shared.guideCat.dialog.disableConfirm":"停用","shared.guideCat.dialog.keepEnabled":"保留啟用","shared.guideCat.dialog.dockNow":"立即收合","shared.imageUpload.clickHint":"點擊以選擇圖片","shared.imageUpload.dragHint":"拖曳來移動畫面,滾動可縮放","shared.workspaceNavigation.deleteChannelRuntimeCleanupFeedbackOne":"對話已刪除;Cats 執行階段保留了 {count} 個連結的執行階段工作階段。如需清理磁碟,請開啟執行階段診斷。","shared.workspaceNavigation.deleteChannelRuntimeCleanupFeedbackMany":"對話已刪除;Cats 執行階段保留了 {count} 個連結的執行階段工作階段。如需清理磁碟,請開啟執行階段診斷。","shared.workspaceNavigation.renameChatError":"重新命名聊天失敗。","shared.workspaceNavigation.deleteChatError":"刪除聊天失敗。","shared.workspaceNavigation.renameParallelChatError":"重新命名平行聊天失敗。","shared.workspaceNavigation.ungroupParallelChatError":"取消群組平行聊天失敗。","shared.workspaceNavigation.deleteParallelChatGroupError":"刪除所有聊天失敗。","shared.workspaceNavigation.parallelChatFallbackName":"這個平行聊天","shared.workspaceNavigation.error.chatNotFound":"找不到這個聊天工作區。","shared.workspaceNavigation.error.channelNotFound":"找不到這個聊天室。","shared.workspaceNavigation.error.parallelChatGroupNotFound":"找不到這個平行聊天群組。","shared.workspaceNavigation.error.titleRequired":"聊天標題不可空白。","shared.workspaceNavigation.error.parallelChatTitleRequired":"平行聊天標題不可空白。","shared.settingsCatsRegistry.sectionLabel":"註冊表","shared.settingsCatsRegistry.savedCatsLabel":"已儲存貓咪","shared.settingsCatsRegistry.noCatsYetLabel":"尚未有貓咪","shared.settingsCatsRegistry.showArchivedLabel":"顯示封存({count})","shared.settingsCatsRegistry.bossCatLabel":"主控貓","shared.settingsCatsRegistry.recoverLabel":"恢復","shared.settingsCatsRegistry.recoverTooltip":"恢復 {name}","shared.settingsCatsRegistry.deleteTooltip":"刪除 {name}","shared.settingsCatsRegistry.archiveTooltip":"封存 {name}","shared.settingsCatsRegistry.defaultSkillProfileLabel":"預設","shared.settingsCatsRegistry.memorySavedLabel":"已記憶","shared.settingsCatsRegistry.noMemoryYetLabel":"尚未有記憶","shared.settingsCatsRegistry.botBindingCount":"{count} 個機器人","shared.settingsCatsRegistry.emptyStateHint":"從右側面板新增第一隻貓咪。","shared.settingsCats.selectCatAriaLabel":"選擇貓咪","shared.settingsCats.addNewCatLabel":"新增貓咪","shared.settingsCats.showArchivedLabel":"顯示封存({count})","shared.settingsCats.archiveLabel":"封存","shared.settingsCats.deleteLabel":"刪除","shared.settingsCats.channelLabel":"通道","shared.settingsCats.memoryLabel":"記憶","shared.settingsCats.renameLabel":"重新命名","shared.settingsCats.save":"儲存","shared.settingsCats.saving":"儲存中…","shared.settingsCats.bossCatLabel":"主控貓","shared.settingsCats.changeBossCatTitle":"更改主控貓","shared.settingsCats.changeBossCatMessage":"將 {name} 設為主控貓?這將更改新對話的預設接收對象。","shared.settingsCats.confirm":"確認","shared.settingsCats.setting":"設定中…","shared.settingsCats.saveSuccess":"貓咪已儲存。","shared.settingsCats.saveError":"儲存貓咪失敗。","shared.settingsCats.renameSuccess":"貓咪已重新命名。","shared.settingsCats.renameError":"重新命名貓咪失敗。","shared.settingsCats.deleteSuccess":"{catName} 已刪除。","shared.settingsCats.deleteError":"刪除貓咪失敗。","shared.settingsCats.bossUpdated":"主控貓已更新。","shared.settingsCats.status.active":"啟用","shared.settingsCats.status.archived":"已封存","shared.settingsCats.makeBossCatLabel":"將 {name} 設為主控貓","shared.settingsCats.setBossCatLabel":"設為主控貓","shared.settingsCats.setBossCatError":"無法將其設為主控貓。","shared.settingsCats.skillUpdateError":"更新技能失敗。","shared.settingsCats.skillProfileLabel":"技能檔案","shared.settingsCats.mcpProfileLabel":"工具檔案","shared.settingsCats.mcpProfileChatMemoryLabel":"聊天記憶","shared.settingsCats.mcpProfileWorkMemoryLabel":"工作記憶","shared.settingsCats.changeMcpProfileError":"無法變更工具檔案。","shared.settingsCats.coverPhotoLabel":"封面圖片","shared.settingsCats.changeCoverPhotoLabel":"更換封面圖片","shared.settingsCats.uploadCoverPhotoLabel":"上傳封面圖片","shared.settingsCats.changeCoverLabel":"更換封面","shared.settingsCats.uploadCoverLabel":"上傳封面","shared.settingsCats.removeCoverLabel":"移除封面","shared.settingsCats.changeSkillProfileError":"無法變更技能檔案。","shared.settingsCats.updateBrainError":"更新大腦設定失敗。","shared.settingsCats.disconnectTelegramAria":"中斷 Telegram 連線","shared.settingsCats.disconnectTelegram":"中斷連線","shared.settingsCats.bindingActive":"啟用","shared.settingsCats.bindingDisabled":"停用","shared.settingsCats.bindingPollingMode":"輪詢","shared.settingsCats.bindingWebhookMode":"Webhook","shared.settingsCats.telegramBindingCreated":"Telegram 機器人綁定已建立。","shared.settingsCats.telegramBindingCreateError":"建立綁定失敗。","shared.settingsCats.telegramBindingRemoved":"綁定已移除。","shared.settingsCats.telegramBindingRemoveError":"移除綁定失敗。","shared.settingsCats.telegramDiagnosticsLoadError":"載入 Telegram 診斷資訊失敗。","shared.settingsCats.lastInboundLabel":"最後入站 {time}","shared.settingsCats.connectTelegramLabel":"連線 Telegram","shared.settingsCats.unavailableHint":"已封存或非聊天貓無法使用。","shared.settingsCats.addMemoryLabel":"新增記憶","shared.settingsCats.deleteMemoryAria":"刪除記憶","shared.settingsCats.skillProfileDefaultLabel":"預設","shared.settingsCats.skillProfileCompanionLabel":"助手","shared.settingsCats.memoryCategoryPreferenceLabel":"偏好","shared.settingsCats.memoryCategoryFactLabel":"事實","shared.settingsCats.memoryCategoryPolicyLabel":"規範","shared.settingsCats.memoryCategoryStyleLabel":"風格","shared.settingsCats.memoryCategoryRelationshipLabel":"關係","shared.settingsCats.memoryCategoryLessonLabel":"學習","shared.settingsCats.fallbackCatName":"這隻貓咪","shared.settingsCats.archiveConfirmTitle":"封存貓咪","shared.settingsCats.archiveConfirmMessage":"要封存「{catName}」嗎?之後仍可從設定復原。","shared.settingsCats.archiveWithTelegramConfirmMessage":"要封存「{catName}」嗎?Telegram 機器人綁定會被移除,但之後仍可從設定復原。","shared.settingsCats.archiveSuccess":"{catName} 已封存。","shared.settingsCats.archiveError":"封存貓咪失敗。","shared.settingsCats.recoverConfirmTitle":"復原貓咪","shared.settingsCats.recoverConfirmMessage":"要從封存復原「{catName}」嗎?","shared.settingsCats.recoverConfirmLabel":"復原","shared.settingsCats.recoverSuccess":"{catName} 已復原。","shared.settingsCats.recoverError":"復原貓咪失敗。","shared.settingsCats.error.nameRequired":"請輸入貓咪名稱。","shared.settingsCats.error.providerRequired":"請選擇貓咪供應器。","shared.settingsCats.error.nameEmpty":"貓咪名稱不可空白。","shared.settingsCats.error.alreadyArchived":"這隻貓咪已封存。","shared.settingsCats.error.alreadyActive":"這隻貓咪已啟用。","shared.settingsCats.error.archiveRecoverConflict":"貓咪不可同時封存與復原。","shared.settingsCats.error.noProducts":"請至少為這隻貓咪選擇一個產品。","shared.settingsCats.error.botTokenDuplicate":"這個 bot token 已被另一個綁定使用。","shared.settingsCats.error.nameDuplicate":"已存在名為「{name}」的貓咪。","shared.settingsCats.error.limitReached":"已達貓咪數量上限(最多 {maxCats} 隻)。","shared.settingsCats.error.notFound":"找不到這隻貓咪。","shared.settingsCats.error.notActive":"這隻貓咪尚未啟用。","shared.settingsCats.error.notAvailableInChat":"這隻貓咪無法在 Cats Chat 使用。","shared.settingsCats.error.botBindingNotFound":"找不到 bot 綁定。","shared.platformSurfaceSwitcher.menuLabel":"切換產品","shared.platformSurfaceSwitcher.openLobby":"開啟大廳","shared.platformSurfaceSwitcher.ariaLabel":"切換產品。目前產品為 {productName}。","shared.providerModelBrainCard.title":"大腦","shared.providerModel.controls.default":"預設","shared.providerModel.controls.enabled":"啟用","shared.providerModel.controls.disabled":"停用","shared.providerModel.controls.optionalPlaceholder":"選填","shared.providerModel.field.providerLabel":"供應器","shared.providerModel.field.loadingProviders":"正在載入可用的供應器…","shared.providerModel.field.selectProviderHint":"請選擇可用的供應器","shared.providerModel.field.providerLoadFailed":"無法載入執行階段支援的供應器","shared.providerModel.field.noProviders":"沒有執行階段支援的供應器可用","shared.providerModel.field.registryCheckingHint":"正在檢查 cats-runtime 可用的供應器目標。","shared.providerModel.field.registryUsingProductCatalogHint":"檢查 cats-runtime 供應器目標時,先使用產品內建供應器目錄。","shared.providerModel.field.registryStaleHint":"cats-runtime 重新連線時,先顯示上次可用的供應器目標。","shared.providerModel.field.registryCachedRefreshFailedHint":"重新整理失敗,先顯示快取的供應器目標:{message}","shared.providerModel.field.registryLoadFailedHint":"無法從 cats-runtime 載入目前可用的供應器目標。","shared.providerModel.field.registryEmptyHint":"cats-runtime 已連線,但沒有回報任何目前可用的供應器目標。","shared.providerModel.field.providerInstanceLabel":"供應器實例","shared.providerModel.field.modelLabel":"模型","shared.providerModel.field.retryProvidersFirst":"請先重新載入供應器","shared.providerModel.field.selectProviderFirst":"請先選擇可用的供應器","shared.providerModel.field.waitingProviders":"正在等待可用的供應器…","shared.providerModel.field.loadingModels":"正在載入可用模型…","shared.providerModel.field.selectModel":"選擇模型","shared.providerModel.field.noModels":"沒有執行階段支援的模型可用","shared.providerModel.field.customLegacyModelLabel":"自訂舊版模型…","shared.providerModel.field.legacyModelIdLabel":"舊版模型 ID","shared.providerModel.field.legacyModelIdPlaceholder":"例如 claude-sonnet-4-6","shared.providerModel.field.legacyModelIdHint":"手動輸入模型 ID 會直接傳遞。執行階段會把它視為舊版 `model` 欄位,而不是結構化項目/預設選擇。","shared.providerModel.field.modeLabel":"模式","shared.providerModel.field.modeStandardLabel":"標準","shared.providerModel.field.modeStandardOnlyLabel":"僅標準","shared.providerModel.field.presetPreviewSuffix":"(預覽)","shared.providerModel.field.presetUnavailableSuffix":"(不可用)","shared.providerModel.field.presetTuningDescriptionFallback":"這個模型的額外參數。","shared.providerModel.field.modeOnlyBaseHint":"此供應器目標只會對持久化的聊天/會話設定曝光基礎模型。","shared.providerModel.field.requestScopedWarning":"這裡隱藏了只可套用於個別請求的覆寫,因為這組選擇器會寫回聊天/會話預設。","shared.providerModel.field.openRuntimeSetupLabel":"開啟 Cats 執行階段設定","shared.providerModel.field.advancedCatalogUnavailable":"執行階段進階模型目錄無法使用。","shared.providerModel.field.catalogKindModel":"模型","shared.providerModel.field.catalogKindAdvancedModel":"進階模型","shared.providerModel.field.runtimeCatalogUnavailable":"執行階段{catalogKind}目錄無法使用。","shared.providerModel.field.runtimeCatalogUnavailableWarning":"cats-runtime 重新整理時,先使用產品內建的{catalogKind}目錄:{message}","shared.memoryEditorDialog.title":"新增記憶","shared.memoryEditorDialog.categoryLabel":"分類","shared.memoryEditorDialog.contentLabel":"內容","shared.memoryEditorDialog.memoryPlaceholder":"這隻貓咪需要記住些什麼?","shared.memoryEditorDialog.cancel":"取消","shared.memoryEditorDialog.saving":"儲存中…","shared.memoryEditorDialog.add":"新增","shared.approvalEyebrow":"核准","shared.approvalPendingTitle":"待核准項目","shared.approvalEmptyState":"在此由指揮面板保持運轉,直到任務需要由負責人做判斷決定。","shared.approvalRequester":"指揮者","shared.approvalSummaryFallback":"請先確認此次派工,再讓 Cats 繼續。","shared.approvalRequestedBy":"提交者:{requestedBy}","shared.approval.action.approve":"核准","shared.approval.action.reroute":"改派路徑","shared.approval.action.reject":"拒絕","shared.approval.action.approveDescription":"允許編排計畫繼續。","shared.approval.action.rerouteDescription":"將計畫退回,改用其他交接或派工路徑。","shared.approval.action.rejectDescription":"不允許計畫繼續。","shared.catInspectTitle":"貓咪預設","shared.catInspectClose":"關閉","shared.catInspectBossLabel":"主控","shared.catInspectProviderLabel":"供應器","shared.catInspectInstanceLabel":"實例","shared.catInspectModelLabel":"模型","shared.catInspectSkillProfileLabel":"技能檔案","shared.catInspectSharedPresetDescription":"這是共用的貓咪預設。這裡的變更會影響所有使用此貓咪的對話。","shared.messageChoicesCustom":"自訂","shared.messageChoicesAddCustomPlaceholder":"輸入你的答案","shared.messageChoicesSkipped":"發起者已略過這些選項。","shared.messageChoicesRecorded":"發起者回應已記錄。","shared.messageChoicesConfirm":"確認","shared.messageChoicesSkip":"跳過","shared.folderBrowserEnterPath":"輸入路徑","shared.folderBrowserGo":"前往","shared.folderBrowserUpOneLevel":"回上一層","shared.folderBrowserRefresh":"重新整理","shared.folderBrowserLoading":"載入中…","shared.folderBrowserNoSubdirectories":"此資料夾中沒有子資料夾。","shared.folderBrowserUseThisFolder":"使用此資料夾","shared.common.saving":"儲存中…","shared.common.dismiss":"關閉","setup.wizard.welcomeTitle":"歡迎使用 Cats","setup.wizard.welcomeIntro":"你的個人 AI 工作空間。讓我們快速完成設定。","setup.wizard.ownerNameLabel":"您的名字","setup.wizard.ownerNamePlaceholder":"顯示名稱","setup.wizard.getStartedButton":"開始","setup.wizard.stepIndicator":"第 {step} 步,共 {total} 步","setup.wizard.enableGuideTitle":"啟用 {guideCatName}","setup.wizard.enableGuideSubtitle":"這位可選助理可在聊天、工作與程式碼場景中提供協助。","setup.wizard.enableGuideLabel":"啟用 {guideCatName}","setup.wizard.skipGuideMessage":"你可以先略過此步驟,稍後再從「設定 > 助理」啟用 {guideCatName}。","setup.wizard.backButton":"返回","setup.wizard.openingCatsAction":"正在開啟 Cats…","setup.wizard.openCatsAction":"開啟 Cats","setup.wizard.failedMessage":"設定失敗。","setup.wizard.failedWithStatus":"設定失敗({status})","setup.wizard.alreadyCompleteError":"設定已完成。","setup.wizard.invalidRequestError":"設定請求無效。","setup.wizard.serverError":"無法完成設定,請稍後再試。","setup.wizard.recordOpenFailedWithStatus":"記錄設定開啟狀態失敗({status})","setup.guideCat.runtimeUnavailable":"供應器目錄無法使用","setup.guideCat.noUsableTargets":"找不到可用供應器","setup.guideCat.runtimeConnected":"Cats 執行階段已連線","setup.guideCat.runtimeNotDetected":"未偵測到 Cats 執行階段","setup.guideCat.nameLabel":"導覽貓名稱","setup.guideCat.nameHint":"Cats 會保留這個名稱,後續可依語系調整。","setup.guideCat.openRuntimeSetup":"開啟 Cats 執行階段設定","setup.guideCat.unavailableNote":"即使導覽貓未啟用也能使用。若遇到連線逾時,請在此重試,或前往 Cats 執行階段設定頁。","setup.guideCat.noUsableTargetsNote":"Cats 執行階段已可連線,但目前沒有回報任何可用的導覽貓供應器設定。","settings.assistants.defaultName":"助理","settings.assistants.statusFailed":"狀態更新失敗({status})","settings.assistants.saveFailed":"儲存失敗。","settings.assistants.statusUpdateFailed":"狀態更新失敗({status})","settings.assistants.guideCatUpdateFailed":"無法更新導覽貓。","settings.assistants.guideCatSaveFailed":"無法儲存導覽貓。","settings.assistants.saveFailedWithError":"儲存失敗({status})","settings.assistants.removeTitle":"移除助理","settings.assistants.removeMessage":"移除「{title}」?將無法復原。","settings.assistants.removeButton":"移除","settings.assistants.removeFailed":"無法移除助理。","settings.assistants.enableButton":"啟用","settings.assistants.enableBusyButton":"儲存中…","settings.assistants.disableButton":"停用","settings.assistants.avatarLabel":"頭像","settings.assistants.nameLabel":"名稱","settings.assistants.selectAriaLabel":"選取助理","settings.assistants.addNewLabel":"新增助理","settings.assistants.newAssistantTitle":"新增助理","settings.assistants.cancelButton":"取消","settings.assistants.createButton":"儲存","settings.assistants.deleteButton":"刪除","settings.assistants.roleHintTitle":"角色提示","settings.assistants.namePlaceholder":"助理","settings.assistants.roleHintPlaceholder":"檢閱者、除錯人員、文字編修者、API 專家…","settings.assistants.renameFailed":"無法重新命名助理。","settings.assistants.roleHintUpdateFailed":"無法更新角色提示。","settings.assistants.brainUpdateFailed":"無法更新大腦設定。","settings.assistants.createFailed":"無法儲存助理。","settings.assistants.api.invalidRequestBody":"請求內容無效。","settings.assistants.api.assistantNameRequired":"請輸入助理名稱。","settings.assistants.api.assistantProviderRequired":"請選擇助理供應器。","settings.assistants.api.assistantModelRequired":"請選擇助理模型。","settings.assistants.api.assistantNotFound":"找不到助理。","settings.assistants.api.guideCatNameManaged":"導覽貓名稱由 Cats 管理。","settings.assistants.api.guideCatStatusInvalid":"導覽貓狀態必須是啟用或已停用。","settings.assistants.api.guideCatNotFound":"尚未建立導覽貓。","conversationSidebar.chatsLabel":"聊天","conversationSidebar.recentsLabel":"最近","conversationSidebar.noChatsLabel":"尚無聊天","conversationSidebar.primaryAriaLabel":"主要","conversationSidebar.openSidebarLabel":"展開側邊欄","conversationSidebar.closeSidebarLabel":"收合側邊欄","conversationSidebar.renameLabel":"重新命名","conversationSidebar.renamingLabel":"重新命名中…","conversationSidebar.deleteLabel":"刪除","conversationSidebar.deletingLabel":"刪除中…","conversationSidebar.ungroupLabel":"取消群組","conversationSidebar.ungroupingLabel":"取消群組中…","conversationSidebar.deleteAllLabel":"刪除全部","conversationSidebar.openAccountSettingsLabel":"開啟帳號設定","conversationSidebar.runtimeStatusAriaLabel":"執行階段狀態:{status}","conversationSidebar.directMessagesLabel":"直接訊息","conversationSidebar.telegramBoundTooltip":"已綁定 Telegram 機器人","conversationSidebar.archiveButton":"封存","conversationSidebar.directMessageButton":"直接訊息","conversationSidebar.clearButton":"清除","conversationSidebar.clearConfirmMessage":"清除與 {catName} 的對話歷史?此操作無法復原。","chatNewChatDraft.viewCatProfileAction":"查看貓咪個人檔案","chatTopBar.openCatProfileAriaLabel":"查看貓咪個人檔案","design.sidePanel.closeLabel":"關閉","design.accountIdentityMenu.label":"帳號選單","design.accountIdentityMenu.menuLabel":"帳號選單","design.accountIdentityMenu.settingsLabel":"設定","design.accountIdentityMenu.environmentLabel":"環境","design.notification.dismissLabel":"關閉","entity.comingSoon.backToLobby":"返回大廳","entity.detail.breadcrumb.lobby":"大廳","clowdersList.title":"我的貓群","clowdersList.eyebrow":"貓群","clowdersList.emptyState":"尚未有貓群。接上貓群 registry 後,正式任務群組會在這裡列出。","catteriesList.title":"我的貓窩","catteriesList.eyebrow":"貓窩","catteriesList.emptyState":"尚未有貓窩。接上貓窩 registry 後,組織會在這裡列出。","clowdersCanvas.ariaLabel":"貓群畫布","catteriesCanvas.ariaLabel":"貓窩畫布","entityCanvas.totalLabel":"總數","entityCanvas.catsLabel":"貓咪","entityCanvas.membersLabel":"成員","entityCanvas.clowdersLabel":"貓群","entityCanvas.idLabel":"識別碼","entityCanvas.createdLabel":"建立時間","entityCanvas.selectedClowderLabel":"選取的貓群","entityCanvas.selectedCatteryLabel":"選取的貓窩","entityCanvas.organizationLabel":"組織","entityCanvas.parentCatteryLabel":"上層貓窩","entityCanvas.formalClowderLabel":"正式貓群","entityCanvas.noOrganizationLabel":"沒有組織連結","entityCanvas.noFormalClowdersLabel":"沒有正式貓群","entityCanvas.openClowderAction":"開啟貓群","entityCanvas.openCatteryAction":"開啟貓窩","entityCanvas.catterySubtitle":"{clowderCount} 個貓群 · {memberCount} 位成員","catProfile.notFound.title":"找不到這隻貓","catProfile.notFound.body":"此工作區中沒有 id 為「{catId}」的貓。可能已被移除,或連結已失效。","entitiesSidebar.section.cats":"我的貓咪","entitiesSidebar.section.clowders":"我的貓群","entitiesSidebar.section.catteries":"我的貓窩","entitiesSidebar.newCat":"新增貓咪","entitiesSidebar.newClowder":"新增貓群","entitiesSidebar.newCattery":"新增貓窩","entityIndex.eyebrow":"目錄","entityIndex.title":"Cats 目錄","entityIndex.columnHeader.cats":"貓咪","entityIndex.columnHeader.clowders":"貓群","entityIndex.columnHeader.catteries":"貓窩","entityIndex.card.total":"共 {count} 個","entityIndex.card.openCanvasAriaLabel":"開啟{label}","entitiesShell.ariaLabel":"Cats 目錄 工作區","entitiesShell.surfaceLabel":"Cats 目錄","entitiesShell.brandLabel":"目錄","entitiesShell.exitButtonAriaLabel":"離開 Cats 目錄","clowderHome.ariaLabel":"貓群主頁","clowderHome.chip.partOf":"隸屬於 {catteryName}","clowderHome.chip.crossUnit":"跨單位任務小組","clowderHome.tab.cats":"貓咪","clowderHome.tab.settings":"設定","clowderHome.empty.cats":"此貓群尚未有貓咪。Phase 6 成員管理上線後即可加入第一隻。","clowderHome.settings.body":"貓群設定(重新命名、封存、轉移)會在 PLAN-091 phase 6 成員管理上線時提供。","clowderHome.notFound.title":"找不到這個貓群","clowderHome.notFound.body":"此工作區中沒有 id 為「{clowderId}」的貓群。可能已被移除,或連結已失效。","catteryHome.ariaLabel":"貓窩主頁","catteryHome.tab.members":"成員","catteryHome.tab.clowders":"貓群","catteryHome.tab.cats":"貓咪","catteryHome.tab.settings":"設定","catteryHome.empty.members":"尚未有成員。Phase 6 成員管理上線後即可加入第一位。","catteryHome.empty.clowders":"此貓窩尚未有貓群。Phase 6 上線後正式編制的貓群會在這裡列出。","catteryHome.empty.cats":"尚未能透過此貓窩取得貓咪。Phase 6 成員資料上線後會把直接成員與透過正式貓群間接到的成員彙總在這裡。","catteryHome.settings.body":"貓窩設定(個資、轉移所有權、封存)會在 PLAN-091 phase 6 成員管理上線時提供。","catteryHome.notFound.title":"找不到這個貓窩","catteryHome.notFound.body":"此工作區中沒有 id 為「{catteryId}」的貓窩。可能已被移除,或連結已失效。","code.activeComposer.detachedBranch":"分離分支","code.newDraft.greeting":"準備開始寫程式。","code.newDraft.greeting.openRepo":"開啟 repo,從小處開始。","code.newDraft.greeting.buildFixRefactor":"建置、修復或重構真實的東西。","code.newDraft.greeting.shipImprovement":"交付一個清楚的改善。","code.newDraft.greeting.smallestChange":"從最小但有用的變更開始。","code.newDraft.composer.placeholder":"這次程式工作階段要建置、修復或調查什麼?","code.newDraft.setupTitle":"新程式設定","code.newDraft.participants.title":"參與者","code.newDraft.participants.empty":"目前沒有可用的參與者。","code.newDraft.execution.title":"執行","code.newDraft.execution.action":"選擇執行目標","code.newDraft.execution.empty":"尚未設定執行目標。","code.newDraft.folder.title":"程式工作區","code.newDraft.folder.action":"選擇程式工作區","code.newDraft.folder.empty":"尚未選擇程式工作區。","code.newDraft.sessionProfile.title":"工作階段設定","code.newDraft.sessionProfile.description":"此程式工作階段會以 {workspace} 與 {permission} 開始。","code.newDraft.workspace.independentWorktree":"獨立工作樹","code.newDraft.workspace.currentFolder":"目前資料夾","code.newDraft.workspace.sandbox":"沙盒","code.newDraft.permission.readOnly":"唯讀","code.newDraft.permission.fullAccess":"完整存取","code.newDraft.starter.pomodoro.label":"建置番茄鐘應用程式","code.newDraft.starter.pomodoro.prompt":"寫一個小型番茄鐘計時器應用程式。","code.newDraft.starter.fixBug.label":"修復錯誤","code.newDraft.starter.fixBug.prompt":"找出並修復這個程式碼庫中的錯誤。","code.newDraft.starter.refactor.label":"重構程式碼","code.newDraft.starter.refactor.prompt":"在不改變行為的前提下重構這段程式碼。","code.newDraft.starter.writeTests.label":"撰寫測試","code.newDraft.starter.writeTests.prompt":"為我們上次碰過的程式碼新增測試。","code.newDraft.starter.startProject.label":"開始專案","code.newDraft.starter.startProject.prompt":"開始一個小專案來追蹤里程碑。","code.taskPills.ariaLabel":"任務提醒","code.taskPills.mock.authMiddleware":"重構驗證中介層","code.taskPills.mock.kiroSessionDelete":"修復 Kiro 工作階段刪除","code.taskPills.mock.artifactGallery":"草擬成品圖庫","code.taskPills.namePlaceholder":"命名此任務","code.taskPills.editAria":"編輯任務名稱","code.taskPills.title.current":"目前任務:{taskLabel} — 雙擊可重新命名","code.taskPills.title.focus":"聚焦 {taskLabel}(雙擊可重新命名)","code.taskPills.hideAria":"隱藏 {taskLabel}","code.taskPills.fallbackTask":"任務","code.taskPills.addAria":"新增任務提醒","code.taskPills.buttonTask":"任務","code.workspace.source.artifactAnchor":"成品錨點","code.artifact.kind.build":"建置","code.artifact.kind.dataset":"資料集","code.artifactDetail.artifactUnavailable":"成品詳細資料不可用","code.artifactDetail.backToBuild":"返回建置","code.artifactDetail.artifactOutput":"成品輸出","code.artifactDetail.conversationLabel":"對話","code.artifactDetail.contextEyebrow":"脈絡","code.artifactDetail.contextTitle":"已連結記錄","code.artifactDetail.loadFailed":"無法載入成品詳細資料。","code.artifactDetail.loadingBody":"正在取得成品中繼資料與相關脈絡。","code.artifactDetail.loadingTitle":"正在載入成品詳細資料","code.artifactDetail.missingId":"成品 ID 為必填。","code.artifactDetail.noArtifactSummary":"尚未記錄成品摘要。","code.artifactDetail.noInlinePreview":"這個成品目前沒有可用的內嵌預覽。","code.artifactDetail.notInlineSafe":"此成品已可用,但目前 Code 介面不適合內嵌顯示。","code.artifactDetail.previewOutput":"預覽輸出","code.artifactDetail.previewActionOpenArtifact":"開啟成品","code.artifactDetail.previewActionOpenPreview":"開啟預覽","code.artifactDetail.projectLabel":"專案","code.artifactDetail.projectMeta":"專案:{projectTitle}","code.artifactDetail.relatedEmpty":"這個任務或工作項目尚未記錄相關成品。","code.artifactDetail.relatedEyebrow":"相關","code.artifactDetail.relatedTitle":"鄰近成品","code.artifactDetail.openConversationAction":"開啟對話","code.artifactDetail.openProjectAction":"開啟專案","code.artifactDetail.openTaskAction":"開啟任務","code.artifactDetail.openWorkItemAction":"開啟工作項目","code.artifactDetail.taskLabel":"任務","code.artifactDetail.title":"成品","code.artifactDetail.viewArtifact":"查看成品","code.artifactDetail.workItemLinkedLabel":"工作項目","code.artifactDetail.workItemMissingLabel":"沒有連結的工作項目","code.artifactKind.attachment":"附件","code.artifactKind.document":"文件","code.artifactKind.preview":"預覽","code.artifactKind.report":"報告","code.artifactKind.transcript":"對話紀錄","code.artifactKind.unknown":"未知","code.artifactKind.build":"建置","code.artifactStatus.archived":"已封存","code.artifactStatus.draft":"草稿","code.artifactStatus.published":"已發佈","code.artifactStatus.ready":"就緒","code.artifactStatus.unknown":"未知","code.artifactList.artifact":"成品","code.artifactList.filter.all":"全部","code.artifactList.ariaOpenArtifact":"開啟成品 {title}","code.artifactList.empty":"目前沒有符合此篩選的成品。建置、預覽、報告、附件與對話匯出會出現在這裡。","code.artifactList.header":"成品","code.artifactList.loading":"正在載入成品…","code.artifactList.error":"無法載入成品:{error}","code.artifactList.loadFailed":"成品清單請求失敗。","code.artifactList.candidateHint":"候選成品尚未升級為持久記錄。","code.artifactList.candidateLabel":"候選","code.artifactList.provenance.run":"執行","code.artifactList.statusFilterLabel":"狀態:","code.artifactList.provenance.task":"任務","code.artifactMeta.contract":"契約","code.artifactMeta.mode":"模式:{mode}","code.artifactMeta.decision":"決策:{decision}","code.artifactMeta.kind":"類型:{kind}","code.artifactMeta.path":"路徑:{path}","code.artifactMeta.status":"狀態:{status}","code.artifactMeta.updated":"更新時間:{updatedAt}","code.artifactMeta.viewArtifact":"查看成品","code.artifactPreview":"成品預覽","code.artifact.unknown":"未知","code.conversationKind.chatChannel":"聊天頻道","code.conversationKind.chatRoot":"聊天根目錄","code.conversationKind.codeThread":"程式討論串","code.conversationKind.directMessage":"直接訊息","code.conversationKind.parallelGroup":"平行群組","code.conversationKind.unknown":"對話","code.conversationKind.workThread":"工作討論串","code.recordStatus.archived":"已封存","code.recordStatus.blocked":"已阻擋","code.recordStatus.cancelled":"已取消","code.recordStatus.completed":"已完成","code.recordStatus.draft":"草稿","code.recordStatus.failed":"失敗","code.recordStatus.inProgress":"進行中","code.recordStatus.open":"開啟","code.recordStatus.pending":"待處理","code.recordStatus.pendingApproval":"等待核准","code.recordStatus.ready":"就緒","code.recordStatus.running":"執行中","code.recordStatus.unknown":"未知","code.builder.codespaceHeader":"程式工作區","code.builder.codeOutputLabel":"輸出","code.builder.back":"返回","code.builder.continue":"繼續","code.builder.continueBuild":"繼續建置","code.builder.continueBuildBusy":"正在繼續…","code.builder.continueTaskBusy":"正在繼續…","code.builder.createArtifact":"建立成品","code.builder.createLabel":"建置","code.builder.creatingTask":"正在建立…","code.builder.defineTaskHeader":"定義任務","code.builder.detailsPlaceholder":"描述完成狀態與驗收條件…","code.builder.detailsLabel":"細節 / 驗收條件(選填)","code.builder.errorCodespaceResolve":"無法解析這個程式工作區。","code.builder.errorCodespacePathInvalid":"選取的路徑不存在或不是資料夾:{path}","code.builder.errorCodespaceNoPath":"找不到有效的程式工作區路徑。請選擇資料夾,或確認房間工作區存在。","code.builder.errorTaskCreate":"無法建立程式碼任務。","code.builder.errorTaskCreateMissingId":"建立任務的回應缺少 task id。","code.builder.errorTaskExecution":"無法啟動程式碼任務。","code.builder.errorTaskDetailLoad":"無法載入這個程式碼任務。","code.builder.errorTaskResume":"無法接續這個程式碼任務。","code.builder.errorTaskResumeInput":"請輸入要接續的任務 ID。","code.builder.errorTaskTitle":"請輸入你想建置的內容。","code.builder.runtimeObservationFailed":"無法重新整理執行階段工作階段。","code.builder.executionDoneBanner":"任務已完成。請檢查上方結果,並使用交付操作提交或推送。","code.builder.existingTask":"既有任務","code.builder.feedbackResumeReady":"任務已可繼續。","code.builder.feedbackResumeTask":"已接續任務 {taskId}。","code.builder.feedbackResumeNoWorkspace":"已接續任務 {taskId};繼續前請先選擇程式工作區。","code.builder.feedbackResumeWorkspaceNeeded":"繼續此任務前請先選擇程式工作區。","code.builder.filter.codespace":"程式工作區","code.builder.header.codespace":"程式工作區","code.builder.header.newTask":"新任務","code.builder.header.projectFolder":"專案資料夾","code.builder.header.taskStep":"任務","code.builder.modelLabel":"模型(選填)","code.builder.modelPlaceholder":"預設","code.builder.newTaskButton":"新任務","code.builder.providerLabel":"供應器","code.builder.providerTaskLabel":"供應器","code.builder.repoPathLabel":"儲存庫路徑","code.builder.resumeLabel":"既有任務 ID(選填)","code.builder.resumePrompt":"接續任務","code.builder.retryPrompt":"重試","code.builder.stepLabel":"步驟 {step}","code.builder.successTaskReadyWithCurrentChat":"{workspaceFallback},來源:{title}。","code.builder.taskIdRequired":"請輸入任務 ID。","code.builder.taskIdReady":"任務 {taskId} 已可繼續。","code.builder.taskIdReadyNoWorkspace":"任務 {taskId} 已可繼續;繼續前請先選擇程式工作區。","code.builder.taskLabel":"任務","code.builder.taskSummaryPlaceholder":"例如:加入使用者登入功能","code.builder.title":"程式建置器","code.builder.workspaceActiveNotice":"這會成為下一個任務步驟使用的建置程式工作區。","code.builder.workspaceFallbackBound":"已綁定工作區","code.builder.workspaceFallbackBoundFallback":"請輸入專案資料夾,或接續既有任務。","code.builder.workspaceFallbackChatRepo":"目前聊天室儲存庫","code.builder.workspaceFallbackRoom":"目前房間資料夾","code.builder.workspaceFooterLabel":"工作區","code.builder.workspacePathPlaceholder":"/path/to/project","code.builder.workspaceResumeHelp":"接續功能適用於你想繼續處理的草稿、已阻擋或失敗程式碼任務。","code.builder.sampleTaskId":"task-...","code.builder.workspaceSummaryLabel":"程式工作區","code.builder.workspaceSummaryNotice":"目前的建置程式工作區。","code.builder.startingTaskBusy":"正在啟動…","code.builder.taskQuestion":"你想建置什麼?","code.livePreview.commandProfile":"設定檔:{profile}","code.livePreview.description":"檢視連到此 Cats Code 介面的受監管本機即時預覽。","code.livePreview.diagnostic":"診斷:{message}","code.livePreview.error.load":"無法載入即時預覽狀態。","code.livePreview.error.logs":"無法載入即時預覽記錄。","code.livePreview.error.stop":"無法停止即時預覽。","code.livePreview.expiresAt":"到期:{time}","code.livePreview.hideLogs":"隱藏記錄","code.livePreview.logs":"記錄","code.livePreview.logsEmpty":"此預覽尚未記錄內容。","code.livePreview.logsLoading":"正在載入記錄…","code.livePreview.open":"開啟預覽","code.livePreview.retry":"重試","code.livePreview.retryUnavailable":"重試會在即時預覽啟動流程核准後開放。","code.livePreview.status.expired":"已到期","code.livePreview.status.failed":"失敗","code.livePreview.status.ready":"就緒","code.livePreview.status.starting":"啟動中","code.livePreview.status.stopped":"已停止","code.livePreview.status.stopping":"停止中","code.livePreview.stop":"停止","code.livePreview.stopRequested":"已送出停止要求。","code.livePreview.stopping":"正在停止…","code.livePreview.title":"即時預覽","code.livePreview.workspace":"工作區:{workspace}","code.execution.header":"執行","code.execution.meta.noTask":"尚未綁定任務","code.execution.meta.runtimeSession":"執行階段工作階段:{sessionId}","code.execution.meta.workingTreeClean":"工作樹乾淨","code.execution.meta.workingTreeDirty":"工作樹有變更","code.execution.noActiveSession":"沒有作用中的工作階段","code.execution.noTask":"尚未綁定任務","code.execution.notStarted":"尚未開始","code.execution.ownerDecisionRequired":"需要使用者決策","code.execution.panelTitle":"任務執行","code.execution.runtimeHeader":"執行階段","code.execution.runtimeIdle":"閒置","code.execution.modeDelivery":"交付模式:{deliveryMode}","code.execution.targetLabel":"目標:{target}","code.execution.targets":"目標:{targets}","code.execution.runtimeTitle":"執行階段","code.execution.sectionBlocked":"已阻擋","code.execution.taskHeader":"任務","code.execution.taskStatus":"狀態:{status}","code.execution.taskTitle":"任務","code.execution.notActiveYet":"尚未啟用","code.execution.paused":"已暫停","code.execution.provider":"供應器:{provider}","code.execution.model":"模型:{model}","code.execution.defaultModel":"預設","code.execution.session":"工作階段:{sessionId}","code.execution.taskId":"ID:{taskId}","code.execution.status.blocked":"已阻擋","code.execution.status.done":"完成","code.execution.status.pending":"待處理","code.execution.status.running":"執行中","code.execution.status.unknown":"未知","code.execution.taskRuntimeHeader":"執行階段","code.execution.taskStrategy":"策略:{strategy}","code.execution.strategy.pdca":"PDCA","code.execution.strategy.react":"ReAct","code.execution.strategy.reflexion":"Reflexion","code.execution.deliveryMode.artifactOnly":"僅成品","code.execution.deliveryMode.commitOnly":"僅提交","code.execution.deliveryMode.deployPreview":"部署預覽","code.execution.deliveryMode.prWithChecks":"含檢查的 Pull Request","code.execution.deliveryMode.pushBranch":"推送分支","code.execution.blockedReason.antiPingPong":"防迴圈保護","code.execution.blockedReason.approvalPending":"等待核准","code.execution.blockedReason.maxDispatches":"已達分派上限","code.execution.blockedReason.noValidTargets":"沒有有效目標","code.execution.blockedReason.startupRecovery":"啟動修復","code.execution.blockedReason.userCancelled":"使用者已取消","code.execution.unknownDeliveryMode":"未知交付模式","code.execution.unknownValue":"未知","code.execution.unknownValueUnknown":"未知","code.execution.controlHeader":"控制","code.execution.controlMode":"模式:{mode}","code.execution.controlDelivery":"交付:{deliveryMode}","code.execution.controlBlocked":"已阻擋","code.execution.controlApprovalPending":"等待核准","code.execution.controlBlockedBy":"接續流程被 {reason} 阻擋。","code.execution.controlTargets":"目標:{targets}","code.execution.statusActiveLabel":"作用中","code.execution.statusIdleLabel":"閒置","code.execution.statusBlockedLabel":"已阻擋","code.execution.statusRunningLabel":"執行中","code.execution.statusDoneLabel":"完成","code.execution.statusPendingLabel":"待處理","code.delivery.previewHeader":"預覽","code.delivery.blockerLabel":"已阻擋","code.delivery.contractLabel":"契約","code.delivery.error.repoStatusUnavailable":"無法取得儲存庫狀態。","code.delivery.warningsLabel":"警告","code.delivery.warningsTitle":"警告","code.delivery.header":"交付","code.delivery.label":"交付","code.delivery.labelPreview":"{label} 預覽","code.delivery.metaBranch":"分支:{branch}","code.delivery.metaAhead":"領先:{count}","code.delivery.metaBehind":"落後:{count}","code.delivery.metaStaged":"已暫存:{count}","code.delivery.metaUnstaged":"未暫存:{count}","code.delivery.metaUntracked":"未追蹤:{count}","code.delivery.metaRemote":"遠端:{remote}","code.delivery.metaMode":"模式:{mode}","code.delivery.metaDecision":"決策:{decision}","code.delivery.noCodespace":"尚未綁定程式工作區。請先解析程式工作區才能查看儲存庫操作。","code.delivery.noRepoStatus":"尚未載入儲存庫狀態。","code.delivery.noInlinePreview":"目前沒有可用的內嵌預覽。","code.delivery.noWorkspace":"尚未選擇工作區。","code.delivery.panelSubtitle":"從目前程式工作區提交、推送或匯出輸出。","code.delivery.panelTitle":"儲存庫操作","code.delivery.previewHintUnsafe":"此預覽已可用,但較適合在內嵌框架外開啟。","code.delivery.repoClean":"乾淨","code.delivery.repoDirty":"有變更","code.delivery.repoStatusHeader":"儲存庫狀態","code.delivery.actions.commitHeader":"提交","code.delivery.actions.pushHeader":"推送","code.delivery.actions.exportHeader":"匯出","code.delivery.action.refresh":"重新整理","code.delivery.action.preview":"預覽","code.delivery.action.commit":"提交","code.delivery.action.push":"推送…","code.delivery.action.pushPreview":"預覽推送","code.delivery.action.pushConfirm":"確認推送","code.delivery.action.pushCancel":"取消","code.delivery.action.export":"匯出成品","code.delivery.action.commitPlaceholder":"提交訊息…","code.delivery.confirmation.push":"要推送到遠端嗎?這會對外可見。","code.delivery.confirmation.pushHint":"此操作會將本機提交發佈到設定的遠端。","code.delivery.error.commitFailed":"提交操作失敗。","code.delivery.error.pushFailed":"推送操作失敗。","code.delivery.error.exportFailed":"成品匯出失敗。","code.delivery.status.ready":"就緒","code.delivery.status.blocked":"已阻擋","code.delivery.status.unknown":"未知","code.delivery.decision.approve":"核准","code.delivery.decision.complete":"完成","code.delivery.decision.reject":"拒絕","code.delivery.decision.reroute":"重新指派","code.delivery.decision.wait":"等待","code.delivery.unknownBlocker":"未知阻擋原因","code.delivery.warningFallback":"警告","code.plan.header":"計畫","code.plan.panelTitle":"程式計畫","code.plan.empty":"這個任務尚未建立計畫步驟。","code.plan.replan":"重新規劃","code.plan.status.blocked":"已阻擋","code.plan.status.done":"完成","code.plan.status.pending":"待處理","code.plan.status.running":"執行中","code.plan.title":"計畫","code.plan.replannedSuffix":"(已重新規劃 {count} 次)","code.plan.error.load":"無法載入計畫。","code.plan.error.update":"無法更新計畫。","code.plan.error.stepUpdate":"無法更新計畫步驟。","code.preview.artifactCountMany":"{count} 個成品","code.preview.artifactCountOne":"{count} 個成品","code.preview.blocked":"預覽已阻擋","code.preview.details":"詳細資料","code.preview.header":"輸出","code.preview.iframeTitle":"即時預覽","code.preview.noPreview":"尚未產生建置或預覽成品。","code.preview.notInlineSafe":"最新預覽已可用,但此輸出較適合在內嵌框架外開啟。","code.preview.openArtifact":"開啟成品","code.preview.openLatestArtifact":"開啟最新成品","code.preview.openLatestPreview":"開啟最新預覽","code.preview.openPreview":"開啟預覽","code.preview.title":"建置與預覽","code.relay.action.createThread":"建立分派討論串","code.relay.action.dispatching":"正在分派…","code.relay.action.fanOut":"分派","code.relay.action.refresh":"重新整理","code.relay.action.fanOutSelected":"分派給已選代理人","code.relay.authorKind.agent":"代理人","code.relay.authorKind.system":"系統","code.relay.authorKind.unknown":"未知","code.relay.authorKind.user":"使用者","code.relay.availability.instanceUnavailable":"{providerLabel} 執行個體「{instance}」無法在 cats-runtime 中使用。","code.relay.availability.providerPathMissing":"執行階段沒有回報已設定的 {providerLabel} 供應器路徑。","code.relay.availability.providerPathReady":"{providerLabel} 的執行階段供應器路徑已就緒。","code.relay.availability.runtimeConfigUnavailable":"執行階段供應器設定無法使用。","code.relay.availability.runtimeReadyVia":"執行階段已透過 {target} 就緒。","code.relay.error.agentRequired":"請至少選擇一個代理人。","code.relay.error.fanOutPromptRequired":"分派提示為必填。","code.relay.error.threadRequired":"請先建立或選擇分派討論串。","code.relay.error.threadTitleRequired":"討論串標題為必填。","code.relay.error.missingPayload":"分派請求缺少必要酬載。","code.relay.error.noPayload":"分派回應沒有包含酬載。","code.relay.error.relayFailed":"分派執行失敗。","code.relay.error.rosterUpdateFailed":"更新分派名單失敗。","code.relay.error.threadLoadFailed":"載入分派討論串失敗。","code.relay.error.threadRefreshFailed":"重新整理分派討論串失敗。","code.relay.error.threadCreateFailed":"建立分派討論串失敗。","code.relay.header.codeRelay":"程式分派","code.relay.label.contract":"契約","code.relay.label.contractLoading":"正在載入連接器契約…","code.relay.label.activeThread":"作用中討論串","code.relay.label.default":"預設","code.relay.label.enabled":"啟用","code.relay.label.ended":"結束:{endedAt}","code.relay.label.model":"模型:{model}","code.relay.label.noObjective":"尚未記錄目標。","code.relay.label.noRounds":"尚無回合","code.relay.label.noThreads":"尚無分派討論串","code.relay.label.noneYet":"尚無","code.relay.label.objective":"目標","code.relay.label.proven":"已驗證:{providers}","code.relay.label.repoPath":"儲存庫:{repoPath}","code.relay.label.relayThreadTitle":"分派討論串標題","code.relay.label.repoNoBound":"未綁定","code.relay.label.updated":"更新:{updatedAt}","code.relay.label.mode":"模式:{mode}","code.relay.label.open":"開啟","code.relay.label.quotaNote":"額度備註","code.relay.label.roster":"代理人名單","code.relay.label.roundObjective":"回合目標","code.relay.label.roundPrompt":"分派提示","code.relay.label.roundTimeline":"時間軸","code.relay.label.rounds":"回合","code.relay.label.role":"角色:{role}","code.relay.label.started":"開始:{startedAt}","code.relay.label.statusWaiting":"等待中","code.relay.status.active":"作用中","code.relay.status.available":"可用","code.relay.status.completed":"已完成","code.relay.status.failed":"失敗","code.relay.status.requested":"已請求","code.relay.status.running":"執行中","code.relay.status.unavailable":"不可用","code.relay.status.unknown":"未知","code.relay.status.waitingForAgents":"等待代理人","code.relay.status.waitingForUser":"等待使用者","code.relay.mode.build":"建置","code.relay.mode.discover":"探索","code.relay.mode.document":"文件化","code.relay.mode.fit":"整合","code.relay.mode.humanVerify":"人工驗證","code.relay.mode.repair":"修復","code.relay.mode.review":"審查","code.relay.mode.shape":"塑形","code.relay.role.critic":"評論者","code.relay.role.drafter":"草稿手","code.relay.role.idle":"閒置","code.relay.role.mainCoder":"主要程式代理人","code.relay.role.reviewer":"審查者","code.relay.role.summarizer":"摘要者","code.relay.label.threadShell":"討論串外殼","code.relay.label.threadTitle":"討論串標題","code.relay.phase.phase0":"階段 0","code.relay.phase.phase1":"階段 1","code.relay.phase.phase2":"階段 2","code.relay.phase.fanOut":"分派","code.relay.phase.roster":"名單","code.relay.phase.project":"專案","code.relay.projectThread":"專案討論串","code.relay.projectThreadSummary":"專案討論串摘要","code.relay.runtimeProviderSurface":"執行階段供應器介面","code.relay.runtimeSurface":"執行階段介面","code.relay.threadProject":"專案討論串","code.relay.threadShellTitle":"討論串外殼","code.relay.mode.parallelPrompt":"平行提示","code.relay.noObjective":"尚未記錄目標。","code.relay.notRecorded":"未記錄","code.relay.openDiscoveryRound":"開啟探索回合","code.relay.placeholder.objective":"我們要決定或建置什麼?","code.relay.placeholder.optionalRepo":"選填的本機儲存庫綁定","code.relay.placeholder.fanOutPrompt":"把同一個需求問題發給多個程式代理人。","code.relay.placeholder.quotaNote":"選填的建議備註","code.relay.currentChat":"目前對話:{title}","code.relay.create":"正在建立…","code.relay.defaultThreadTitle":"新的分派討論串","code.relay.loading":"正在載入分派程式工作區…","code.relay.projectThreadHeader":"專案討論串","code.relay.relayToOthers":"分派給其他人(階段 2)","code.relay.targetAgent":"目標代理人","code.relay.threadLabel":"討論串","code.relay.title":"程式分派","code.relay.titleConnectorContract":"連接器契約","code.relay.titleProjectThread":"專案討論串","code.relay.titleTimeline":"時間軸","code.relay.transportUnknown":"未知傳輸","code.relay.transportUnknownWithValue":"未知傳輸({transport})","code.relay.transportRuntimeSessionBridge":"執行階段工作階段橋接","code.sidebar.codespace":"程式工作區","code.sidebar.codeBuilderTitle":"程式建置器","code.sidebar.codespaces":"程式工作區","code.workspaceSource.codeTask":"程式碼任務","code.workspaceSource.conversationRepo":"對話儲存庫","code.workspaceSource.runtimeCwd":"執行階段工作目錄","code.relay.titleProjectThreadSection":"專案討論串","code.sidebar.teamCode":"團隊程式","code.sidebar.peerCode":"同儕程式","code.sidebar.newCode":"新增程式","code.sidebar.noCodesYet":"目前沒有程式對話","code.sidebar.noConversationsSummary":"目前沒有程式對話","code.relay.noRoundsHint":"使用上方分派表單開啟第一個探索回合。","code.sidebar.artifacts":"成品","code.sidebar.build":"建置","code.sidebar.relay":"分派","code.workspace.sectionCodeOutput":"程式輸出","code.workspace.summary.binding":"綁定","code.workspace.summary.codespace":"程式工作區","code.workspace.summary.kind":"類型:{kind}","code.workspace.summary.ownership":"歸屬:{ownership}","code.workspace.summary.chatContext":"對話脈絡:{title}","code.workspace.summary.noChatContext":"沒有對話脈絡","code.workspace.summary.noChat":"沒有對話","code.workspace.summary.binding.conversationRepo":"建置流程已綁定到選取的對話儲存庫。","code.workspace.summary.binding.managedRoom":"建置流程已綁定到這個房間管理的程式工作區。","code.workspace.summary.binding.userSelected":"建置流程已綁定到使用者選取的本機資料夾。","code.workspace.kind.conversationRepo":"目前對話儲存庫","code.workspace.kind.managedRoom":"房間管理的工作區","code.workspace.kind.userSelected":"使用者選取的資料夾","code.workspace.ownership.conversationBound":"對話擁有","code.workspace.ownership.roomOwned":"房間擁有","code.workspace.ownership.ownerSelected":"使用者選取","code.workspace.source.task":"程式碼任務","code.workspace.source.conversationRepo":"對話儲存庫","code.workspace.source.runtimeCwd":"執行階段工作目錄","code.workspaces.listHeader":"程式工作區","code.workspaces.listNoCodespaces":"目前沒有程式工作區。啟動一個指定儲存庫、資料夾、工作樹或受管理房間的程式工作階段後,會出現在這裡。","code.workspaces.loading":"正在載入程式工作區…","code.workspaces.error":"無法載入程式工作區:{error}","code.workspaces.loadError":"載入程式工作區失敗。","code.workspaces.sourceCodes":"程式碼任務","code.workspaces.sourceRepo":"對話儲存庫","code.workspaces.sourceRuntime":"執行階段工作目錄","code.workspaces.sourceArtifact":"成品錨點","code.workspaces.ariaOpen":"開啟程式工作區 {title}","code.workspaceStatus.active":"作用中","code.workspaceStatus.archived":"已封存","code.workspaceStatus.draft":"草稿","code.workspaceStatus.ready":"就緒","code.workspaceStatus.unknown":"未知","code.workspaceDetail.error":"無法載入程式工作區。","code.workspaceDetail.loading":"正在載入程式工作區…","code.workspaceDetail.title":"程式工作區","code.workspaceDetail.notFound":"找不到程式工作區。它可能已被移除,或 URL 已變更。","code.workspaceDetail.missingId":"程式工作區 ID 為必填。","code.workspaceDetail.backToList":"返回所有程式工作區 →","code.workspaceDetail.overviewTitle":"總覽","code.workspaceDetail.artifactSection":"成品","code.workspaceDetail.conversationsSection":"對話","code.workspaceDetail.tasksSection":"任務","code.workspaceDetail.noArtifacts":"沒有成品","code.workspaceDetail.noArtifactsDesc":"尚未連結成品。這個程式工作區產生的建置、預覽或文件會出現在這裡。","code.workspaceDetail.noConversations":"目前沒有對話連結到這個程式工作區。","code.workspaceDetail.noTasks":"目前沒有程式碼任務連結到這個程式工作區。","code.workspaceDetail.overviewPath":"路徑","code.workspaceDetail.overviewSource":"來源","code.workspaceDetail.overviewStatus":"狀態","code.workspaceDetail.overviewLastActive":"最後活動","code.workspaceDetail.overviewSummary":"摘要","code.workspaceDetail.noSummary":"尚無摘要。","code.workspaceDetail.metric.conversations":"對話","code.workspaceDetail.metric.tasks":"任務","code.workspaceDetail.metric.artifacts":"成品","code.workspaceDetail.metric.id":"識別碼","code.workspaceDetail.overviewNoArtifacts":"尚無成品","code.workspaceDetail.conversationsEmpty":"沒有連結的對話","code.workspaceDetail.tasksEmpty":"沒有連結的任務","code.workspaceDetail.taskLabel":"任務","code.workspaceDetail.artifactsHeader":"此程式工作區的成品","code.workspace.source.unknown":"未知來源","code.delivery.blocked":"交付已阻擋"},Qn={en:Ep,"zh-TW":Ip},Bp=["zh","zh-tw","zh-hant","zh-hk","zh-mo","chinese","traditional","traditional chinese","mandarin","中文","繁體中文","繁体中文","繁體","繁体","國語","国语","華語","华语"],Fp=["zh-cn","zh-hans","zh-sg","zh-my","simplified","simplified chinese","簡體中文","简体中文","簡體","简体"],Op=["zh-tw-","zh-hant-","zh-hk-","zh-mo-"],Wp=["zh-cn-","zh-hans-","zh-sg-","zh-my-"],Up=new Set(Bp),Hp=new Set(Fp);function Yo(e){if(!e)return null;for(const t of Gp(e)){const a=qp(t);if(a)return a}return null}function Gp(e){return e.split(",").map((t,a)=>{const[o,...n]=t.trim().split(";"),i=_p(o),s=Kp(n);return{token:i,quality:s,index:a}}).filter(t=>t.token.length>0&&t.quality>0).sort((t,a)=>a.quality-t.quality||t.index-a.index).map(t=>t.token)}function _p(e){return(e??"").trim().replace(/_/gu,"-").toLowerCase()}function Kp(e){const t=e.find(i=>/^q\s*=/iu.test(i.trim()));if(!t)return 1;const a=/^q\s*=\s*(?<quality>.*)$/iu.exec(t.trim());if(!a?.groups)return 1;const o=a.groups.quality.trim();if(!/^\d+(?:\.\d+)?$/u.test(o))return 1;const n=Number.parseFloat(o);return Math.min(Math.max(n,0),1)}function qp(e){return e==="en"||e.startsWith("en-")?"en":Jn(e,Up,Op)?"zh-TW":(Jn(e,Hp,Wp),null)}function Jn(e,t,a){return t.has(e)?!0:a.some(o=>e.startsWith(o))}function zp(e){return Yo(e)??"en"}function $p(e,t){return t?e.replace(/\{([^{}]+)\}/g,(a,o)=>{const n=t[o];return n===void 0?a:String(n)}):e}function $e(e){return function(a,o){const n=a in l?l[a]:a;return $p(Qn[e][n]??Qn.en[n],o)}}const kr=$e("en"),oa=$e("en"),Vp={chat:{nameKey:l.platformProductChatName,subtitleKey:l.platformProductChatSubtitle,settingsLabelKey:l.platformProductChatSettingsLabel},code:{nameKey:l.platformProductCodeName,subtitleKey:l.platformProductCodeSubtitle,settingsLabelKey:l.platformProductCodeSettingsLabel},work:{nameKey:l.platformProductWorkName,subtitleKey:l.platformProductWorkSubtitle,settingsLabelKey:l.platformProductWorkSettingsLabel}};function Qo(e){return Vp[e]??null}function Yp(e,t=oa){return Jp(e.id,e.productName,t)}function Qp(e,t=oa){return Xp(e.id,e.subtitle,t)}function Jp(e,t,a=oa){const o=Qo(e);return o?a(o.nameKey):t}function Xp(e,t,a=oa){const o=Qo(e);return o?a(o.subtitleKey):t}function sl(e,t,a=oa){const o=Qo(e);return o?a(o.settingsLabelKey):t}function Zp(e,t,a=oa){return t.id===e?sl(e,t.label,a):t.label}const Xn="en",il="auto",ll=()=>{},cl=d.createContext({locale:Xn,languagePreference:il,setLanguagePreference:ll,t:$e(Xn)});function zt({children:e,languagePreference:t=il,locale:a,setLanguagePreference:o=ll}){const n=d.useMemo(()=>({locale:a,languagePreference:t,setLanguagePreference:o,t:$e(a)}),[t,a,o]);return r.jsx(cl.Provider,{value:n,children:e})}const co=["chat","work","code"],eh=["chat","work","code"],th=["chat"];function dl(e){return co.includes(e)}function ga(e,t=null){return typeof e=="string"&&dl(e)?e:t}function Mr(e,t){const a=new Set(t),o=[];for(const n of e)!dl(n)||!a.has(n)||o.includes(n)||o.push(n);return o}function ah(e,t={}){const a=Mr(t.allowed??co,co),o=Mr(Array.isArray(e)?e.filter(i=>typeof i=="string"):[],a);if(o.length>0)return o;const n=t.fallback??null;return!n||n.length===0?[]:Mr(n,a)}function Jo(e,t,a={}){return ah(e,a).includes(t)}function rh(e){return eh.includes(e)}function wr(){return[...th]}const oh=null,ul="/api/work",nh="/api/code",sh={chat:oh,work:ul,code:nh};function ih(e){return sh[e]??null}const Zn="/settings";function Ia(e){return e===Zn||e.startsWith(`${Zn}/`)}const lh="/setup",es="/lobby",ts="/products",ch="/entities",dh=[ch];function pl(e){return e===lh}function La(e){return e===es||e.startsWith(`${es}/`)}function hl(e){return e===ts||e.startsWith(`${ts}/`)}function ml(e){return dh.some(t=>e===t||e.startsWith(`${t}/`))}function uh(e){return pl(e)||La(e)||hl(e)||ml(e)||Ia(e)}const Er=Object.fromEntries(Np().map(e=>[e.id,{surface:e.id,routePrefix:e.routePrefix,apiBase:ih(e.id),placeholder:!rh(e.id)}]));function ph(e){return jp(e)}function hh(e,t,a,o="chat"){const n=ga(e);if(n)return n;const i=ga(t);if(i)return i;const s=ga(a);if(s)return s;const c=ga(o);return c||"chat"}function _(){return d.useContext(cl)}function Gt(){const[e,t]=d.useState(null),a=d.useCallback(i=>new Promise(s=>{t({options:i,resolve:s})}),[]),o=d.useCallback(async i=>await a(i)==="confirm",[a]),n=d.useCallback(i=>{e&&(e.resolve(mh(i)),t(null))},[e]);return{dialog:e,confirm:o,choose:a,handleClose:n}}function _t({dialog:e,onClose:t}){const{t:a}=_(),o=d.useRef(null);if(d.useEffect(()=>{e&&o.current?.focus()},[e]),d.useEffect(()=>{if(!e)return;function i(s){s.key==="Escape"&&t("cancel")}return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[e,t]),!e)return null;const n=e.options.defaultAction??"confirm";return r.jsx("div",{className:"confirmOverlay",onClick:()=>t("cancel"),children:r.jsxs("div",{className:"confirmDialog",onClick:i=>i.stopPropagation(),children:[r.jsx("p",{className:"confirmTitle",children:e.options.title}),r.jsx("p",{className:"confirmMessage",children:e.options.message}),r.jsxs("div",{className:"confirmActions",children:[r.jsx("button",{ref:n==="cancel"?o:null,className:"confirmCancelButton",type:"button",onClick:()=>t("cancel"),children:e.options.cancelLabel??a(l.sharedCommonCancel)}),e.options.auxiliaryLabel?r.jsx("button",{ref:n==="auxiliary"?o:null,className:"confirmAuxiliaryButton",type:"button",onClick:()=>t("auxiliary"),children:e.options.auxiliaryLabel}):null,r.jsx("button",{ref:n==="confirm"?o:null,className:"confirmDestructiveButton",type:"button",onClick:()=>t("confirm"),children:e.options.confirmLabel??a(l.sharedCommonDelete)})]})]})})}function mh(e){return typeof e=="boolean"?e?"confirm":"cancel":e}function gh({id:e,title:t,badge:a,isOpen:o,onToggle:n,children:i}){return r.jsxs("div",{className:"accordionSection",children:[r.jsxs("button",{type:"button",className:"accordionHeader",onClick:()=>n(e),"aria-expanded":o,children:[r.jsx("span",{className:"accordionHeaderTitle",children:t}),a!=null&&a>0?r.jsx("span",{className:"accordionBadge",children:a}):null,r.jsx("svg",{className:o?"accordionChevron accordionChevronOpen":"accordionChevron",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:r.jsx("path",{d:"M4.5 2.5 8 6 4.5 9.5"})})]}),o?r.jsx("div",{className:"accordionBody",children:i}):null]})}const uo="cats:side-panel-layout-change";function kh({title:e,activeSection:t,onSectionToggle:a,onClose:o,sections:n,className:i="",position:s="side"}){const c=d.useRef(null),{t:h}=_(),u=["sidePanel",s==="bottom"?"sidePanelBottom":"",i].filter(Boolean).join(" ");d.useEffect(()=>{function p(w){if(c.current&&!c.current.contains(w.target)){if(w.target.closest(".sidePanelToggle"))return;o()}}function f(w){w.key==="Escape"&&o()}return document.addEventListener("mousedown",p),document.addEventListener("keydown",f),()=>{document.removeEventListener("mousedown",p),document.removeEventListener("keydown",f)}},[o]);const g=s==="bottom"?"bottom":"side";return d.useEffect(()=>(as(),()=>{as()}),[u,g]),r.jsxs("aside",{className:u,ref:c,"data-side-panel-position":g,children:[r.jsxs("div",{className:"sidePanelHeader",children:[r.jsx("strong",{children:e}),r.jsx("button",{type:"button",className:"chromeButton",onClick:o,"aria-label":h(l.designSidePanelCloseLabel),children:"×"})]}),r.jsx("div",{className:"sidePanelBody",children:n.map(p=>r.jsx(gh,{id:p.id,title:p.title,badge:p.badge,isOpen:t===p.id,onToggle:a,children:p.children},p.id))})]})}function as(){typeof window>"u"||window.dispatchEvent(new Event(uo))}let bt=null,Mt=null,wa=null;function gl(){return bt||(bt=document.createElement("div"),bt.className="tooltipPortal",document.body.appendChild(bt)),bt}function Xo(){wa&&(clearTimeout(wa),wa=null)}function wh(e){const t=e.getAttribute("data-tooltip-delay");if(!t)return 0;const a=Number(t);return Number.isFinite(a)&&a>0?a:0}function fh(e){if(!e.isConnected)return!1;try{return e.matches(":hover")}catch{return!0}}function rs(e,t){const a=gl();a.textContent=t,a.classList.add("tooltipVisible");const o=e.getBoundingClientRect(),n=6;a.style.left=`${o.left+o.width/2}px`,a.style.top=`${o.top-n}px`,a.style.transform="translate(-50%, -100%)";const i=a.getBoundingClientRect();i.top<4&&(a.style.top=`${o.bottom+n}px`,a.style.transform="translate(-50%, 0)"),a.getBoundingClientRect().right>window.innerWidth-4&&(a.style.left=`${window.innerWidth-4}px`,a.style.transform=i.top<4?"translate(-100%, 0)":"translate(-100%, -100%)")}function bh(e){const t=e.getAttribute("data-tooltip");if(!t)return;Mt&&(clearTimeout(Mt),Mt=null),Xo();const a=wh(e);if(a>0){wa=setTimeout(()=>{wa=null;const o=e.getAttribute("data-tooltip");o&&fh(e)&&rs(e,o)},a);return}rs(e,t)}function yh(){Xo(),Mt=setTimeout(()=>{gl().classList.remove("tooltipVisible")},50)}function po(){Xo(),Mt&&(clearTimeout(Mt),Mt=null),bt&&bt.classList.remove("tooltipVisible")}function vh(){po()}function Ch(){function e(o){const n=o.target.closest?.("[data-tooltip]");n&&bh(n)}function t(o){o.target.closest?.("[data-tooltip]")&&yh()}function a(){po()}return document.addEventListener("mouseover",e,!0),document.addEventListener("mouseout",t,!0),document.addEventListener("click",a,!0),()=>{document.removeEventListener("mouseover",e,!0),document.removeEventListener("mouseout",t,!0),document.removeEventListener("click",a,!0),po(),bt&&(bt.remove(),bt=null)}}function Ir(e,t={}){const a=t.pinnedOnly?'[data-side-panel-position="side"][data-side-panel-pinned="true"]':'[data-side-panel-position="side"]',n=Array.from(e.querySelectorAll(a)).filter(i=>Sh(i)).map(i=>i.getBoundingClientRect()).filter(i=>i.width>0&&i.height>0).reduce((i,s)=>i==null?s.left:Math.min(i,s.left),null);return n==null?null:Math.round(n)}function Sh(e){const t=e.checkVisibility;if(typeof t=="function")try{return t.call(e,{checkOpacity:!0,checkVisibilityCSS:!0,contentVisibilityAuto:!0})}catch{}if(typeof window>"u"||typeof window.getComputedStyle!="function")return!0;const a=window.getComputedStyle(e);if(a.display==="none"||a.visibility==="hidden")return!1;const o=Number(a.opacity);return!(Number.isFinite(o)&&o===0)}function Lh(e,t=!1){return e==="bubble"||t&&e==="auto"?"welcome-peek":"open"}function Ph(){return"collapsed"}function Rh(e){return e==="drawer"?"open":"welcome-peek"}function xh(e,t){return t<=e.lastQueuedToken?e:{lastQueuedToken:t,pendingToken:t}}function Ah(e,t){return t||e.pendingToken==null?{queue:e,shouldOpen:!1}:{queue:{...e,pendingToken:null},shouldOpen:!0}}function Th(e){const t=xh(e.queue,e.token),a=Ah(t,e.isHiddenRoute);return a.shouldOpen?{queue:a.queue,commit:{innerState:Rh(e.mode),proactive:!0}}:{queue:a.queue,commit:null}}function Dh(e,t,a=!1){return e==="collapsed"?{nextState:Lh(t,a),persistSeen:!1}:e==="welcome-peek"?t==="bubble"||a&&t==="auto"?{nextState:"collapsed",persistSeen:!0}:{nextState:"open",persistSeen:!0}:{nextState:"collapsed",persistSeen:!1}}function Nh(e){return{nextState:"collapsed",persistSeen:e==="welcome-peek"}}function os(){return Ph()}function jh(e,t,a=0,o="floating"){const n=Ne(),[i,s]=d.useState(()=>os()),[c,h]=d.useState(!1),u=d.useRef({lastQueuedToken:0,pendingToken:null}),g=d.useRef(e);g.current=e;const p=n.pathname==="/setup",f=Ia(n.pathname),w=p||f&&o!=="docked",k=f&&o==="docked";d.useEffect(()=>{w&&(h(!1),s(b=>{const S=os();return b===S?b:S}))},[w]),d.useEffect(()=>{const b=Th({queue:u.current,token:a,isHiddenRoute:w,mode:g.current});if(u.current=b.queue,!b.commit)return;const{innerState:S,proactive:T}=b.commit;h(T),s(M=>M===S?M:S)},[w,a]);const y=w?"hidden":i,m=d.useCallback(()=>{h(!1),s(b=>{const S=Dh(b,e,k);return S.persistSeen&&t(),S.nextState})},[e,t,k]),C=d.useCallback(()=>{h(!1),s(b=>{const S=Nh(b);return S.persistSeen&&t(),S.nextState})},[t]),v=d.useCallback(()=>{h(!1),s("collapsed"),t()},[t]);return{viewState:y,proactive:c,toggle:m,collapse:C,dismissWelcome:v}}const kl={x:.03,y:.5};function wl(e,t="floating"){return pl(e)?"hidden":Ia(e)?t==="docked"?"workspace":"hidden":La(e)?"lobby":"workspace"}const kt=16,Mh=28,Ha=Mh/2,Ga=24,Eh=24,Ih=4;function ns(e){const t=e.currentX-e.startX,a=e.currentY-e.startY;return Math.hypot(t,a)>=Ih}function Bh(e){const{surface:t,viewport:a,topChromeBottom:o,sidebarRight:n,rightBlockedLeft:i=null}=e,s=t==="workspace"&&n!=null?Math.max(kt,n+kt):kt,c=t==="lobby"&&o!=null?Math.max(kt,o+kt):kt,h=t==="workspace"&&i!=null?Math.min(a.width-kt,i-kt):a.width-kt,u=s+Ha,g=c+Ha,p=Math.max(u+1,h-Ha),f=Math.max(g+1,a.height-kt-Ha);return{left:u,top:g,right:p,bottom:f}}function fl(e){const{anchor:t,viewport:a,safeArea:o}=e,n=t.x*a.width,i=t.y*a.height;return{x:Math.min(o.right,Math.max(o.left,n)),y:Math.min(o.bottom,Math.max(o.top,i))}}function ho(e){const{pointerX:t,pointerY:a,viewport:o}=e;return o.width<=0||o.height<=0?{...kl}:{x:Math.min(1,Math.max(0,t/o.width)),y:Math.min(1,Math.max(0,a/o.height))}}function bl(e){return e??{...kl}}function Fh(e){const t=ho({pointerX:e.pointerX,pointerY:e.pointerY,viewport:e.viewport}),a=bl(t),o=fl({anchor:a,viewport:e.viewport,safeArea:e.safeArea}),n=ho({pointerX:o.x,pointerY:o.y,viewport:e.viewport});return e.undock?{placement:"floating",floatingAnchor:n}:{floatingAnchor:n}}function Oh(e){const{pointerX:t,pointerY:a,slotRect:o}=e;return o?t>=o.left-Ga&&t<=o.right+Ga&&a>=o.top-Ga&&a<=o.bottom+Ga:!1}function mo(e){return e==="lobby"?"lobby":e==="workspace"?"workspace":null}function Wh(e){const{placement:t,anchor:a,surface:o,viewport:n,safeArea:i}=e;if(o==="hidden")return{kind:"hidden"};if(t==="docked"){const p=mo(o);return p?{kind:"docked",slot:p}:{kind:"hidden"}}const s=bl(a),{x:c,y:h}=fl({anchor:s,viewport:n,safeArea:i}),u=ho({pointerX:c,pointerY:h,viewport:n}),g=Math.abs(u.x-s.x)>.001||Math.abs(u.y-s.y)>.001?"collision_reflow":null;return{kind:"floating",x:c,y:h,overrideReason:g}}const yl=d.createContext(null);function Uh({guideCat:e,placement:t,floatingAnchor:a,sidecarMode:o,proactiveGreetingToken:n=0,onPersistSeen:i,onCommit:s,children:c}){const h=jh(o,i,n,t),u=Ne(),g=wl(u.pathname,t),[p,f]=d.useState(()=>ss()),[w,k]=d.useState(null),[y,m]=d.useState(null),[C,v]=d.useState(null),b=d.useRef({lobby:null,workspace:null}),S=d.useRef({lobby:null,workspace:null}),T=d.useRef(null),M=d.useRef(!1),j=d.useRef(null),[R,P]=d.useState(null),A=d.useCallback(D=>{j.current=D,P(D)},[]);d.useEffect(()=>{if(typeof window>"u")return;const D=()=>f(ss());return window.addEventListener("resize",D),()=>window.removeEventListener("resize",D)},[]),d.useEffect(()=>{if(!(typeof document>"u"))return cs({document,selector:".lobbyTopBar",readValue:D=>D?Math.round(D.getBoundingClientRect().bottom):null,onChange:D=>{k(B=>B===D?B:D)}})},[u.pathname]),d.useEffect(()=>{if(!(typeof document>"u"))return cs({document,selector:"aside.sidebar",readValue:D=>D?Math.round(D.getBoundingClientRect().right):null,onChange:D=>{m(B=>B===D?B:D)}})},[u.pathname]),d.useEffect(()=>{if(typeof document>"u"||typeof window>"u")return;const D=()=>{const B=g==="workspace"?Ir(document):null;v(W=>W===B?W:B)};return D(),window.addEventListener("resize",D),window.addEventListener(uo,D),()=>{window.removeEventListener("resize",D),window.removeEventListener(uo,D)}},[g,u.pathname]);const x=d.useMemo(()=>Bh({surface:g,viewport:p,topChromeBottom:w,sidebarRight:y,rightBlockedLeft:C}),[g,p,w,y,C]),E=d.useMemo(()=>Wh({placement:t,anchor:a,surface:g,viewport:p,safeArea:x}),[t,a,g,p,x]),O=d.useMemo(()=>{if(!R||!R.activated)return E;const D=R.currentX-R.startX,B=R.currentY-R.startY;return R.mode==="floating"?{kind:"floating",x:_a(R.basePillX+D,p.width),y:_a(R.basePillY+B,p.height),overrideReason:null}:R.mode==="docked"&&!R.escaped?E:R.mode==="docked"&&R.escaped?{kind:"floating",x:_a(R.basePillX+D,p.width),y:_a(R.basePillY+B,p.height),overrideReason:null}:E},[E,R,p]),$=d.useMemo(()=>{const D=mo(g),B=t==="docked"&&D!=null,W=R?.mode==="floating"&&R.activated?R.overSlot:null;return{lobby:{active:B&&D==="lobby",preview:W==="lobby"},workspace:{active:B&&D==="workspace",preview:W==="workspace"}}},[t,g,R]),K=d.useCallback((D,B)=>{b.current[D]=B,S.current[D]=B?Fr(B):null},[]),ee=d.useCallback(()=>{Object.keys(b.current).forEach(D=>{const B=b.current[D];S.current[D]=B?Fr(B):null})},[]),F=d.useCallback(D=>{const B=b.current[D];return B?Fr(B):null},[]),Y=d.useCallback((D,B,W=!1)=>Fh({pointerX:D,pointerY:B,viewport:p,safeArea:x,undock:W}),[x,p]),H=d.useCallback(D=>{s({placement:"docked"})},[s]),ae=d.useCallback(D=>{const B=ns({startX:D.startX,startY:D.startY,currentX:D.currentX,currentY:D.currentY}),W=D.basePillX+(D.currentX-D.startX),Z=D.basePillY+(D.currentY-D.startY);D.mode==="floating"&&D.overSlot?(H(D.overSlot),M.current=!0):D.mode==="floating"&&B?(s(Y(W,Z)),M.current=!0):D.mode==="docked"&&D.escaped&&(s(Y(W,Z,!0)),M.current=!0),A(null)},[H,s,Y]),ue=d.useCallback(D=>{const B=j.current;if(!B||D.pointerId!==B.pointerId)return;const W={...B,currentX:D.clientX,currentY:D.clientY};if(!B.activated){if(!ns({startX:B.startX,startY:B.startY,currentX:D.clientX,currentY:D.clientY})){A(W);return}W.activated=!0,typeof document<"u"&&document.body.classList.add(Br),is(),h.collapse(),ee()}if(B.mode==="floating"){const Z=mo(g);if(Z){const q=S.current[Z];Oh({pointerX:D.clientX,pointerY:D.clientY,slotRect:q})?W.overSlot=Z:W.overSlot=null}else W.overSlot=null}else if(B.mode==="docked"){const Z=D.clientX-B.startX,q=D.clientY-B.startY;!B.escaped&&Math.hypot(Z,q)>=Eh&&(W.escaped=!0)}A(W)},[h,ee,A,g]),G=d.useCallback(D=>{const B=j.current;if(!B||D.pointerId!==B.pointerId)return;const W={...B,currentX:D.clientX,currentY:D.clientY};ae(W)},[ae]);d.useEffect(()=>{if(!R)return;const D=B=>{const W=j.current;!W||B.pointerId!==W.pointerId||A(null)};return window.addEventListener("pointermove",ue),window.addEventListener("pointerup",G),window.addEventListener("pointercancel",D),()=>{window.removeEventListener("pointermove",ue),window.removeEventListener("pointerup",G),window.removeEventListener("pointercancel",D)}},[R,ue,G,A]);const I=!!R?.activated,z=d.useMemo(()=>g==="workspace"&&y!=null?Math.max(0,Math.round(y)):0,[g,y]);d.useEffect(()=>{if(!(typeof document>"u")&&I)return document.body.classList.add(Br),()=>{document.body.classList.remove(Br),is()}},[I]);const re=d.useCallback(D=>{if(D.button!==0&&D.pointerType==="mouse")return;D.preventDefault(),D.stopPropagation(),M.current=!1,ls(),v(Ir(document,{pinnedOnly:!0}));const B=D.currentTarget,W=B.getBoundingClientRect(),Z=W.left+W.width/2,q=W.top+W.height/2;try{B.setPointerCapture(D.pointerId)}catch{}A({mode:"floating",pointerId:D.pointerId,startX:D.clientX,startY:D.clientY,currentX:D.clientX,currentY:D.clientY,basePillX:Z,basePillY:q,activated:!1,overSlot:null,escaped:!1})},[]),X=d.useCallback(D=>{if(D.button!==0&&D.pointerType==="mouse")return;D.preventDefault(),D.stopPropagation(),M.current=!1,ls(),v(Ir(document,{pinnedOnly:!0}));const B=D.currentTarget,W=B.getBoundingClientRect(),Z=W.left+W.width/2,q=W.top+W.height/2;try{B.setPointerCapture(D.pointerId)}catch{}A({mode:"docked",pointerId:D.pointerId,startX:D.clientX,startY:D.clientY,currentX:D.clientX,currentY:D.clientY,basePillX:Z,basePillY:q,activated:!1,overSlot:null,escaped:!1})},[]),pe=d.useCallback(()=>{const D=M.current;return M.current=!1,D},[]),ve=d.useCallback(()=>{M.current=!1},[]),U=d.useCallback(()=>{if(O.kind!=="docked")return;const D=F(O.slot);if(!D)return;const B=(D.left+D.right)/2,W=(D.top+D.bottom)/2;s(Y(B,W,!0))},[O,s,Y,F]),V=d.useMemo(()=>({guideCat:e,projection:O,dockSlotState:$,pillRef:T,registerSlotRef:K,onFloatingPointerDown:re,onDockedPointerDown:X,consumePillClickSuppression:pe,clearPillClickSuppression:ve,presentation:h,dragActive:I,panelOriginX:z,getDockSlotRect:F,undock:U}),[e,O,$,K,re,X,pe,ve,h,I,z,F,U]);return r.jsx(yl.Provider,{value:V,children:c})}function Zo(){const e=d.useContext(yl);if(!e)throw new Error("useGuideCatPlacement requires GuideCatPlacementProvider");return e}function Hh(e){const{registerSlotRef:t}=Zo();return d.useCallback(a=>{t(e,a)},[t,e])}function ss(){return typeof window>"u"?{width:0,height:0}:{width:window.innerWidth,height:window.innerHeight}}function _a(e,t){return t<=0?e:Math.min(t,Math.max(0,e))}function is(){vh()}const vl=Symbol.for("cats.guideCat.dismissTransientChrome");function Gh(e){return!!e[vl]}function ls(){if(typeof document>"u"||typeof MouseEvent>"u")return;const e=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:typeof window<"u"?window:void 0,button:0});e[vl]=!0,document.body.dispatchEvent(e)}const Br="guideCatDragging";function Fr(e){const t=e.getBoundingClientRect();return{left:t.left,top:t.top,right:t.right,bottom:t.bottom}}function cs(e){const{document:t,selector:a,readValue:o,onChange:n}=e,i=globalThis.ResizeObserver,s=globalThis.MutationObserver,c=t.body??t.documentElement;if(!c)return n(o(t.querySelector(a))),()=>{};let h=null,u=null,g=null;const p=()=>{u?.disconnect(),g?.disconnect(),u=null,g=null},f=()=>{n(o(h))},w=()=>{h&&typeof i=="function"&&(u=new i(f),u.observe(h)),h&&typeof s=="function"&&(g=new s(f),g.observe(h,{attributes:!0,attributeFilter:["class","style"]}))},k=()=>{const m=t.querySelector(a);return m===h?!1:(p(),h=m,w(),f(),!0)};let y=null;return typeof s=="function"&&(y=new s(()=>{h!=null&&(h.isConnected??!0)||k()}),y.observe(c,{childList:!0,subtree:!0})),k()||f(),()=>{p(),y?.disconnect()}}const fr="cats.guide-cat-ui-prefs",Cl=1,Qt={sidecarSeen:!1,sidecarMode:"auto",placement:"floating",floatingAnchor:null},ds=new Set;function Pa(){const e=globalThis;return typeof e.addEventListener!="function"||typeof e.removeEventListener!="function"?null:e}function _h(e,t){(Pa()===null?d.useEffect:d.useLayoutEffect)(e,t)}function Kh(e){if(typeof e!="object"||e===null)return null;const t=e,a=t.x,o=t.y;return typeof a!="number"||typeof o!="number"||!Number.isFinite(a)||!Number.isFinite(o)?null:{x:Math.min(1,Math.max(0,a)),y:Math.min(1,Math.max(0,o))}}function qh(e){return e==="auto"||e==="drawer"||e==="bubble"?e:Qt.sidecarMode}function zh(e){return e==="floating"||e==="docked"?e:Qt.placement}function $h(e,t){return{sidecarSeen:t.sidecarSeen??e.sidecarSeen,sidecarMode:t.sidecarMode??e.sidecarMode,placement:t.placement??e.placement,floatingAnchor:t.floatingAnchor!==void 0?t.floatingAnchor:e.floatingAnchor}}function en(e){if(!e)return null;try{const t=JSON.parse(e);if(typeof t!="object"||t===null)return null;const a=t;return a.version===Cl?{sidecarSeen:a.sidecarSeen===!0,sidecarMode:qh(a.sidecarMode),placement:zh(a.placement),floatingAnchor:Kh(a.floatingAnchor)}:null}catch{return null}}function Sl(e){ds.has(e)||(ds.add(e),globalThis.console?.warn?.(`[guide-cat-ui-prefs] Ignoring unsupported or malformed stored prefs during ${e}.`))}function Vh(e){const t={version:Cl,sidecarSeen:e.sidecarSeen,sidecarMode:e.sidecarMode,placement:e.placement,floatingAnchor:e.floatingAnchor?{...e.floatingAnchor}:null};return JSON.stringify(t)}function Yh(e){if(!e)return null;try{return en(e.getItem(fr))}catch{return null}}function Qh(e){if(!e)return null;try{return e.getItem(fr)}catch{return null}}function Ll(e,t){if(!e)return{persisted:!1,prefs:t};try{e.setItem(fr,Vh(t));const a=Yh(e);if(a)return{persisted:!0,prefs:a}}catch{}return{persisted:!1,prefs:t}}function Jh(e){const{storage:t}=e,a=Qh(t),o=en(a);if(o)return{prefs:o,source:"local",persisted:!0};if(a!==null)return Sl("bootstrap"),{prefs:{...Qt},source:"defaults",persisted:!1};const n={...Qt},i=Ll(t,n).persisted;return{prefs:n,source:"defaults",persisted:i}}function Or(e,t){return e.sidecarSeen===t.sidecarSeen&&e.sidecarMode===t.sidecarMode&&e.placement===t.placement&&e.floatingAnchor?.x===t.floatingAnchor?.x&&e.floatingAnchor?.y===t.floatingAnchor?.y}class Xh{constructor(t){this.storage=t}prefs={...Qt};hydrated=!1;listeners=new Set;storageListening=!1;getSnapshot=()=>this.prefs;isHydrated(){return this.hydrated}subscribe=t=>(this.listeners.add(t),this.ensureStorageListener(),()=>{this.listeners.delete(t),this.listeners.size===0&&this.teardownStorageListener()});ensureHydrated(){if(this.hydrated)return;const t=Jh({storage:this.storage});this.prefs=t.prefs,this.hydrated=!0}update(t){this.hydrated||this.ensureHydrated();const a=$h(this.prefs,t);if(Or(this.prefs,a))return;const o=Ll(this.storage,a).prefs;this.prefs=o,this.hydrated=!0,this.emit()}emit(){this.listeners.forEach(t=>t())}ensureStorageListener(){const t=Pa();!t||this.storageListening||(t.addEventListener?.("storage",this.handleStorageEvent),this.storageListening=!0)}teardownStorageListener(){const t=Pa();!t||!this.storageListening||(t.removeEventListener?.("storage",this.handleStorageEvent),this.storageListening=!1)}handleStorageEvent=t=>{if(t.key!==fr)return;if(t.newValue===null){const o={...Qt};if(Or(this.prefs,o))return;this.prefs=o,this.hydrated=!0,this.emit();return}const a=en(t.newValue);if(!a){Sl("storage-event");return}Or(this.prefs,a)||(this.prefs=a,this.hydrated=!0,this.emit())}}function Pl(e){return new Xh(e)}let Wr=null;function Zh(){return Wr||(Wr=Pl(Pa()?.localStorage??null)),Wr}function tn(e={}){const{hydrate:t=!0}=e,a=d.useMemo(()=>Pa()===null?Pl(null):Zh(),[]),[,o]=d.useState(0);_h(()=>{!t||a.isHydrated()||(a.ensureHydrated(),o(s=>s+1))},[t,a]);const n=d.useSyncExternalStore(a.subscribe,a.getSnapshot,a.getSnapshot),i=d.useCallback(s=>{a.update(s)},[a]);return{prefs:n,hydrated:t&&a.isHydrated(),update:i}}const go=["claude","codex","antigravity","grok","cline","devin","muse","cursor","copilot","opencode","kilo","goose","pi","auggie","junie","kiro","ollama","openclaw"],em={openclaw:[{value:"openclaw-coder",label:"openclaw-coder (default)",default:!0}],claude:[{value:"opus",label:"Opus 5 with 1M context",default:!0},{value:"fable",label:"Fable 5.1"},{value:"sonnet",label:"Sonnet 5"},{value:"haiku",label:"Haiku 4.5"}],codex:[{value:"gpt-6-astra",label:"gpt-6-astra",default:!0},{value:"gpt-5.6-sol",label:"gpt-5.6-sol"},{value:"gpt-5.6-terra",label:"gpt-5.6-terra"},{value:"gpt-5.6-luna",label:"gpt-5.6-luna"},{value:"gpt-5.5",label:"gpt-5.5"}],antigravity:[{value:"gemini-3.8-flash-low",label:"Gemini 3.8 Flash"},{value:"gemini-3.7-flash-low",label:"Gemini 3.7 Flash"},{value:"gemini-3.6-flash-low",label:"Gemini 3.6 Flash"},{value:"gemini-3.1-pro-low",label:"Gemini 3.1 Pro"},{value:"claude-sonnet-4-6",label:"Claude Sonnet 4.6 (Thinking)"},{value:"claude-opus-4-6-thinking",label:"Claude Opus 4.6 (Thinking)"},{value:"gpt-oss-120b-medium",label:"GPT-OSS 120B (Medium)"}],grok:[{value:"grok-4.6",label:"Grok 4.6"},{value:"grok-4.5",label:"Grok 4.5"}],cline:[{value:"cline-pass/glm-5.3",label:"GLM-5.3 — Medium"},{value:"cline-pass/kimi-k3",label:"Kimi K3 — Medium"},{value:"cline-pass/qwen3.8-max",label:"Qwen3.8 Max — Medium"},{value:"cline-pass/deepseek-v4-pro",label:"DeepSeek V4 Pro — Medium"},{value:"cline-pass/minimax-m3",label:"MiniMax-M3 — Medium"},{value:"cline-pass/mimo-v2.5-pro",label:"MiMo-V2.5-Pro — Medium"}],devin:[{value:"adaptive",label:"Adaptive"},{value:"claude-fable-5-1-medium",label:"Claude Fable 5.1 — Medium"},{value:"gemini-3-8-flash-medium",label:"Gemini 3.8 Flash — Medium"},{value:"gpt-6-astra-medium",label:"GPT-6 Astra — Medium"},{value:"grok-4-6-medium",label:"Grok 4.6 — Medium"},{value:"nemotron-3-ultra-high",label:"Nemotron 3 Ultra — High"}],muse:[{value:"muse-default",label:"Muse account default",default:!0},{value:"muse-spark-1.3",label:"muse-spark-1.3"},{value:"muse-spark-1.2",label:"muse-spark-1.2"}],copilot:[{value:"gpt-5.6-terra",label:"GPT-5.6 Terra — Medium (default)",default:!0},{value:"claude-sonnet-5",label:"Claude Sonnet 5 — Medium"},{value:"gemini-3.8-flash",label:"Gemini 3.8 Flash — Medium"},{value:"grok-4.6",label:"Grok 4.6 — Medium"},{value:"mai-code-1.1-flash",label:"MAI-Code-1.1-Flash — Medium"},{value:"kimi-k3",label:"Kimi K3 — High"}],opencode:[{value:"opencode-go/union-alpha",label:"Union Alpha Free"},{value:"opencode-go/deepseek-v4.1-flash",label:"DeepSeek V4.1 Flash"},{value:"opencode-go/hy4-preview",label:"Hy4 preview"},{value:"opencode-go/glm-5.3-flash",label:"GLM-5.3-Flash"},{value:"opencode-go/qwen3.8-flash",label:"Qwen3.8 Flash"},{value:"opencode-go/minimax-m3",label:"MiniMax-M3"}],kilo:[{value:"kilo/deepseek/deepseek-v4.1-flash",label:"DeepSeek: DeepSeek V4.1 Flash"},{value:"kilo/z-ai/glm-5.3-flash",label:"Z.ai: GLM 5.3 Flash"},{value:"kilo/moonshotai/kimi-k3",label:"MoonshotAI: Kimi K3"},{value:"kilo/minimax/minimax-m3",label:"MiniMax: MiniMax M3"},{value:"kilo/bytedance-seed/seed-2-1-turbo",label:"ByteDance Seed: Seed 2.1 Turbo Thinking"},{value:"kilo/google/gemini-3-pro-image",label:"Google: Nano Banana Pro (Gemini 3 Pro Image) Thinking"}],auggie:[{value:"gpt-6-astra",label:"GPT-6 Astra"},{value:"gpt-5-6-sol",label:"GPT-5.6 Sol"},{value:"claude-fable-5-1",label:"Claude Fable 5.1"},{value:"claude-opus-5-5",label:"Claude Opus 5.5"},{value:"grok-4-7",label:"Grok 4.7"},{value:"butler_a",label:"Prism (Claude + GPT)"}],pi:[{value:"openai-codex/gpt-5.6-luna",label:"gpt-5.6-luna [openai-codex] — medium"},{value:"openai-codex/gpt-5.6-sol",label:"gpt-5.6-sol [openai-codex] — medium"},{value:"openai-codex/gpt-5.6-terra",label:"gpt-5.6-terra [openai-codex] — medium"},{value:"openai-codex/gpt-6-astra",label:"gpt-6-astra [openai-codex] — medium"},{value:"openai-codex/gpt-6-luna",label:"gpt-6-luna [openai-codex] — medium"},{value:"openai-codex/gpt-6-sol",label:"gpt-6-sol [openai-codex] — medium"}],junie:[{value:"Gemini 3.7 Flash",label:"Gemini 3.7 Flash — Medium (default)",default:!0},{value:"Claude Fable 5.1",label:"Claude Fable 5.1 — Low"},{value:"Gemini 3.8 Flash",label:"Gemini 3.8 Flash — Medium"},{value:"GPT-5.6-SOL",label:"GPT-5.6-SOL — Low"},{value:"Grok 4.6",label:"Grok 4.6 — Low"}],cursor:[{value:"grok-4.6[effort=high,fast=true]",label:"Cursor Grok 4.6 — High Fast"},{value:"composer-2.5[fast=true]",label:"Composer 2.5 — Fast"},{value:"claude-opus-5[thinking=true,context=300k,effort=high,fast=false]",label:"Claude Opus 5 — 300K High Thinking"},{value:"gpt-5.6-sol[context=272k,reasoning=medium,fast=false]",label:"GPT-5.6 Sol — 272K Medium"},{value:"gemini-3.8-flash[reasoning_effort=high]",label:"Gemini 3.8 Flash — High"},{value:"muse-spark-1.3[context=300k,effort=high]",label:"Muse Spark 1.3 — 300K High"}],kiro:[{value:"claude-opus-5",label:"claude-opus-5"},{value:"claude-sonnet-5",label:"claude-sonnet-5"},{value:"gpt-5.6-sol",label:"gpt-5.6-sol"},{value:"gpt-5.6-terra",label:"gpt-5.6-terra"},{value:"gpt-5.6-luna",label:"gpt-5.6-luna"},{value:"claude-haiku-4.5",label:"claude-haiku-4.5"}],goose:[{value:"chatgpt_codex/gpt-5.6-sol",label:"gpt-5.6-sol — Off"},{value:"chatgpt_codex/gpt-5.6-terra",label:"gpt-5.6-terra — Off"},{value:"chatgpt_codex/gpt-5.6-luna",label:"gpt-5.6-luna — Off"},{value:"chatgpt_codex/gpt-5.6",label:"gpt-5.6 — Off"},{value:"chatgpt_codex/gpt-5.5",label:"gpt-5.5 — Off"},{value:"chatgpt_codex/gpt-5.4",label:"gpt-5.4 — Off"}],ollama:[{value:"qwen2.5-coder:7b",label:"qwen2.5-coder:7b (default)",default:!0}]},tm={antigravity:"antigravity-default",muse:"muse-default"},am={claude:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0},{id:"sdk",label:"agent/sdk",target:"agent/sdk",backend:"agent"},{id:"sonnet",label:"api/sonnet",target:"api/sonnet",backend:"api"}],codex:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0},{id:"main",label:"api/main",target:"api/main",backend:"api"}],antigravity:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],grok:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],cline:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],devin:[{id:"acp",label:"agent/acp",target:"agent/acp",backend:"agent",default:!0}],muse:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],cursor:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],copilot:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],opencode:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],kilo:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],goose:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],pi:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],auggie:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],junie:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],kiro:[{id:"native",label:"cli/native",target:"cli/native",backend:"cli",default:!0}],ollama:[{id:"local",label:"local/local",target:"local/local",backend:"local",default:!0}],openclaw:[{id:"gateway",label:"agent/gateway",target:"agent/gateway",backend:"agent",default:!0}]};function jt(e){return e.target??(e.backend?`${e.backend}/${e.id}`:e.id)}const rm=Object.fromEntries(Object.entries(em).map(([e,t])=>[e,t.map(a=>({...a}))]));function Ce(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function Rl(e){const t=Ce(e);return t?Ce(t.catalog)??t:null}function ce(e){return typeof e=="string"&&e.trim().length>0?e:null}function ca(e){return e==="none"||e==="derived"||e==="native"||e==="unknown"?e:"unknown"}function om(e){return e==="none"||e==="final"||e==="chunk"||e==="line"||e==="token"||e==="unknown"?e:"unknown"}function nm(e){return e==="final_message"||e==="event_tape"||e==="content_blocks"||e==="unknown"?e:"unknown"}function sm(e){const t=Ce(e);if(!t)return null;const a=Ce(t.normalizedStream),o=Ce(a?.text),n=Ce(t.transcript),i=Ce(t.presentation),s=Ce(t.validation),c=Ce(s?.observed);return{normalizedStream:{text:{mode:om(o?.mode),stepwise:o?.stepwise===!0},toolUse:ca(a?.toolUse),toolResult:ca(a?.toolResult),progress:ca(a?.progress),reasoning:ca(a?.reasoning)},transcript:{contentBlocks:ca(n?.contentBlocks)},presentation:{recommended:nm(i?.recommended)},notes:_e(t.notes),...s?{validation:{artifactId:typeof s.artifactId=="string"?s.artifactId:"",capturedAt:typeof s.capturedAt=="string"?s.capturedAt:"",transport:typeof s.transport=="string"?s.transport:"",...typeof s.runtimeMode=="string"?{runtimeMode:s.runtimeMode}:{},executionStatus:s.executionStatus==="failed"?"failed":"completed",observed:{incrementalText:c?.incrementalText===!0,toolUse:c?.toolUse===!0,toolResult:c?.toolResult===!0,progress:c?.progress===!0,finalResult:c?.finalResult===!0}}}:{}}}function ko(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function _e(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function $t(e){const t=Ce(e);if(!t)return;const a=Object.entries(t).filter(([,o])=>ko(o));return a.length>0?Object.fromEntries(a):void 0}function us(e){return e==="supported"||e==="unavailable"||e==="available"||e==="preview"||e==="deprecated"?e:void 0}function im(e){return e==="boolean"||e==="enum"||e==="number"||e==="string"?e:"string"}function lm(e){return e==="session_default"||e==="request"||e==="both"?e:"session_default"}function cm(e){return e==="auto"||e==="explicit"?e:"explicit"}function ps(e){if(!Array.isArray(e))return;const t=e.flatMap(a=>{if(ko(a))return[{value:a,label:String(a)}];const o=Ce(a);return!o||!ko(o.value)?[]:[{value:o.value,label:ce(o.label)??String(o.value),...ce(o.description)?{description:ce(o.description)}:{},..._e(o.applicableEntryIds).length>0?{applicableEntryIds:_e(o.applicableEntryIds)}:{}}]});return t.length>0?t:void 0}function dm(e){return go.includes(e)}function At(e){const t=e?.trim().toLowerCase();if(!t)return null;if(go.includes(t))return t;if(t.endsWith("-cli")){const a=t.slice(0,-4);if(go.includes(a))return a}return null}function um(e){const t=At(e)??e.trim();return t==="openclaw"?"OpenClaw":t.charAt(0).toUpperCase()+t.slice(1)}function xl(e){const t=At(e);return t?rm[t]??[]:[]}function Al(e,t){const a=At(e);return a?tm[a]===t?.trim():!1}function an(e,t){const a=t?.trim();if(!a)return null;if((At(e)??e)==="claude"){const n=a.toLowerCase();if(n==="claude-opus-4-6"||n==="claude-opus-4.6"||n==="opus")return"opus";if(n==="claude-sonnet-4-6"||n==="claude-sonnet-4.6"||n==="sonnet")return"sonnet";if(n==="claude-haiku-4-5"||n==="claude-haiku-4.5"||n==="haiku")return"haiku"}return a}function BS(e){const t=xl(e);return t.find(a=>a.default)?.value??t[0]?.value??""}function rn(e){const t=At(e);return t?am[t]??[]:[]}function Tl(e){const t=rn(e);return t.find(a=>a.default)?.id??t[0]?.id??null}function pm(e){const t=rn(e);return t.find(a=>a.default)?.backend??t[0]?.backend??null}function Dl(e){return e.defaultModel||e.models.find(t=>t.default)?.id||e.models[0]?.id||""}function hm(e){const t=Dl(e)||null;return{provider:e.provider,backend:e.backend,instance:e.instance,defaultModel:t,source:e.source,cache:e.cache,entries:e.models.map(a=>({...a})),presets:[],controls:[],defaultSelection:t?{entryId:t,entryMode:"explicit"}:null,support:{tier:"entry_only",notes:[]},warnings:[...e.warnings]}}function mm(e,t){const a=Rl(e)??{},o=a.source,n=o==="dynamic"||o==="config"||o==="static"?o:"static",i=Ce(a.cache),s=Array.isArray(a.models)?a.models:[];return{provider:ce(a.provider)??t,backend:ce(a.backend),instance:ce(a.instance),defaultModel:ce(a.defaultModel),source:n,cache:i?{servedFromCache:!!i.servedFromCache,cachedAt:ce(i.cachedAt),ttlSec:typeof i.ttlSec=="number"?i.ttlSec:null}:null,models:s.map(c=>Ce(c)).filter(c=>c!==null).map(c=>({id:ce(c.id)??"",label:ce(c.label)??ce(c.id)??"",default:!!c.default,status:ce(c.status)??void 0})).filter(c=>c.id.length>0),warnings:Array.isArray(a.warnings)?a.warnings.filter(c=>typeof c=="string"):[]}}function gm(e,t){const a=Rl(e)??{},o=a.source,n=o==="dynamic"||o==="config"||o==="static"?o:"static",i=Ce(a.cache),s=Array.isArray(a.entries)?a.entries:[],c=Array.isArray(a.presets)?a.presets:[],h=Array.isArray(a.controls)?a.controls:[],u=Ce(a.support),g=Ce(a.defaultSelection);return{provider:ce(a.provider)??t,backend:ce(a.backend),instance:ce(a.instance),defaultModel:ce(a.defaultModel),source:n,cache:i?{servedFromCache:!!i.servedFromCache,cachedAt:ce(i.cachedAt),ttlSec:typeof i.ttlSec=="number"?i.ttlSec:null}:null,entries:s.map(p=>Ce(p)).filter(p=>p!==null).map(p=>({id:ce(p.id)??"",label:ce(p.label)??ce(p.id)??"",default:!!p.default,...$t(p.controlDefaults)?{controlDefaults:$t(p.controlDefaults)}:{},...ce(p.status)?{status:ce(p.status)}:{},..._e(p.capabilityTags).length>0?{capabilityTags:_e(p.capabilityTags)}:{},...Ce(p.limits)?{limits:{...typeof Ce(p.limits)?.contextWindowTokens=="number"?{contextWindowTokens:Number(Ce(p.limits)?.contextWindowTokens)}:typeof Ce(p.limits)?.contextWindow=="number"?{contextWindowTokens:Number(Ce(p.limits)?.contextWindow)}:{},...typeof Ce(p.limits)?.maxOutputTokens=="number"?{maxOutputTokens:Number(Ce(p.limits)?.maxOutputTokens)}:{}}}:{},..._e(p.notes).length>0?{notes:_e(p.notes)}:{}})).filter(p=>p.id.length>0),presets:c.map(p=>Ce(p)).filter(p=>p!==null).map(p=>({id:ce(p.id)??"",label:ce(p.label)??ce(p.id)??"",...ce(p.description)?{description:ce(p.description)}:{},...us(p.availability)?{availability:us(p.availability)}:{},..._e(p.applicableEntryIds).length>0?{applicableEntryIds:_e(p.applicableEntryIds)}:{},...ce(p.preferredEntryId)?{preferredEntryId:ce(p.preferredEntryId)}:{},...$t(p.controlDefaults)?{controlDefaults:$t(p.controlDefaults)}:{},..._e(p.warnings).length>0?{warnings:_e(p.warnings)}:{}})).filter(p=>p.id.length>0),controls:h.map(p=>Ce(p)).filter(p=>p!==null).map(p=>({key:ce(p.key)??"",label:ce(p.label)??ce(p.key)??"",...ce(p.description)?{description:ce(p.description)}:{},kind:im(p.kind),scope:lm(p.scope),...ps(p.values)?{values:ps(p.values)}:{},...typeof p.minimum=="number"?{minimum:p.minimum}:{},...typeof p.maximum=="number"?{maximum:p.maximum}:{},...typeof p.step=="number"?{step:p.step}:{},..._e(p.applicableEntryIds).length>0?{applicableEntryIds:_e(p.applicableEntryIds)}:{},..._e(p.semanticTags).length>0?{semanticTags:_e(p.semanticTags)}:{}})).filter(p=>p.key.length>0),defaultSelection:g?{...ce(g.entryId)?{entryId:ce(g.entryId)}:{},entryMode:cm(g.entryMode),...ce(g.presetId)?{presetId:ce(g.presetId)}:{},...$t(g.controls)?{controls:$t(g.controls)}:{}}:null,support:{tier:u?.tier==="full"||u?.tier==="entry_only"||u?.tier==="read_only"?u.tier:"entry_only",notes:_e(u?.notes)},warnings:Array.isArray(a.warnings)?a.warnings.filter(p=>typeof p=="string"):[]}}const Nl=new Map;function jl(e,t){return`${e.trim().toLowerCase()}::${t.trim().toLowerCase()}`}function km(e,t){const a=e.trim();if(a)for(const o of t){const n=o.id?.trim(),i=o.label?.trim();!n||!i||Nl.set(jl(a,n),i)}}function hs(e,t){return!e.trim()||!t.trim()?null:Nl.get(jl(e,t))??null}const on=new Map;function wm(e){const t=e.trim().toLowerCase();if(t.endsWith("-cli")){const o=t.slice(0,-4);if(dm(o))return{provider:o,backendSuffix:"-CLI"}}return{provider:At(t)??e.trim(),backendSuffix:null}}function br(e){return e.replace(/\s*\((?:default|recommended)\)\s*/giu," ").trim()}function ms(e){const t=e?.toLowerCase();return t==="cli"?"-CLI":t==="agent"?"-AGENT":t==="api"?"-API":t==="local"?"-LOCAL":""}function fm(e,t){if(!t)return"";const a=t.toLowerCase();if(a.startsWith("cli/")||a==="cli")return"-CLI";if(a.startsWith("agent/")||a==="agent")return"-AGENT";if(a.startsWith("api/")||a==="api")return"-API";if(a.startsWith("local/")||a==="local")return"-LOCAL";if(a==="default")return ms(pm(e));const o=rn(e).find(s=>s.id===t),n=ms(o?.backend);if(n)return n;const i=o?.target?.toLowerCase();return i?.startsWith("cli/")?"-CLI":i?.startsWith("agent/")?"-AGENT":i?.startsWith("api/")?"-API":i?.startsWith("local/")?"-LOCAL":""}function bm(e,t){if(!t)return null;const a=an(e,t)??t,n=hs(e,t)??hs(e,a)??xl(e).find(s=>s.value===a)?.label,i=e==="claude"&&(a==="opus"||a==="sonnet"||a==="haiku")?a.charAt(0).toUpperCase()+a.slice(1):a;return br(n??i)}function ym(e){const t=e?.trim();return t?br(t):null}function Ml(e){const t=e?.trim();return t?br(t):null}function vm(e){return JSON.stringify([typeof e,e])}function Cm(e){if(!e)return"";const t=Object.entries(e).filter(([,a])=>a!==""&&a!==!1).sort(([a],[o])=>a.localeCompare(o)).map(([a,o])=>[a,vm(o)]);return t.length>0?JSON.stringify(t):""}function El(e){const t=At(e.provider)??e.provider.trim().toLowerCase(),a=(e.instance?.trim()||Tl(e.provider)||"").toLowerCase(),o=(an(e.provider,e.model)??e.model?.trim()??"").toLowerCase();return JSON.stringify([t,a,o,Cm(e.controls)])}function Sm(){on.clear()}function Lm(e){return Bl(e)}function Il(e){const t=Ml(e.executionLabel);return t?(on.set(El({provider:e.provider,instance:e.instance,model:e.model,controls:e.modelSelection?.controls??null}),t),t):null}function Bl(e){return on.get(El({provider:e.provider,instance:e.instance,model:e.model,controls:e.modelSelection?.controls??null}))??null}const Pm={max:"Max",xhigh:"xHigh",high:"High",medium:"Medium",low:"Low",none:"None"};function Rm(e){return typeof e=="boolean"?e?"On":"Off":typeof e=="number"?String(e):Pm[e]??e.replace(/[_-]/g," ").replace(/\b\w/g,t=>t.toUpperCase())}function Fl(e,t){if(!e)return[];const a=new Map((t??[]).map(o=>[o.key,o]));return Object.entries(e).filter(([,o])=>o!==""&&o!==!1).map(([o,n])=>{const s=a.get(o)?.values?.find(c=>c.value===n);return br(s?.label??Rm(n))}).filter(o=>o.length>0)}function nn(e,t,a,o,n,i){const s=wm(e),c=o?.trim()||um(s.provider),h=t?.trim()||Tl(s.provider),u=s.backendSuffix??fm(s.provider,h),g=ym(i)??bm(s.provider,a),p=n&&n.length>0?` · ${n.join(" · ")}`:"";return c+u+(g?` · ${g}`:"")+p}function yr(e){const t=Il({provider:e.provider,instance:e.instance,model:e.model,modelSelection:e.modelSelection??null,executionLabel:e.executionLabel??null});if(t)return t;const a=Bl({provider:e.provider,instance:e.instance,model:e.model,modelSelection:e.modelSelection??null});if(a)return a;const o=e.controlLabels??Fl(e.modelSelection?.controls,e.catalogControls);return nn(e.provider,e.instance,e.model,e.providerLabel,o,e.modelLabelOverride)}function xm(e){const t=e.defaultExecutionTarget;return yr({provider:t.provider,instance:t.instance??null,model:t.model??null,modelSelection:e.defaultModelSelection??null,executionLabel:e.executionLabel??null})}function FS(e){const t=e.execution?.target;return t?.provider?yr({provider:t.provider,instance:t.instance??null,model:t.model??null,modelSelection:e.execution?.modelSelection??null,executionLabel:e.executionLabel??null}):Ml(e.executionLabel)}function Ol(e,t){return t?`${e} · ${t}`:e}const Am="Catlas",Tm=[];function gs(e){return e.trim().toLowerCase()}function Dm(e){return Array.isArray(e)?e.map(t=>gs(t)).filter(t=>t.length>0):typeof e!="string"?[]:e.split(",").map(t=>gs(t.split(";",1)[0]??"")).filter(t=>t.length>0)}function Nm(){const e=typeof globalThis=="object"&&globalThis!==null&&"navigator"in globalThis?globalThis.navigator:void 0;return e?Array.isArray(e.languages)&&e.languages.length>0?e.languages:typeof e.language=="string"?e.language:null:null}function jm(e){const t=Dm(e);for(const a of t){const o=Tm.find(n=>n.prefixes.some(i=>a===i||a.startsWith(`${i}-`)));if(o)return o.name}return Am}function vt(){return jm(Nm())}function Ra(e){return e==null||e==="active"}const Za=new URL("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20120%20120'%20width='100%25'%20height='100%25'%3e%3cdefs%3e%3cclipPath%20id='circle-clip'%3e%3ccircle%20cx='60'%20cy='60'%20r='60'%20/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20clip-path='url(%23circle-clip)'%3e%3c!--%20Background%20--%3e%3crect%20width='120'%20height='120'%20fill='%238B7E74'%20/%3e%3c!--%20Ears%20--%3e%3cpolygon%20points='25,25%2045,50%2025,60'%20fill='%23F2994A'%20/%3e%3cpolygon%20points='95,25%2075,50%2095,60'%20fill='%23F2994A'%20/%3e%3cpolygon%20points='28,32%2040,50%2030,55'%20fill='%23FDE1D3'%20/%3e%3cpolygon%20points='92,32%2080,50%2090,55'%20fill='%23FDE1D3'%20/%3e%3c!--%20Head%20--%3e%3cellipse%20cx='60'%20cy='65'%20rx='45'%20ry='35'%20fill='%23F2994A'%20/%3e%3c!--%20Face%20marking%20(white%20area)%20--%3e%3cpath%20d='M%2060,65%20Q%2020,65%2025,85%20Q%2060,110%2095,85%20Q%20100,65%2060,65%20Z'%20fill='%23FFFFFF'%20/%3e%3c!--%20Eyes%20--%3e%3ccircle%20cx='42'%20cy='60'%20r='6'%20fill='%23333333'%20/%3e%3ccircle%20cx='78'%20cy='60'%20r='6'%20fill='%23333333'%20/%3e%3c!--%20Catchlights%20--%3e%3ccircle%20cx='44'%20cy='58'%20r='2'%20fill='%23FFFFFF'%20/%3e%3ccircle%20cx='80'%20cy='58'%20r='2'%20fill='%23FFFFFF'%20/%3e%3c!--%20Nose%20--%3e%3cpolygon%20points='56,72%2064,72%2060,77'%20fill='%23EB5757'%20/%3e%3c!--%20Mouth%20--%3e%3cpath%20d='M%2052,80%20Q%2060,85%2068,80'%20fill='none'%20stroke='%23333333'%20stroke-width='2'%20stroke-linecap='round'%20/%3e%3c!--%20Whiskers%20--%3e%3cline%20x1='15'%20y1='65'%20x2='30'%20y2='68'%20stroke='%23333333'%20stroke-width='1.5'%20stroke-linecap='round'%20opacity='0.5'%20/%3e%3cline%20x1='12'%20y1='72'%20x2='28'%20y2='72'%20stroke='%23333333'%20stroke-width='1.5'%20stroke-linecap='round'%20opacity='0.5'%20/%3e%3cline%20x1='105'%20y1='65'%20x2='90'%20y2='68'%20stroke='%23333333'%20stroke-width='1.5'%20stroke-linecap='round'%20opacity='0.5'%20/%3e%3cline%20x1='108'%20y1='72'%20x2='92'%20y2='72'%20stroke='%23333333'%20stroke-width='1.5'%20stroke-linecap='round'%20opacity='0.5'%20/%3e%3c!--%20Guide%20Scarf/Bandana%20--%3e%3cpath%20d='M%2020,85%20Q%2060,105%20100,85%20L%20110,120%20L%2010,120%20Z'%20fill='%232D9CDB'%20/%3e%3cpath%20d='M%2060,100%20L%2075,120%20L%2045,120%20Z'%20fill='%232285C2'%20/%3e%3ccircle%20cx='60'%20cy='95'%20r='7'%20fill='%23F2C94C'%20/%3e%3c/g%3e%3c/svg%3e",import.meta.url).href,ks=14,Mm=36,Em=20,Im=20;function Bm(e,t="floating"){const a=wl(e,t);return a==="workspace"?"product":a}function ws({name:e,tooltip:t,unreadCount:a,onClick:o,onDismissClick:n,onPointerDown:i,style:s,className:c,dragging:h}){const{t:u}=_(),g=vt();return r.jsxs("div",{className:c??"guideCatPillWrap","data-dragging":h?"true":"false",style:s,children:[r.jsxs("button",{type:"button",className:"guideCatPill",onPointerDown:i,onClick:o,"aria-label":u(l.sharedGuideCatPillOpenLabel,{guideCatName:g}),"data-tooltip":t,"data-tooltip-delay":"1000",children:[r.jsx(Wl,{className:"guideCatPillAvatar"}),a>0?r.jsx("span",{className:"guideCatPillBadge",children:a}):null]}),n&&!h?r.jsx("button",{type:"button",className:"guideCatPillDismiss",onClick:p=>{p.stopPropagation(),n()},"aria-label":u(l.sharedGuideCatPillDisableLabel),children:"✕"}):null]})}function Fm({ownerDisplayName:e,onAction:t,onDismiss:a,style:o,anchor:n="anchor-left"}){const{t:i}=_();return r.jsxs("div",{className:`guideCatPeek guideCatPeek--${n}`,style:o,children:[r.jsx("p",{className:"guideCatPeekGreeting",children:i(l.sharedGuideCatWelcomeGreeting,{ownerDisplayName:e})}),r.jsxs("div",{className:"guideCatPeekActions",children:[r.jsx(Yt,{route:"/chat/new",onAction:t,labelKey:l.sharedGuideCatWelcomeStartChat}),r.jsx(Yt,{route:"/settings/cats",onAction:t,labelKey:l.sharedGuideCatWelcomeMeetCats}),r.jsx(Yt,{route:"/lobby",onAction:t,labelKey:l.sharedGuideCatWelcomeExploreProducts})]}),a?r.jsx("button",{type:"button",className:"guideCatPeekDismiss",onClick:a,children:i(l.sharedGuideCatWelcomeHideNow)}):null]})}function Yt({route:e,onAction:t,labelKey:a,className:o="guideCatPeekAction"}){const{t:n}=_();return r.jsx("button",{type:"button",className:o,onClick:()=>t(e),children:n(a)})}function Om({name:e,tooltip:t,ownerDisplayName:a,onAction:o,onClose:n,style:i,surfaceMode:s}){const{t:c}=_(),h=vt();return r.jsxs("div",{className:s==="lobby"?"guideCatPanel guideCatPanel--lobby":"guideCatPanel guideCatPanel--product",style:i,children:[r.jsxs("div",{className:"guideCatPanelHeader","data-tooltip":t,"data-tooltip-delay":"1000",children:[r.jsx(Wl,{className:"guideCatPanelAvatar"}),r.jsx("span",{className:"guideCatPanelName",children:h}),r.jsx("button",{type:"button",className:"guideCatPanelClose",onClick:n,"aria-label":c(l.sharedCommonClose),children:"✕"})]}),r.jsxs("div",{className:"guideCatPanelBody",children:[r.jsx("p",{className:"guideCatPanelGreeting",children:c(l.sharedGuideCatPanelGreeting,{ownerDisplayName:a,guideCatName:h})}),r.jsxs("div",{className:"guideCatPanelActions",children:[r.jsx(Yt,{route:"/chat/new",onAction:o,labelKey:l.sharedGuideCatWelcomeStartChat,className:"guideCatPanelAction"}),r.jsx(Yt,{route:"/settings/cats",onAction:o,labelKey:l.sharedGuideCatWelcomeMeetCats,className:"guideCatPanelAction"}),r.jsx(Yt,{route:"/lobby",onAction:o,labelKey:l.sharedGuideCatWelcomeExploreProducts,className:"guideCatPanelAction"})]})]})]})}function Wl({className:e}){return r.jsx("img",{className:e,src:Za,alt:"","aria-hidden":"true"})}function Wm({viewState:e,guideCat:t,ownerDisplayName:a,unreadCount:o,onToggle:n,onAction:i,onCollapse:s,onDismissWelcome:c,onDismissClick:h,onPillPointerDown:u,dragging:g,pillStyle:p,peekStyle:f,panelStyle:w,surfaceMode:k,dialog:y,onDialogClose:m,rootRef:C,pillHostedExternally:v,peekAnchor:b="anchor-left"}){if(e==="hidden"||v&&e==="collapsed")return null;const S=Um(t);let T;return e==="collapsed"?T=r.jsx(ws,{name:t.name,tooltip:S,unreadCount:o,onClick:n,onDismissClick:h,onPointerDown:u,style:p,dragging:g}):e==="welcome-peek"?T=r.jsxs("div",{ref:C,children:[v?null:r.jsx(ws,{name:t.name,tooltip:S,unreadCount:0,onClick:n,onDismissClick:h,onPointerDown:u,style:p,dragging:g}),r.jsx(Fm,{ownerDisplayName:a,onAction:i,onDismiss:c,style:f,anchor:b})]}):T=r.jsx("div",{ref:C,children:r.jsx(Om,{name:t.name,tooltip:S,ownerDisplayName:a,onAction:i,onClose:s,style:w,surfaceMode:k})}),r.jsxs(r.Fragment,{children:[T,r.jsx(_t,{dialog:y,onClose:m})]})}function Um(e){const t=vt(),a=yr({provider:e.executionTarget.provider,instance:e.executionTarget.instance,model:e.executionTarget.model,modelSelection:e.modelSelection??null});return Ol(t,a)}function Hm({viewState:e,guideCat:t,ownerDisplayName:a,unreadCount:o,proactive:n,toggle:i,collapse:s,dismissWelcome:c,onDismissed:h,onPillPointerDown:u,consumePillClickSuppression:g,pillStyle:p,peekStyle:f,panelStyle:w,surfaceMode:k,dragActive:y,pillHostedExternally:m,peekAnchor:C}){const v=Ue(),b=d.useRef(null),S=tn(),{dialog:T,choose:M,handleClose:j}=Gt(),R=vt(),{t:P}=_(),A=d.useCallback(O=>{s(),v(O)},[s,v]),x=d.useCallback(async()=>{const O=await M({title:P(l.sharedGuideCatDialogDisableTitle,{guideCatName:R}),message:P(l.sharedGuideCatDialogDisableMessage,{guideCatName:R}),confirmLabel:P(l.sharedGuideCatDialogDisableConfirm),cancelLabel:P(l.sharedGuideCatDialogKeepEnabled),auxiliaryLabel:P(l.sharedGuideCatDialogDockNow),defaultAction:"auxiliary"});if(O==="auxiliary"){S.update({placement:"docked"}),s();return}if(O==="confirm")try{(await fetch("/api/platform/guide-cat",{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({status:"dismissed"})})).ok&&h()}catch{}},[M,s,R,S,h]);d.useEffect(()=>{if(e!=="open"&&e!=="welcome-peek"||e==="welcome-peek"&&n||y)return;function O(K){if(Gh(K))return;const ee=K.target;ee?.closest?.(".guideCatDockSlot")||ee?.closest?.(".guideCatPillWrap")||b.current&&!b.current.contains(K.target)&&s()}function $(K){K.key==="Escape"&&s()}return document.addEventListener("mousedown",O),document.addEventListener("keydown",$),()=>{document.removeEventListener("mousedown",O),document.removeEventListener("keydown",$)}},[e,s,n,y]);const E=d.useCallback(()=>{g()||i()},[g,i]);return r.jsx(Wm,{viewState:e,guideCat:t,ownerDisplayName:a,unreadCount:o,onToggle:E,onAction:A,onCollapse:s,onDismissWelcome:n?c:void 0,onDismissClick:x,onPillPointerDown:u,dragging:y,pillStyle:p,peekStyle:f,panelStyle:w,surfaceMode:k,dialog:T,onDialogClose:j,rootRef:b,pillHostedExternally:m,peekAnchor:C})}function Gm({guideCat:e,ownerDisplayName:t,unreadCount:a,onDismissed:o}){const n=Ne(),{projection:i,presentation:s,onFloatingPointerDown:c,consumePillClickSuppression:h,dragActive:u,panelOriginX:g,getDockSlotRect:p}=Zo();if(i.kind==="hidden")return null;const f=i.kind==="docked";if(f&&s.viewState==="collapsed")return null;const w=i.kind==="floating"?i:null,k=w?{left:`${w.x-ks}px`,top:`${w.y-ks}px`,transform:"none"}:{},y=!w&&i.kind==="docked"?_m(i.slot,p(i.slot)):null,m=w?{left:`${w.x+Mm}px`,top:`${w.y}px`,transform:"translateY(-50%)"}:y?.style??{},C=y?.anchor??"anchor-left",v={left:`${g}px`},b=Bm(n.pathname,i.kind==="docked"?"docked":"floating");return Vt.createPortal(r.jsx(Hm,{viewState:s.viewState,guideCat:e,ownerDisplayName:t,unreadCount:a,proactive:s.proactive,toggle:s.toggle,collapse:s.collapse,dismissWelcome:s.dismissWelcome,onDismissed:o,onPillPointerDown:f?void 0:c,consumePillClickSuppression:h,pillStyle:k,peekStyle:m,panelStyle:v,surfaceMode:b,dragActive:u,pillHostedExternally:f,peekAnchor:C}),document.body)}function _m(e,t){return t?e==="workspace"?{style:{left:`${t.right+Em}px`,top:`${t.bottom}px`,transform:"translateY(-100%)"},anchor:"anchor-bottom-left"}:{style:{left:`${(t.left+t.right)/2}px`,top:`${t.bottom+Im}px`,transform:"translateX(-50%)"},anchor:"anchor-top"}:null}const Km="default-src 'none'; script-src 'unsafe-inline'; style-src 'unsafe-inline'; img-src data:; connect-src 'none'; font-src 'none'; frame-src 'none'; worker-src 'none'; object-src 'none'; base-uri 'none'; form-action 'none'",qm=15e3;function zm(e=crypto){return Array.from(e.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("")}function $m(e,t,a){if(!/<head\s*>/i.test(e))throw new Error("The app renderer has no head element.");const o=JSON.stringify(a).replace(/</g,"\\u003c");return`<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="Content-Security-Policy" content="${Km}"><script>globalThis.__CATS_APP_BOOT__=${o};
39
39
  ${t}
40
40
  <\/script></head><body>${e}</body></html>`}function Vm({appId:e,version:t,title:a,locale:o,onLobby:n}){const i=d.useMemo(()=>$e(Yo(o)??"en"),[o]),s=d.useRef(null),c=d.useRef(n);c.current=n;const[h,u]=d.useState(null),[g,p]=d.useState(null),[f,w]=d.useState(0),k=d.useRef(0),y=d.useRef(()=>{});return d.useEffect(()=>{const m=new AbortController;let C,v=null,b=!1,S=!1;const T=new Map;k.current=0,u(null),p(null);let M;const j=()=>{b=!0,clearTimeout(M),m.abort(),v?.close()},R=A=>{b||(p(A),j())};y.current=j;const P=A=>{if(b||v||A.source!==s.current?.contentWindow||A.origin!=="null"||A.data?.type!=="cats.app.ready"||A.data.nonce!==C)return;const x=new MessageChannel;v=x.port1,v.onmessage=async({data:E})=>{if(b||!Number.isSafeInteger(E?.id)||E.id<1)return;const O=(K,ee,F)=>{b||v?.postMessage({id:E.id,ok:K,value:ee,error:F})};if(E.method==="navigation.lobby"){O(!0),c.current();return}const $=E.method==="usage.refreshQuota";if(E.method!=="usage.snapshot"&&!$){O(!1,void 0,"Unsupported app capability.");return}if($&&(!["codex","copilot","claude","antigravity"].includes(E.params?.provider)||typeof E.params?.instance!="string"||!E.params.instance||E.params.instance.length>100)){O(!1,void 0,"Invalid quota target.");return}if(S||Date.now()-(T.get(E.method)??0)<1e3){O(!1,void 0,"Usage refresh is rate limited.");return}S=!0,T.set(E.method,Date.now());try{const K=await fetch(`/api/apps/${encodeURIComponent(e)}/usage${$?"/refresh":""}?version=${encodeURIComponent(t)}`,{signal:m.signal,cache:"no-store",...$?{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:E.params.provider,instance:E.params.instance})}:{}});if(!K.ok){if([401,403,409].includes(K.status)){O(!1,void 0,"App access was revoked."),p("appHostRendererAccessChanged"),j();return}throw new Error("Runtime usage is unavailable.")}O(!0,await K.json())}catch{O(!1,void 0,"Runtime usage is unavailable.")}finally{S=!1}},v.start(),s.current?.contentWindow?.postMessage({type:"cats.app.connect",nonce:C},"*",[x.port2]),clearTimeout(M)};return window.addEventListener("message",P),M=setTimeout(()=>R("appHostRendererTimedOut"),qm),(async()=>{try{C=zm();const A=await fetch(`/api/apps/${encodeURIComponent(e)}/renderer?version=${encodeURIComponent(t)}`,{signal:m.signal,cache:"no-store"});if([401,403,409].includes(A.status)){R("appHostRendererAccessChanged");return}if(!A.ok)throw new Error("This app has no available, verified renderer.");const x=await A.json();if(b)return;if(x.version!==t){R("appHostRendererAccessChanged");return}b||u($m(x.html,x.sdk,{nonce:C,appId:e,version:t,locale:o,theme:document.documentElement.dataset.theme??(matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")}))}catch{R("appHostRendererUnavailable")}})(),()=>{j(),window.removeEventListener("message",P)}},[e,t,o,f]),g?r.jsxs("div",{children:[r.jsx("p",{role:"alert",children:i(g)}),r.jsx("button",{type:"button",className:"secondaryButton",onClick:()=>w(m=>m+1),children:i("appHostRendererRetry")})]}):h?r.jsx("iframe",{ref:s,title:a,sandbox:"allow-scripts",referrerPolicy:"no-referrer",srcDoc:h,style:{width:"100%",height:"calc(100dvh - 160px)",minHeight:520,border:0,borderRadius:16},onLoad:()=>{++k.current>1&&(y.current(),p("appHostRendererNavigatedAway"))}},`${e}:${t}:${o}:${f}`):r.jsx("p",{role:"status",children:i("appLoadingWithSurface",{surface:a})})}function Ym(e,t){return e===t||e.startsWith(`${t}/`)}function Qm({envelope:e}){const{t,locale:a}=_(),o=Ue(),n=Ne(),{appId:i=""}=ur(),s=e.installedApps.find(p=>p.id===i),c=s?.lobbyEntries.find(p=>Ym(n.pathname,p.routePath))??s?.lobbyEntries[0]??null;if(!s)return r.jsx("div",{className:"screen screenCentered appHostScreen",children:r.jsxs("section",{className:"appHostPanel",children:[r.jsx("p",{className:"eyebrow",children:t("appHostLabel")}),r.jsx("h1",{children:t("appHostNotInstalledTitle")}),r.jsx("button",{type:"button",className:"secondaryButton appHostBackButton",onClick:()=>o("/lobby"),children:t("appHostBackToLobby")})]})});const h=s.enabled&&s.installState==="enabled",u=c?.title??s.displayName,g=c?.subtitle??t(h?"appHostSubtitleRendererPending":"appHostSubtitleDisabled");return r.jsx("div",{className:"screen screenCentered appHostScreen",children:r.jsxs("section",{className:"appHostPanel",style:h?{width:"100%",maxWidth:1440}:void 0,children:[r.jsxs("div",{className:"appHostHeader",children:[r.jsxs("div",{children:[r.jsx("p",{className:"eyebrow",children:t("appHostLabel")}),r.jsx("h1",{children:u})]}),r.jsx("button",{type:"button",className:"secondaryButton appHostBackButton",onClick:()=>o("/lobby"),children:t("appHostBackToLobby")})]}),h?r.jsx(Vm,{appId:s.id,version:s.version,title:u,locale:a,onLobby:()=>o("/lobby")}):r.jsx("p",{className:"appHostSubtext",children:g}),r.jsxs("dl",{className:"appHostMeta",children:[r.jsxs("div",{children:[r.jsx("dt",{children:t("appHostSectionPackage")}),r.jsx("dd",{children:s.id})]}),r.jsxs("div",{children:[r.jsx("dt",{children:t("appHostSectionStatus")}),r.jsx("dd",{children:s.installState})]}),r.jsxs("div",{children:[r.jsx("dt",{children:t("appHostSectionPublisher")}),r.jsx("dd",{children:s.publisher})]})]})]})})}function Jm(e){return e.roomMode==="direct_message"?"direct_message":"chat_channel"}function sn(e){const t=Jm({roomMode:e.roomMode,participants:e.participants});return e.channelKind==="direct_message"||t==="direct_message"?"direct_message":"chat_channel"}function Xm(e){return e.assignedCats&&e.assignedCats.length>0?e.assignedCats:e.catAssignments??[]}function Zm(e){return sn({channelKind:e.channelKind,roomMode:e.roomRouting?.mode==="direct_message"?"direct_message":"chat_channel",participants:Xm(e)})}function eg(e){return Zm(e)==="direct_message"}function fs(e){return sn({channelKind:e.channelKind,roomMode:e.roomMode==="direct_message"?"direct_message":"chat_channel",participants:[]})==="direct_message"}const tg=["chat","code","work"];function Ul(){return{chat:!1,code:!1,work:!1}}function ag(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function vr(e){const t=Ul(),a=ag(e);return a?tg.reduce((o,n)=>({...o,[n]:a[n]===!0}),t):t}function ln(e,t){return vr(e)[t]===!0}const rg=["inline_stack","compare_cards","focus_rail","adaptive"],Hl=["chat","work","code"];function er(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function Ya(){return{showVerboseMessages:!1,showLiveProgressDetails:!1,concurrentPresentationMode:"inline_stack"}}function og(){return{chat:Ya(),work:Ya(),code:Ya()}}function Gl(e){return typeof e=="string"&&rg.includes(e)?e:"inline_stack"}function ng(e){const t=Ya(),a=er(e);return{showVerboseMessages:a?.showVerboseMessages===!0,showLiveProgressDetails:a?.showLiveProgressDetails===!0,concurrentPresentationMode:Gl(a?.concurrentPresentationMode??t.concurrentPresentationMode)}}function cn(e){const t=og(),a=er(e);return Hl.reduce((o,n)=>(o[n]=ng(a?.[n]),o),t)}function sg(e,t){const a=cn(e),o=er(t);if(!o)return a;for(const n of Hl){const i=er(o[n]);i&&(typeof i.showVerboseMessages=="boolean"&&(a[n].showVerboseMessages=i.showVerboseMessages),typeof i.showLiveProgressDetails=="boolean"&&(a[n].showLiveProgressDetails=i.showLiveProgressDetails),i.concurrentPresentationMode!==void 0&&(a[n].concurrentPresentationMode=Gl(i.concurrentPresentationMode)))}return a}function ig(e,t){return cn(e)[t]}const lg=["chat","work","code"];function Rt(e){if(typeof e!="string")return null;const t=e.trim();return t||null}function cg(e){return typeof e=="string"&&lg.includes(e)}function _l(){return{bySurface:{},chatDirectLaneByCatId:{}}}function Kl(e){const t=_l();if(typeof e!="object"||e===null)return t;const a=e,o=typeof a.bySurface=="object"&&a.bySurface!==null?a.bySurface:{},n=typeof a.chatDirectLaneByCatId=="object"&&a.chatDirectLaneByCatId!==null?a.chatDirectLaneByCatId:{},i={};for(const[c,h]of Object.entries(o)){const u=cg(c)?c:null,g=Rt(typeof h=="string"?h:null);u&&g&&(i[u]=g)}const s={};for(const[c,h]of Object.entries(n)){const u=Rt(c),g=Rt(typeof h=="string"?h:null);u&&g&&(s[u]=g)}return{bySurface:i,chatDirectLaneByCatId:s}}function OS(e,t){const a=Kl(e),o=Rt(t.directLaneCatId);return t.surface==="chat"&&o?a.chatDirectLaneByCatId[o]??null:a.bySurface[t.surface]??null}function WS(e,t,a){const o=Kl(e),n=Rt(a),i=Rt(t.directLaneCatId);if(t.surface==="chat"&&i){const c={...o.chatDirectLaneByCatId};return n?c[i]=n:delete c[i],{bySurface:{...o.bySurface},chatDirectLaneByCatId:c}}const s={...o.bySurface};return n?s[t.surface]=n:delete s[t.surface],{bySurface:s,chatDirectLaneByCatId:{...o.chatDirectLaneByCatId}}}async function US(e){const t=Rt(e.requestedPath),a=Rt(e.rememberedPath),o=t??a,n=await e.browse(o??void 0);return!n.error||!a||t?n:e.browse(void 0)}function Le(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function fe(e,t=""){return typeof e=="string"?e:t}function ge(e){return typeof e=="string"&&e.trim().length>0?e:null}function Ur(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function Hr(e,t){return typeof e=="boolean"?e:t}function dg(e,t){return typeof e=="number"&&Number.isFinite(e)?e:t}function ug(e){const t=Le(e.desktop)??{};e.desktop=t;const a=Le(t.mobilePairing)??{};t.mobilePairing={enabled:Hr(a.enabled,!1),bindHost:fe(a.bindHost,"127.0.0.1"),bindPort:dg(a.bindPort,0),bindReachability:a.bindReachability==="lan"||a.bindReachability==="all_interfaces"||a.bindReachability==="other_interface"?a.bindReachability:"loopback",canReachFromLan:Hr(a.canReachFromLan,!1),selectedLanIp:ge(a.selectedLanIp),selectedLanUrl:ge(a.selectedLanUrl),diagnosticManifestUrl:ge(a.diagnosticManifestUrl),noLanCandidateReason:a.noLanCandidateReason==="loopback_bound"||a.noLanCandidateReason==="no_lan_candidate"||a.noLanCandidateReason==="bind_host_not_lan_candidate"?a.noLanCandidateReason:Hr(a.enabled,!1)?null:"feature_disabled",bindOverrideEnv:ge(a.bindOverrideEnv),pairingUrlStatus:a.pairingUrlStatus==="ready"?"ready":"phase1_pending",pairingUrl:ge(a.pairingUrl)}}function bs(e,t){const a=Array.isArray(e.catAssignments)?e.catAssignments:[],o=Array.isArray(e.assignedCats)?e.assignedCats:[],n=(a.length>0?a:o).map(i=>{const s=Le(i)??{};return{catId:fe(s.catId),status:fe(s.status,"active")==="removed"?"removed":"active"}});e.channelKind=sn({channelKind:e.channelKind==="chat_channel"||e.channelKind==="direct_message"||e.channelKind==="chat_channel"?e.channelKind:null,roomMode:t,participants:n})}function ql(e){const t=structuredClone(e);ug(t);const a=Le(t.chat)??{};t.chat=a;const o=Le(a.globalOrchestrator);o&&!Le(o.executionTarget)&&(o.executionTarget={provider:fe(o.provider,"claude"),instance:ge(o.instance),model:ge(o.model)});const n=Le(o?.executionTarget);n&&n.instance===void 0&&(n.instance=ge(o?.instance)),o&&!Le(o.memory)&&(o.memory={summary:null,facts:[],openLoops:[],updatedAt:null});const i=Le(a.selectedChannel);if(i&&!Le(i.orchestratorLease)){const h=Le(o?.executionTarget);i.orchestratorLease={sessionId:null,status:"not_started",cwd:null,lastError:null,provider:ge(h?.provider)??"claude",instance:ge(h?.instance),model:ge(h?.model),startedAt:null,lastUsedAt:null}}Array.isArray(a.cats)||(a.cats=[]);const s=a.cats.map(h=>{const u=Le(h)??{};Le(u.defaultExecutionTarget)||(u.defaultExecutionTarget={provider:fe(u.provider,"claude"),instance:ge(u.instance),model:ge(u.model)});const g=Le(u.defaultExecutionTarget);return g&&g.instance===void 0&&(g.instance=ge(u.instance)),Le(u.memory)||(u.memory={summary:null,facts:[],openLoops:[],updatedAt:null}),Array.isArray(u.roles)||(u.roles=Ur(u.roles)),u}),c=new Map(s.map(h=>[fe(h.id),h]));if(i){const h=Le(i.roomRouting);bs(i,fe(h?.mode,"chat_channel")==="direct_message"?"direct_message":"chat_channel"),Array.isArray(i.catAssignments)||(i.catAssignments=[]);const u=Array.isArray(i.catAssignments)?i.catAssignments:[];Array.isArray(i.participantAssignments)||(i.participantAssignments=u.map(p=>{const f=Le(p)??{},w=c.get(fe(f.catId))??{};return{participantId:fe(f.participantId,fe(f.catId)),sourceKind:fe(f.sourceKind,"cat")==="cat"?"cat":"adhoc",sourceRefId:ge(f.sourceRefId)??ge(f.catId),name:fe(f.name,fe(w.name,"Participant")),status:fe(f.status,"active"),roles:Array.isArray(f.roles)?f.roles:[],roleHint:ge(f.roleHint),joinedAt:fe(f.joinedAt),leftAt:ge(f.leftAt),execution:f.execution}})),(u.length>0||!Array.isArray(i.assignedCats))&&(i.assignedCats=u.map(p=>{const f=Le(p)??{},w=c.get(fe(f.catId))??{};return{participantId:fe(f.participantId,fe(f.catId)),sourceKind:"cat",sourceRefId:fe(f.sourceRefId,fe(f.catId)),catId:fe(f.catId),name:fe(w.name,"Cat"),roles:Array.isArray(f.roles)?f.roles:Ur(w.roles),roleHint:ge(f.roleHint),skillProfile:ge(w.skillProfile),mcpProfile:ge(w.mcpProfile),status:fe(f.status,"active"),joinedAt:fe(f.joinedAt),leftAt:ge(f.leftAt),avatarColor:ge(w.avatarColor),avatarUrl:ge(w.avatarUrl),execution:f.execution,memory:Le(w.memory)??{summary:null,facts:[],openLoops:[],updatedAt:null}}}));const g=Array.isArray(i.participantAssignments)?i.participantAssignments:[];(g.length>0||!Array.isArray(i.assignedParticipants))&&(i.assignedParticipants=g.map(p=>{const f=Le(p)??{},w=ge(f.sourceRefId),k=w?c.get(w)??null:null;return{participantId:fe(f.participantId),sourceKind:fe(f.sourceKind,"adhoc")==="cat"?"cat":"adhoc",sourceRefId:w,name:fe(f.name,fe(k?.name,"Participant")),roles:Array.isArray(f.roles)?f.roles:Ur(k?.roles),roleHint:ge(f.roleHint),skillProfile:ge(k?.skillProfile),mcpProfile:ge(k?.mcpProfile),status:fe(f.status,"active"),joinedAt:fe(f.joinedAt),leftAt:ge(f.leftAt),avatarColor:ge(k?.avatarColor),avatarUrl:ge(k?.avatarUrl),execution:f.execution,memory:Le(k?.memory)??{summary:null,facts:[],openLoops:[],updatedAt:null}}}))}return a.cats=Array.from(c.values()),t.setupCompleteAt===void 0&&(t.setupCompleteAt=null),t.ownerDisplayName||(t.ownerDisplayName="Owner"),t.ownerAvatarColor===void 0&&(t.ownerAvatarColor=null),a.bossCatId===void 0&&(a.bossCatId=null),a.conversationBehavior=cn(a.conversationBehavior),Le(a.advancedDraftControls)||(a.advancedDraftControls=Ul()),Le(a.folderBrowsePreferences)||(a.folderBrowsePreferences=_l()),Le(a.newChatDefaults)||(a.newChatDefaults={provider:fe(n?.provider,"claude"),instance:ge(n?.instance),model:ge(n?.model),modelSelection:null}),Array.isArray(a.channels)&&(a.channels=a.channels.map(h=>{const u=Le(h)??{};return bs(u,fe(u.roomMode,"chat_channel")==="direct_message"?"direct_message":"chat_channel"),u.catCount===void 0&&(u.catCount=0),u.activeCatCount===void 0&&(u.activeCatCount=0),u})),Array.isArray(a.parallelChatGroups)||(a.parallelChatGroups=[]),t}async function dn(e,t){try{const a=await e.json();return typeof a.error=="string"?a.error||t:a.error&&typeof a.error=="object"&&typeof a.error.message=="string"&&a.error.message||t}catch{return t}}async function ye(e,t){if(!e.ok)throw new Error(await dn(e,t));return await e.json()}function zl(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function xt(e){if(!e)return;const t=Object.entries(e).filter(([,a])=>zl(a));if(t.length!==0)return Object.fromEntries(t)}function pg(e,t,a){if(!e||!a)return xt(a);const o=e.controls.filter(s=>!s.applicableEntryIds||s.applicableEntryIds.length===0||s.applicableEntryIds.includes(t)),n=new Map(o.map(s=>[s.key,s])),i=Object.entries(a).filter(([s,c])=>{const h=n.get(s);return!h||!zl(c)?!1:h.kind!=="enum"||typeof c!="string"||!h.values?.length?!0:h.values.some(u=>u.value===c&&(!u.applicableEntryIds||u.applicableEntryIds.length===0||u.applicableEntryIds.includes(t)))});return i.length>0?Object.fromEntries(i):void 0}function wo(e){const t=an(e.provider,e.model)??"";return t?(e.provider==="claude"&&e.backend==="cli"&&e.catalog.models.some(a=>a.id==="opus"),t):null}function hg(e){const t=e.advancedCatalog?.backend??e.catalog.backend,a=wo({provider:e.target.provider,backend:t,catalog:e.catalog,model:e.target.model}),o=tr(e.target.modelSelection);if(o?.entryId){const n=wo({provider:e.target.provider,backend:t,catalog:e.catalog,model:o.entryId});n&&(o.entryId=n)}return{...e.target,...a?{model:a}:{},...o?{modelSelection:o}:{}}}function mg(e,t,a){return a?e.presets.some(o=>o.id===a&&(!o.applicableEntryIds||o.applicableEntryIds.length===0||o.applicableEntryIds.includes(t))):!1}function ys(e,t,a){return!e||!a||!mg(e,t,a)?null:e.presets.find(o=>o.id===a)??null}function tr(e){return e?{...e.entryId?{entryId:e.entryId}:{},entryMode:e.entryMode,...e.presetId?{presetId:e.presetId}:{},...xt(e.controls)?{controls:xt(e.controls)}:{}}:null}function gg(e){return e?{entryId:e.entryId,model:e.model,entryMode:e.entryMode,...e.presetId?{presetId:e.presetId}:{},...xt(e.controls)?{controls:xt(e.controls)}:{},...e.supportTier?{supportTier:e.supportTier}:{},warnings:[...e.warnings]}:null}function $l(e,t={}){const a=e?.trim();if(!a)return null;const o=xt(t.controls);return{entryId:a,entryMode:"explicit",...t.presetId?.trim()?{presetId:t.presetId.trim()}:{},...o?{controls:o}:{}}}function kg(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;const a=xt(e.controls),o=xt(t.controls);return e.entryMode===t.entryMode&&(e.entryId??null)===(t.entryId??null)&&(e.presetId??null)===(t.presetId??null)&&JSON.stringify(a??null)===JSON.stringify(o??null)}function Cr(e,t){const a=t.trim(),o=e.instances.filter(i=>jt(i)===a||i.id===a);if(a&&o.length===1)return jt(o[0]);const n=e.instances.find(i=>i.default)??e.instances.find(i=>(i.id===e.defaultInstance||jt(i)===e.defaultInstance)&&(!e.defaultBackend||i.backend===e.defaultBackend))??e.instances[0];return n?jt(n):""}function Vl(e){const t=wo({provider:e.catalog.provider,backend:e.catalog.backend,catalog:e.catalog,model:e.model})??"";return!t||e.modelSelection?!1:!e.catalog.models.some(a=>a.id===t)}function wg(e){const t=hg({target:e.target,catalog:e.catalog,advancedCatalog:e.advancedCatalog}),a=(e.catalog.instance??t.instance)||"",o=t.model?.trim()||"",n=e.catalog.models.some(b=>b.id===t.model),i=Vl({catalog:e.catalog,model:t.model,modelSelection:t.modelSelection}),s=e.preserveCurrentModel&&n?t.model:e.preserveCurrentModel&&i?o:Dl(e.catalog);if(i&&e.preserveCurrentModel)return{provider:t.provider,instance:a,model:o,modelSelection:null,modelResolution:null};const c=e.advancedCatalog??null,u=e.preserveCurrentSelection??e.preserveCurrentModel?tr(t.modelSelection):tr(c?.defaultSelection)??null,g=u?.entryId?.trim(),p=g&&e.catalog.models.some(b=>b.id===g)?g:s,f=ys(c,p,u?.presetId),w=f?.preferredEntryId?.trim(),k=u?.entryMode==="auto"&&w&&e.catalog.models.some(b=>b.id===w)?w:p,y=ys(c,k,f?.id),m=pg(c,k,u?.controls),C=u?{entryId:k,entryMode:u.entryMode,...y?{presetId:y.id}:{},...m?{controls:m}:{}}:$l(k,{presetId:void 0,controls:m}),v=c?.warnings.length?[...c.warnings]:[];return{provider:t.provider,instance:a,model:k,modelSelection:C,modelResolution:C?{entryId:k,model:k,entryMode:C.entryMode,...y?{presetId:y.id}:{},...m?{controls:m}:{},...c?{supportTier:c.support.tier}:{},warnings:v}:null}}const Yl=new Set;class Jt extends Error{}function Ql(e){Yl.add(e)}function un(){for(const e of Yl)e()}const fg=15e3,bg="provider_catalog.model.load_failed",yg="provider_catalog.model.incomplete_response",vg="provider_catalog.advanced.load_failed",Cg="provider_catalog.advanced.incomplete_response",ar={entries:new Map,inflight:new Map},rr={entries:new Map,inflight:new Map};function Sg(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function Ba(e){const t=e?.trim();return t||null}function pn(e,t){return`${e.trim()}\0${Ba(t)??""}`}function Jl(e){const t=new URLSearchParams,a=Ba(e.instance);a&&t.set("instance",a);const o=`/api/providers/${encodeURIComponent(e.provider)}/models${e.advanced?"/advanced":""}`,n=t.toString();return n?`${o}?${n}`:o}async function Xl(e,t){try{const a=await e.json();if(typeof a.error?.message=="string")return a.error.message}catch{}return t}async function Zl(e,t){const a=await e.json();if(!Sg(a)?.catalog)throw new Error(t);return a}async function ec(e){const t=Date.now();if(!e.force){const o=e.cache.entries.get(e.cacheKey);if(o&&o.freshUntilMs>t)return o.value;const n=e.cache.inflight.get(e.cacheKey);if(n)return n}const a=e.load().then(o=>{if(e.cache.inflight.get(e.cacheKey)!==a)throw new Error("Provider selection changed during catalog loading.");return e.accepted?.(o),e.cache.entries.set(e.cacheKey,{value:o,freshUntilMs:Date.now()+fg}),o}).catch(o=>{throw o instanceof Jt&&e.cache.inflight.get(e.cacheKey)===a&&un(),o}).finally(()=>{e.cache.inflight.get(e.cacheKey)===a&&e.cache.inflight.delete(e.cacheKey)});return e.cache.inflight.set(e.cacheKey,a),a}function hn(){ar.entries.clear(),ar.inflight.clear(),rr.entries.clear(),rr.inflight.clear()}Ql(hn);function tc(e,t,a){const o=t.trim();if(!o)return null;const n=pn(o,Ba(a));return e.entries.get(n)?.value??null}function Lg(e){return tc(ar,e.provider,e.instance)}function Pg(e){return tc(rr,e.provider,e.instance)}async function mn(e){const t=e.provider.trim(),a=Ba(e.instance),o=pn(t,a);return ec({cache:ar,cacheKey:o,force:e.force,accepted:n=>km(t,n.models),load:async()=>{const n=await(e.fetchImpl??fetch)(Jl({provider:t,instance:a}),{signal:AbortSignal.timeout(3e4)});if(!n.ok)throw n.status===401||n.status===403?new Jt("Provider session is unavailable."):new Error(await Xl(n,bg));return mm(await Zl(n,yg),t)}})}async function gn(e){const t=e.provider.trim(),a=Ba(e.instance),o=pn(t,a);return ec({cache:rr,cacheKey:o,force:e.force,load:async()=>{const n=await(e.fetchImpl??fetch)(Jl({provider:t,instance:a,advanced:!0}),{signal:AbortSignal.timeout(3e4)});if(!n.ok)throw n.status===401||n.status===403?new Jt("Provider session is unavailable."):new Error(await Xl(n,vg));return gm(await Zl(n,Cg),t)}})}function Rg(e){return Promise.allSettled([mn(e),gn(e)]).then(()=>{})}function xg(e,t={}){return Promise.allSettled(e.providers.map(a=>{const o=Cr(a,"")||null;return Rg({provider:a.id,instance:o,fetchImpl:t.fetchImpl})})).then(()=>{})}const fo="provider_registry.load_failed";function or(e){return(e.warnings??[]).some(t=>t.startsWith("Using cached provider targets ")||t.startsWith("Using cached model catalog ")||t.startsWith("Using last saved provider targets ")||t.startsWith("Using last saved model catalog "))}const Xe={value:null,inflight:null},nr=new Set;function Ag(e){return nr.add(e),()=>{nr.delete(e)}}async function Tg(e,t){try{const a=await e.json();if(typeof a.error?.message=="string")return a.error.message}catch{}return t}function Dg(e){const t=Array.isArray(e.providers)?e.providers:[];return{state:e.state??(t.length>0?"ready":"no_usable_targets"),revision:e.revision,providers:t.map(a=>({id:a.id,label:a.label,defaultModel:a.defaultModel??null,defaultInstance:a.defaultInstance??null,defaultBackend:a.defaultBackend??null,instances:Array.isArray(a.instances)?a.instances.map(o=>({id:o.id,label:o.label,target:o.target??null,backend:o.backend??null,default:!!o.default,eventCapabilities:sm(o.eventCapabilities)})):[],modelsPath:a.modelsPath})),recovery:e.recovery,warnings:Array.isArray(e.warnings)?e.warnings:[]}}function bo(e){return{state:"runtime_unreachable",providers:[],recovery:{retryable:!0},warnings:[e]}}function Ng(e){const t=Xe.value;(e.revision!==void 0||e.state!=="runtime_unreachable")&&t?.revision!==e.revision&&hn(),e=yo(t,e),Xe.value=e;for(const a of nr)a(e);return e}function yo(e,t){return t.state==="runtime_unreachable"&&e&&(t.revision===void 0||t.revision===e.revision)?{...t,revision:e.revision,providers:e.providers}:t}async function jg(e,t={}){try{const a=t.force?"/api/providers?force=1":"/api/providers",o=await e(a,{signal:AbortSignal.timeout(3e4)});if(!o.ok){if(o.status===401||o.status===403)throw new Jt("Provider session is unavailable.");return bo(await Tg(o,fo))}const n=await o.json();return Dg(n)}catch(a){if(a instanceof Jt)throw a;return bo(a instanceof Error?a.message:fo)}}Ql(()=>{Xe.value=null,Xe.inflight=null;for(const e of nr)e(bo(fo))});function vs(){return Xe.value}async function Sr(e={}){if(!e.force&&Xe.inflight)return Xe.inflight;const t=jg(e.fetchImpl??fetch,{force:e.force}).then(a=>{if(Xe.inflight!==t)throw new Error("Provider selection request was superseded.");return Ng(a)}).catch(a=>{throw a instanceof Jt&&Xe.inflight===t&&un(),a}).finally(()=>{Xe.inflight===t&&(Xe.inflight=null)});return Xe.inflight=t,t}function Mg(e={}){return Sr(e).then(()=>{})}async function Et(e){return Sr(e)}async function It(e,t){return mn({provider:e,instance:t})}async function Bt(e,t){return gn({provider:e,instance:t})}const vo="provider_catalog.refresh_failed_status:";function Cs(e){return`${vo}${e}`}function Eg(e){if(!e.startsWith(vo))return null;const t=Number(e.slice(vo.length));return Number.isInteger(t)?t:null}async function Ig(){const e=await fetch("/api/providers/models/refresh",{method:"POST",headers:{Accept:"application/json"}});if(!e.ok){let a=Cs(e.status);try{const o=await e.json();o.error?.code==="provider_catalog_refresh_failed"?a=Cs(e.status):typeof o.error?.message=="string"&&(a=o.error.message)}catch{}throw new Error(a)}const t=await e.json();return hn(),t}async function ct(e){const t=await fetch("/api/app-shell",{headers:{Accept:"application/json"},signal:e});return ql(await ye(t,`cats app shell returned ${t.status}`))}async function Tt(e,t,a){if(!e.ok)throw new Error(await dn(e,t));try{return await ct(a)}catch{return ct()}}async function HS(e,t){const a=await fetch("/api/preferences",{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({selectedChannelId:e}),signal:t});return Tt(a,`cats chat selection returned ${a.status}`,t)}async function GS(e,t){const a=await fetch("/api/preferences",{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({selectedChannelId:e}),signal:t});await ye(a,`cats chat selection returned ${a.status}`)}async function kn(e,t,a){const o=await fetch("/api/preferences",{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({conversationBehavior:{[e]:t}}),signal:a});return Tt(o,`cats conversation behavior update returned ${o.status}`,a)}async function wn(e,t){const a=await fetch("/api/preferences",{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({advancedDraftControls:e}),signal:t});return Tt(a,`cats advanced draft controls update returned ${a.status}`,t)}async function _S(e,t){const a=await fetch("/api/preferences",{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({newChatDefaults:e}),signal:t});return Tt(a,`cats new chat defaults update returned ${a.status}`,t)}async function KS(e,t){const a=await fetch("/api/preferences",{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({folderBrowsePreference:{surface:e.surface,directLaneCatId:e.directLaneCatId??null,path:e.path}}),signal:t});return ye(a,`cats folder browse preference update returned ${a.status}`)}async function qS(e,t,a){const o=await fetch(`/api/channels/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return Tt(o,`cats channel update returned ${o.status}`,a)}async function zS(e,t){const a=await fetch(`/api/channels/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({resetContinuity:!0}),signal:t});return Tt(a,`cats channel continuity reset returned ${a.status}`,t)}async function Bg(e,t){const a=await fetch("/api/orchestrator",{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(e),signal:t});return Tt(a,`cats orchestrator update returned ${a.status}`,t)}async function ut(e,t,a){return Tt(e,t,a)}const Fg=6,Og=12,Wg=2;function Ug(){return{activeTurn:null,turnHistory:[],eventHistory:[],lastCheckpointEvent:null,lastOutcomeEvent:null}}function Hg(e={}){return{mode:e.mode??"chat_channel",defaultRecipientId:e.defaultRecipientId??null,maxContinuations:Fg,maxDispatchesPerTurn:Og,maxTargetVisitsPerTurn:Wg,lastOutcome:null,lastCheckpoint:null,lastWakeRequest:null,wakeHistory:[],workflow:Ug()}}function Gg(e){return e?structuredClone(e):Hg()}function Ss(e){switch(e){case"ready":return"awake";case"initializing":return"waking_up";case"error":return"error";default:return"sleeping"}}function ac(e){return e?{...e,roomRouting:Gg(e.roomRouting)}:null}function $S(e){if(!e)return null;if(eg(e)&&e.roomRouting.defaultRecipientId){const t=e.assignedCats.find(a=>a.status==="active"&&a.catId===e.roomRouting.defaultRecipientId);return t?Ss(t?.execution.lease.status):null}return Ss(e.orchestratorLease.status)}const Kt="/api/parallel-chat-groups";function _g(e){if(!e||typeof e!="object"||Array.isArray(e))return{attemptedSessionCount:0,retainedSessionCount:0,retainedSessions:[]};const t=e,a=Array.isArray(t.retainedSessions)?t.retainedSessions.flatMap(n=>{if(!n||typeof n!="object"||Array.isArray(n))return[];const i=n,s=typeof i.sessionId=="string"?i.sessionId.trim():"";return s?[{sessionId:s,reason:typeof i.reason=="string"&&i.reason.trim()?i.reason.trim():null}]:[]}):[];return{attemptedSessionCount:typeof t.attemptedSessionCount=="number"&&Number.isFinite(t.attemptedSessionCount)&&t.attemptedSessionCount>0?Math.floor(t.attemptedSessionCount):0,retainedSessionCount:a.length,retainedSessions:a}}function rc(e){const a=[];for(let o=0;o<e.length;o+=32768){const n=e.subarray(o,o+32768);a.push(String.fromCharCode(...n))}return btoa(a.join(""))}async function Kg(e,t){const a=await fetch(`/api/cats/${encodeURIComponent(e)}`,{method:"DELETE",headers:{Accept:"application/json"},signal:t});return ut(a,`cats cat deletion returned ${a.status}`,t)}async function VS(e,t){const a=await fetch("/api/channels",{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(e),signal:t}),{channel:o}=await ye(a,`cats chat creation returned ${a.status}`),n=ac(o);if(!n)throw new Error("Created channel payload was invalid.");return n}async function YS(e,t,a){const o=await fetch(`/api/channels/${e}`,{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({title:t}),signal:a});return ut(o,`cats chat rename returned ${o.status}`,a)}async function QS(e,t){const a=await fetch(`/api/channels/${e}`,{method:"DELETE",headers:{Accept:"application/json"},signal:t});if(!a.ok)throw new Error(await dn(a,`cats chat deletion returned ${a.status}`));const o=await a.json();let n;try{n=await ct(t)}catch{n=await ct()}return{payload:n,runtimeCleanup:_g(o.runtimeCleanup)}}async function qg(e,t){const a=await fetch("/api/cats",{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(e),signal:t});return ut(a,`cats chat cat creation returned ${a.status}`,t)}async function JS(e,t,a){const{catId:o,...n}=t,i=await fetch(`/api/channels/${e}/cats/${o}`,{method:"PUT",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(n),signal:a});return ut(i,`cats channel cat assignment returned ${i.status}`,a)}async function XS(e,t,a){const o=await fetch(`/api/channels/${e}/cats/${t}`,{method:"DELETE",headers:{Accept:"application/json"},signal:a});return ut(o,`cats channel cat removal returned ${o.status}`,a)}async function ZS(e,t,a,o){const n=await fetch(`/api/channels/${encodeURIComponent(e)}/participants/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(a),signal:o});return ut(n,`cats channel participant update returned ${n.status}`,o)}async function eL(e,t){const a=await fetch(`/api/channels/${e}/activations`,{method:"POST",headers:{Accept:"application/json"},signal:t}),{activation:o}=await ye(a,`cats channel activation returned ${a.status}`);let n;try{n=await ct(t)}catch{n=await ct()}return{appShell:n,results:o.results}}async function tL(e,t,a){const o=await Promise.all(t.map(async s=>{const c=await s.arrayBuffer(),h=new Uint8Array(c);return{name:s.name,data:rc(h)}})),n=await fetch(`/api/channels/${e}/attachments`,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({files:o}),signal:a});return(await ye(n,`attachment upload returned ${n.status}`)).attachments}async function aL(e){return Promise.all(e.map(async t=>{const a=await t.arrayBuffer(),o=new Uint8Array(a);return{name:t.name,data:rc(o)}}))}async function rL(e,t){const a=await fetch(Kt,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(e),signal:t});return ye(a,`parallel chat creation returned ${a.status}`)}async function oL(e,t,a){const o=await fetch(`${Kt}/${encodeURIComponent(e)}/messages`,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return ye(o,`parallel chat dispatch returned ${o.status}`)}async function nL(e,t,a){const o=await fetch(`${Kt}/${encodeURIComponent(e)}/relay`,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return ye(o,`parallel chat relay returned ${o.status}`)}async function sL(e,t,a){const o=await fetch(`${Kt}/${encodeURIComponent(e)}/cancel`,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return ye(o,`parallel chat cancel returned ${o.status}`)}async function iL(e,t,a){const o=await fetch(`${Kt}/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return ut(o,`parallel chat rename returned ${o.status}`,a)}async function lL(e,t){const a=await fetch(`${Kt}/${encodeURIComponent(e)}/ungroup`,{method:"POST",headers:{Accept:"application/json"},signal:t});return ut(a,`parallel chat ungroup returned ${a.status}`,t)}async function cL(e,t){const a=await fetch(`${Kt}/${encodeURIComponent(e)}`,{method:"DELETE",headers:{Accept:"application/json"},signal:t});return ut(a,`parallel chat deletion returned ${a.status}`,t)}async function dL(e,t){const a=await fetch(`/api/channels/${e}/cancel`,{method:"POST",headers:{Accept:"application/json"},signal:t});return ye(a,`cats channel cancel returned ${a.status}`)}async function uL(e,t,a){const o=await fetch(`/api/channels/${encodeURIComponent(e)}/messages/${encodeURIComponent(t)}/retry`,{method:"POST",headers:{Accept:"application/json"},signal:a});return ye(o,`channel message retry returned ${o.status}`)}async function pL(e,t,a){const o=await fetch(`/api/channels/${e}/messages`,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return ye(o,`cats channel messaging returned ${o.status}`)}async function Ie(e,t,a){const o=await fetch(`/api/cats/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return ut(o,`cat profile update returned ${o.status}`,a)}function zg(e){async function t(a){const o=await fetch("/api/setup/reset",{method:"POST",headers:{Accept:"application/json"},signal:a});return e(await ye(o,`setup reset returned ${o.status}`))}return{resetSetup:t}}const $g=zg(ql),Vg=$g.resetSetup;function Yg(e){async function t(n,i){const s=await fetch("/api/bot-bindings",{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({platform:"telegram",...n}),signal:i});return e.refetchAfterMutation(s,`bot binding create returned ${s.status}`,i)}async function a(n,i){const s=await fetch(`/api/bot-bindings/${encodeURIComponent(n)}`,{method:"DELETE",headers:{Accept:"application/json"},signal:i});return e.refetchAfterMutation(s,`bot binding delete returned ${s.status}`,i)}async function o(n,i,s){const c=await fetch(`/api/bot-bindings/${n}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(i),signal:s});return ye(c,`update bot binding returned ${c.status}`)}return{createBotBindingApi:t,deleteBotBindingApi:a,updateBotBindingApi:o}}async function Ls(e){const t=await fetch("/api/transports/telegram",{headers:{Accept:"application/json"},signal:e});return(await ye(t,`telegram transport status returned ${t.status}`)).telegram}async function Ps(e){const t=await fetch("/api/transports/telegram/diagnostics",{headers:{Accept:"application/json"},signal:e});return(await ye(t,`telegram transport diagnostics returned ${t.status}`)).telegram}const oc=Yg({refetchAfterMutation:ut}),Qg=oc.createBotBindingApi,Jg=oc.deleteBotBindingApi;async function Xg(e,t){const a=await fetch(`/api/cats/${encodeURIComponent(e)}/memory`,{headers:{Accept:"application/json"},signal:t});return(await ye(a,`cat memory list returned ${a.status}`)).records??[]}async function Zg(e,t,a){const o=await fetch(`/api/cats/${encodeURIComponent(e)}/memory`,{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(t),signal:a});return(await ye(o,`cat memory create returned ${o.status}`)).memory}async function ek(e,t,a){const o=await fetch(`/api/cats/${encodeURIComponent(e)}/memory/${encodeURIComponent(t)}`,{method:"DELETE",headers:{Accept:"application/json"},signal:a});await ye(o,`cat memory delete returned ${o.status}`)}const hL="current",mL="full",nc={read_only:["default"],read_write:["skip","whitelist"]};function tk(e,t){return nc[e].includes(t)}function sc(e){return nc[e][0]}function ak(e){return typeof e=="string"&&e.trim().length>0}function Co(e,t){if(!t)return{...e};const a={...e};for(const o of Object.keys(e)){const n=t[o];n!==void 0&&(a[o]=n)}return a}function fn(){const e="read_write";return{workspaceKind:"sandbox",workspaceAccess:e,permissionMode:sc(e)}}function bn(e){const{workspaceKind:t,workspaceAccess:a}=e,o=tk(a,e.permissionMode)?e.permissionMode:sc(a);return a==="read_only"?{workspaceKind:t,workspaceAccess:a,permissionMode:o}:{workspaceKind:t,workspaceAccess:a,permissionMode:o}}function gL(){return bn(fn())}function rk(e){return e.workspaceAccess==="read_only"?{runtimeWorkspaceKind:e.workspaceKind,runtimeWorkspaceAccess:e.workspaceAccess,runtimePermissionMode:e.permissionMode}:{runtimeWorkspaceKind:e.workspaceKind,runtimeWorkspaceAccess:e.workspaceAccess,runtimePermissionMode:e.permissionMode}}function kL(e){return bn(Co(fn(),e))}function ok(e){const t=Co(fn(),{workspaceKind:ak(e.repoPath)?"source":void 0});return bn(Co(t,e.policy))}function wL(e){return e==="worktree"?"worktree":"current"}function fL(e){return e.hasCwd?e.isRepo&&e.workspaceMode==="worktree"?"worktree":"source":"sandbox"}function bL(e){return e==="read_only"?"read_only":"full"}function yL(e){return e==="read_only"?{workspaceAccess:"read_only",permissionMode:"default"}:{workspaceAccess:"read_write",permissionMode:"skip"}}function yn(e){const t=e?.trim();return t==="Chat"||t==="Orchestrator"}function Rs(e){const t=e?.trim();return!t||yn(t)?null:t}function nk(e){return Rs(e.displayName)??Rs(e.executionLabel)??(e.provider?nn(e.provider,e.instance??null,null):null)}const dt="chat-memory",ic="work-memory",xa=new Map;function vL(e,t){const a=xa.get(e)??null;a&&a!==t&&console.warn("Replacing pending optimistic send for channel.",{feature:"chat_optimistic_message_replaced_in_flight",channelId:e,previousMessageId:a,nextMessageId:t}),xa.set(e,t)}function sk(e,t){const a=xa.get(e)??null;a&&(t&&a!==t||xa.delete(e))}function CL(){return[...xa.entries()].map(([e,t])=>({channelId:e,optimisticMessageId:t}))}function Ae(e){const t=e.trim().split(/\s+/);return t.length>=2?(t[0][0]+t[1][0]).toUpperCase():e.slice(0,2).toUpperCase()}const Fa=$e("en");function xs(e){return At(e)??e.trim()}function As(){return{name:"",provider:"claude",instance:"",model:"",modelSelection:null,makeBoss:!1,products:wr(),skillProfile:"chat-default",mcpProfile:dt}}function ik(e){return Jo(e.products,"chat",{fallback:wr()})}function lc(e){return xm(e)}function lk(e){return Array.isArray(e)?new Set(e.filter(t=>!!t)):e?new Set([e]):new Set}function ck(e,t,a={}){const o=lk(a.bossCatIds);if(a.archivedLast){const c=e.status==="archived"?1:0,h=t.status==="archived"?1:0;if(c!==h)return c-h}const n=o.has(e.id)?0:1,i=o.has(t.id)?0:1;if(n!==i)return n-i;const s=e.createdAt.localeCompare(t.createdAt);return s!==0?s:e.id.localeCompare(t.id)}function Xt(e,t={}){return[...e].sort((a,o)=>ck(a,o,t))}function dk(e){const t=e.metadata?.executionLabelSnapshot;return typeof t=="string"&&t.trim()?t.trim():null}function uk(e){const t=e?.trim();return!t||yn(t)?null:t}function SL(e,t,a=Fa){if(e.senderKind==="user"||e.senderKind==="system")return{kind:"none",label:null,cat:null};const o=e.metadata?.targetKind==="cat"||e.metadata?.targetKind==="orchestrator"?e.metadata.targetKind:null,n=typeof e.metadata?.targetId=="string"&&e.metadata.targetId?e.metadata.targetId:null,i=e.senderName?.trim()??"",s=uk(e.senderName),c=dk(e),h=yn(i);if(o==="cat"&&n){const g=t.find(p=>p.id===n)??null;return g?{kind:"cat",label:g.name,cat:g}:{kind:"deleted_cat",label:a(l.sharedTranscriptDeletedCat),cat:null}}const u=s&&s!=="Orchestrator"?t.find(g=>g.name===s)??null:null;return u?{kind:"cat",label:u.name,cat:u}:(c||e.executionProvider)&&(o==="orchestrator"||h)?{kind:"provider",label:nk({displayName:e.senderName,executionLabel:c,provider:e.executionProvider,instance:e.executionInstance}),cat:null}:s?{kind:"name",label:s,cat:null}:{kind:"none",label:null,cat:null}}function pk(e,t,a=Fa){const o=e.replace(/\s+/g," ").trim();return o?o.slice(0,48):t>0?a(l.chatNewChatDraftGeneratedTitleWithIndex,{index:t+1}):a(l.chatNewChatDraftGeneratedTitle)}function hk(e){return e.replace(/\s+/g," ").trim().slice(0,120)}function LL(e,t){return t.length===0?e:`[Attached files in working directory:]
41
41
  ${t.map(o=>`- ${o.relativePath}`).join(`
@@ -82,4 +82,4 @@ CATS_DESKTOP_APP_HOST=0.0.0.0`,p=window.catsDesktopHost;if(!p?.enableMobilePairi
82
82
  .catsProviderManager [role=alert]{color:#b2342c;overflow-wrap:anywhere}.catsProviderManager li{margin-left:20px;font-size:.83rem;overflow-wrap:anywhere}
83
83
  @media(max-width:580px){.catsProviderManager .pm-row{flex-direction:column}.catsProviderManager .pm-actions{max-width:none;justify-content:flex-start}.catsProviderManager .pm-footer{gap:8px}.catsProviderManager .pm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
84
84
  @media(prefers-reduced-motion:reduce){.catsProviderManager .pm-spinner{animation-duration:2s}}
85
- `),Z=x("h2",{},c==="onboarding"?s("Choose your AI tools","選擇你的 AI 工具"):s("AI tools","AI 工具")),q=x("p",{class:"pm-intro"},s("Choose what you want to use. Cats can help you install it. You can change this later in Settings.","勾選想使用的工具,Cats 可以協助安裝。之後也能在設定中調整。")),ne=[W,Z,q];if(m&&ne.push(x("div",{role:"alert"},m," ",E(s("Refresh","重新讀取"),()=>{M="",F()},k))),!g){ne.push(x("div",{class:"pm-progress",role:"status"},O(),s("Loading tools…","正在載入工具…"))),e.replaceChildren(...ne);return}const oe=g.runtime.selection,He=["missing","invalid"].includes(oe.state),Te=g.operations.length>0||g.runtime.state?.status==="scanning",N=$();oe.diskChanged||f!==oe.revision?ne.push(x("div",{role:"alert"},s("Configuration changed elsewhere. Refresh or reload before applying your changes.","設定已在其他地方變更。請重新讀取或載入後再套用。")," ",E(s("Discard draft and reload","捨棄草稿並重新載入"),()=>{f=oe.revision,H(!0)},k||Te))):oe.error&&ne.push(x("p",{role:"alert"},oe.error)),g.runtime.state?.error&&ne.push(x("p",{role:"alert"},g.runtime.state.error)),(k||Te)&&ne.push(x("div",{class:"pm-progress",role:"status","aria-live":"polite"},O(),y||s("Checking your tools…","正在檢查工具…"))),C&&!k&&!Te&&ne.push(x("p",{role:"status"},C)),c==="settings"&&ne.push(x("input",{type:"search",value:T,placeholder:s("Find a tool","尋找工具"),"data-focus":"search","aria-label":s("Find a tool","尋找工具"),oninput:J=>{T=J.target.value,X()}}));const ke=g.runtime.universe.slice();for(const J of oe.targets)ke.some(he=>h(he)===h(J))||ke.push({...J,familyLabel:`${J.provider} · ${J.instance}`,custom:!0});const je=x("div",{class:"pm-list"});if(c==="onboarding"){const J=["claude","antigravity","cursor","kiro","junie","goose","grok","devin","muse","ollama"],he=["codex","copilot","opencode","kilo","auggie","pi","cline"],we=["claude","antigravity","codex"],Be=te=>R||we.includes(te.provider)||p.has(h(te)),Je=x("div",{class:"pm-grid cli-grid"});for(const te of J)for(const Oe of ke.filter(Ge=>!Ge.custom&&Ge.provider===te&&Be(Ge)))Je.append(ue(Oe,oe,Te));R&&Je.append(x("div",{class:"pm-group","data-group":"npm"},s("Tools that use Node.js / npm","使用 Node.js/npm 的工具"))),Je.append(re());for(const te of he)for(const Oe of ke.filter(Ge=>!Ge.custom&&Ge.provider===te&&Be(Ge)))Je.append(ue(Oe,oe,Te));const gt=ke.filter(te=>(te.custom||!J.includes(te.provider)&&!he.includes(te.provider))&&Be(te));gt.length&&Je.append(x("div",{class:"pm-group","data-group":"connections"},s("Other connections","其他連線")),...gt.map(te=>ue(te,oe,Te))),je.append(Je)}else T||je.append(re()),je.append(...ke.filter(J=>`${J.familyLabel} ${J.provider}`.toLowerCase().includes(T.toLowerCase())).map(J=>ue(J,oe,Te)));if(ne.push(je),j){const J=j;ne.push(x("div",{role:"dialog","aria-modal":"true","aria-label":s("Confirm uninstall","確認解除安裝"),class:"pm-dialog"},x("h3",{},s("Uninstall ","解除安裝 ")+J.target.provider+"?"),x("p",{},J.result.summary),x("ul",{},[...J.result.plannedActions,...J.result.warnings,...J.result.manualSteps].map(he=>x("li",{},he))),E(s("Cancel","取消"),()=>{j=null,X()},k)," ",E(s("Uninstall","解除安裝"),()=>{j=null,ae("uninstall",[J.target],J.revision)},k||J.revision!==f||$()||oe.diskChanged||J.result.runState==="failed"||!J.result.plannedActions.length)))}N&&ne.push(E(s("Discard changes","捨棄變更"),()=>{j=null,ee(g,!0),X()},k||Te||!!j,{class:"pm-discard"}));const Me=x("div",{class:"pm-footer"});N||He?Me.append(E(s("Apply","Apply"),()=>H(),k||Te||!!j||!!m||oe.diskChanged||f!==oe.revision,{class:"pm-primary","data-action":"apply"}),x("label",{},x("input",{type:"checkbox",checked:w,disabled:k,"data-focus":"detect-after","data-action":"detect-after",onchange:J=>{w=J.target.checked}}),s("Detect after applying","套用後偵測"))):Me.append(E(s("Detect selected","重新偵測已選項目"),()=>ae("detect",oe.targets),k||Te||!!j||!!m||oe.diskChanged||!oe.targets.length,{"data-action":"detect-selected"})),a.onContinue&&Me.append(E(s("Continue","繼續"),()=>{Y(s("Continuing…","繼續設定…"),async()=>{await a.onContinue()})},He||N||k||Te||!!j||!!m||oe.diskChanged,{class:"pm-primary pm-continue","data-action":"continue"})),c==="onboarding"?(Me.append(E(R?s("Show fewer","顯示較少"):s("Show more","顯示更多"),()=>{R=!R,X()},!1,{"data-action":"show-more"})),ne.splice(ne.indexOf(je),0,Me)):ne.push(Me),!He&&!N&&ne.push(x("p",{class:"pm-intro"},oe.targets.length===0?s("You can choose your tools later in Settings.","你可以稍後再到設定中選擇工具。"):s(`${oe.targets.length} tools selected. You can continue and finish installing later.`,`已選擇 ${oe.targets.length} 項工具。可以先繼續,稍後再完成安裝。`))),e.replaceChildren(...ne);for(const J of e.querySelectorAll("details[data-details]"))J.open=V.has(J.getAttribute("data-details"));if(je&&(je.scrollTop=U),D){const J=[...e.querySelectorAll("[data-focus]")].find(he=>he.getAttribute("data-focus")===D);if(J?.focus({preventScroll:!0}),typeof B=="number")try{J?.setSelectionRange(B,B)}catch{}}}X(),F();const pe=n.setInterval(()=>{o.visibilityState!=="hidden"&&F()},2e3),ve=()=>{F()};return n.addEventListener("focus",ve),{refresh:F,destroy(){v=!0,n.clearInterval(pe),n.removeEventListener("focus",ve),e.replaceChildren()}}}function Qv(e,t,a){const o=Pr(e);if(o==="unavailable"||o==="unknown")return{tone:"warm",label:a("settingsRuntimeStatusChipRuntimeUnavailable")};if(o==="degraded")return{tone:"warm",label:a("settingsRuntimeStatusChipRuntimeDegraded")};switch(t.status){case"ready":return{tone:"ready",label:a("settingsRuntimeStatusChipRuntimeReady")};case"selection_required":return{tone:"warm",label:a("settingsRuntimeStatusChipSetupReadyToApply")};case"attention_required":return{tone:"warm",label:a("settingsRuntimeStatusChipSetupNeedsRemediation")};case"scan_required":return{tone:"warm",label:a("settingsRuntimeStatusChipProviderScanRequired")};default:return{tone:"warm",label:a("settingsRuntimeStatusChipSetupUnavailable")}}}function Jv({onFeedback:e}){const t=d.useRef(null),{locale:a}=_();return d.useEffect(()=>{const o=ta();if(!t.current||!o?.getProviderSetup||!o.applyProviderSetup||!o.runProviderSetup)return;const n=Yv(t.current,o,{context:"settings",locale:a,onFeedback:e});return()=>n.destroy()},[a,e]),r.jsx("div",{ref:t})}function Xv({payload:e}){const{toasts:t,showToast:a}=pt(),{t:o}=_(),i=d.useSyncExternalStore(zv,bi,bi).inflight,s=d.useMemo(()=>Dn(),[]),c=Qv(e.runtime,e.runtimeSetup,o),h=p=>p===1?"":"s",u=d.useCallback(p=>{if(!(p instanceof Error))return o("settingsRuntimeRefreshFailure");const f=Eg(p.message);return f===null?p.message:o("settingsRuntimeRefreshFailureWithStatus",{status:f})},[o]);d.useEffect(()=>$v(p=>{if(p.type==="success"){const{refreshed:f,failures:w}=p.value;w.length>0?a(o("settingsRuntimeRefreshSummaryWithFailures",{refreshed:f,failed:w.length})):a(o("settingsRuntimeRefreshSummary",{refreshed:f,pluralSuffix:h(f)}))}else a(u(p.error))}),[u,a,o]);const g=()=>{Vv().catch(()=>{})};return r.jsxs(r.Fragment,{children:[r.jsxs(xe,{header:r.jsx(de,{title:o("settingsRuntimeStatusTitle"),description:o("settingsRuntimeStatusDescription")}),children:[r.jsx("div",{className:"settingsChipRow",children:r.jsx(st,{tone:c.tone,children:c.label})}),r.jsxs("div",{className:"settingsRuntimeMetrics",children:[r.jsxs("div",{className:"settingsRuntimeMetric",children:[r.jsx("strong",{children:e.runtimeSetup.availableCount}),r.jsx("span",{children:o("settingsRuntimeMetricReadyProviders")})]}),r.jsxs("div",{className:"settingsRuntimeMetric",children:[r.jsx("strong",{children:e.runtimeSetup.providerCount}),r.jsx("span",{children:o("settingsRuntimeMetricProvidersScanned")})]}),r.jsxs("div",{className:"settingsRuntimeMetric",children:[r.jsx("strong",{children:e.runtimeSetup.providersNeedingAttention.length}),r.jsx("span",{children:o("settingsRuntimeMetricNeedAttention")})]})]})]}),e.runtimeSetup.providersNeedingAttention.length>0?r.jsx(xe,{header:r.jsx(de,{title:o("settingsRuntimeNeedAttentionTitle"),description:o("settingsRuntimeNeedAttentionDescription")}),children:r.jsx("ul",{className:"settingsRuntimeList",children:e.runtimeSetup.providersNeedingAttention.map(p=>r.jsxs("li",{children:[r.jsx("strong",{children:p.provider}),r.jsxs("span",{children:[p.family,typeof p.remediationCount=="number"?` • ${o("settingsRuntimeFixStepCount",{count:p.remediationCount,pluralSuffix:p.remediationCount===1?"":"s"})}`:""]})]},p.provider))})}):null,s?r.jsx(xe,{headerless:!0,children:r.jsx(Jv,{onFeedback:a})}):null,r.jsx(xe,{header:r.jsx(de,{title:o("settingsRuntimeModelCatalogsTitle"),description:o("settingsRuntimeModelCatalogsDescription")}),children:r.jsx("button",{type:"button",className:"secondaryButton settingsRefreshButton",onClick:g,disabled:i,children:i?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"settingsRefreshSpinner","aria-hidden":"true"}),r.jsx("span",{children:o("settingsRuntimeRefreshingState")})]}):o("settingsRuntimeRefreshCatalogsButton")})}),r.jsx(xe,{header:r.jsx(de,{title:o("settingsRuntimeStandaloneSetupTitle"),description:o("settingsRuntimeStandaloneSetupDescription")}),children:r.jsx(Kv,{className:"secondaryButton settingsInlineLink",href:ub,target:"_blank",rel:"noreferrer",onOpenError:()=>a(o("settingsRuntimeBrowserHandoffError")),children:o("settingsRuntimeOpenStandaloneSetup")})}),r.jsx(ht,{toasts:t})]})}const Zv={binding_disabled:l.workDeliveryReadinessBindingDisabled,binding_unhealthy:l.workDeliveryReadinessBindingUnhealthy,owner_not_authorized:l.workDeliveryReadinessOwnerNotAuthorized,cat_not_bound:l.workDeliveryReadinessCatNotBound,execution_target_missing:l.workDeliveryReadinessExecutionTargetMissing,capability_profile_missing:l.workDeliveryReadinessCapabilityProfileMissing,workspace_missing:l.workDeliveryReadinessWorkspaceMissing,workspace_unreachable:l.workDeliveryReadinessWorkspaceUnreachable,workspace_not_a_repository:l.workDeliveryReadinessWorkspaceNotARepository,workspace_not_clean:l.workDeliveryReadinessWorkspaceNotClean,delivery_policy_unresolved:l.workDeliveryReadinessDeliveryPolicyUnresolved,background_service_unavailable:l.workDeliveryReadinessBackgroundServiceUnavailable},eC={artifact_only:l.sharedOperatorDeliveryModeArtifactOnly,commit_only:l.sharedOperatorDeliveryModeCommitOnly,push_branch:l.sharedOperatorDeliveryModePushBranch,pr_with_checks:l.sharedOperatorDeliveryModePrWithChecks,deploy_preview:l.sharedOperatorDeliveryModeDeployPreview};function tC(e){const t=e?.trim();return t||null}function Dt(e,t){const a=tC(t);return a?`${e}/${encodeURIComponent(a)}`:e}const mt=ul,aC=`${mt}/projects`,rC=`${mt}/tasks`,oC=`${mt}/work-items`,nC=`${mt}/runs`,id=`${mt}/missions`,sC=`${mt}/schedules`,iC=`${mt}/links`,yP=`${mt}/external-bindings`,vP=`${mt}/external-issue-imports`,CP=`${mt}/graph`,lC=`${mt}/delivery-readiness`;function SP(e){return Dt(iC,e)}function LP(e){return Dt(aC,e)}function PP(e){return Dt(rC,e)}function RP(e){return Dt(oC,e)}function cC(e){return Dt(sC,e)}function xP(e){return`${cC(e)}/test-fire`}function AP(e){return`${Dt(nC,e)}/stop`}function TP(e){return Dt(id,e)}function DP(e){return`${Dt(id,e)}/cancel`}async function dC(e,t){return ye(await fetch(lC,{signal:t}),e)}function uC(){const{t:e}=_(),t=Ue(),[a,o]=d.useState({status:"loading"}),n=d.useCallback(i=>{o({status:"loading"}),dC(e(l.workDeliveryReadinessSectionLoadError),i).then(s=>{i?.aborted||o({status:"ready",report:s})}).catch(()=>{i?.aborted||o({status:"error"})})},[e]);return d.useEffect(()=>{const i=new AbortController;return n(i.signal),()=>i.abort()},[n]),r.jsxs(xe,{header:r.jsx(de,{title:e(l.workDeliveryReadinessSectionTitle),description:e(l.workDeliveryReadinessSectionDescription)}),children:[a.status==="loading"?r.jsx("p",{className:"settingsMutedText",role:"status","aria-live":"polite",children:e(l.workDeliveryReadinessSectionLoading)}):null,a.status==="error"?r.jsxs("div",{className:"settingsMutedText",role:"alert",children:[r.jsx("p",{children:e(l.workDeliveryReadinessSectionLoadError)}),r.jsx("button",{type:"button",className:"secondaryButton",onClick:()=>n(),children:e(l.workDeliveryReadinessRefresh)})]}):null,a.status==="ready"&&!a.report.enabled?r.jsx("p",{className:"settingsMutedText",children:e(l.workDeliveryReadinessSectionDisabled)}):null,a.status==="ready"&&a.report.enabled?r.jsxs("div",{className:"workDeliveryReadiness",children:[r.jsxs("dl",{className:"workDeliveryReadinessFacts",children:[r.jsxs("div",{children:[r.jsx("dt",{children:e(l.workDeliveryReadinessWorkspaceLabel)}),r.jsx("dd",{children:a.report.workspacePath??e(l.workDeliveryReadinessWorkspaceUnset)})]}),r.jsxs("div",{children:[r.jsx("dt",{children:e(l.workDeliveryReadinessAuthorizedOwnersLabel)}),r.jsx("dd",{children:a.report.authorizedOwnerCount})]}),r.jsxs("div",{children:[r.jsx("dt",{children:e(l.workDeliveryReadinessLocalExecutionLabel)}),r.jsx("dd",{children:e({healthy:l.workDeliveryReadinessLocalExecutionHealthy,degraded:l.workDeliveryReadinessLocalExecutionDegraded,unavailable:l.workDeliveryReadinessLocalExecutionUnavailable,unknown:l.workDeliveryReadinessLocalExecutionUnknown}[a.report.localExecution])})]})]}),a.report.bindings.length===0?r.jsx("p",{className:"settingsMutedText",children:e(l.workDeliveryReadinessSectionNoBindings)}):null,r.jsx("ul",{className:"workDeliveryReadinessBindings",children:a.report.bindings.map(i=>r.jsxs("li",{className:"workDeliveryReadinessBinding",children:[r.jsxs("div",{className:"workDeliveryReadinessBindingHeader",children:[r.jsx("span",{className:"workDeliveryReadinessBindingName",children:i.botName??i.bindingId}),r.jsx(st,{tone:i.readiness.ready?"ready":"warm",children:i.readiness.ready?e(l.workDeliveryReadinessStatusReady):e(l.workDeliveryReadinessStatusBlocked)})]}),r.jsxs("dl",{className:"workDeliveryReadinessFacts",children:[r.jsxs("div",{children:[r.jsx("dt",{children:e(l.workDeliveryReadinessDeliveryModeLabel)}),r.jsx("dd",{children:e(eC[i.deliveryMode])})]}),r.jsxs("div",{children:[r.jsx("dt",{children:e(l.workDeliveryReadinessToolScopeLabel)}),r.jsx("dd",{children:i.toolScope})]})]}),i.readiness.blockers.length>0?r.jsxs(r.Fragment,{children:[r.jsx("h4",{className:"workDeliveryReadinessBlockersTitle",children:e(l.workDeliveryReadinessBlockersLabel)}),r.jsx("ul",{className:"workDeliveryReadinessBlockers",children:i.readiness.blockers.map(s=>r.jsxs("li",{children:[r.jsx("span",{children:e(Zv[s.reason])}),s.remediationPath?r.jsx("button",{type:"button",className:"linkButton",onClick:()=>t(s.remediationPath),children:e(l.workDeliveryReadinessOpenRemediation)}):null]},s.reason))})]}):null]},i.bindingId))}),r.jsx("button",{type:"button",className:"secondaryButton",onClick:()=>n(),children:e(l.workDeliveryReadinessRefresh)})]}):null]})}function pC({payload:e,onPayloadUpdate:t}){const{toasts:a,showToast:o}=pt(),{t:n}=_(),i=ln(e.chat.advancedDraftControls,"work");async function s(c){const h=e.chat.advancedDraftControls,u=vr(h);u.work=c,t({...e,chat:{...e.chat,advancedDraftControls:u}});try{const g=await wn({work:c});d.startTransition(()=>t(g))}catch(g){t({...e,chat:{...e.chat,advancedDraftControls:h}}),o(Ta(g,n("settingsConversationPreferenceUpdateFailure"),n))}}return r.jsxs(r.Fragment,{children:[r.jsx(Mn,{surface:"work",payload:e,onPayloadUpdate:t,onError:o}),r.jsx(jn,{surface:"work",enabled:i,onToggle:c=>{s(c)}}),r.jsx(uC,{}),r.jsx(ht,{toasts:a})]})}function hC(e,t){return e==="/settings"||e==="/settings/"||Ct(e,"/settings/general")?{section:"general",title:t("settingsRouteTitleGeneral")}:Ct(e,"/settings/assistants")?{section:"assistants",title:t("settingsRouteTitleAssistants")}:mC(e)?{section:"cats",title:t("settingsRouteTitleMyCats")}:Ct(e,"/settings/chat")?{section:"chat",title:t("settingsRouteTitleChat")}:Ct(e,"/settings/work")?{section:"work",title:t("settingsRouteTitleWork")}:Ct(e,"/settings/code")?{section:"code",title:t("settingsRouteTitleCode")}:Ct(e,"/settings/apps")?{section:"apps",title:t("settingsRouteTitleApps")}:Ct(e,"/settings/desktop")?{section:"desktop",title:t("settingsRouteTitleDesktop")}:Ct(e,"/settings/runtime")?{section:"runtime",title:t("settingsRouteTitleRuntime")}:Ct(e,"/settings/data")?{section:"data",title:t("settingsRouteTitleData")}:{section:"not-found",title:t("settingsRouteTitleNotFound")}}function Ct(e,t){return e===t||e.startsWith(`${t}/`)}function mC(e){return e==="/settings/cats"||e==="/settings/cats/new"}function gC({payload:e,onPayloadUpdate:t,busy:a,onFeedback:o,onBusy:n,onResetSetup:i}){const s=e.products.find(p=>p.id==="work"),c=e.products.find(p=>p.id==="code"),h=Dn(),u=p=>{t(p)},g=r.jsx(zb,{payload:e,busy:a,onPayloadUpdate:u,onFeedback:o,onBusy:n});return r.jsxs(ma,{children:[r.jsx(se,{index:!0,element:r.jsx(Lt,{to:"/settings/general",replace:!0})}),r.jsx(se,{path:"general",element:r.jsx(Gv,{payload:e,onPayloadUpdate:u})}),r.jsx(se,{path:"cats",element:g}),r.jsx(se,{path:"cats/new",element:g}),r.jsx(se,{path:"assistants",element:r.jsx(ey,{payload:e,onPayloadUpdate:u})}),r.jsx(se,{path:"chat",element:r.jsx(Ly,{payload:e,onPayloadUpdate:u})}),s?r.jsx(se,{path:"work",element:r.jsx(pC,{payload:e,onPayloadUpdate:u})}):null,c?r.jsx(se,{path:"code",element:r.jsx(Py,{payload:e,onPayloadUpdate:u})}):null,r.jsx(se,{path:"apps/*",element:r.jsx(hy,{installedApps:e.installedApps??[],onInstalledAppsUpdate:p=>{u({...e,installedApps:p})}})}),h?r.jsx(se,{path:"desktop",element:r.jsx(pv,{payload:e,onPayloadUpdate:u})}):null,r.jsx(se,{path:"runtime",element:r.jsx(Xv,{payload:e})}),r.jsx(se,{path:"data",element:r.jsx(Ay,{payload:e,busy:a,onResetSetup:i})}),r.jsx(se,{path:"*",element:r.jsx(_v,{})})]})}function kC(e){const t=Ne(),{t:a}=_(),{section:o,title:n}=hC(t.pathname,a);return r.jsx(xb,{section:o,title:n,products:e.payload.products,children:gC(e)})}function wC(){const{t:e}=_(),{loadState:t,onPayloadUpdate:a,onRetryLoad:o}=eu(),[n,i]=d.useState(Rn),[s,c]=d.useState(""),{dialog:h,confirm:u,handleClose:g}=Gt(),p=d.useCallback(async()=>{if(await u({title:e(l.settingsDataResetAllDataTitle),message:e(l.settingsDataResetAllDataDescription),confirmLabel:e(l.settingsDataResetButtonLabel)})){i(sf());try{const w=await Vg();Sm(),await Zc({bootstrapAttemptId:w.bootstrapAttemptId??null,setupCompleteAt:w.setupCompleteAt??null,products:Array.isArray(w.products)?[...w.products]:[]}),window.location.href="/"}catch(w){throw i(Ye()),w}}},[u,e]);return t.status==="loading"?r.jsx("div",{className:"settingsCanvasBoot",role:"status","aria-live":"polite","aria-label":e(l.settingsCanvasLoadingLabel)}):t.status==="error"?r.jsxs("section",{className:"settingsCanvasError",role:"alert","aria-live":"assertive",children:[r.jsx("h1",{className:"settingsCanvasErrorTitle",children:e(l.settingsCanvasLoadErrorTitle)}),r.jsx("p",{className:"settingsCanvasErrorBody",children:e(l.settingsCanvasLoadErrorBody)}),t.message?r.jsx("p",{className:"settingsCanvasErrorDetail",children:t.message}):null,r.jsx("div",{className:"settingsCanvasErrorActions",children:r.jsx("button",{type:"button",className:"primaryButton",onClick:o,children:e(l.sharedCommonRetry)})})]}):r.jsxs(r.Fragment,{children:[r.jsx(kC,{payload:t.payload,onPayloadUpdate:a,busy:n,onFeedback:c,onBusy:i,onResetSetup:p}),s?r.jsx("p",{className:"settingsFeedback",role:"status",children:s}):null,r.jsx(_t,{dialog:h,onClose:g})]})}const Re=14,fC=.6,yi=.18,bC=.18,vi=2,yC="#e8c84a",ld="#8B7E74";function vC(e){return new Promise((t,a)=>{const o=new Image;o.crossOrigin="anonymous",o.onload=()=>t(o),o.onerror=a,o.src=e})}function CC(e,t,a){return e.map(o=>{const n=Math.random()*Math.PI*2,i=fC+Math.random()*.3;return{id:o.id,x:Re+Math.random()*(t-Re*2),y:Re+Math.random()*(a-Re*2),vx:Math.cos(n)*i,vy:Math.sin(n)*i,color:o.avatarColor??ld,initials:Ae(o.name),isBoss:o.isBoss,avatarUrl:o.avatarUrl??null,image:null}})}function SC(e,t){return!e||e.length!==t.length?!0:e.some((a,o)=>{const n=t[o];return n?a.id!==n.id||a.color!==(n.avatarColor??ld)||a.isBoss!==n.isBoss||a.avatarUrl!==(n.avatarUrl??null):!0})}function LC(e,t,a,o){for(const n of e)n.x+=n.vx*o,n.y+=n.vy*o,n.x-Re<=0?(n.x=Re,n.vx=Math.abs(n.vx)):n.x+Re>=t&&(n.x=t-Re,n.vx=-Math.abs(n.vx)),n.y-Re<=0?(n.y=Re,n.vy=Math.abs(n.vy)):n.y+Re>=a&&(n.y=a-Re,n.vy=-Math.abs(n.vy))}function PC(e,t,a){for(const o of e)o.x=Math.min(Math.max(Re,o.x),t-Re),o.y=Math.min(Math.max(Re,o.y),a-Re)}function RC(e,t,a,o){e.clearRect(0,0,a,o);for(const n of t)e.globalAlpha=yi,n.isBoss&&(e.beginPath(),e.arc(n.x,n.y,Re+vi,0,Math.PI*2),e.strokeStyle=yC,e.lineWidth=vi,e.stroke()),n.image?(e.save(),e.beginPath(),e.arc(n.x,n.y,Re,0,Math.PI*2),e.clip(),e.drawImage(n.image,n.x-Re,n.y-Re,Re*2,Re*2),e.restore()):(e.beginPath(),e.arc(n.x,n.y,Re,0,Math.PI*2),e.fillStyle=n.color,e.fill(),e.globalAlpha=yi*1.8,e.font=`700 ${Re*.65}px sans-serif`,e.textAlign="center",e.textBaseline="middle",e.fillStyle="#fff",e.fillText(n.initials,n.x,n.y));e.globalAlpha=1}function xC({animationMode:e,cats:t}){const a=d.useRef(null),o=d.useRef(null),n=d.useRef(0);return d.useEffect(()=>{if(e==="off"||t.length===0)return;const i=a.current;if(!i)return;const s=i,c=s.getContext("2d");if(!c)return;const h=e==="reduced"?bC:1;function u(){if(s.width=window.innerWidth,s.height=window.innerHeight,SC(o.current,t)){o.current=CC([...t],s.width,s.height);return}const w=o.current;w&&PC(w,s.width,s.height)}function g(){n.current!==0&&(cancelAnimationFrame(n.current),n.current=0)}function p(){const w=s.width,k=s.height,y=o.current;!c||!y||(LC(y,w,k,h),RC(c,y,w,k),n.current=requestAnimationFrame(p))}u(),n.current=requestAnimationFrame(p);const f=o.current;if(f)for(let w=0;w<t.length;w++){const k=t[w]?.avatarUrl;k&&f[w]&&vC(k).then(y=>{f[w].image=y}).catch(()=>{})}return window.addEventListener("resize",u),()=>{g(),window.removeEventListener("resize",u)}},[e,t]),e==="off"||t.length===0?null:r.jsx("canvas",{ref:a,className:"lobbyBouncingCanvas","aria-hidden":"true"})}const cd=$e("en");function AC(e,t=cd){return e.products.map(a=>({productId:a.id,surface:a.surface,productName:Yp(a,t),subtitle:Qp(a,t),routePrefix:a.routePrefix,lastUsed:a.surface!==null&&a.surface===e.lastUsedSurface,available:a.installState==="available"}))}function TC(e){return e.installedApps.flatMap(t=>!t.enabled||t.installState!=="enabled"?[]:t.lobbyEntries.map(a=>({appId:t.id,entryId:a.id,title:a.title,subtitle:a.subtitle??null,routePath:a.routePath,publisher:t.publisher,installState:t.installState,trustTier:t.trustTier})))}const DC=[l.lobbyGreetingChooseSurface,l.lobbyGreetingHomeReady,l.lobbyGreetingPickProduct,l.lobbyGreetingEverythingStaged,l.lobbyGreetingOpenSurface,l.lobbyGreetingAwake,l.lobbyGreetingContinue];function NC(e){return(e??[]).map(t=>t.trim()).filter(t=>t.length>0)}function jC(e,t=Math.random,a=cd){const o=NC(e),n=DC.map(s=>a(s)),i=o.length>0?o:n;return i[Math.floor(t()*i.length)]}const Bo=$e("en"),MC=[l.lobbyGreetingChooseSurface,l.lobbyGreetingHomeReady,l.lobbyGreetingPickProduct,l.lobbyGreetingEverythingStaged,l.lobbyGreetingOpenSurface,l.lobbyGreetingAwake,l.lobbyGreetingContinue],EC=[l.chatNewChatDraftDefaultGreeting,l.chatNewChatDraftGreetingNap,l.chatNewChatDraftGreetingKeyboard,l.chatNewChatDraftGreetingLetsGo,l.chatNewChatDraftGreetingStandby,l.chatNewChatDraftGreetingTaskReady,l.chatNewChatDraftGreetingOnDuty],IC=[l.codeNewDraftGreeting,l.codeNewDraftGreetingOpenRepo,l.codeNewDraftGreetingBuildFixRefactor,l.codeNewDraftGreetingShipImprovement,l.codeNewDraftGreetingSmallestChange];function BC(e,t=Bo){return e.map(a=>t(a))}function FC(e){switch(e.bundle.scope.surfaceId){case"lobby":return MC;case"chat:new":return EC;case"code:new":return IC;default:return null}}function OC(e,t=Bo){if(!e)return null;const a=e.bundle.content.greeting?.trim();if(!a)return null;if(e.bundle.provenance.originMode!=="deterministic")return a;const o=FC(e);if(!o)return a;const i=BC(o,Bo).findIndex(c=>c===a);if(i<0)return a;const s=o[i];return s?t(s):a}function WC({envelope:e}){const{t}=_(),a=Ue(),[o]=d.useState(()=>jC(null,Math.random,t)),n=AC({products:e.products,lastUsedSurface:e.lastProductSurface??null},t),i=TC({installedApps:e.installedApps??[]}),s=OC(e.lobby.guideCatAssist,t)??o,c=Pr(e.runtime),h=fb(c),u=Tn(c,t),g=t("lobbyRuntimeStatusLabel",{runtimeStatus:u}),p=e.ownerAvatarUrl?{backgroundImage:`url(${e.ownerAvatarUrl})`,backgroundSize:"cover",backgroundPosition:"center"}:void 0,f={platformShellSurface:e.lastProductSurface??"chat"};return r.jsxs("div",{className:"screen lobbyScreen",children:[r.jsx(xC,{animationMode:e.lobby.animationMode,cats:e.lobby.cats}),r.jsxs("div",{className:"platformLobby",children:[r.jsxs("div",{className:"lobbyTopBar",children:[r.jsx("span",{className:"lobbyBrand",children:t("appBrandName")}),r.jsxs("div",{className:"lobbyTopBarEnd",children:[r.jsx(An,{slotKind:"lobby"}),r.jsxs("div",{className:"lobbyIdentity",role:"group","aria-label":t("lobbyAccountSettingsAriaLabel"),children:[r.jsxs("button",{type:"button",className:"lobbyIdentityMainButton",onClick:()=>a("/settings/general",{state:f}),"aria-label":t("lobbyOpenAccountSettings"),children:[r.jsx("span",{className:"lobbyAvatar",style:p,children:e.ownerAvatarUrl?null:Ae(e.ownerDisplayName)}),r.jsx("span",{className:"lobbyOwnerName",children:e.ownerDisplayName})]}),r.jsx("button",{type:"button",className:"lobbyIdentityRuntime",onClick:()=>a("/settings/runtime",{state:f}),"data-tooltip":u,"aria-label":g,children:r.jsx("span",{className:h,"aria-hidden":"true"})})]})]})]}),r.jsx("div",{className:"lobbyHero",children:r.jsx("h1",{className:"lobbyGreeting",children:s})}),r.jsx(_c,{envelope:e}),r.jsxs("div",{className:"lobbyProducts",children:[r.jsx("p",{className:"lobbyProductsEyebrow",children:t("lobbyProductsSectionTitle")}),r.jsx("div",{className:"platformLobbyGrid",children:n.map(w=>{const k=`contentCard platformLobbyCard platformLobbyCard--${w.surface??"module"}`+(w.lastUsed?" platformLobbyCard--recent":"")+(w.available?" platformLobbyCard--mock":""),y=r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"platformLobbyCardAccent"}),r.jsx("span",{className:"platformLobbyCardName",children:w.productName}),r.jsx("span",{className:"platformLobbyCardSub",children:w.subtitle}),w.lastUsed?r.jsx("span",{className:"platformLobbyCardHint",children:t("lobbyContinueText")}):null]});return w.available?r.jsx("div",{className:k,children:y},w.productId):r.jsx("button",{type:"button",className:k,onClick:()=>a(w.routePrefix),children:y},w.productId)})})]}),i.length>0?r.jsxs("div",{className:"lobbyProducts",children:[r.jsx("p",{className:"lobbyProductsEyebrow",children:t("lobbyAppsSectionTitle")}),r.jsx("div",{className:"platformLobbyGrid",children:i.map(w=>r.jsxs("button",{type:"button",className:"contentCard platformLobbyCard platformLobbyCard--app",onClick:()=>a(w.routePath),"aria-label":t("lobbyOpenEntry",{entryTitle:w.title}),children:[r.jsx("div",{className:"platformLobbyCardAccent"}),r.jsx("span",{className:"platformLobbyCardName",children:w.title}),w.subtitle?r.jsx("span",{className:"platformLobbyCardSub",children:w.subtitle}):null]},`${w.appId}:${w.entryId}`))})]}):null]})]})}class ba extends Error{constructor(t,a,o){super(t),this.status=a,this.code=o,this.name="PlatformSetupApiError"}}function UC(e){return e instanceof ba&&e.status===401&&(e.code===null||e.code===Fe.unauthenticated)}function HC(e){return e instanceof ba&&e.status===403&&e.code===Fe.forbidden&&e.message==="Auth repair is required."}async function dd(e,t){return(await ud(e,t)).message}async function ud(e,t){try{const a=await e.json(),o=GC(a);if(typeof o?.code=="string"){const n=t.errorMessagesByCode?.[o.code];return n?{message:n,code:o.code}:{message:t.fallbackMessageForStatus(e.status),code:o.code}}if(typeof o?.message=="string")return{message:o.message,code:null}}catch{}return{message:t.fallbackMessageForStatus(e.status),code:null}}function GC(e){if(typeof e!="object"||e===null)return null;const t=e.error;return typeof t=="object"&&t!==null?t:null}function _C(e){if(typeof e!="object"||e===null||!("routeTarget"in e)||!("auth"in e)||!("setup"in e))return null;const t=e.routeTarget;return t==="setup"||t==="login"||t==="repair"?t:null}async function KC(e,t){const a=await fetch("/api/platform/setup/complete",{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(e),signal:t.signal});if(!a.ok)throw new Error(await dd(a,t));return await a.json()}async function Na(e){const t=await fetch("/api/app-shell",{headers:{Accept:"application/json"},signal:e.signal});if(!t.ok){const n=await ud(t,e);throw new ba(n.message,t.status,n.code)}const a=await t.json(),o=_C(a);if(o==="login")throw new ba("Authentication is required.",401,Fe.unauthenticated);if(o==="repair")throw new ba("Auth repair is required.",403,Fe.forbidden);return a}async function qC(e,t){const a=await fetch("/api/platform/bootstrap-diagnostics/opened",{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({attemptId:e??null}),signal:t.signal});if(!a.ok)throw new Error(await dd(a,t));return await a.json()}async function zC(e){return Sr(e)}async function $C(e,t){return mn({provider:e,instance:t})}async function VC(e,t){return gn({provider:e,instance:t})}function YC({name:e,onNameChange:t,nameReadOnly:a,provider:o,instance:n,model:i,modelSelection:s,onTargetChange:c,nameLabel:h,namePlaceholder:u,nameHint:g,autoFocusName:p,makeBoss:f,onMakeBossChange:w,hideMakeBoss:k,fetchProviderRegistry:y,fetchProviderModels:m,fetchAdvancedProviderModels:C,onProviderRegistryChange:v}){const{t:b}=_();return r.jsxs(r.Fragment,{children:[r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:h??b(l.settingsGeneralNameLabel)}),r.jsx("input",{className:"textInput",value:e,onChange:S=>t(S.target.value),placeholder:u,autoFocus:p&&!a,readOnly:a,"aria-readonly":a?"true":void 0}),g?r.jsx("span",{className:"fieldHint",children:g}):null]}),!k&&w?r.jsxs("label",{className:"fieldLabel fieldLabelInline",children:[r.jsx("input",{type:"checkbox",checked:f??!1,onChange:S=>w(S.target.checked)}),r.jsx("span",{children:b(l.sharedSettingsCatsSetBossCatLabel)})]}):null,r.jsx(Pc,{provider:o,instance:n,model:i,modelSelection:s,onTargetChange:c,fetchProviderRegistry:y,fetchProviderModels:m,fetchAdvancedProviderModels:C,onProviderRegistryChange:v})]})}function QC(e){return r.jsx(YC,{...e,fetchProviderRegistry:zC,fetchProviderModels:$C,fetchAdvancedProviderModels:VC})}function JC({provider:e,instance:t,model:a,modelSelection:o,runtimeReachable:n,onTargetChange:i}){const s=vt(),{t:c}=_(),[h,u]=d.useState({state:"ready",providers:[]}),g=h.state==="runtime_unreachable"?{className:"statusChip statusChipWarm",label:c(l.sharedProviderModelFieldLoadingProviders)}:h.state==="no_usable_targets"?{className:"statusChip statusChipWarm",label:c(l.setupGuideCatNoUsableTargets)}:n?{className:"statusChip statusChipReady",label:c(l.setupGuideCatRuntimeConnected)}:{className:"statusChip statusChipWarm",label:c(l.setupGuideCatRuntimeNotDetected)};return r.jsxs(r.Fragment,{children:[r.jsx(QC,{name:s,onNameChange:()=>{},nameReadOnly:!0,provider:e,instance:t,model:a,modelSelection:o,onTargetChange:i,nameLabel:c(l.setupGuideCatNameLabel),namePlaceholder:s,nameHint:c(l.setupGuideCatNameHint),hideMakeBoss:!0,hideProductToggles:!0,onProviderRegistryChange:u}),r.jsx("div",{className:"setupRuntimeStatus",children:r.jsx("span",{className:g.className,children:g.label})})]})}function XC(e){return!!e.model.trim()}function ZC(e){return!e.createGuideCat||XC({model:e.model})}const ja=[1,2],eS=ja.length;function Ci(e){const t=ja.indexOf(e);return ja[t+1]??e}function tS(e){const t=ja.indexOf(e);return ja[t-1]??e}const aS=new Set(["Invalid desktop platform shell payload."]);function rS(e,t,a){return e instanceof Error?aS.has(e.message)?t:e.message:t}function oS(e){return e.step===2&&e.createGuideCat}function nS({envelope:e,onComplete:t}){const[a,o]=d.useState(1),[n,i]=d.useState(""),[s,c]=d.useState(""),[h,u]=d.useState(""),[g,p]=d.useState(!1),[f,w]=d.useState("claude"),[k,y]=d.useState(""),[m,C]=d.useState(""),[v,b]=d.useState(null),[S,T]=d.useState(null),[M,j]=d.useState(""),R=d.useRef(!1),{t:P}=_(),A=S!==null,x=vt(),E=!!(n.trim()&&s.trim()&&h),O=ZC({createGuideCat:g,model:m}),$=e.bootstrapAttemptId??null,K=d.useCallback(async()=>{T("complete"),j("");try{const F=await KC({attemptId:$,ownerDisplayName:n.trim(),adminIdentifier:s.trim(),adminPassword:h,createGuideCat:g,guideCatProvider:g?f:void 0,guideCatInstance:g&&k||void 0,guideCatModel:g&&m||void 0,guideCatModelSelection:g?v:void 0},{fallbackMessageForStatus:Y=>P(l.setupWizardFailedWithStatus,{status:Y}),errorMessagesByCode:{already_complete:P(l.setupWizardAlreadyCompleteError),bad_request:P(l.setupWizardInvalidRequestError),configuration_error:P(l.setupWizardServerError),internal_error:P(l.setupWizardServerError)}});await Fb(F),t(F)}catch(F){j(rS(F,P(l.setupWizardFailedMessage)))}finally{T(null)}},[g,s,h,k,m,v,t,n,f,$,P]);d.useEffect(()=>{R.current||(R.current=!0,qC($,{fallbackMessageForStatus:F=>P(l.setupWizardRecordOpenFailedWithStatus,{status:F})}).catch(()=>{}))},[$,P]),d.useEffect(()=>{function F(Y){Y.key!=="Enter"||A||Y.target instanceof HTMLSelectElement||Y.target instanceof HTMLTextAreaElement||a===1&&!E||a===2&&!O||(Y.preventDefault(),a===1?o(Ci(a)):a===2&&K())}return document.addEventListener("keydown",F),()=>document.removeEventListener("keydown",F)},[A,O,E,K,a]),d.useEffect(()=>{oS({step:a,createGuideCat:g})&&Mg().catch(()=>{})},[g,a]);const ee=Array.from({length:eS},(F,Y)=>Y+1);return r.jsx("div",{className:"screen screenCentered",children:r.jsxs("div",{className:"setupWizard",children:[r.jsx("div",{className:"setupStepIndicator",children:ee.map(F=>r.jsx("span",{className:F<=a?"setupDot setupDotActive":"setupDot"},F))}),a===1?r.jsxs("div",{className:"contentCard setupCard",children:[r.jsx("p",{className:"eyebrow",children:P(l.appBrandName)}),r.jsx("h1",{children:P(l.setupWizardWelcomeTitle)}),r.jsx("p",{className:"heroNote",children:P(l.setupWizardWelcomeIntro)}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:P(l.setupWizardOwnerNameLabel)}),r.jsx("input",{className:"textInput",value:n,onChange:F=>i(F.target.value),placeholder:P(l.setupWizardOwnerNamePlaceholder),autoFocus:!0})]}),r.jsx("p",{className:"setupRuntimeNote",children:P(l.setupWizardAdminCredentialsHint)}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:P(l.setupWizardAdminIdentifierLabel)}),r.jsx("input",{className:"textInput",value:s,onChange:F=>c(F.target.value),placeholder:P(l.setupWizardAdminIdentifierPlaceholder),autoComplete:"username"})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:P(l.setupWizardAdminPasswordLabel)}),r.jsx("input",{className:"textInput",type:"password",value:h,onChange:F=>u(F.target.value),placeholder:P(l.setupWizardAdminPasswordPlaceholder),autoComplete:"new-password"})]}),M?r.jsx("p",{className:"feedbackText",children:M}):null,r.jsx("button",{className:"primaryButton setupPrimaryButton",disabled:!E,type:"button",onClick:()=>o(Ci(a)),children:P(l.setupWizardGetStartedButton)})]}):null,a===2?r.jsxs("div",{className:"contentCard setupCard",children:[r.jsx("p",{className:"eyebrow",children:P(l.setupWizardStepIndicator,{step:2,total:2})}),r.jsx("h1",{children:P(l.setupWizardEnableGuideTitle,{guideCatName:x})}),r.jsx("p",{className:"heroNote",children:P(l.setupWizardEnableGuideSubtitle)}),r.jsxs("label",{className:"setupCheckboxLabel",children:[r.jsx("input",{type:"checkbox",className:"setupCheckbox",checked:g,onChange:F=>p(F.target.checked)}),r.jsx("span",{children:P(l.setupWizardEnableGuideLabel,{guideCatName:x})})]}),g?r.jsx(JC,{provider:f,instance:k,model:m,modelSelection:v,runtimeReachable:e.runtime.reachable,onTargetChange:F=>{w(F.provider),y(F.instance),C(F.model),b(F.modelSelection??null)}}):r.jsx("p",{className:"setupRuntimeNote",children:P(l.setupWizardSkipGuideMessage,{guideCatName:x})}),M?r.jsx("p",{className:"feedbackText",children:M}):null,r.jsxs("div",{className:"setupActions",children:[r.jsx("button",{className:"setupBackButton",type:"button",disabled:A,onClick:()=>o(tS(a)),children:P(l.setupWizardBackButton)}),r.jsx("button",{className:"primaryButton setupPrimaryButton",disabled:A||!O,type:"button",onClick:()=>{K()},children:P(S==="complete"?l.setupWizardOpeningCatsAction:l.setupWizardOpenCatsAction)})]})]}):null]})})}function Si({onAuthenticated:e}){const{t}=_(),[a,o]=d.useState(""),[n,i]=d.useState(""),[s,c]=d.useState(!1),[h,u]=d.useState(""),[g,p]=d.useState(null),f=!!(a.trim()&&n&&!s),w=d.useCallback(()=>({fallbackMessageForStatus:C=>t(l.authLoginFailedWithStatus,{status:C}),errorMessagesByCode:{[Fe.unauthenticated]:t(l.authLoginInvalidCredentials),[Fe.forbidden]:t(l.authLoginForbidden),[Fe.csrfMismatch]:t(l.authLoginCsrfMismatch)}}),[t]);d.useEffect(()=>{let C=!0;return Da(w()).then(v=>{if(!C)return;const b=v.providers.google.enabled&&v.providers.google.clientId?.trim()||null;p(b)}).catch(()=>{C&&p(null)}),()=>{C=!1}},[w]);async function k(C){if(C.preventDefault(),!!f){c(!0),u("");try{await Rv({identifier:a.trim(),password:n},w());const v=await Na({fallbackMessageForStatus:b=>t(l.appLoadStateFailedWithStatus,{status:b})});e(v)}catch(v){u(v instanceof Error?v.message:t(l.authLoginFailed))}finally{c(!1)}}}const y=d.useCallback(async C=>{if(!s){c(!0),u("");try{await xv({credential:C.credential,csrfToken:C.csrfToken},w());const v=await Na({fallbackMessageForStatus:b=>t(l.appLoadStateFailedWithStatus,{status:b})});e(v)}catch(v){u(v instanceof Error?v.message:t(l.authLoginFailed))}finally{c(!1)}}},[w,s,e,t]),m=d.useCallback(()=>{u(t(l.authLoginGoogleUnavailable))},[t]);return r.jsx("div",{className:"screen screenCentered",children:r.jsxs("form",{className:"contentCard setupCard",onSubmit:C=>{k(C)},children:[r.jsx("p",{className:"eyebrow",children:t(l.appBrandName)}),r.jsx("h1",{children:t(l.authLoginTitle)}),r.jsx("p",{className:"heroNote",children:t(l.authLoginSubtitle)}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:t(l.authLoginIdentifierLabel)}),r.jsx("input",{className:"textInput",value:a,onChange:C=>o(C.target.value),placeholder:t(l.authLoginIdentifierPlaceholder),autoComplete:"username",autoFocus:!0})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:t(l.authLoginPasswordLabel)}),r.jsx("input",{className:"textInput",type:"password",value:n,onChange:C=>i(C.target.value),placeholder:t(l.authLoginPasswordPlaceholder),autoComplete:"current-password"})]}),h?r.jsx("p",{className:"feedbackText",children:h}):null,r.jsx("button",{className:"primaryButton setupPrimaryButton",disabled:!f,type:"submit",children:t(s?l.authLoginSubmitting:l.authLoginSubmit)}),g?r.jsxs("div",{className:"googleSignInSection",children:[r.jsx("div",{className:"setupRuntimeNote",children:t(l.authLoginGoogleOriginHint)}),r.jsx(nd,{clientId:g,disabled:s,onCredential:C=>{y(C)},onError:m})]}):null]})})}function sS({onRepaired:e}){const{t}=_(),[a,o]=d.useState(""),[n,i]=d.useState(""),[s,c]=d.useState(""),[h,u]=d.useState(""),[g,p]=d.useState(!1),[f,w]=d.useState(""),k=!!(n.trim()&&s&&h.trim()&&!g);async function y(m){if(m.preventDefault(),!k){w(t(l.authRepairFailed));return}p(!0),w("");try{const C=a.trim(),v=h.trim();await Nv({displayName:C||void 0,identifier:n.trim(),password:s,recoveryToken:v||void 0},{fallbackMessageForStatus:S=>t(l.authRepairFailedWithStatus,{status:S}),errorMessagesByCode:{[Fe.forbidden]:t(l.authRepairForbidden)}});const b=await Na({fallbackMessageForStatus:S=>t(l.appLoadStateFailedWithStatus,{status:S})});e(b)}catch(C){w(C instanceof Error?C.message:t(l.authRepairFailed))}finally{p(!1)}}return r.jsx("div",{className:"screen screenCentered",children:r.jsxs("form",{className:"contentCard setupCard",onSubmit:m=>{y(m)},children:[r.jsx("p",{className:"eyebrow",children:t(l.appBrandName)}),r.jsx("h1",{children:t(l.authRepairTitle)}),r.jsx("p",{className:"heroNote",children:t(l.authRepairSubtitle)}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:t(l.authRepairDisplayNameLabel)}),r.jsx("input",{className:"textInput",value:a,onChange:m=>o(m.target.value),placeholder:t(l.authRepairDisplayNamePlaceholder),autoComplete:"name",autoFocus:!0})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:t(l.authRepairIdentifierLabel)}),r.jsx("input",{className:"textInput",value:n,onChange:m=>i(m.target.value),placeholder:t(l.authRepairIdentifierPlaceholder),autoComplete:"username"})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:t(l.authRepairPasswordLabel)}),r.jsx("input",{className:"textInput",type:"password",value:s,onChange:m=>c(m.target.value),placeholder:t(l.authRepairPasswordPlaceholder),autoComplete:"new-password"})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:t(l.authRepairRecoveryTokenLabel)}),r.jsx("input",{className:"textInput",value:h,onChange:m=>u(m.target.value),placeholder:t(l.authRepairRecoveryTokenPlaceholder),autoComplete:"off"})]}),r.jsx("p",{className:"setupRuntimeNote",children:t(l.authRepairRecoveryTokenHint)}),f?r.jsx("p",{className:"feedbackText",role:"alert",children:f}):null,r.jsx("button",{className:"primaryButton setupPrimaryButton",disabled:!k,type:"submit",children:t(g?l.authRepairSubmitting:l.authRepairSubmit)})]})})}const Li="/login",Pi="/repair",iS="/lobby";function lS(e,t){return UC(e)?{status:"unauthenticated"}:HC(e)?{status:"repairRequired"}:{status:"error",message:e instanceof Error?e.message:t}}function Ri(e){return e.lastProductSurface?gr(e.lastProductSurface):iS}const cS="modulepreload",dS=function(e){return"/"+e},xi={},En=function(t,a,o){let n=Promise.resolve();if(a&&a.length>0){let h=function(u){return Promise.all(u.map(g=>Promise.resolve(g).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),c=s?.nonce||s?.getAttribute("nonce");n=h(a.map(u=>{if(u=dS(u),u in xi)return;xi[u]=!0;const g=u.endsWith(".css"),p=g?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${p}`))return;const f=document.createElement("link");if(f.rel=g?"stylesheet":cS,g||(f.as="script"),f.crossOrigin="",f.href=u,c&&f.setAttribute("nonce",c),document.head.appendChild(f),g)return new Promise((w,k)=>{f.addEventListener("load",w),f.addEventListener("error",()=>k(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(s){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=s,window.dispatchEvent(c),!c.defaultPrevented)throw s}return n.then(s=>{for(const c of s||[])c.status==="rejected"&&i(c.reason);return t().catch(i)})},uS=()=>En(()=>import("./App-boB4WrmU.js"),__vite__mapDeps([0,1,2,3,4,5])),pS=()=>En(()=>import("./App-BpxZB5ym.js"),__vite__mapDeps([6,1,2,3,7,8])),hS=()=>En(()=>import("./App-DYTUfAl6.js"),__vite__mapDeps([9,1,2,7,4,10])),mS={chat:uS,work:pS,code:hS};function pd(e){return mS[e]}function In(e){return d.lazy(pd(e))}function gS(e,t=pd){return t(e)()}function NP(e){return gS(e)}const kS=5e3,wS=In("chat"),fS=In("work"),bS=In("code");function yS(){if(typeof navigator>"u")return"en";const e=Array.isArray(navigator.languages)&&navigator.languages.length>0?navigator.languages:[navigator.language];for(const t of e){const a=Yo(t);if(a)return a}return"en"}function vS(e){return e?.language?.uiLanguagePreference??"auto"}function CS(e){return e==="auto"?yS():zp(e)}function SS(e){return!!(e.guideCat&&Ra(e.guideCat.status)&&!e.productSurfaceFallbackActive)}function LS({surface:e,translate:t,onVisibilityChange:a}){const o=sl(e,Mp(e),t);return d.useEffect(()=>(a(!0),()=>a(!1)),[a]),r.jsx("div",{className:"screen screenCentered",children:r.jsxs("div",{className:"loadingPanel",children:[r.jsx("p",{className:"eyebrow",children:t("appBrandName")}),r.jsx("h1",{children:t("appLoadingWithSurface",{surface:o})})]})})}function to(e,t,a){const o=e==="work"?fS:e==="code"?bS:wS;return r.jsx(d.Suspense,{fallback:r.jsx(LS,{surface:e,translate:a,onVisibilityChange:t}),children:r.jsx(o,{})})}function PS(e){return typeof e!="object"||e===null?null:ga(e.platformShellSurface)}function RS(e){return e.loadStatus!=="ready"||!e.setupComplete||La(e.pathname)||hl(e.pathname)?e.t("appTitle"):null}function xS(e,t){const a=Date.parse(e.metadata.generatedAt),o=Date.parse(t.metadata.generatedAt);return Number.isNaN(a)||Number.isNaN(o)?!0:o>=a}function AS(){const e=Ne(),t=Ue(),[a,o]=d.useState({status:"loading"}),[n,i]=d.useState(!1),[s,c]=d.useState(0),h=vS(a.status==="ready"?a.envelope:null),[u,g]=d.useState(null),p=u??h,f=CS(p),w=d.useMemo(()=>$e(f),[f]),k=d.useRef(null),y=d.useRef(e.pathname),[m,C]=d.useState("chat");d.useEffect(()=>{g(null)},[h]);const v=d.useCallback(async(F,Y)=>{try{const H=await Na({signal:F,fallbackMessageForStatus:ae=>w("appLoadStateFailedWithStatus",{status:ae})});F?.aborted||d.startTransition(()=>o({status:"ready",envelope:H}))}catch(H){if(F?.aborted)return;const ae=lS(H,w("appLoadErrorMessage"));if(ae.status==="unauthenticated"){d.startTransition(()=>o({status:"unauthenticated"}));return}if(ae.status==="repairRequired"){d.startTransition(()=>o({status:"repairRequired"}));return}Y?.suppressErrors||o(ae)}},[w]);d.useEffect(()=>{const F=new AbortController;return v(F.signal),()=>F.abort()},[v]),d.useEffect(()=>{function F(){v(void 0,{suppressErrors:!0})}return window.addEventListener(To,F),()=>{window.removeEventListener(To,F)}},[v]);const b=La(e.pathname),S=tn({hydrate:a.status==="ready"}),T=d.useCallback(()=>{S.update({sidecarSeen:!0})},[S.update]);d.useEffect(()=>{const F=y.current;y.current=e.pathname,!(!(b&&!La(F))||a.status!=="ready")&&v(void 0,{suppressErrors:!0})},[b,e.pathname,v,a.status]),d.useEffect(()=>{const F=window.history.state;Ab(e.pathname,F?.idx),yb(e.pathname,F?.idx)},[e.pathname]),d.useEffect(()=>{if(a.status!=="ready"||!b||typeof window>"u"||typeof document>"u")return;let F=null;const Y=()=>{if(document.visibilityState==="hidden"||F)return;const G=new AbortController;F=G,Na({signal:G.signal,fallbackMessageForStatus:I=>w("appLoadStateFailedWithStatus",{status:I})}).then(I=>{G.signal.aborted||d.startTransition(()=>{o(z=>z.status!=="ready"||!xS(z.envelope,I)?z:{status:"ready",envelope:{...z.envelope,runtime:I.runtime,runtimeSetup:I.runtimeSetup,metadata:I.metadata,bootstrapAttemptId:I.bootstrapAttemptId}})})}).catch(()=>{}).finally(()=>{F===G&&(F=null)})},H=window.setInterval(Y,kS),ae=()=>{Y()},ue=()=>{document.visibilityState==="visible"&&Y()};return window.addEventListener("focus",ae),document.addEventListener("visibilitychange",ue),()=>{F&&F.abort(),window.clearInterval(H),window.removeEventListener("focus",ae),document.removeEventListener("visibilitychange",ue)}},[b,a.status,w]);const M=a.status==="ready"?a.envelope:null,j=!!M?.setupCompleteAt,R=M?.lastProductSurface??null,P=PS(e.state),A=k.current,x=hh(P,A,R,m);if(d.useEffect(()=>{const F=RS({loadStatus:a.status,pathname:e.pathname,setupComplete:j,t:w});F&&(document.title=F)},[e.pathname,j,a.status]),d.useEffect(()=>{a.status!=="ready"||!j||Sr().then(F=>xg(F)).catch(()=>{})},[j,a.status]),d.useEffect(()=>{if(a.status!=="ready")return;const F=a.envelope.lastProductSurface??null;F&&C(Y=>Y===F?Y:F)},[a.status,a.status==="ready"?a.envelope.lastProductSurface:null]),d.useEffect(()=>{if(Ia(e.pathname)){C(F=>F===x?F:x);return}},[e.pathname,x]),d.useEffect(()=>{if(!j)return;const F=ph(e.pathname);if(!(e.pathname==="/"&&R!=="chat")&&!(e.pathname==="/"&&!R)&&!uh(e.pathname)){if(C(Y=>Y===F?Y:F),k.current===null){k.current=F,F!==R&&(d.startTransition(()=>{o(Y=>Y.status==="ready"?{status:"ready",envelope:{...Y.envelope,lastProductSurface:F}}:Y)}),fetch("/api/platform/preferences",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({lastProductSurface:F})}).catch(()=>{}));return}F!==k.current&&(k.current=F,d.startTransition(()=>{o(Y=>Y.status==="ready"?{status:"ready",envelope:{...Y.envelope,lastProductSurface:F}}:Y)}),fetch("/api/platform/preferences",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({lastProductSurface:F})}).catch(()=>{}))}},[j,R,e.pathname]),a.status==="loading")return r.jsx(zt,{languagePreference:p,locale:f,setLanguagePreference:g,children:r.jsx("div",{className:"screen screenCentered",children:r.jsxs("div",{className:"loadingPanel",children:[r.jsx("p",{className:"eyebrow",children:w("appBrandName")}),r.jsx("h1",{children:w("appLoadingEllipsis")})]})})});if(a.status==="error")return r.jsx(zt,{languagePreference:p,locale:f,setLanguagePreference:g,children:r.jsx("div",{className:"screen screenCentered",children:r.jsxs("div",{className:"errorPanel",children:[r.jsx("p",{className:"eyebrow",children:w("appErrorEyebrow")}),r.jsx("h1",{children:w("appErrorTitle")}),r.jsx("p",{children:a.message})]})})});if(a.status==="unauthenticated")return r.jsx(zt,{languagePreference:p,locale:f,setLanguagePreference:g,children:r.jsxs(ma,{children:[r.jsx(se,{path:Li,element:r.jsx(Si,{onAuthenticated:F=>{const Y=Ri(F);Vt.flushSync(()=>o({status:"ready",envelope:F})),t(Y,{replace:!0})}})}),r.jsx(se,{path:"*",element:r.jsx(Lt,{to:Li,replace:!0})})]})});if(a.status==="repairRequired")return r.jsx(zt,{languagePreference:p,locale:f,setLanguagePreference:g,children:r.jsxs(ma,{children:[r.jsx(se,{path:Pi,element:r.jsx(sS,{onRepaired:F=>{const Y=Ri(F);Vt.flushSync(()=>o({status:"ready",envelope:F})),t(Y,{replace:!0})}})}),r.jsx(se,{path:"*",element:r.jsx(Lt,{to:Pi,replace:!0})})]})});const{envelope:E}=a;if(!E.setupCompleteAt)return r.jsx(zt,{languagePreference:p,locale:f,setLanguagePreference:g,children:r.jsxs(ma,{children:[r.jsx(se,{path:"/setup",element:r.jsx(nS,{envelope:E,onComplete:F=>{Vt.flushSync(()=>{o({status:"ready",envelope:F}),F.guideCat&&Ra(F.guideCat.status)&&S.hydrated&&!S.prefs.sidecarSeen&&c(Y=>Y+1)}),t("/lobby",{replace:!0})}})}),r.jsx(se,{path:"*",element:r.jsx(Lt,{to:"/setup",replace:!0})})]})});const $=!!E.lastProductSurface?gr(x):"/lobby",K={guideCat:E.guideCat,productSurfaceFallbackActive:n},ee=SS(K);return r.jsx(zt,{languagePreference:p,locale:f,setLanguagePreference:g,children:r.jsxs(Uh,{guideCat:ee?K.guideCat:null,placement:S.prefs.placement,floatingAnchor:S.prefs.floatingAnchor,sidecarMode:S.prefs.sidecarMode,proactiveGreetingToken:s,onPersistSeen:T,onCommit:S.update,children:[ee?r.jsx(Gm,{guideCat:K.guideCat,ownerDisplayName:E.ownerDisplayName,unreadCount:0,onDismissed:()=>{v()}}):null,r.jsxs(ma,{children:[r.jsx(se,{path:"/lobby",element:r.jsx(WC,{envelope:E})}),r.jsxs(se,{element:r.jsx(Pb,{envelope:E}),children:[r.jsx(se,{path:"/entities",element:r.jsx(ab,{envelope:E})}),r.jsx(se,{path:"/entities/cats",element:r.jsx(jf,{})}),r.jsx(se,{path:"/entities/cats/:catId",element:r.jsx(kw,{})}),r.jsx(se,{path:"/entities/clowders",element:r.jsx(sb,{envelope:E})}),r.jsx(se,{path:"/entities/clowders/:clowderId",element:r.jsx($s,{envelope:E})}),r.jsx(se,{path:"/entities/clowders/:clowderId/:tab",element:r.jsx($s,{envelope:E})}),r.jsx(se,{path:"/entities/catteries",element:r.jsx(ib,{envelope:E})}),r.jsx(se,{path:"/entities/catteries/:catteryId",element:r.jsx(zs,{envelope:E})}),r.jsx(se,{path:"/entities/catteries/:catteryId/:tab",element:r.jsx(zs,{envelope:E})})]}),r.jsx(se,{path:"/apps/:appId/*",element:r.jsx(Qm,{envelope:E})}),r.jsx(se,{path:"/products",element:r.jsx(Lt,{to:"/lobby",replace:!0})}),r.jsx(se,{path:"/login",element:r.jsx(Si,{onAuthenticated:F=>{Vt.flushSync(()=>o({status:"ready",envelope:F})),t($,{replace:!0})}})}),r.jsx(se,{element:r.jsx(Ib,{envelope:E}),children:r.jsx(se,{path:"/settings/*",element:r.jsx(wC,{})})}),r.jsx(se,{path:`${Er.chat.routePrefix}/*`,element:to("chat",i,w)}),r.jsx(se,{path:`${Er.work.routePrefix}/*`,element:to("work",i,w)}),r.jsx(se,{path:`${Er.code.routePrefix}/*`,element:to("code",i,w)}),r.jsx(se,{path:"/setup",element:r.jsx(Lt,{to:$,replace:!0})}),r.jsx(se,{path:"/",element:r.jsx(Lt,{to:$,replace:!0})}),r.jsx(se,{path:"*",element:r.jsx(Lt,{to:$,replace:!0})})]})]})})}const TS=new Lp({defaultOptions:{queries:{staleTime:5e3,refetchOnWindowFocus:!0,refetchOnMount:"always",retry:1}}});Lv();Ch();md.createRoot(document.getElementById("root")).render(r.jsx(gd.StrictMode,{children:r.jsx(Pp,{client:TS,children:r.jsx(Uu,{useTransitions:!1,children:r.jsx(AS,{})})})}));export{ur as $,ES as A,FL as B,qL as C,OL as D,Ts as E,HL as F,EL as G,ln as H,ye as I,aC as J,rC as K,oC as L,LP as M,Lt as N,yP as O,PP as P,RP as Q,ma as R,mr as S,mt as T,CP as U,$e as V,vP as W,Ue as X,SP as Y,iC as Z,Wt as _,_k as a,um as a$,nC as a0,AP as a1,DP as a2,kr as a3,id as a4,TP as a5,cC as a6,xP as a7,sC as a8,kh as a9,Tl as aA,go as aB,At as aC,nn as aD,yr as aE,ac as aF,$S as aG,TL as aH,_t as aI,kC as aJ,$c as aK,Vc as aL,Kl as aM,WS as aN,KS as aO,OS as aP,US as aQ,uP as aR,wP as aS,KL as aT,Ye as aU,Ne as aV,Xd as aW,zL as aX,_L as aY,GL as aZ,Ia as a_,NS as aa,JL as ab,QL as ac,YL as ad,VL as ae,fs as af,Xt as ag,ik as ah,mk as ai,TS as aj,wL as ak,nh as al,kg as am,OC as an,ok as ao,kL as ap,yL as aq,gL as ar,fL as as,Ol as at,xm as au,Ak as av,xL as aw,ht as ax,dn as ay,BS as az,bL as b,HS as b$,an as b0,hs as b1,xl as b2,ed as b3,Et as b4,It as b5,Bt as b6,Cr as b7,Al as b8,Ww as b9,sf as bA,Sm as bB,Zc as bC,WL as bD,UL as bE,GS as bF,Ql as bG,na as bH,ct as bI,Gg as bJ,CL as bK,ML as bL,mf as bM,qg as bN,JS as bO,XS as bP,dt as bQ,rL as bR,aL as bS,oL as bT,pk as bU,PL as bV,LL as bW,rP as bX,aP as bY,tP as bZ,tL as b_,Fw as ba,Ow as bb,wg as bc,ir as bd,tr as be,ZL as bf,nP as bg,sP as bh,oP as bi,Ck as bj,NP as bk,YS as bl,lL as bm,Vg as bn,iL as bo,cL as bp,Kg as bq,QS as br,bP as bs,Cn as bt,iP as bu,fP as bv,kf as bw,Pt as bx,ze as by,XL as bz,se as c,jL as c0,VS as c1,NL as c2,DL as c3,vL as c4,pL as c5,sk as c6,uL as c7,sL as c8,dL as c9,gP as cA,hP as cB,pP as cC,SL as cD,RL as cE,Rs as cF,eP as cG,kP as cH,ig as cI,mL as cJ,hL as cK,Vi as cL,eu as cM,Np as cN,IS as cO,Xp as cP,Vt as cQ,Qf as cR,Yf as cS,jp as cT,Pr as cU,Tn as cV,ga as cW,mP as cX,$r as cY,An as cZ,Yc as c_,lP as ca,cP as cb,dP as cc,ta as cd,gr as ce,Gt as cf,pt as cg,eL as ch,Ie as ci,Jp as cj,As as ck,AL as cl,_S as cm,qS as cn,nL as co,ZS as cp,zS as cq,Pc as cr,Ec as cs,lc as ct,be as cu,Ut as cv,FS as cw,yn as cx,Aa as cy,Ln as cz,up as d,op as e,jS as f,so as g,ot as h,IL as i,el as j,ap as k,no as l,l as m,Ae as n,Ji as o,BL as p,bp as q,Ap as r,$L as s,rp as t,_ as u,ip as v,Ke as w,Ca as x,vp as y,MS as z};
85
+ `),Z=x("h2",{},c==="onboarding"?s("Choose your AI tools","選擇你的 AI 工具"):s("AI tools","AI 工具")),q=x("p",{class:"pm-intro"},s("Choose what you want to use. Cats can help you install it. You can change this later in Settings.","勾選想使用的工具,Cats 可以協助安裝。之後也能在設定中調整。")),ne=[W,Z,q];if(m&&ne.push(x("div",{role:"alert"},m," ",E(s("Refresh","重新讀取"),()=>{M="",F()},k))),!g){ne.push(x("div",{class:"pm-progress",role:"status"},O(),s("Loading tools…","正在載入工具…"))),e.replaceChildren(...ne);return}const oe=g.runtime.selection,He=["missing","invalid"].includes(oe.state),Te=g.operations.length>0||g.runtime.state?.status==="scanning",N=$();oe.diskChanged||f!==oe.revision?ne.push(x("div",{role:"alert"},s("Configuration changed elsewhere. Refresh or reload before applying your changes.","設定已在其他地方變更。請重新讀取或載入後再套用。")," ",E(s("Discard draft and reload","捨棄草稿並重新載入"),()=>{f=oe.revision,H(!0)},k||Te))):oe.error&&ne.push(x("p",{role:"alert"},oe.error)),g.runtime.state?.error&&ne.push(x("p",{role:"alert"},g.runtime.state.error)),(k||Te)&&ne.push(x("div",{class:"pm-progress",role:"status","aria-live":"polite"},O(),y||s("Checking your tools…","正在檢查工具…"))),C&&!k&&!Te&&ne.push(x("p",{role:"status"},C)),c==="settings"&&ne.push(x("input",{type:"search",value:T,placeholder:s("Find a tool","尋找工具"),"data-focus":"search","aria-label":s("Find a tool","尋找工具"),oninput:J=>{T=J.target.value,X()}}));const ke=g.runtime.universe.slice();for(const J of oe.targets)ke.some(he=>h(he)===h(J))||ke.push({...J,familyLabel:`${J.provider} · ${J.instance}`,custom:!0});const je=x("div",{class:"pm-list"});if(c==="onboarding"){const J=["claude","antigravity","cursor","kiro","junie","goose","grok","devin","muse","ollama"],he=["codex","copilot","opencode","kilo","auggie","pi","cline"],we=["claude","antigravity","codex"],Be=te=>R||we.includes(te.provider)||p.has(h(te)),Je=x("div",{class:"pm-grid cli-grid"});for(const te of J)for(const Oe of ke.filter(Ge=>!Ge.custom&&Ge.provider===te&&Be(Ge)))Je.append(ue(Oe,oe,Te));R&&Je.append(x("div",{class:"pm-group","data-group":"npm"},s("Tools that use Node.js / npm","使用 Node.js/npm 的工具"))),Je.append(re());for(const te of he)for(const Oe of ke.filter(Ge=>!Ge.custom&&Ge.provider===te&&Be(Ge)))Je.append(ue(Oe,oe,Te));const gt=ke.filter(te=>(te.custom||!J.includes(te.provider)&&!he.includes(te.provider))&&Be(te));gt.length&&Je.append(x("div",{class:"pm-group","data-group":"connections"},s("Other connections","其他連線")),...gt.map(te=>ue(te,oe,Te))),je.append(Je)}else T||je.append(re()),je.append(...ke.filter(J=>`${J.familyLabel} ${J.provider}`.toLowerCase().includes(T.toLowerCase())).map(J=>ue(J,oe,Te)));if(ne.push(je),j){const J=j;ne.push(x("div",{role:"dialog","aria-modal":"true","aria-label":s("Confirm uninstall","確認解除安裝"),class:"pm-dialog"},x("h3",{},s("Uninstall ","解除安裝 ")+J.target.provider+"?"),x("p",{},J.result.summary),x("ul",{},[...J.result.plannedActions,...J.result.warnings,...J.result.manualSteps].map(he=>x("li",{},he))),E(s("Cancel","取消"),()=>{j=null,X()},k)," ",E(s("Uninstall","解除安裝"),()=>{j=null,ae("uninstall",[J.target],J.revision)},k||J.revision!==f||$()||oe.diskChanged||J.result.runState==="failed"||!J.result.plannedActions.length)))}N&&ne.push(E(s("Discard changes","捨棄變更"),()=>{j=null,ee(g,!0),X()},k||Te||!!j,{class:"pm-discard"}));const Me=x("div",{class:"pm-footer"});N||He?Me.append(E(s("Apply","Apply"),()=>H(),k||Te||!!j||!!m||oe.diskChanged||f!==oe.revision,{class:"pm-primary","data-action":"apply"}),x("label",{},x("input",{type:"checkbox",checked:w,disabled:k,"data-focus":"detect-after","data-action":"detect-after",onchange:J=>{w=J.target.checked}}),s("Detect after applying","套用後偵測"))):Me.append(E(s("Detect selected","重新偵測已選項目"),()=>ae("detect",oe.targets),k||Te||!!j||!!m||oe.diskChanged||!oe.targets.length,{"data-action":"detect-selected"})),a.onContinue&&Me.append(E(s("Continue","繼續"),()=>{Y(s("Continuing…","繼續設定…"),async()=>{await a.onContinue()})},He||N||k||Te||!!j||!!m||oe.diskChanged,{class:"pm-primary pm-continue","data-action":"continue"})),c==="onboarding"?(Me.append(E(R?s("Show fewer","顯示較少"):s("Show more","顯示更多"),()=>{R=!R,X()},!1,{"data-action":"show-more"})),ne.splice(ne.indexOf(je),0,Me)):ne.push(Me),!He&&!N&&ne.push(x("p",{class:"pm-intro"},oe.targets.length===0?s("You can choose your tools later in Settings.","你可以稍後再到設定中選擇工具。"):s(`${oe.targets.length} tools selected. You can continue and finish installing later.`,`已選擇 ${oe.targets.length} 項工具。可以先繼續,稍後再完成安裝。`))),e.replaceChildren(...ne);for(const J of e.querySelectorAll("details[data-details]"))J.open=V.has(J.getAttribute("data-details"));if(je&&(je.scrollTop=U),D){const J=[...e.querySelectorAll("[data-focus]")].find(he=>he.getAttribute("data-focus")===D);if(J?.focus({preventScroll:!0}),typeof B=="number")try{J?.setSelectionRange(B,B)}catch{}}}X(),F();const pe=n.setInterval(()=>{o.visibilityState!=="hidden"&&F()},2e3),ve=()=>{F()};return n.addEventListener("focus",ve),{refresh:F,destroy(){v=!0,n.clearInterval(pe),n.removeEventListener("focus",ve),e.replaceChildren()}}}function Qv(e,t,a){const o=Pr(e);if(o==="unavailable"||o==="unknown")return{tone:"warm",label:a("settingsRuntimeStatusChipRuntimeUnavailable")};if(o==="degraded")return{tone:"warm",label:a("settingsRuntimeStatusChipRuntimeDegraded")};switch(t.status){case"ready":return{tone:"ready",label:a("settingsRuntimeStatusChipRuntimeReady")};case"selection_required":return{tone:"warm",label:a("settingsRuntimeStatusChipSetupReadyToApply")};case"attention_required":return{tone:"warm",label:a("settingsRuntimeStatusChipSetupNeedsRemediation")};case"scan_required":return{tone:"warm",label:a("settingsRuntimeStatusChipProviderScanRequired")};default:return{tone:"warm",label:a("settingsRuntimeStatusChipSetupUnavailable")}}}function Jv({onFeedback:e}){const t=d.useRef(null),{locale:a}=_();return d.useEffect(()=>{const o=ta();if(!t.current||!o?.getProviderSetup||!o.applyProviderSetup||!o.runProviderSetup)return;const n=Yv(t.current,o,{context:"settings",locale:a,onFeedback:e});return()=>n.destroy()},[a,e]),r.jsx("div",{ref:t})}function Xv({payload:e}){const{toasts:t,showToast:a}=pt(),{t:o}=_(),i=d.useSyncExternalStore(zv,bi,bi).inflight,s=d.useMemo(()=>Dn(),[]),c=Qv(e.runtime,e.runtimeSetup,o),h=p=>p===1?"":"s",u=d.useCallback(p=>{if(!(p instanceof Error))return o("settingsRuntimeRefreshFailure");const f=Eg(p.message);return f===null?p.message:o("settingsRuntimeRefreshFailureWithStatus",{status:f})},[o]);d.useEffect(()=>$v(p=>{if(p.type==="success"){const{refreshed:f,failures:w}=p.value;w.length>0?a(o("settingsRuntimeRefreshSummaryWithFailures",{refreshed:f,failed:w.length})):a(o("settingsRuntimeRefreshSummary",{refreshed:f,pluralSuffix:h(f)}))}else a(u(p.error))}),[u,a,o]);const g=()=>{Vv().catch(()=>{})};return r.jsxs(r.Fragment,{children:[r.jsxs(xe,{header:r.jsx(de,{title:o("settingsRuntimeStatusTitle"),description:o("settingsRuntimeStatusDescription")}),children:[r.jsx("div",{className:"settingsChipRow",children:r.jsx(st,{tone:c.tone,children:c.label})}),r.jsxs("div",{className:"settingsRuntimeMetrics",children:[r.jsxs("div",{className:"settingsRuntimeMetric",children:[r.jsx("strong",{children:e.runtimeSetup.availableCount}),r.jsx("span",{children:o("settingsRuntimeMetricReadyProviders")})]}),r.jsxs("div",{className:"settingsRuntimeMetric",children:[r.jsx("strong",{children:e.runtimeSetup.providerCount}),r.jsx("span",{children:o("settingsRuntimeMetricProvidersScanned")})]}),r.jsxs("div",{className:"settingsRuntimeMetric",children:[r.jsx("strong",{children:e.runtimeSetup.providersNeedingAttention.length}),r.jsx("span",{children:o("settingsRuntimeMetricNeedAttention")})]})]})]}),e.runtimeSetup.providersNeedingAttention.length>0?r.jsx(xe,{header:r.jsx(de,{title:o("settingsRuntimeNeedAttentionTitle"),description:o("settingsRuntimeNeedAttentionDescription")}),children:r.jsx("ul",{className:"settingsRuntimeList",children:e.runtimeSetup.providersNeedingAttention.map(p=>r.jsxs("li",{children:[r.jsx("strong",{children:p.provider}),r.jsxs("span",{children:[p.family,typeof p.remediationCount=="number"?` • ${o("settingsRuntimeFixStepCount",{count:p.remediationCount,pluralSuffix:p.remediationCount===1?"":"s"})}`:""]})]},p.provider))})}):null,s?r.jsx(xe,{headerless:!0,children:r.jsx(Jv,{onFeedback:a})}):null,r.jsx(xe,{header:r.jsx(de,{title:o("settingsRuntimeModelCatalogsTitle"),description:o("settingsRuntimeModelCatalogsDescription")}),children:r.jsx("button",{type:"button",className:"secondaryButton settingsRefreshButton",onClick:g,disabled:i,children:i?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"settingsRefreshSpinner","aria-hidden":"true"}),r.jsx("span",{children:o("settingsRuntimeRefreshingState")})]}):o("settingsRuntimeRefreshCatalogsButton")})}),r.jsx(xe,{header:r.jsx(de,{title:o("settingsRuntimeStandaloneSetupTitle"),description:o("settingsRuntimeStandaloneSetupDescription")}),children:r.jsx(Kv,{className:"secondaryButton settingsInlineLink",href:ub,target:"_blank",rel:"noreferrer",onOpenError:()=>a(o("settingsRuntimeBrowserHandoffError")),children:o("settingsRuntimeOpenStandaloneSetup")})}),r.jsx(ht,{toasts:t})]})}const Zv={binding_disabled:l.workDeliveryReadinessBindingDisabled,binding_unhealthy:l.workDeliveryReadinessBindingUnhealthy,owner_not_authorized:l.workDeliveryReadinessOwnerNotAuthorized,cat_not_bound:l.workDeliveryReadinessCatNotBound,execution_target_missing:l.workDeliveryReadinessExecutionTargetMissing,capability_profile_missing:l.workDeliveryReadinessCapabilityProfileMissing,workspace_missing:l.workDeliveryReadinessWorkspaceMissing,workspace_unreachable:l.workDeliveryReadinessWorkspaceUnreachable,workspace_not_a_repository:l.workDeliveryReadinessWorkspaceNotARepository,workspace_not_clean:l.workDeliveryReadinessWorkspaceNotClean,delivery_policy_unresolved:l.workDeliveryReadinessDeliveryPolicyUnresolved,background_service_unavailable:l.workDeliveryReadinessBackgroundServiceUnavailable},eC={artifact_only:l.sharedOperatorDeliveryModeArtifactOnly,commit_only:l.sharedOperatorDeliveryModeCommitOnly,push_branch:l.sharedOperatorDeliveryModePushBranch,pr_with_checks:l.sharedOperatorDeliveryModePrWithChecks,deploy_preview:l.sharedOperatorDeliveryModeDeployPreview};function tC(e){const t=e?.trim();return t||null}function Dt(e,t){const a=tC(t);return a?`${e}/${encodeURIComponent(a)}`:e}const mt=ul,aC=`${mt}/projects`,rC=`${mt}/tasks`,oC=`${mt}/work-items`,nC=`${mt}/runs`,id=`${mt}/missions`,sC=`${mt}/schedules`,iC=`${mt}/links`,yP=`${mt}/external-bindings`,vP=`${mt}/external-issue-imports`,CP=`${mt}/graph`,lC=`${mt}/delivery-readiness`;function SP(e){return Dt(iC,e)}function LP(e){return Dt(aC,e)}function PP(e){return Dt(rC,e)}function RP(e){return Dt(oC,e)}function cC(e){return Dt(sC,e)}function xP(e){return`${cC(e)}/test-fire`}function AP(e){return`${Dt(nC,e)}/stop`}function TP(e){return Dt(id,e)}function DP(e){return`${Dt(id,e)}/cancel`}async function dC(e,t){return ye(await fetch(lC,{signal:t}),e)}function uC(){const{t:e}=_(),t=Ue(),[a,o]=d.useState({status:"loading"}),n=d.useCallback(i=>{o({status:"loading"}),dC(e(l.workDeliveryReadinessSectionLoadError),i).then(s=>{i?.aborted||o({status:"ready",report:s})}).catch(()=>{i?.aborted||o({status:"error"})})},[e]);return d.useEffect(()=>{const i=new AbortController;return n(i.signal),()=>i.abort()},[n]),r.jsxs(xe,{header:r.jsx(de,{title:e(l.workDeliveryReadinessSectionTitle),description:e(l.workDeliveryReadinessSectionDescription)}),children:[a.status==="loading"?r.jsx("p",{className:"settingsMutedText",role:"status","aria-live":"polite",children:e(l.workDeliveryReadinessSectionLoading)}):null,a.status==="error"?r.jsxs("div",{className:"settingsMutedText",role:"alert",children:[r.jsx("p",{children:e(l.workDeliveryReadinessSectionLoadError)}),r.jsx("button",{type:"button",className:"secondaryButton",onClick:()=>n(),children:e(l.workDeliveryReadinessRefresh)})]}):null,a.status==="ready"&&!a.report.enabled?r.jsx("p",{className:"settingsMutedText",children:e(l.workDeliveryReadinessSectionDisabled)}):null,a.status==="ready"&&a.report.enabled?r.jsxs("div",{className:"workDeliveryReadiness",children:[r.jsxs("dl",{className:"workDeliveryReadinessFacts",children:[r.jsxs("div",{children:[r.jsx("dt",{children:e(l.workDeliveryReadinessWorkspaceLabel)}),r.jsx("dd",{children:a.report.workspacePath??e(l.workDeliveryReadinessWorkspaceUnset)})]}),r.jsxs("div",{children:[r.jsx("dt",{children:e(l.workDeliveryReadinessAuthorizedOwnersLabel)}),r.jsx("dd",{children:a.report.authorizedOwnerCount})]}),r.jsxs("div",{children:[r.jsx("dt",{children:e(l.workDeliveryReadinessLocalExecutionLabel)}),r.jsx("dd",{children:e({healthy:l.workDeliveryReadinessLocalExecutionHealthy,degraded:l.workDeliveryReadinessLocalExecutionDegraded,unavailable:l.workDeliveryReadinessLocalExecutionUnavailable,unknown:l.workDeliveryReadinessLocalExecutionUnknown}[a.report.localExecution])})]})]}),a.report.bindings.length===0?r.jsx("p",{className:"settingsMutedText",children:e(l.workDeliveryReadinessSectionNoBindings)}):null,r.jsx("ul",{className:"workDeliveryReadinessBindings",children:a.report.bindings.map(i=>r.jsxs("li",{className:"workDeliveryReadinessBinding",children:[r.jsxs("div",{className:"workDeliveryReadinessBindingHeader",children:[r.jsx("span",{className:"workDeliveryReadinessBindingName",children:i.botName??i.bindingId}),r.jsx(st,{tone:i.readiness.ready?"ready":"warm",children:i.readiness.ready?e(l.workDeliveryReadinessStatusReady):e(l.workDeliveryReadinessStatusBlocked)})]}),r.jsxs("dl",{className:"workDeliveryReadinessFacts",children:[r.jsxs("div",{children:[r.jsx("dt",{children:e(l.workDeliveryReadinessDeliveryModeLabel)}),r.jsx("dd",{children:e(eC[i.deliveryMode])})]}),r.jsxs("div",{children:[r.jsx("dt",{children:e(l.workDeliveryReadinessToolScopeLabel)}),r.jsx("dd",{children:i.toolScope})]})]}),i.readiness.blockers.length>0?r.jsxs(r.Fragment,{children:[r.jsx("h4",{className:"workDeliveryReadinessBlockersTitle",children:e(l.workDeliveryReadinessBlockersLabel)}),r.jsx("ul",{className:"workDeliveryReadinessBlockers",children:i.readiness.blockers.map(s=>r.jsxs("li",{children:[r.jsx("span",{children:e(Zv[s.reason])}),s.remediationPath?r.jsx("button",{type:"button",className:"linkButton",onClick:()=>t(s.remediationPath),children:e(l.workDeliveryReadinessOpenRemediation)}):null]},s.reason))})]}):null]},i.bindingId))}),r.jsx("button",{type:"button",className:"secondaryButton",onClick:()=>n(),children:e(l.workDeliveryReadinessRefresh)})]}):null]})}function pC({payload:e,onPayloadUpdate:t}){const{toasts:a,showToast:o}=pt(),{t:n}=_(),i=ln(e.chat.advancedDraftControls,"work");async function s(c){const h=e.chat.advancedDraftControls,u=vr(h);u.work=c,t({...e,chat:{...e.chat,advancedDraftControls:u}});try{const g=await wn({work:c});d.startTransition(()=>t(g))}catch(g){t({...e,chat:{...e.chat,advancedDraftControls:h}}),o(Ta(g,n("settingsConversationPreferenceUpdateFailure"),n))}}return r.jsxs(r.Fragment,{children:[r.jsx(Mn,{surface:"work",payload:e,onPayloadUpdate:t,onError:o}),r.jsx(jn,{surface:"work",enabled:i,onToggle:c=>{s(c)}}),r.jsx(uC,{}),r.jsx(ht,{toasts:a})]})}function hC(e,t){return e==="/settings"||e==="/settings/"||Ct(e,"/settings/general")?{section:"general",title:t("settingsRouteTitleGeneral")}:Ct(e,"/settings/assistants")?{section:"assistants",title:t("settingsRouteTitleAssistants")}:mC(e)?{section:"cats",title:t("settingsRouteTitleMyCats")}:Ct(e,"/settings/chat")?{section:"chat",title:t("settingsRouteTitleChat")}:Ct(e,"/settings/work")?{section:"work",title:t("settingsRouteTitleWork")}:Ct(e,"/settings/code")?{section:"code",title:t("settingsRouteTitleCode")}:Ct(e,"/settings/apps")?{section:"apps",title:t("settingsRouteTitleApps")}:Ct(e,"/settings/desktop")?{section:"desktop",title:t("settingsRouteTitleDesktop")}:Ct(e,"/settings/runtime")?{section:"runtime",title:t("settingsRouteTitleRuntime")}:Ct(e,"/settings/data")?{section:"data",title:t("settingsRouteTitleData")}:{section:"not-found",title:t("settingsRouteTitleNotFound")}}function Ct(e,t){return e===t||e.startsWith(`${t}/`)}function mC(e){return e==="/settings/cats"||e==="/settings/cats/new"}function gC({payload:e,onPayloadUpdate:t,busy:a,onFeedback:o,onBusy:n,onResetSetup:i}){const s=e.products.find(p=>p.id==="work"),c=e.products.find(p=>p.id==="code"),h=Dn(),u=p=>{t(p)},g=r.jsx(zb,{payload:e,busy:a,onPayloadUpdate:u,onFeedback:o,onBusy:n});return r.jsxs(ma,{children:[r.jsx(se,{index:!0,element:r.jsx(Lt,{to:"/settings/general",replace:!0})}),r.jsx(se,{path:"general",element:r.jsx(Gv,{payload:e,onPayloadUpdate:u})}),r.jsx(se,{path:"cats",element:g}),r.jsx(se,{path:"cats/new",element:g}),r.jsx(se,{path:"assistants",element:r.jsx(ey,{payload:e,onPayloadUpdate:u})}),r.jsx(se,{path:"chat",element:r.jsx(Ly,{payload:e,onPayloadUpdate:u})}),s?r.jsx(se,{path:"work",element:r.jsx(pC,{payload:e,onPayloadUpdate:u})}):null,c?r.jsx(se,{path:"code",element:r.jsx(Py,{payload:e,onPayloadUpdate:u})}):null,r.jsx(se,{path:"apps/*",element:r.jsx(hy,{installedApps:e.installedApps??[],onInstalledAppsUpdate:p=>{u({...e,installedApps:p})}})}),h?r.jsx(se,{path:"desktop",element:r.jsx(pv,{payload:e,onPayloadUpdate:u})}):null,r.jsx(se,{path:"runtime",element:r.jsx(Xv,{payload:e})}),r.jsx(se,{path:"data",element:r.jsx(Ay,{payload:e,busy:a,onResetSetup:i})}),r.jsx(se,{path:"*",element:r.jsx(_v,{})})]})}function kC(e){const t=Ne(),{t:a}=_(),{section:o,title:n}=hC(t.pathname,a);return r.jsx(xb,{section:o,title:n,products:e.payload.products,children:gC(e)})}function wC(){const{t:e}=_(),{loadState:t,onPayloadUpdate:a,onRetryLoad:o}=eu(),[n,i]=d.useState(Rn),[s,c]=d.useState(""),{dialog:h,confirm:u,handleClose:g}=Gt(),p=d.useCallback(async()=>{if(await u({title:e(l.settingsDataResetAllDataTitle),message:e(l.settingsDataResetAllDataDescription),confirmLabel:e(l.settingsDataResetButtonLabel)})){i(sf());try{const w=await Vg();Sm(),await Zc({bootstrapAttemptId:w.bootstrapAttemptId??null,setupCompleteAt:w.setupCompleteAt??null,products:Array.isArray(w.products)?[...w.products]:[]}),window.location.href="/"}catch(w){throw i(Ye()),w}}},[u,e]);return t.status==="loading"?r.jsx("div",{className:"settingsCanvasBoot",role:"status","aria-live":"polite","aria-label":e(l.settingsCanvasLoadingLabel)}):t.status==="error"?r.jsxs("section",{className:"settingsCanvasError",role:"alert","aria-live":"assertive",children:[r.jsx("h1",{className:"settingsCanvasErrorTitle",children:e(l.settingsCanvasLoadErrorTitle)}),r.jsx("p",{className:"settingsCanvasErrorBody",children:e(l.settingsCanvasLoadErrorBody)}),t.message?r.jsx("p",{className:"settingsCanvasErrorDetail",children:t.message}):null,r.jsx("div",{className:"settingsCanvasErrorActions",children:r.jsx("button",{type:"button",className:"primaryButton",onClick:o,children:e(l.sharedCommonRetry)})})]}):r.jsxs(r.Fragment,{children:[r.jsx(kC,{payload:t.payload,onPayloadUpdate:a,busy:n,onFeedback:c,onBusy:i,onResetSetup:p}),s?r.jsx("p",{className:"settingsFeedback",role:"status",children:s}):null,r.jsx(_t,{dialog:h,onClose:g})]})}const Re=14,fC=.6,yi=.18,bC=.18,vi=2,yC="#e8c84a",ld="#8B7E74";function vC(e){return new Promise((t,a)=>{const o=new Image;o.crossOrigin="anonymous",o.onload=()=>t(o),o.onerror=a,o.src=e})}function CC(e,t,a){return e.map(o=>{const n=Math.random()*Math.PI*2,i=fC+Math.random()*.3;return{id:o.id,x:Re+Math.random()*(t-Re*2),y:Re+Math.random()*(a-Re*2),vx:Math.cos(n)*i,vy:Math.sin(n)*i,color:o.avatarColor??ld,initials:Ae(o.name),isBoss:o.isBoss,avatarUrl:o.avatarUrl??null,image:null}})}function SC(e,t){return!e||e.length!==t.length?!0:e.some((a,o)=>{const n=t[o];return n?a.id!==n.id||a.color!==(n.avatarColor??ld)||a.isBoss!==n.isBoss||a.avatarUrl!==(n.avatarUrl??null):!0})}function LC(e,t,a,o){for(const n of e)n.x+=n.vx*o,n.y+=n.vy*o,n.x-Re<=0?(n.x=Re,n.vx=Math.abs(n.vx)):n.x+Re>=t&&(n.x=t-Re,n.vx=-Math.abs(n.vx)),n.y-Re<=0?(n.y=Re,n.vy=Math.abs(n.vy)):n.y+Re>=a&&(n.y=a-Re,n.vy=-Math.abs(n.vy))}function PC(e,t,a){for(const o of e)o.x=Math.min(Math.max(Re,o.x),t-Re),o.y=Math.min(Math.max(Re,o.y),a-Re)}function RC(e,t,a,o){e.clearRect(0,0,a,o);for(const n of t)e.globalAlpha=yi,n.isBoss&&(e.beginPath(),e.arc(n.x,n.y,Re+vi,0,Math.PI*2),e.strokeStyle=yC,e.lineWidth=vi,e.stroke()),n.image?(e.save(),e.beginPath(),e.arc(n.x,n.y,Re,0,Math.PI*2),e.clip(),e.drawImage(n.image,n.x-Re,n.y-Re,Re*2,Re*2),e.restore()):(e.beginPath(),e.arc(n.x,n.y,Re,0,Math.PI*2),e.fillStyle=n.color,e.fill(),e.globalAlpha=yi*1.8,e.font=`700 ${Re*.65}px sans-serif`,e.textAlign="center",e.textBaseline="middle",e.fillStyle="#fff",e.fillText(n.initials,n.x,n.y));e.globalAlpha=1}function xC({animationMode:e,cats:t}){const a=d.useRef(null),o=d.useRef(null),n=d.useRef(0);return d.useEffect(()=>{if(e==="off"||t.length===0)return;const i=a.current;if(!i)return;const s=i,c=s.getContext("2d");if(!c)return;const h=e==="reduced"?bC:1;function u(){if(s.width=window.innerWidth,s.height=window.innerHeight,SC(o.current,t)){o.current=CC([...t],s.width,s.height);return}const w=o.current;w&&PC(w,s.width,s.height)}function g(){n.current!==0&&(cancelAnimationFrame(n.current),n.current=0)}function p(){const w=s.width,k=s.height,y=o.current;!c||!y||(LC(y,w,k,h),RC(c,y,w,k),n.current=requestAnimationFrame(p))}u(),n.current=requestAnimationFrame(p);const f=o.current;if(f)for(let w=0;w<t.length;w++){const k=t[w]?.avatarUrl;k&&f[w]&&vC(k).then(y=>{f[w].image=y}).catch(()=>{})}return window.addEventListener("resize",u),()=>{g(),window.removeEventListener("resize",u)}},[e,t]),e==="off"||t.length===0?null:r.jsx("canvas",{ref:a,className:"lobbyBouncingCanvas","aria-hidden":"true"})}const cd=$e("en");function AC(e,t=cd){return e.products.map(a=>({productId:a.id,surface:a.surface,productName:Yp(a,t),subtitle:Qp(a,t),routePrefix:a.routePrefix,lastUsed:a.surface!==null&&a.surface===e.lastUsedSurface,available:a.installState==="available"}))}function TC(e){return e.installedApps.flatMap(t=>!t.enabled||t.installState!=="enabled"?[]:t.lobbyEntries.map(a=>({appId:t.id,entryId:a.id,title:a.title,subtitle:a.subtitle??null,routePath:a.routePath,publisher:t.publisher,installState:t.installState,trustTier:t.trustTier})))}const DC=[l.lobbyGreetingChooseSurface,l.lobbyGreetingHomeReady,l.lobbyGreetingPickProduct,l.lobbyGreetingEverythingStaged,l.lobbyGreetingOpenSurface,l.lobbyGreetingAwake,l.lobbyGreetingContinue];function NC(e){return(e??[]).map(t=>t.trim()).filter(t=>t.length>0)}function jC(e,t=Math.random,a=cd){const o=NC(e),n=DC.map(s=>a(s)),i=o.length>0?o:n;return i[Math.floor(t()*i.length)]}const Bo=$e("en"),MC=[l.lobbyGreetingChooseSurface,l.lobbyGreetingHomeReady,l.lobbyGreetingPickProduct,l.lobbyGreetingEverythingStaged,l.lobbyGreetingOpenSurface,l.lobbyGreetingAwake,l.lobbyGreetingContinue],EC=[l.chatNewChatDraftDefaultGreeting,l.chatNewChatDraftGreetingNap,l.chatNewChatDraftGreetingKeyboard,l.chatNewChatDraftGreetingLetsGo,l.chatNewChatDraftGreetingStandby,l.chatNewChatDraftGreetingTaskReady,l.chatNewChatDraftGreetingOnDuty],IC=[l.codeNewDraftGreeting,l.codeNewDraftGreetingOpenRepo,l.codeNewDraftGreetingBuildFixRefactor,l.codeNewDraftGreetingShipImprovement,l.codeNewDraftGreetingSmallestChange];function BC(e,t=Bo){return e.map(a=>t(a))}function FC(e){switch(e.bundle.scope.surfaceId){case"lobby":return MC;case"chat:new":return EC;case"code:new":return IC;default:return null}}function OC(e,t=Bo){if(!e)return null;const a=e.bundle.content.greeting?.trim();if(!a)return null;if(e.bundle.provenance.originMode!=="deterministic")return a;const o=FC(e);if(!o)return a;const i=BC(o,Bo).findIndex(c=>c===a);if(i<0)return a;const s=o[i];return s?t(s):a}function WC({envelope:e}){const{t}=_(),a=Ue(),[o]=d.useState(()=>jC(null,Math.random,t)),n=AC({products:e.products,lastUsedSurface:e.lastProductSurface??null},t),i=TC({installedApps:e.installedApps??[]}),s=OC(e.lobby.guideCatAssist,t)??o,c=Pr(e.runtime),h=fb(c),u=Tn(c,t),g=t("lobbyRuntimeStatusLabel",{runtimeStatus:u}),p=e.ownerAvatarUrl?{backgroundImage:`url(${e.ownerAvatarUrl})`,backgroundSize:"cover",backgroundPosition:"center"}:void 0,f={platformShellSurface:e.lastProductSurface??"chat"};return r.jsxs("div",{className:"screen lobbyScreen",children:[r.jsx(xC,{animationMode:e.lobby.animationMode,cats:e.lobby.cats}),r.jsxs("div",{className:"platformLobby",children:[r.jsxs("div",{className:"lobbyTopBar",children:[r.jsx("span",{className:"lobbyBrand",children:t("appBrandName")}),r.jsxs("div",{className:"lobbyTopBarEnd",children:[r.jsx(An,{slotKind:"lobby"}),r.jsxs("div",{className:"lobbyIdentity",role:"group","aria-label":t("lobbyAccountSettingsAriaLabel"),children:[r.jsxs("button",{type:"button",className:"lobbyIdentityMainButton",onClick:()=>a("/settings/general",{state:f}),"aria-label":t("lobbyOpenAccountSettings"),children:[r.jsx("span",{className:"lobbyAvatar",style:p,children:e.ownerAvatarUrl?null:Ae(e.ownerDisplayName)}),r.jsx("span",{className:"lobbyOwnerName",children:e.ownerDisplayName})]}),r.jsx("button",{type:"button",className:"lobbyIdentityRuntime",onClick:()=>a("/settings/runtime",{state:f}),"data-tooltip":u,"aria-label":g,children:r.jsx("span",{className:h,"aria-hidden":"true"})})]})]})]}),r.jsx("div",{className:"lobbyHero",children:r.jsx("h1",{className:"lobbyGreeting",children:s})}),r.jsx(_c,{envelope:e}),r.jsxs("div",{className:"lobbyProducts",children:[r.jsx("p",{className:"lobbyProductsEyebrow",children:t("lobbyProductsSectionTitle")}),r.jsx("div",{className:"platformLobbyGrid",children:n.map(w=>{const k=`contentCard platformLobbyCard platformLobbyCard--${w.surface??"module"}`+(w.lastUsed?" platformLobbyCard--recent":"")+(w.available?" platformLobbyCard--mock":""),y=r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"platformLobbyCardAccent"}),r.jsx("span",{className:"platformLobbyCardName",children:w.productName}),r.jsx("span",{className:"platformLobbyCardSub",children:w.subtitle}),w.lastUsed?r.jsx("span",{className:"platformLobbyCardHint",children:t("lobbyContinueText")}):null]});return w.available?r.jsx("div",{className:k,children:y},w.productId):r.jsx("button",{type:"button",className:k,onClick:()=>a(w.routePrefix),children:y},w.productId)})})]}),i.length>0?r.jsxs("div",{className:"lobbyProducts",children:[r.jsx("p",{className:"lobbyProductsEyebrow",children:t("lobbyAppsSectionTitle")}),r.jsx("div",{className:"platformLobbyGrid",children:i.map(w=>r.jsxs("button",{type:"button",className:"contentCard platformLobbyCard platformLobbyCard--app",onClick:()=>a(w.routePath),"aria-label":t("lobbyOpenEntry",{entryTitle:w.title}),children:[r.jsx("div",{className:"platformLobbyCardAccent"}),r.jsx("span",{className:"platformLobbyCardName",children:w.title}),w.subtitle?r.jsx("span",{className:"platformLobbyCardSub",children:w.subtitle}):null]},`${w.appId}:${w.entryId}`))})]}):null]})]})}class ba extends Error{constructor(t,a,o){super(t),this.status=a,this.code=o,this.name="PlatformSetupApiError"}}function UC(e){return e instanceof ba&&e.status===401&&(e.code===null||e.code===Fe.unauthenticated)}function HC(e){return e instanceof ba&&e.status===403&&e.code===Fe.forbidden&&e.message==="Auth repair is required."}async function dd(e,t){return(await ud(e,t)).message}async function ud(e,t){try{const a=await e.json(),o=GC(a);if(typeof o?.code=="string"){const n=t.errorMessagesByCode?.[o.code];return n?{message:n,code:o.code}:{message:t.fallbackMessageForStatus(e.status),code:o.code}}if(typeof o?.message=="string")return{message:o.message,code:null}}catch{}return{message:t.fallbackMessageForStatus(e.status),code:null}}function GC(e){if(typeof e!="object"||e===null)return null;const t=e.error;return typeof t=="object"&&t!==null?t:null}function _C(e){if(typeof e!="object"||e===null||!("routeTarget"in e)||!("auth"in e)||!("setup"in e))return null;const t=e.routeTarget;return t==="setup"||t==="login"||t==="repair"?t:null}async function KC(e,t){const a=await fetch("/api/platform/setup/complete",{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(e),signal:t.signal});if(!a.ok)throw new Error(await dd(a,t));return await a.json()}async function Na(e){const t=await fetch("/api/app-shell",{headers:{Accept:"application/json"},signal:e.signal});if(!t.ok){const n=await ud(t,e);throw new ba(n.message,t.status,n.code)}const a=await t.json(),o=_C(a);if(o==="login")throw new ba("Authentication is required.",401,Fe.unauthenticated);if(o==="repair")throw new ba("Auth repair is required.",403,Fe.forbidden);return a}async function qC(e,t){const a=await fetch("/api/platform/bootstrap-diagnostics/opened",{method:"POST",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({attemptId:e??null}),signal:t.signal});if(!a.ok)throw new Error(await dd(a,t));return await a.json()}async function zC(e){return Sr(e)}async function $C(e,t){return mn({provider:e,instance:t})}async function VC(e,t){return gn({provider:e,instance:t})}function YC({name:e,onNameChange:t,nameReadOnly:a,provider:o,instance:n,model:i,modelSelection:s,onTargetChange:c,nameLabel:h,namePlaceholder:u,nameHint:g,autoFocusName:p,makeBoss:f,onMakeBossChange:w,hideMakeBoss:k,fetchProviderRegistry:y,fetchProviderModels:m,fetchAdvancedProviderModels:C,onProviderRegistryChange:v}){const{t:b}=_();return r.jsxs(r.Fragment,{children:[r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:h??b(l.settingsGeneralNameLabel)}),r.jsx("input",{className:"textInput",value:e,onChange:S=>t(S.target.value),placeholder:u,autoFocus:p&&!a,readOnly:a,"aria-readonly":a?"true":void 0}),g?r.jsx("span",{className:"fieldHint",children:g}):null]}),!k&&w?r.jsxs("label",{className:"fieldLabel fieldLabelInline",children:[r.jsx("input",{type:"checkbox",checked:f??!1,onChange:S=>w(S.target.checked)}),r.jsx("span",{children:b(l.sharedSettingsCatsSetBossCatLabel)})]}):null,r.jsx(Pc,{provider:o,instance:n,model:i,modelSelection:s,onTargetChange:c,fetchProviderRegistry:y,fetchProviderModels:m,fetchAdvancedProviderModels:C,onProviderRegistryChange:v})]})}function QC(e){return r.jsx(YC,{...e,fetchProviderRegistry:zC,fetchProviderModels:$C,fetchAdvancedProviderModels:VC})}function JC({provider:e,instance:t,model:a,modelSelection:o,runtimeReachable:n,onTargetChange:i}){const s=vt(),{t:c}=_(),[h,u]=d.useState({state:"ready",providers:[]}),g=h.state==="runtime_unreachable"?{className:"statusChip statusChipWarm",label:c(l.sharedProviderModelFieldLoadingProviders)}:h.state==="no_usable_targets"?{className:"statusChip statusChipWarm",label:c(l.setupGuideCatNoUsableTargets)}:n?{className:"statusChip statusChipReady",label:c(l.setupGuideCatRuntimeConnected)}:{className:"statusChip statusChipWarm",label:c(l.setupGuideCatRuntimeNotDetected)};return r.jsxs(r.Fragment,{children:[r.jsx(QC,{name:s,onNameChange:()=>{},nameReadOnly:!0,provider:e,instance:t,model:a,modelSelection:o,onTargetChange:i,nameLabel:c(l.setupGuideCatNameLabel),namePlaceholder:s,nameHint:c(l.setupGuideCatNameHint),hideMakeBoss:!0,hideProductToggles:!0,onProviderRegistryChange:u}),r.jsx("div",{className:"setupRuntimeStatus",children:r.jsx("span",{className:g.className,children:g.label})})]})}function XC(e){return!!e.model.trim()}function ZC(e){return!e.createGuideCat||XC({model:e.model})}const ja=[1,2],eS=ja.length;function Ci(e){const t=ja.indexOf(e);return ja[t+1]??e}function tS(e){const t=ja.indexOf(e);return ja[t-1]??e}const aS=new Set(["Invalid desktop platform shell payload."]);function rS(e,t,a){return e instanceof Error?aS.has(e.message)?t:e.message:t}function oS(e){return e.step===2&&e.createGuideCat}function nS({envelope:e,onComplete:t}){const[a,o]=d.useState(1),[n,i]=d.useState(""),[s,c]=d.useState(""),[h,u]=d.useState(""),[g,p]=d.useState(!1),[f,w]=d.useState("claude"),[k,y]=d.useState(""),[m,C]=d.useState(""),[v,b]=d.useState(null),[S,T]=d.useState(null),[M,j]=d.useState(""),R=d.useRef(!1),{t:P}=_(),A=S!==null,x=vt(),E=!!(n.trim()&&s.trim()&&h),O=ZC({createGuideCat:g,model:m}),$=e.bootstrapAttemptId??null,K=d.useCallback(async()=>{T("complete"),j("");try{const F=await KC({attemptId:$,ownerDisplayName:n.trim(),adminIdentifier:s.trim(),adminPassword:h,createGuideCat:g,guideCatProvider:g?f:void 0,guideCatInstance:g&&k||void 0,guideCatModel:g&&m||void 0,guideCatModelSelection:g?v:void 0},{fallbackMessageForStatus:Y=>P(l.setupWizardFailedWithStatus,{status:Y}),errorMessagesByCode:{already_complete:P(l.setupWizardAlreadyCompleteError),bad_request:P(l.setupWizardInvalidRequestError),configuration_error:P(l.setupWizardServerError),internal_error:P(l.setupWizardServerError)}});await Fb(F),t(F)}catch(F){j(rS(F,P(l.setupWizardFailedMessage)))}finally{T(null)}},[g,s,h,k,m,v,t,n,f,$,P]);d.useEffect(()=>{R.current||(R.current=!0,qC($,{fallbackMessageForStatus:F=>P(l.setupWizardRecordOpenFailedWithStatus,{status:F})}).catch(()=>{}))},[$,P]),d.useEffect(()=>{function F(Y){Y.key!=="Enter"||A||Y.target instanceof HTMLSelectElement||Y.target instanceof HTMLTextAreaElement||a===1&&!E||a===2&&!O||(Y.preventDefault(),a===1?o(Ci(a)):a===2&&K())}return document.addEventListener("keydown",F),()=>document.removeEventListener("keydown",F)},[A,O,E,K,a]),d.useEffect(()=>{oS({step:a,createGuideCat:g})&&Mg().catch(()=>{})},[g,a]);const ee=Array.from({length:eS},(F,Y)=>Y+1);return r.jsx("div",{className:"screen screenCentered",children:r.jsxs("div",{className:"setupWizard",children:[r.jsx("div",{className:"setupStepIndicator",children:ee.map(F=>r.jsx("span",{className:F<=a?"setupDot setupDotActive":"setupDot"},F))}),a===1?r.jsxs("div",{className:"contentCard setupCard",children:[r.jsx("p",{className:"eyebrow",children:P(l.appBrandName)}),r.jsx("h1",{children:P(l.setupWizardWelcomeTitle)}),r.jsx("p",{className:"heroNote",children:P(l.setupWizardWelcomeIntro)}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:P(l.setupWizardOwnerNameLabel)}),r.jsx("input",{className:"textInput",value:n,onChange:F=>i(F.target.value),placeholder:P(l.setupWizardOwnerNamePlaceholder),autoFocus:!0})]}),r.jsx("p",{className:"setupRuntimeNote",children:P(l.setupWizardAdminCredentialsHint)}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:P(l.setupWizardAdminIdentifierLabel)}),r.jsx("input",{className:"textInput",value:s,onChange:F=>c(F.target.value),placeholder:P(l.setupWizardAdminIdentifierPlaceholder),autoComplete:"username"})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:P(l.setupWizardAdminPasswordLabel)}),r.jsx("input",{className:"textInput",type:"password",value:h,onChange:F=>u(F.target.value),placeholder:P(l.setupWizardAdminPasswordPlaceholder),autoComplete:"new-password"})]}),M?r.jsx("p",{className:"feedbackText",children:M}):null,r.jsx("button",{className:"primaryButton setupPrimaryButton",disabled:!E,type:"button",onClick:()=>o(Ci(a)),children:P(l.setupWizardGetStartedButton)})]}):null,a===2?r.jsxs("div",{className:"contentCard setupCard",children:[r.jsx("p",{className:"eyebrow",children:P(l.setupWizardStepIndicator,{step:2,total:2})}),r.jsx("h1",{children:P(l.setupWizardEnableGuideTitle,{guideCatName:x})}),r.jsx("p",{className:"heroNote",children:P(l.setupWizardEnableGuideSubtitle)}),r.jsxs("label",{className:"setupCheckboxLabel",children:[r.jsx("input",{type:"checkbox",className:"setupCheckbox",checked:g,onChange:F=>p(F.target.checked)}),r.jsx("span",{children:P(l.setupWizardEnableGuideLabel,{guideCatName:x})})]}),g?r.jsx(JC,{provider:f,instance:k,model:m,modelSelection:v,runtimeReachable:e.runtime.reachable,onTargetChange:F=>{w(F.provider),y(F.instance),C(F.model),b(F.modelSelection??null)}}):r.jsx("p",{className:"setupRuntimeNote",children:P(l.setupWizardSkipGuideMessage,{guideCatName:x})}),M?r.jsx("p",{className:"feedbackText",children:M}):null,r.jsxs("div",{className:"setupActions",children:[r.jsx("button",{className:"setupBackButton",type:"button",disabled:A,onClick:()=>o(tS(a)),children:P(l.setupWizardBackButton)}),r.jsx("button",{className:"primaryButton setupPrimaryButton",disabled:A||!O,type:"button",onClick:()=>{K()},children:P(S==="complete"?l.setupWizardOpeningCatsAction:l.setupWizardOpenCatsAction)})]})]}):null]})})}function Si({onAuthenticated:e}){const{t}=_(),[a,o]=d.useState(""),[n,i]=d.useState(""),[s,c]=d.useState(!1),[h,u]=d.useState(""),[g,p]=d.useState(null),f=!!(a.trim()&&n&&!s),w=d.useCallback(()=>({fallbackMessageForStatus:C=>t(l.authLoginFailedWithStatus,{status:C}),errorMessagesByCode:{[Fe.unauthenticated]:t(l.authLoginInvalidCredentials),[Fe.forbidden]:t(l.authLoginForbidden),[Fe.csrfMismatch]:t(l.authLoginCsrfMismatch)}}),[t]);d.useEffect(()=>{let C=!0;return Da(w()).then(v=>{if(!C)return;const b=v.providers.google.enabled&&v.providers.google.clientId?.trim()||null;p(b)}).catch(()=>{C&&p(null)}),()=>{C=!1}},[w]);async function k(C){if(C.preventDefault(),!!f){c(!0),u("");try{await Rv({identifier:a.trim(),password:n},w());const v=await Na({fallbackMessageForStatus:b=>t(l.appLoadStateFailedWithStatus,{status:b})});e(v)}catch(v){u(v instanceof Error?v.message:t(l.authLoginFailed))}finally{c(!1)}}}const y=d.useCallback(async C=>{if(!s){c(!0),u("");try{await xv({credential:C.credential,csrfToken:C.csrfToken},w());const v=await Na({fallbackMessageForStatus:b=>t(l.appLoadStateFailedWithStatus,{status:b})});e(v)}catch(v){u(v instanceof Error?v.message:t(l.authLoginFailed))}finally{c(!1)}}},[w,s,e,t]),m=d.useCallback(()=>{u(t(l.authLoginGoogleUnavailable))},[t]);return r.jsx("div",{className:"screen screenCentered",children:r.jsxs("form",{className:"contentCard setupCard",onSubmit:C=>{k(C)},children:[r.jsx("p",{className:"eyebrow",children:t(l.appBrandName)}),r.jsx("h1",{children:t(l.authLoginTitle)}),r.jsx("p",{className:"heroNote",children:t(l.authLoginSubtitle)}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:t(l.authLoginIdentifierLabel)}),r.jsx("input",{className:"textInput",value:a,onChange:C=>o(C.target.value),placeholder:t(l.authLoginIdentifierPlaceholder),autoComplete:"username",autoFocus:!0})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:t(l.authLoginPasswordLabel)}),r.jsx("input",{className:"textInput",type:"password",value:n,onChange:C=>i(C.target.value),placeholder:t(l.authLoginPasswordPlaceholder),autoComplete:"current-password"})]}),h?r.jsx("p",{className:"feedbackText",children:h}):null,r.jsx("button",{className:"primaryButton setupPrimaryButton",disabled:!f,type:"submit",children:t(s?l.authLoginSubmitting:l.authLoginSubmit)}),g?r.jsxs("div",{className:"googleSignInSection",children:[r.jsx("div",{className:"setupRuntimeNote",children:t(l.authLoginGoogleOriginHint)}),r.jsx(nd,{clientId:g,disabled:s,onCredential:C=>{y(C)},onError:m})]}):null]})})}function sS({onRepaired:e}){const{t}=_(),[a,o]=d.useState(""),[n,i]=d.useState(""),[s,c]=d.useState(""),[h,u]=d.useState(""),[g,p]=d.useState(!1),[f,w]=d.useState(""),k=!!(n.trim()&&s&&h.trim()&&!g);async function y(m){if(m.preventDefault(),!k){w(t(l.authRepairFailed));return}p(!0),w("");try{const C=a.trim(),v=h.trim();await Nv({displayName:C||void 0,identifier:n.trim(),password:s,recoveryToken:v||void 0},{fallbackMessageForStatus:S=>t(l.authRepairFailedWithStatus,{status:S}),errorMessagesByCode:{[Fe.forbidden]:t(l.authRepairForbidden)}});const b=await Na({fallbackMessageForStatus:S=>t(l.appLoadStateFailedWithStatus,{status:S})});e(b)}catch(C){w(C instanceof Error?C.message:t(l.authRepairFailed))}finally{p(!1)}}return r.jsx("div",{className:"screen screenCentered",children:r.jsxs("form",{className:"contentCard setupCard",onSubmit:m=>{y(m)},children:[r.jsx("p",{className:"eyebrow",children:t(l.appBrandName)}),r.jsx("h1",{children:t(l.authRepairTitle)}),r.jsx("p",{className:"heroNote",children:t(l.authRepairSubtitle)}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:t(l.authRepairDisplayNameLabel)}),r.jsx("input",{className:"textInput",value:a,onChange:m=>o(m.target.value),placeholder:t(l.authRepairDisplayNamePlaceholder),autoComplete:"name",autoFocus:!0})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:t(l.authRepairIdentifierLabel)}),r.jsx("input",{className:"textInput",value:n,onChange:m=>i(m.target.value),placeholder:t(l.authRepairIdentifierPlaceholder),autoComplete:"username"})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:t(l.authRepairPasswordLabel)}),r.jsx("input",{className:"textInput",type:"password",value:s,onChange:m=>c(m.target.value),placeholder:t(l.authRepairPasswordPlaceholder),autoComplete:"new-password"})]}),r.jsxs("label",{className:"fieldLabel",children:[r.jsx("span",{children:t(l.authRepairRecoveryTokenLabel)}),r.jsx("input",{className:"textInput",value:h,onChange:m=>u(m.target.value),placeholder:t(l.authRepairRecoveryTokenPlaceholder),autoComplete:"off"})]}),r.jsx("p",{className:"setupRuntimeNote",children:t(l.authRepairRecoveryTokenHint)}),f?r.jsx("p",{className:"feedbackText",role:"alert",children:f}):null,r.jsx("button",{className:"primaryButton setupPrimaryButton",disabled:!k,type:"submit",children:t(g?l.authRepairSubmitting:l.authRepairSubmit)})]})})}const Li="/login",Pi="/repair",iS="/lobby";function lS(e,t){return UC(e)?{status:"unauthenticated"}:HC(e)?{status:"repairRequired"}:{status:"error",message:e instanceof Error?e.message:t}}function Ri(e){return e.lastProductSurface?gr(e.lastProductSurface):iS}const cS="modulepreload",dS=function(e){return"/"+e},xi={},En=function(t,a,o){let n=Promise.resolve();if(a&&a.length>0){let h=function(u){return Promise.all(u.map(g=>Promise.resolve(g).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),c=s?.nonce||s?.getAttribute("nonce");n=h(a.map(u=>{if(u=dS(u),u in xi)return;xi[u]=!0;const g=u.endsWith(".css"),p=g?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${p}`))return;const f=document.createElement("link");if(f.rel=g?"stylesheet":cS,g||(f.as="script"),f.crossOrigin="",f.href=u,c&&f.setAttribute("nonce",c),document.head.appendChild(f),g)return new Promise((w,k)=>{f.addEventListener("load",w),f.addEventListener("error",()=>k(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(s){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=s,window.dispatchEvent(c),!c.defaultPrevented)throw s}return n.then(s=>{for(const c of s||[])c.status==="rejected"&&i(c.reason);return t().catch(i)})},uS=()=>En(()=>import("./App-DmYMY-0Q.js"),__vite__mapDeps([0,1,2,3,4,5])),pS=()=>En(()=>import("./App-CqijA1ay.js"),__vite__mapDeps([6,1,2,3,7,8])),hS=()=>En(()=>import("./App-D7pZpZJb.js"),__vite__mapDeps([9,1,2,7,4,10])),mS={chat:uS,work:pS,code:hS};function pd(e){return mS[e]}function In(e){return d.lazy(pd(e))}function gS(e,t=pd){return t(e)()}function NP(e){return gS(e)}const kS=5e3,wS=In("chat"),fS=In("work"),bS=In("code");function yS(){if(typeof navigator>"u")return"en";const e=Array.isArray(navigator.languages)&&navigator.languages.length>0?navigator.languages:[navigator.language];for(const t of e){const a=Yo(t);if(a)return a}return"en"}function vS(e){return e?.language?.uiLanguagePreference??"auto"}function CS(e){return e==="auto"?yS():zp(e)}function SS(e){return!!(e.guideCat&&Ra(e.guideCat.status)&&!e.productSurfaceFallbackActive)}function LS({surface:e,translate:t,onVisibilityChange:a}){const o=sl(e,Mp(e),t);return d.useEffect(()=>(a(!0),()=>a(!1)),[a]),r.jsx("div",{className:"screen screenCentered",children:r.jsxs("div",{className:"loadingPanel",children:[r.jsx("p",{className:"eyebrow",children:t("appBrandName")}),r.jsx("h1",{children:t("appLoadingWithSurface",{surface:o})})]})})}function to(e,t,a){const o=e==="work"?fS:e==="code"?bS:wS;return r.jsx(d.Suspense,{fallback:r.jsx(LS,{surface:e,translate:a,onVisibilityChange:t}),children:r.jsx(o,{})})}function PS(e){return typeof e!="object"||e===null?null:ga(e.platformShellSurface)}function RS(e){return e.loadStatus!=="ready"||!e.setupComplete||La(e.pathname)||hl(e.pathname)?e.t("appTitle"):null}function xS(e,t){const a=Date.parse(e.metadata.generatedAt),o=Date.parse(t.metadata.generatedAt);return Number.isNaN(a)||Number.isNaN(o)?!0:o>=a}function AS(){const e=Ne(),t=Ue(),[a,o]=d.useState({status:"loading"}),[n,i]=d.useState(!1),[s,c]=d.useState(0),h=vS(a.status==="ready"?a.envelope:null),[u,g]=d.useState(null),p=u??h,f=CS(p),w=d.useMemo(()=>$e(f),[f]),k=d.useRef(null),y=d.useRef(e.pathname),[m,C]=d.useState("chat");d.useEffect(()=>{g(null)},[h]);const v=d.useCallback(async(F,Y)=>{try{const H=await Na({signal:F,fallbackMessageForStatus:ae=>w("appLoadStateFailedWithStatus",{status:ae})});F?.aborted||d.startTransition(()=>o({status:"ready",envelope:H}))}catch(H){if(F?.aborted)return;const ae=lS(H,w("appLoadErrorMessage"));if(ae.status==="unauthenticated"){d.startTransition(()=>o({status:"unauthenticated"}));return}if(ae.status==="repairRequired"){d.startTransition(()=>o({status:"repairRequired"}));return}Y?.suppressErrors||o(ae)}},[w]);d.useEffect(()=>{const F=new AbortController;return v(F.signal),()=>F.abort()},[v]),d.useEffect(()=>{function F(){v(void 0,{suppressErrors:!0})}return window.addEventListener(To,F),()=>{window.removeEventListener(To,F)}},[v]);const b=La(e.pathname),S=tn({hydrate:a.status==="ready"}),T=d.useCallback(()=>{S.update({sidecarSeen:!0})},[S.update]);d.useEffect(()=>{const F=y.current;y.current=e.pathname,!(!(b&&!La(F))||a.status!=="ready")&&v(void 0,{suppressErrors:!0})},[b,e.pathname,v,a.status]),d.useEffect(()=>{const F=window.history.state;Ab(e.pathname,F?.idx),yb(e.pathname,F?.idx)},[e.pathname]),d.useEffect(()=>{if(a.status!=="ready"||!b||typeof window>"u"||typeof document>"u")return;let F=null;const Y=()=>{if(document.visibilityState==="hidden"||F)return;const G=new AbortController;F=G,Na({signal:G.signal,fallbackMessageForStatus:I=>w("appLoadStateFailedWithStatus",{status:I})}).then(I=>{G.signal.aborted||d.startTransition(()=>{o(z=>z.status!=="ready"||!xS(z.envelope,I)?z:{status:"ready",envelope:{...z.envelope,runtime:I.runtime,runtimeSetup:I.runtimeSetup,metadata:I.metadata,bootstrapAttemptId:I.bootstrapAttemptId}})})}).catch(()=>{}).finally(()=>{F===G&&(F=null)})},H=window.setInterval(Y,kS),ae=()=>{Y()},ue=()=>{document.visibilityState==="visible"&&Y()};return window.addEventListener("focus",ae),document.addEventListener("visibilitychange",ue),()=>{F&&F.abort(),window.clearInterval(H),window.removeEventListener("focus",ae),document.removeEventListener("visibilitychange",ue)}},[b,a.status,w]);const M=a.status==="ready"?a.envelope:null,j=!!M?.setupCompleteAt,R=M?.lastProductSurface??null,P=PS(e.state),A=k.current,x=hh(P,A,R,m);if(d.useEffect(()=>{const F=RS({loadStatus:a.status,pathname:e.pathname,setupComplete:j,t:w});F&&(document.title=F)},[e.pathname,j,a.status]),d.useEffect(()=>{a.status!=="ready"||!j||Sr().then(F=>xg(F)).catch(()=>{})},[j,a.status]),d.useEffect(()=>{if(a.status!=="ready")return;const F=a.envelope.lastProductSurface??null;F&&C(Y=>Y===F?Y:F)},[a.status,a.status==="ready"?a.envelope.lastProductSurface:null]),d.useEffect(()=>{if(Ia(e.pathname)){C(F=>F===x?F:x);return}},[e.pathname,x]),d.useEffect(()=>{if(!j)return;const F=ph(e.pathname);if(!(e.pathname==="/"&&R!=="chat")&&!(e.pathname==="/"&&!R)&&!uh(e.pathname)){if(C(Y=>Y===F?Y:F),k.current===null){k.current=F,F!==R&&(d.startTransition(()=>{o(Y=>Y.status==="ready"?{status:"ready",envelope:{...Y.envelope,lastProductSurface:F}}:Y)}),fetch("/api/platform/preferences",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({lastProductSurface:F})}).catch(()=>{}));return}F!==k.current&&(k.current=F,d.startTransition(()=>{o(Y=>Y.status==="ready"?{status:"ready",envelope:{...Y.envelope,lastProductSurface:F}}:Y)}),fetch("/api/platform/preferences",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({lastProductSurface:F})}).catch(()=>{}))}},[j,R,e.pathname]),a.status==="loading")return r.jsx(zt,{languagePreference:p,locale:f,setLanguagePreference:g,children:r.jsx("div",{className:"screen screenCentered",children:r.jsxs("div",{className:"loadingPanel",children:[r.jsx("p",{className:"eyebrow",children:w("appBrandName")}),r.jsx("h1",{children:w("appLoadingEllipsis")})]})})});if(a.status==="error")return r.jsx(zt,{languagePreference:p,locale:f,setLanguagePreference:g,children:r.jsx("div",{className:"screen screenCentered",children:r.jsxs("div",{className:"errorPanel",children:[r.jsx("p",{className:"eyebrow",children:w("appErrorEyebrow")}),r.jsx("h1",{children:w("appErrorTitle")}),r.jsx("p",{children:a.message})]})})});if(a.status==="unauthenticated")return r.jsx(zt,{languagePreference:p,locale:f,setLanguagePreference:g,children:r.jsxs(ma,{children:[r.jsx(se,{path:Li,element:r.jsx(Si,{onAuthenticated:F=>{const Y=Ri(F);Vt.flushSync(()=>o({status:"ready",envelope:F})),t(Y,{replace:!0})}})}),r.jsx(se,{path:"*",element:r.jsx(Lt,{to:Li,replace:!0})})]})});if(a.status==="repairRequired")return r.jsx(zt,{languagePreference:p,locale:f,setLanguagePreference:g,children:r.jsxs(ma,{children:[r.jsx(se,{path:Pi,element:r.jsx(sS,{onRepaired:F=>{const Y=Ri(F);Vt.flushSync(()=>o({status:"ready",envelope:F})),t(Y,{replace:!0})}})}),r.jsx(se,{path:"*",element:r.jsx(Lt,{to:Pi,replace:!0})})]})});const{envelope:E}=a;if(!E.setupCompleteAt)return r.jsx(zt,{languagePreference:p,locale:f,setLanguagePreference:g,children:r.jsxs(ma,{children:[r.jsx(se,{path:"/setup",element:r.jsx(nS,{envelope:E,onComplete:F=>{Vt.flushSync(()=>{o({status:"ready",envelope:F}),F.guideCat&&Ra(F.guideCat.status)&&S.hydrated&&!S.prefs.sidecarSeen&&c(Y=>Y+1)}),t("/lobby",{replace:!0})}})}),r.jsx(se,{path:"*",element:r.jsx(Lt,{to:"/setup",replace:!0})})]})});const $=!!E.lastProductSurface?gr(x):"/lobby",K={guideCat:E.guideCat,productSurfaceFallbackActive:n},ee=SS(K);return r.jsx(zt,{languagePreference:p,locale:f,setLanguagePreference:g,children:r.jsxs(Uh,{guideCat:ee?K.guideCat:null,placement:S.prefs.placement,floatingAnchor:S.prefs.floatingAnchor,sidecarMode:S.prefs.sidecarMode,proactiveGreetingToken:s,onPersistSeen:T,onCommit:S.update,children:[ee?r.jsx(Gm,{guideCat:K.guideCat,ownerDisplayName:E.ownerDisplayName,unreadCount:0,onDismissed:()=>{v()}}):null,r.jsxs(ma,{children:[r.jsx(se,{path:"/lobby",element:r.jsx(WC,{envelope:E})}),r.jsxs(se,{element:r.jsx(Pb,{envelope:E}),children:[r.jsx(se,{path:"/entities",element:r.jsx(ab,{envelope:E})}),r.jsx(se,{path:"/entities/cats",element:r.jsx(jf,{})}),r.jsx(se,{path:"/entities/cats/:catId",element:r.jsx(kw,{})}),r.jsx(se,{path:"/entities/clowders",element:r.jsx(sb,{envelope:E})}),r.jsx(se,{path:"/entities/clowders/:clowderId",element:r.jsx($s,{envelope:E})}),r.jsx(se,{path:"/entities/clowders/:clowderId/:tab",element:r.jsx($s,{envelope:E})}),r.jsx(se,{path:"/entities/catteries",element:r.jsx(ib,{envelope:E})}),r.jsx(se,{path:"/entities/catteries/:catteryId",element:r.jsx(zs,{envelope:E})}),r.jsx(se,{path:"/entities/catteries/:catteryId/:tab",element:r.jsx(zs,{envelope:E})})]}),r.jsx(se,{path:"/apps/:appId/*",element:r.jsx(Qm,{envelope:E})}),r.jsx(se,{path:"/products",element:r.jsx(Lt,{to:"/lobby",replace:!0})}),r.jsx(se,{path:"/login",element:r.jsx(Si,{onAuthenticated:F=>{Vt.flushSync(()=>o({status:"ready",envelope:F})),t($,{replace:!0})}})}),r.jsx(se,{element:r.jsx(Ib,{envelope:E}),children:r.jsx(se,{path:"/settings/*",element:r.jsx(wC,{})})}),r.jsx(se,{path:`${Er.chat.routePrefix}/*`,element:to("chat",i,w)}),r.jsx(se,{path:`${Er.work.routePrefix}/*`,element:to("work",i,w)}),r.jsx(se,{path:`${Er.code.routePrefix}/*`,element:to("code",i,w)}),r.jsx(se,{path:"/setup",element:r.jsx(Lt,{to:$,replace:!0})}),r.jsx(se,{path:"/",element:r.jsx(Lt,{to:$,replace:!0})}),r.jsx(se,{path:"*",element:r.jsx(Lt,{to:$,replace:!0})})]})]})})}const TS=new Lp({defaultOptions:{queries:{staleTime:5e3,refetchOnWindowFocus:!0,refetchOnMount:"always",retry:1}}});Lv();Ch();md.createRoot(document.getElementById("root")).render(r.jsx(gd.StrictMode,{children:r.jsx(Pp,{client:TS,children:r.jsx(Uu,{useTransitions:!1,children:r.jsx(AS,{})})})}));export{ur as $,ES as A,FL as B,qL as C,OL as D,Ts as E,HL as F,EL as G,ln as H,ye as I,aC as J,rC as K,oC as L,LP as M,Lt as N,yP as O,PP as P,RP as Q,ma as R,mr as S,mt as T,CP as U,$e as V,vP as W,Ue as X,SP as Y,iC as Z,Wt as _,_k as a,um as a$,nC as a0,AP as a1,DP as a2,kr as a3,id as a4,TP as a5,cC as a6,xP as a7,sC as a8,kh as a9,Tl as aA,go as aB,At as aC,nn as aD,yr as aE,ac as aF,$S as aG,TL as aH,_t as aI,kC as aJ,$c as aK,Vc as aL,Kl as aM,WS as aN,KS as aO,OS as aP,US as aQ,uP as aR,wP as aS,KL as aT,Ye as aU,Ne as aV,Xd as aW,zL as aX,_L as aY,GL as aZ,Ia as a_,NS as aa,JL as ab,QL as ac,YL as ad,VL as ae,fs as af,Xt as ag,ik as ah,mk as ai,TS as aj,wL as ak,nh as al,kg as am,OC as an,ok as ao,kL as ap,yL as aq,gL as ar,fL as as,Ol as at,xm as au,Ak as av,xL as aw,ht as ax,dn as ay,BS as az,bL as b,HS as b$,an as b0,hs as b1,xl as b2,ed as b3,Et as b4,It as b5,Bt as b6,Cr as b7,Al as b8,Ww as b9,sf as bA,Sm as bB,Zc as bC,WL as bD,UL as bE,GS as bF,Ql as bG,na as bH,ct as bI,Gg as bJ,CL as bK,ML as bL,mf as bM,qg as bN,JS as bO,XS as bP,dt as bQ,rL as bR,aL as bS,oL as bT,pk as bU,PL as bV,LL as bW,rP as bX,aP as bY,tP as bZ,tL as b_,Fw as ba,Ow as bb,wg as bc,ir as bd,tr as be,ZL as bf,nP as bg,sP as bh,oP as bi,Ck as bj,NP as bk,YS as bl,lL as bm,Vg as bn,iL as bo,cL as bp,Kg as bq,QS as br,bP as bs,Cn as bt,iP as bu,fP as bv,kf as bw,Pt as bx,ze as by,XL as bz,se as c,jL as c0,VS as c1,NL as c2,DL as c3,vL as c4,pL as c5,sk as c6,uL as c7,sL as c8,dL as c9,gP as cA,hP as cB,pP as cC,SL as cD,RL as cE,Rs as cF,eP as cG,kP as cH,ig as cI,mL as cJ,hL as cK,Vi as cL,eu as cM,Np as cN,IS as cO,Xp as cP,Vt as cQ,Qf as cR,Yf as cS,jp as cT,Pr as cU,Tn as cV,ga as cW,mP as cX,$r as cY,An as cZ,Yc as c_,lP as ca,cP as cb,dP as cc,ta as cd,gr as ce,Gt as cf,pt as cg,eL as ch,Ie as ci,Jp as cj,As as ck,AL as cl,_S as cm,qS as cn,nL as co,ZS as cp,zS as cq,Pc as cr,Ec as cs,lc as ct,be as cu,Ut as cv,FS as cw,yn as cx,Aa as cy,Ln as cz,up as d,op as e,jS as f,so as g,ot as h,IL as i,el as j,ap as k,no as l,l as m,Ae as n,Ji as o,BL as p,bp as q,Ap as r,$L as s,rp as t,_ as u,ip as v,Ke as w,Ca as x,vp as y,MS as z};