ompgui 0.7.8 → 0.7.9

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 (130) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +5 -5
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +5 -5
  5. package/.next/react-loadable-manifest.json +13 -13
  6. package/.next/required-server-files.js +3 -2
  7. package/.next/required-server-files.json +3 -2
  8. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_global-error.html +1 -1
  10. package/.next/server/app/_global-error.rsc +2 -2
  11. package/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  12. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +2 -2
  13. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/_not-found.html +1 -1
  16. package/.next/server/app/_not-found.rsc +3 -3
  17. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  18. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  19. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  20. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  21. package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
  22. package/.next/server/app/api/agent/[id]/route.js +1 -1
  23. package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
  24. package/.next/server/app/api/agent/new/route.js +1 -1
  25. package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
  26. package/.next/server/app/api/agent/running/events/route.js +2 -2
  27. package/.next/server/app/api/agent/running/events/route.js.nft.json +1 -1
  28. package/.next/server/app/api/agents/[name]/route.js +1 -1
  29. package/.next/server/app/api/agents/[name]/route.js.nft.json +1 -1
  30. package/.next/server/app/api/agents/route.js +1 -1
  31. package/.next/server/app/api/agents/route.js.nft.json +1 -1
  32. package/.next/server/app/api/agents/unpack/route.js +1 -1
  33. package/.next/server/app/api/agents/unpack/route.js.nft.json +1 -1
  34. package/.next/server/app/api/app-update/route.js +1 -1
  35. package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  36. package/.next/server/app/api/auth/login/[provider]/route.js.nft.json +1 -1
  37. package/.next/server/app/api/mcp/route.js +3 -3
  38. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  39. package/.next/server/app/api/model-roles/route.js +1 -1
  40. package/.next/server/app/api/model-roles/route.js.nft.json +1 -1
  41. package/.next/server/app/api/models/route.js +1 -1
  42. package/.next/server/app/api/models/route.js.nft.json +1 -1
  43. package/.next/server/app/api/omp-settings/route.js +1 -1
  44. package/.next/server/app/api/omp-settings/route.js.nft.json +1 -1
  45. package/.next/server/app/api/omp-update/route.js +2 -2
  46. package/.next/server/app/api/omp-update/route.js.nft.json +1 -1
  47. package/.next/server/app/api/providers/enable/route.js +1 -1
  48. package/.next/server/app/api/providers/enable/route.js.nft.json +1 -1
  49. package/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
  50. package/.next/server/app/api/sessions/[id]/archive/route.js.nft.json +1 -1
  51. package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
  52. package/.next/server/app/api/sessions/[id]/auto-name/route.js.nft.json +1 -1
  53. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  54. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  55. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  56. package/.next/server/app/api/sessions/[id]/state/route.js.nft.json +1 -1
  57. package/.next/server/app/api/sessions/[id]/subagents/route.js +1 -1
  58. package/.next/server/app/api/sessions/[id]/subagents/route.js.nft.json +1 -1
  59. package/.next/server/app/api/sessions/route.js +1 -1
  60. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  61. package/.next/server/app/index.html +1 -1
  62. package/.next/server/app/index.rsc +4 -4
  63. package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  64. package/.next/server/app/index.segments/_full.segment.rsc +4 -4
  65. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  66. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  67. package/.next/server/app/login.html +1 -1
  68. package/.next/server/app/login.rsc +4 -4
  69. package/.next/server/app/login.segments/_full.segment.rsc +4 -4
  70. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  71. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  72. package/.next/server/app/page.js +2 -2
  73. package/.next/server/app/page.js.nft.json +1 -1
  74. package/.next/server/app/page_client-reference-manifest.js +1 -1
  75. package/.next/server/app/pair/page_client-reference-manifest.js +1 -1
  76. package/.next/server/app/pair.html +1 -1
  77. package/.next/server/app/pair.rsc +4 -4
  78. package/.next/server/app/pair.segments/_full.segment.rsc +4 -4
  79. package/.next/server/app/pair.segments/_tree.segment.rsc +2 -2
  80. package/.next/server/app/pair.segments/pair/__PAGE__.segment.rsc +4 -4
  81. package/.next/server/app-paths-manifest.json +5 -5
  82. package/.next/server/chunks/3100.js +2 -2
  83. package/.next/server/chunks/3294.js +1 -1
  84. package/.next/server/chunks/4008.js +18 -0
  85. package/.next/server/chunks/4367.js +1 -1
  86. package/.next/server/chunks/4674.js +1 -1
  87. package/.next/server/chunks/4980.js +1 -1
  88. package/.next/server/chunks/6429.js +1 -0
  89. package/.next/server/chunks/7077.js +1 -1
  90. package/.next/server/chunks/8015.js +107 -0
  91. package/.next/server/chunks/8501.js +1 -1
  92. package/.next/server/chunks/933.js +1 -1
  93. package/.next/server/chunks/9848.js +1 -0
  94. package/.next/server/instrumentation.js +1 -1
  95. package/.next/server/instrumentation.js.nft.json +1 -1
  96. package/.next/server/middleware-build-manifest.js +1 -1
  97. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  98. package/.next/server/pages/404.html +1 -1
  99. package/.next/server/pages/500.html +1 -1
  100. package/.next/server/server-reference-manifest.json +1 -1
  101. package/.next/server/webpack-runtime.js +1 -1
  102. package/.next/static/chunks/{3274.487a15bb28a8bf64.js → 3274.52c14cafa7f8a3ef.js} +2 -2
  103. package/.next/static/chunks/4315-8575b9eecf54f2bb.js +1 -0
  104. package/.next/static/chunks/4906-3ebc61b9b2c31745.js +1 -0
  105. package/.next/static/chunks/4996.5e04c050b0523d42.js +1 -0
  106. package/.next/static/chunks/5806.06789869309659d0.js +1 -0
  107. package/.next/static/chunks/6268.294dd515c545712d.js +17 -0
  108. package/.next/static/chunks/9668.a6deba4ff5761bbb.js +1 -0
  109. package/.next/static/chunks/app/{page-9304c484c09df22f.js → page-305a0dd341ec102d.js} +2 -2
  110. package/.next/static/chunks/webpack-76f14942c1d852d7.js +1 -0
  111. package/.next/static/css/d45df4610e8c9637.css +3 -0
  112. package/README.ja.md +10 -1
  113. package/README.ko.md +11 -3
  114. package/README.md +9 -3
  115. package/README.zh-CN.md +10 -1
  116. package/next.config.ts +1 -1
  117. package/package.json +3 -1
  118. package/.next/server/chunks/6480.js +0 -18
  119. package/.next/server/chunks/7226.js +0 -107
  120. package/.next/server/chunks/7779.js +0 -1
  121. package/.next/static/chunks/1941.66c3a0942c0c3e5d.js +0 -1
  122. package/.next/static/chunks/4315-f0bee51727fa8bed.js +0 -1
  123. package/.next/static/chunks/4318.196416c4ae7baadf.js +0 -17
  124. package/.next/static/chunks/4906-1472d0151646b3d8.js +0 -1
  125. package/.next/static/chunks/7488.1403755f69bda581.js +0 -1
  126. package/.next/static/chunks/9668.b62ea9e45077f781.js +0 -1
  127. package/.next/static/chunks/webpack-afa1355fdf81dfd5.js +0 -1
  128. package/.next/static/css/63b622301ba107de.css +0 -3
  129. /package/.next/static/{PPk0j6NqdLVIbLaafEqjL → SAMSH7hMTmFI9vfMyiguw}/_buildManifest.js +0 -0
  130. /package/.next/static/{PPk0j6NqdLVIbLaafEqjL → SAMSH7hMTmFI9vfMyiguw}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9668],{57990:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(99537).A)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]])},79668:(e,t,r)=>{r.r(t),r.d(t,{AgentsConfig:()=>S,default:()=>A});var a=r(95155),n=r(12115),o=r(90710),i=r(2125),s=r(50825),l=r(82749),d=r(65377),c=r(25182),p=r(57990);let g=(0,r(99537).A)("pen-line",[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]);var u=r(65738),x=r(9005),f=r(4315),v=r(31590);function h(e){if(!e)return;let t=e.trim();if(t){if(t.includes(",")){let e=t.split(",").map(e=>e.trim()).filter(Boolean);if(0===e.length)return;return 1===e.length?e[0]:e}return t}}function m(e){return e?Array.isArray(e)?e.filter(Boolean).join(", "):String(e).trim():""}var b=r(90071);function y(e){return!0===e?"on":!1===e?"off":"string"==typeof e?e:void 0}function j(e){let t=y(e);return void 0!==t&&"off"!==t}function w(e){if("object"!=typeof e||null===e||Array.isArray(e))return{};let t={};for(let[r,a]of Object.entries(e)){let e=y(a);void 0!==e&&(t[r]=e)}return t}function S({cwd:e,onSaved:t}){let{t:r}=(0,f.s9)(),c=(0,v.a)(),[p,g]=(0,n.useState)([]),[u,x]=(0,n.useState)("all"),[m,y]=(0,n.useState)(""),[j,C]=(0,n.useState)(!0),[A,T]=(0,n.useState)(null),[$,R]=(0,n.useState)(!1),[P,E]=(0,n.useState)(null),[W,I]=(0,n.useState)([]),[O,L]=(0,n.useState)(null),[M,D]=(0,n.useState)(!1),H=(0,n.useRef)(!1),F=(0,n.useRef)(0),[U,B]=(0,n.useState)(!1),[_,N]=(0,n.useState)(null),G=(0,n.useCallback)(async(t=!1)=>{if(H.current)return;let r=++F.current;C(!0),t||T(null);try{let t=e?`?cwd=${encodeURIComponent(e)}`:"",[a,n,o]=await Promise.all([fetch(`/api/agents${t}`),(0,b.aQ)(e).catch(()=>null),fetch("/api/omp-settings")]);if(!a.ok)throw Error(`HTTP ${a.status}`);let i=await a.json(),s=o.ok?await o.json():null;if(r!==F.current)return;if(g(i.agents??[]),n&&I(function(e){if(!e||"object"!=typeof e)return[];let t=new Set,r=[];if("modelList"in e&&Array.isArray(e.modelList))for(let a of e.modelList){if(!a||"object"!=typeof a||!("id"in a)||!("provider"in a)||"string"!=typeof a.id||"string"!=typeof a.provider)continue;let e=`${a.provider}/${a.id}`;if(t.has(e))continue;t.add(e);let n="name"in a&&"string"==typeof a.name&&a.name.trim()?a.name:a.id;r.push({selector:e,label:`${n} \xb7 ${a.provider}`})}if(0===r.length&&"models"in e&&e.models&&"object"==typeof e.models)for(let[a,n]of Object.entries(e.models)){let e=a.indexOf(":");if(-1===e)continue;let o=a.slice(0,e),i=a.slice(e+1),s=`${o}/${i}`;if(t.has(s))continue;t.add(s);let l="string"==typeof n&&n.trim()?`${n} \xb7 ${o}`:`${i} \xb7 ${o}`;r.push({selector:s,label:l})}return r}(n)),s){let e=s.settings?.task,t=Array.isArray(e?.disabledAgents)?e.disabledAgents:[],r={};for(let e of t)r[e]=!0;L(r)}}catch(e){r===F.current&&T(e instanceof Error?e.message:String(e))}finally{r===F.current&&C(!1)}},[e]);(0,n.useEffect)(()=>{G(!0)},[G,M]);let J=(0,n.useMemo)(()=>p.filter(e=>{let t="all"===u||e.source===u,r=!m||`${e.name} ${e.description} ${e.systemPrompt}`.toLowerCase().includes(m.toLowerCase());return t&&r}),[p,u,m]),q=async(e,r)=>{if(!H.current){H.current=!0,D(!0),++F.current,T(null),N(null);try{let a=await fetch("/api/omp-settings");if(!a.ok)throw Error(`HTTP ${a.status}`);let n=await a.json(),o=new Set(n.settings?.task?.disabledAgents??[]);r?o.add(e):o.delete(e);let i=await fetch("/api/omp-settings",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:{task:{disabledAgents:[...o]}}})});if(!i.ok){let e=await i.json().catch(()=>({}));throw Error(e.error??`HTTP ${i.status}`)}let s=await i.json(),l=s.settings?.task?.disabledAgents??[];L(Object.fromEntries(l.map(e=>[e,!0]))),t?.()}catch(e){T(e instanceof Error?e.message:String(e))}finally{H.current=!1,D(!1)}}},Y=async(e,r,a)=>{try{let n=await fetch("/api/omp-settings"),o=(n.ok?(await n.json()).settings:{}).task||{};if("model"===r){let t={...o.agentModelOverrides||{}},r=h("string"==typeof a?a:void 0);r?t[e]=r:delete t[e],o.agentModelOverrides=t}else if("prewalk"===r){let t=w(o.agentPrewalk);void 0===a?delete t[e]:t[e]=a,o.agentPrewalk=t}else if("advisor"===r){let t=w(o.agentAdvisor);void 0===a?delete t[e]:t[e]=a,o.agentAdvisor=t}let i=await fetch("/api/omp-settings",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:{task:o}})});if(!i.ok){let e=await i.json().catch(()=>({}));throw Error(e.error??`HTTP ${i.status}`)}await G(),t?.()}catch(e){T(e instanceof Error?e.message:String(e))}},Q=async()=>{B(!0),N(null);try{let a=await fetch("/api/agents/unpack",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,scope:"user"})});if(!a.ok)throw Error((await a.json()).error??`HTTP ${a.status}`);N(r("agentsConfig.unpackedSuccess")),await G(),t?.()}catch(e){T(e instanceof Error?e.message:String(e))}finally{B(!1)}},X=async a=>{if(confirm(`${r("agentsConfig.deleteConfirm")} (${a.name})`))try{let n=await fetch(`/api/agents/${encodeURIComponent(a.name)}?cwd=${encodeURIComponent(e??"")}&scope=${a.source}`,{method:"DELETE"});if(!n.ok)throw Error((await n.json()).error??`HTTP ${n.status}`);N(r("agentsConfig.deleteSuccess")),await G(),t?.()}catch(e){T(e instanceof Error?e.message:String(e))}},K=async(a,n,o)=>{let i=n&&o?`/api/agents/${encodeURIComponent(o)}`:"/api/agents",s=await fetch(i,{method:n?"PUT":"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...a,cwd:e})});if(!s.ok)throw Error((await s.json()).error||`HTTP ${s.status}`);R(!1),E(null),N(r("agentsConfig.saveSuccess")),await G(),t?.()},V=[{id:"all",label:r("agentsConfig.filterAll"),count:p.length},{id:"project",label:r("agentsConfig.filterProject"),count:p.filter(e=>"project"===e.source).length},{id:"user",label:r("agentsConfig.filterUser"),count:p.filter(e=>"user"===e.source).length},{id:"bundled",label:r("agentsConfig.filterBundled"),count:p.filter(e=>"bundled"===e.source).length},{id:"extension",label:r("agentsConfig.filterExtension"),count:p.filter(e=>"extension"===e.source).length}];return(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-5)",padding:0,color:"var(--text)",minHeight:0,flex:1,background:"var(--bg)",overflowX:"hidden"},children:[(0,a.jsx)("header",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"var(--space-5)",flexWrap:"wrap"},children:(0,a.jsxs)("div",{children:[(0,a.jsxs)("h2",{style:{margin:0,fontSize:16,fontWeight:600,display:"flex",alignItems:"center",gap:"var(--space-4)"},children:[(0,a.jsx)(o.A,{size:18,style:{color:"var(--accent)"}}),r("agentsConfig.title")]}),(0,a.jsx)("p",{style:{margin:"3px 0 0",fontSize:"var(--text-md)",color:"var(--text-muted)"},children:r("agentsConfig.description")})]})}),_&&(0,a.jsx)("div",{role:"status",style:{padding:"8px 12px",borderRadius:"var(--radius-control)",background:"var(--status-success-subtle)",border:"1px solid var(--status-success)",color:"var(--status-success)",fontSize:"var(--text-md)"},children:_}),A&&(0,a.jsx)("div",{role:"alert",style:{padding:"8px 12px",borderRadius:"var(--radius-control)",background:"color-mix(in srgb, var(--status-error) 12%, transparent)",border:"1px solid var(--status-error)",color:"var(--status-error)",fontSize:"var(--text-md)"},children:A}),(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"var(--space-4)",flexWrap:"wrap",flexShrink:0},children:[(0,a.jsxs)("div",{style:{display:"flex",gap:"var(--space-3)",flexWrap:"wrap",alignItems:"center"},children:[(0,a.jsxs)("button",{type:"button",onClick:()=>R(!0),style:{display:"inline-flex",alignItems:"center",gap:5,padding:"5px 10px",borderRadius:"var(--radius-control)",background:"var(--accent-strong)",color:"var(--on-accent)",border:0,fontSize:"var(--text-md)",fontWeight:600,cursor:"pointer",whiteSpace:"nowrap"},children:[(0,a.jsx)(i.A,{size:13})," ",r("agentsConfig.newAgent")]}),(0,a.jsxs)("button",{type:"button",disabled:U,onClick:()=>void Q(),style:{display:"inline-flex",alignItems:"center",gap:5,padding:"5px 10px",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",border:"1px solid var(--border)",color:"var(--text)",fontSize:"var(--text-md)",cursor:U?"wait":"pointer",whiteSpace:"nowrap"},children:[(0,a.jsx)(s.A,{size:13})," ",U?r("agentsConfig.unpacking"):r("agentsConfig.unpackBundled")]}),(0,a.jsx)("button",{type:"button",onClick:()=>void G(),"aria-label":"Refresh",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"var(--control-height-sm)",height:"var(--control-height-sm)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",border:"1px solid var(--border)",color:"var(--text-muted)",cursor:"pointer",flexShrink:0},children:(0,a.jsx)(l.A,{size:13,className:j?"spin":""})})]}),(0,a.jsxs)("div",{style:{position:"relative",minWidth:140,flex:"1 1 180px",maxWidth:c?"100%":240},children:[(0,a.jsx)(d.A,{size:13,style:{position:"absolute",left:8,top:"50%",transform:"translateY(-50%)",color:"var(--text-dim)",pointerEvents:"none"}}),(0,a.jsx)("input",{type:"text",value:m,onChange:e=>y(e.target.value),placeholder:r("agentsConfig.searchPlaceholder"),style:{width:"100%",height:"var(--control-height-sm)",padding:"0 8px 0 26px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--text)",fontSize:"var(--text-md)",outline:"none"}})]})]}),(0,a.jsx)("nav",{"aria-label":"Agent scopes",style:{display:"flex",gap:"var(--space-2)",borderBottom:"1px solid var(--border)",overflowX:"auto",flexShrink:0,WebkitOverflowScrolling:"touch",paddingBottom:2},children:V.map(e=>{let t=u===e.id;return(0,a.jsxs)("button",{type:"button",onClick:()=>x(e.id),style:{border:0,borderBottom:t?"2px solid var(--accent)":"2px solid transparent",background:"transparent",color:t?"var(--text)":"var(--text-muted)",fontWeight:t?600:400,padding:"6px 10px",fontSize:"var(--text-md)",cursor:"pointer",display:"inline-flex",alignItems:"center",gap:"var(--space-3)",whiteSpace:"nowrap",flexShrink:0},children:[e.label,"number"==typeof e.count&&(0,a.jsx)("span",{style:{fontSize:"var(--text-xs)",padding:"1px 6px",borderRadius:10,background:t?"var(--accent-subtle)":"var(--bg-panel)",color:"var(--text-muted)"},children:e.count})]},e.id)})}),j?(0,a.jsxs)("div",{style:{padding:40,textAlign:"center",color:"var(--text-muted)",fontSize:"var(--text-base)"},children:[(0,a.jsx)(l.A,{size:16,className:"spin",style:{display:"inline-block",marginRight:8}}),"Loading…"]}):0===J.length?(0,a.jsx)("div",{style:{padding:40,textAlign:"center",color:"var(--text-dim)",fontSize:"var(--text-base)",background:"var(--bg-panel)",borderRadius:"var(--radius-card)",border:"1px solid var(--border)"},children:r("agentsConfig.noAgentsFound")}):(0,a.jsx)("div",{style:{display:"grid",gridTemplateColumns:c?"1fr":"repeat(auto-fit, minmax(280px, 1fr))",gap:10,overflowY:"auto",minHeight:0},children:J.map(e=>{let t=!!(O?O[e.name]:e.disabled);return(0,a.jsx)(k,{agent:e,disabled:t,models:W,savingDisabled:M,onToggleDisabled:t=>void q(e.name,t),onEdit:()=>E(e),onDelete:()=>void X(e),onUpdateOverride:(t,r)=>void Y(e.name,t,r)},`${e.source}-${e.name}`)})}),($||P)&&(0,a.jsx)(z,{agent:P,models:W,isMobile:c,onCancel:()=>{R(!1),E(null)},onSave:e=>K(e,!!P,P?.name)})]})}function k({agent:e,disabled:t,models:r,savingDisabled:n,onToggleDisabled:o,onEdit:i,onDelete:s,onUpdateOverride:l}){let{t:d}=(0,f.s9)(),x="user"===e.source||"project"===e.source,v=j(e.advisorOverride),h=j(e.prewalkOverride),m=e.tools?.every(e=>"read"===e||"grep"===e||"glob"===e||e.startsWith("web_")),b="project"===e.source?"var(--source-project)":"user"===e.source?"var(--source-user)":"extension"===e.source?"var(--source-extension)":"var(--text-muted)";return(0,a.jsxs)("article",{style:{border:"1px solid var(--border)",borderRadius:"var(--radius-card)",background:"var(--bg-panel)",padding:14,boxShadow:"var(--shadow-card)",display:"flex",flexDirection:"column",gap:10,opacity:t?.6:1,transition:"opacity var(--dur-fast) var(--ease-out-warm)"},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"var(--space-4)"},children:[(0,a.jsxs)("div",{style:{minWidth:0},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-4)",flexWrap:"wrap"},children:[(0,a.jsx)("h3",{style:{margin:0,fontSize:"var(--text-lg)",fontWeight:600,color:"var(--text)"},children:e.name}),(0,a.jsx)("span",{style:{fontSize:"var(--text-xs)",fontWeight:600,padding:"1px 6px",borderRadius:4,border:`1px solid ${b}`,color:b,textTransform:"uppercase"},children:e.source}),e.isShadowed&&(0,a.jsx)("span",{title:d("agentsConfig.shadowedHint"),style:{fontSize:"var(--text-xs)",padding:"1px 6px",borderRadius:4,background:"var(--bg-subtle)",color:"var(--text-dim)"},children:d("agentsConfig.shadowedBadge")})]}),(0,a.jsx)("p",{style:{margin:"4px 0 0",fontSize:"var(--text-md)",color:"var(--text-muted)",lineHeight:1.4},children:e.description})]}),(0,a.jsxs)("label",{style:{display:"inline-flex",alignItems:"center",gap:"var(--space-3)",cursor:"pointer",fontSize:"var(--text-sm)",color:"var(--text-muted)",flexShrink:0},children:[(0,a.jsx)("input",{type:"checkbox",checked:!t,disabled:n,"aria-busy":n,onChange:e=>o(!e.target.checked),style:{cursor:"pointer"}}),d(t?"agentsConfig.disabled":"agentsConfig.enabled")]})]}),e.systemPrompt&&(0,a.jsx)("div",{style:{padding:"8px 10px",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",fontSize:"var(--text-sm)",color:"var(--text-dim)",maxHeight:60,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"pre-wrap",fontFamily:"var(--font-mono)",lineHeight:1.35},children:e.systemPrompt}),(0,a.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:5,alignItems:"center"},children:[m?(0,a.jsxs)("span",{style:{fontSize:"var(--text-sm)",padding:"2px 7px",borderRadius:4,background:"var(--accent-subtle)",color:"var(--accent)",display:"inline-flex",alignItems:"center",gap:4},children:[(0,a.jsx)(c.A,{size:11})," ",d("agentsConfig.readOnly")]}):(0,a.jsxs)("span",{style:{fontSize:"var(--text-sm)",padding:"2px 7px",borderRadius:4,background:"var(--bg)",color:"var(--text-muted)",display:"inline-flex",alignItems:"center",gap:4},children:[(0,a.jsx)(p.A,{size:11})," ",e.tools?`${e.tools.length} ${d("agentsConfig.tools")}`:"all tools"]}),e.tools?.map(e=>(0,a.jsx)("span",{style:{fontSize:"var(--text-xs)",padding:"1px 5px",borderRadius:3,background:"var(--bg)",border:"1px solid var(--border)",color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:e},e))]}),(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-4)",borderTop:"1px solid var(--border)",paddingTop:10,marginTop:"auto"},children:[(0,a.jsx)(C,{agent:e,models:r,onChange:e=>l("model",e)}),(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"var(--space-3)",flexWrap:"wrap"},children:[(0,a.jsxs)("div",{style:{display:"flex",gap:"var(--space-3)",alignItems:"center",flexWrap:"wrap"},children:[(0,a.jsxs)("button",{type:"button","aria-pressed":v,onClick:()=>l("advisor",v?"off":"on"),style:{padding:"3px 7px",borderRadius:"var(--radius-control)",border:"1px solid var(--border)",background:v?"color-mix(in srgb, var(--accent) 15%, transparent)":"var(--bg)",color:v?"var(--accent)":"var(--text-dim)",fontSize:"var(--text-sm)",cursor:"pointer"},children:[d("agentsConfig.advisor"),": ",v?"on":"off"]}),(0,a.jsxs)("button",{type:"button","aria-pressed":h,onClick:()=>l("prewalk",h?"off":"on"),style:{padding:"3px 7px",borderRadius:"var(--radius-control)",border:"1px solid var(--border)",background:h?"color-mix(in srgb, var(--accent) 15%, transparent)":"var(--bg)",color:h?"var(--accent)":"var(--text-dim)",fontSize:"var(--text-sm)",cursor:"pointer"},children:[d("agentsConfig.prewalk"),": ",h?"on":"off"]})]}),(0,a.jsxs)("div",{style:{display:"flex",gap:"var(--space-2)",marginLeft:"auto"},children:[x&&(0,a.jsx)("button",{type:"button",onClick:i,title:d("agentsConfig.editAgent"),"aria-label":d("agentsConfig.editAgent"),style:{background:"transparent",border:0,color:"var(--text-muted)",cursor:"pointer",padding:"var(--space-2)"},children:(0,a.jsx)(g,{size:14})}),x&&(0,a.jsx)("button",{type:"button",onClick:s,title:d("agentsConfig.deleteAgent"),"aria-label":d("agentsConfig.deleteAgent"),style:{background:"transparent",border:0,color:"var(--status-error)",cursor:"pointer",padding:"var(--space-2)"},children:(0,a.jsx)(u.A,{size:14})})]})]})]})]})}function C({agent:e,models:t,onChange:r}){let{t:o}=(0,f.s9)(),i=m(e.overrideModel),[s,l]=(0,n.useState)(i),d=`agent-models-${e.source}-${e.name}`;return(0,n.useEffect)(()=>l(i),[i]),(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:3,minWidth:0,width:"100%"},children:[(0,a.jsx)("label",{htmlFor:d,style:{fontSize:"var(--text-sm)",color:"var(--text-muted)"},children:o("agentsConfig.modelOverride")}),(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-2)",width:"100%"},children:[(0,a.jsx)("input",{id:d,list:`${d}-options`,value:s,onChange:e=>l(e.target.value),onBlur:()=>{let e=s.trim();e!==i.trim()&&r(e||void 0)},onKeyDown:e=>{"Enter"===e.key&&e.currentTarget.blur(),"Escape"===e.key&&(l(i),e.currentTarget.blur())},placeholder:o("agentsConfig.modelOverridePlaceholder"),title:o("agentsConfig.modelOverrideHint"),style:{minWidth:0,flex:1,width:"100%",padding:"4px 7px",borderRadius:"var(--radius-control)",border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:"var(--text-sm)",fontFamily:"var(--font-mono)"}}),i&&(0,a.jsx)("button",{type:"button",onMouseDown:e=>e.preventDefault(),onClick:()=>{l(""),r(void 0)},title:o("agentsConfig.clearModelOverride"),"aria-label":o("agentsConfig.clearModelOverride"),style:{border:0,background:"transparent",color:"var(--text-dim)",cursor:"pointer",padding:3,flexShrink:0},children:(0,a.jsx)(x.A,{size:13})}),(0,a.jsx)("datalist",{id:`${d}-options`,children:t.map(e=>(0,a.jsx)("option",{value:e.selector,children:e.label},e.selector))})]}),(0,a.jsx)("span",{style:{fontSize:"var(--text-xs)",color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:i?(0,a.jsxs)("span",{style:{color:"var(--accent)"},children:["✓ ",i]}):o("agentsConfig.agentDefaultModel",{model:m(e.model)||"session model"})})]})}function z({agent:e,models:t,onCancel:r,onSave:o,isMobile:i}){let{t:s}=(0,f.s9)(),l=!!e,[d,c]=(0,n.useState)(e?.name??""),[p,g]=(0,n.useState)(e?.description??""),[u,v]=(0,n.useState)(e?.source==="project"?"project":"user"),[b,y]=(0,n.useState)(m(e?.model)),[j,w]=(0,n.useState)((e?.tools??[]).join(", ")),[S,k]=(0,n.useState)(e?.systemPrompt??""),[C,A]=(0,n.useState)(!1),[T,$]=(0,n.useState)(null),R=async e=>{if(e.preventDefault(),d.trim()){A(!0),$(null);try{let e=j.split(",").map(e=>e.trim()).filter(Boolean),t=h(b);await o({name:d.trim(),description:p.trim(),scope:u,tools:e.length>0?e:void 0,model:t,systemPrompt:S.trim()})}catch(e){$(e instanceof Error?e.message:String(e))}finally{A(!1)}}};return(0,a.jsx)("div",{style:{position:"fixed",inset:0,background:"var(--overlay-backdrop)",display:"grid",placeItems:"center",zIndex:1e3,padding:"var(--space-6)"},children:(0,a.jsxs)("div",{style:{background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:"var(--radius-modal)",boxShadow:"var(--shadow-modal)",width:"min(100%, 540px)",maxHeight:"90vh",display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,a.jsxs)("header",{style:{padding:"14px 18px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,a.jsx)("h3",{style:{margin:0,fontSize:15,fontWeight:600},children:s(l?"agentsConfig.editAgent":"agentsConfig.createTitle")}),(0,a.jsx)("button",{type:"button",onClick:r,style:{background:"transparent",border:0,color:"var(--text-muted)",cursor:"pointer"},children:(0,a.jsx)(x.A,{size:17})})]}),(0,a.jsxs)("form",{onSubmit:R,style:{padding:18,display:"flex",flexDirection:"column",gap:"var(--space-5)",overflowY:"auto"},children:[T&&(0,a.jsx)("div",{role:"alert",style:{color:"var(--status-error)",fontSize:"var(--text-md)"},children:T}),!l&&(0,a.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:5,fontSize:"var(--text-md)",fontWeight:600,color:"var(--text-muted)"},children:["Scope",(0,a.jsxs)("select",{value:u,onChange:e=>v(e.target.value),style:{height:"var(--control-height)",padding:"0 8px",borderRadius:"var(--radius-control)",border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:"var(--text-md)"},children:[(0,a.jsx)("option",{value:"user",children:"User (~/.omp/agent/agents)"}),(0,a.jsx)("option",{value:"project",children:"Project (.omp/agents)"})]})]}),(0,a.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:5,fontSize:"var(--text-md)",fontWeight:600,color:"var(--text-muted)"},children:[s("agentsConfig.nameLabel"),(0,a.jsx)("input",{type:"text",required:!0,disabled:l,value:d,onChange:e=>c(e.target.value.toLowerCase().replace(/[^a-z0-9-]/g,"")),placeholder:s("agentsConfig.namePlaceholder"),style:{height:"var(--control-height)",padding:"0 8px",borderRadius:"var(--radius-control)",border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:"var(--text-md)"}})]}),(0,a.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:5,fontSize:"var(--text-md)",fontWeight:600,color:"var(--text-muted)"},children:[s("agentsConfig.descLabel"),(0,a.jsx)("input",{type:"text",required:!0,value:p,onChange:e=>g(e.target.value),placeholder:s("agentsConfig.descPlaceholder"),style:{height:"var(--control-height)",padding:"0 8px",borderRadius:"var(--radius-control)",border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:"var(--text-md)"}})]}),(0,a.jsxs)("div",{style:{display:"grid",gridTemplateColumns:i?"1fr":"1fr 1fr",gap:10},children:[(0,a.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:5,fontSize:"var(--text-md)",fontWeight:600,color:"var(--text-muted)"},children:[s("agentsConfig.toolsLabel"),(0,a.jsx)("input",{type:"text",value:j,onChange:e=>w(e.target.value),placeholder:"read, write, edit, bash",style:{height:"var(--control-height)",padding:"0 8px",borderRadius:"var(--radius-control)",border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:"var(--text-md)"}})]}),(0,a.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:5,fontSize:"var(--text-md)",fontWeight:600,color:"var(--text-muted)"},children:["Model",(0,a.jsx)("input",{list:"modal-agent-models-list",value:b,onChange:e=>y(e.target.value),placeholder:s("agentsConfig.modelOverridePlaceholder"),style:{height:"var(--control-height)",padding:"0 8px",borderRadius:"var(--radius-control)",border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:"var(--text-md)",fontFamily:"var(--font-mono)"}}),(0,a.jsx)("datalist",{id:"modal-agent-models-list",children:t.map(e=>(0,a.jsx)("option",{value:e.selector,children:e.label},e.selector))})]})]}),(0,a.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:5,fontSize:"var(--text-md)",fontWeight:600,color:"var(--text-muted)"},children:[s("agentsConfig.promptLabel"),(0,a.jsx)("textarea",{required:!0,rows:6,value:S,onChange:e=>k(e.target.value),placeholder:s("agentsConfig.promptPlaceholder"),style:{padding:"var(--space-4)",borderRadius:"var(--radius-control)",border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text)",fontSize:"var(--text-md)",fontFamily:"var(--font-mono)",lineHeight:1.4,resize:"vertical"}})]}),(0,a.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"var(--space-4)",marginTop:8},children:[(0,a.jsx)("button",{type:"button",onClick:r,style:{padding:"7px 14px",borderRadius:"var(--radius-control)",border:"1px solid var(--border)",background:"transparent",color:"var(--text)",fontSize:"var(--text-md)",cursor:"pointer"},children:s("agentsConfig.cancel")}),(0,a.jsx)("button",{type:"submit",disabled:C,style:{padding:"7px 16px",borderRadius:"var(--radius-control)",background:"var(--accent-strong)",color:"var(--on-accent)",border:0,fontSize:"var(--text-md)",fontWeight:600,cursor:C?"wait":"pointer"},children:s(C?"agentsConfig.saving":"agentsConfig.save")})]})]})]})})}let A=S},90071:(e,t,r)=>{function a(){return globalThis.__ompClientModelStore||(globalThis.__ompClientModelStore={globalGeneration:0,entries:new Map,inFlight:new Map,listeners:new Map}),globalThis.__ompClientModelStore}r.d(t,{aQ:()=>s,dU:()=>i});function n(e,t){t.snapshot={status:t.status,data:t.data,error:t.error,cwd:e,expiresAt:t.expiresAt};let r=a().listeners.get(e);if(r)for(let e of[...r])try{e(t.snapshot)}catch{}return t.snapshot}function o(e,t){let r=e.entries.get(t);if(r)return r;let a={data:null,error:null,status:"idle",expiresAt:null,generation:0,snapshot:{status:"idle",data:null,error:null,cwd:t,expiresAt:null}};return e.entries.set(t,a),a}function i(e){let t=a();if(void 0===e){for(let[e,r]of(t.globalGeneration+=1,t.entries))r.generation+=1,r.data=null,r.error=null,r.status="idle",r.expiresAt=null,n(e,r);t.inFlight.clear();return}let r=e??"",i=o(t,r);i.generation+=1,i.data=null,i.error=null,i.status="idle",i.expiresAt=null,t.inFlight.delete(r),n(r,i)}function s(e,t){let r=e??"";t?.force&&i(r);let s=a(),l=o(s,r),d=Date.now();if(l.data&&null!==l.expiresAt&&l.expiresAt>d&&!t?.force)return Promise.resolve(l.data);let c=s.inFlight.get(r);if(c)return c;let p=l.generation,g=s.globalGeneration;"ready"!==l.status&&(l.status="loading",l.error=null,n(r,l));let u=(async()=>{let e=await fetch(r?`/api/models?cwd=${encodeURIComponent(r)}`:"/api/models",{cache:"no-store"});if(!e.ok)throw Error(`HTTP ${e.status}`);var t=await e.json();if(!t||"object"!=typeof t)throw Error("invalid models response");return{models:t.models&&"object"==typeof t.models?t.models:{},modelList:Array.isArray(t.modelList)?t.modelList:[],defaultModel:t.defaultModel??null,thinkingLevels:t.thinkingLevels&&"object"==typeof t.thinkingLevels?t.thinkingLevels:{},...t.thinkingLevelMaps?{thinkingLevelMaps:t.thinkingLevelMaps}:{},...t.connectedProviders?{connectedProviders:t.connectedProviders}:{},..."string"==typeof t.modelError?{modelError:t.modelError}:{}}})().then(e=>{let t=a(),o=t.entries.get(r);return o&&o.generation===p&&t.globalGeneration===g&&(o.data=e,o.error=null,o.status="ready",o.expiresAt=Date.now()+3e4,n(r,o)),e}).catch(e=>{let t=a(),o=t.entries.get(r);throw o&&o.generation===p&&t.globalGeneration===g&&(o.status="error",o.error=e instanceof Error?e.message:String(e),o.expiresAt=null,n(r,o)),e}).finally(()=>{let e=a();e.inFlight.get(r)===u&&e.inFlight.delete(r)});return s.inFlight.set(r,u),u}}}]);