ompgui 0.4.5 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +6 -6
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/react-loadable-manifest.json +8 -8
  6. package/.next/required-server-files.js +3 -3
  7. package/.next/required-server-files.json +3 -3
  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 +3 -3
  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/app-update/route.js +1 -1
  29. package/.next/server/app/api/mcp/route.js +2 -2
  30. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  31. package/.next/server/app/api/models/route.js +1 -1
  32. package/.next/server/app/api/omp-update/route.js +1 -1
  33. package/.next/server/app/api/omp-update/route.js.nft.json +1 -1
  34. package/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
  35. package/.next/server/app/api/sessions/[id]/archive/route.js.nft.json +1 -1
  36. package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
  37. package/.next/server/app/api/sessions/[id]/auto-name/route.js.nft.json +1 -1
  38. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  39. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  40. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  41. package/.next/server/app/api/sessions/[id]/state/route.js.nft.json +1 -1
  42. package/.next/server/app/api/sessions/[id]/subagents/route.js +1 -1
  43. package/.next/server/app/api/sessions/[id]/subagents/route.js.nft.json +1 -1
  44. package/.next/server/app/api/sessions/route.js +1 -1
  45. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  46. package/.next/server/app/index.html +1 -1
  47. package/.next/server/app/index.rsc +4 -4
  48. package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  49. package/.next/server/app/index.segments/_full.segment.rsc +4 -4
  50. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  51. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  52. package/.next/server/app/login.html +1 -1
  53. package/.next/server/app/login.rsc +3 -3
  54. package/.next/server/app/login.segments/_full.segment.rsc +3 -3
  55. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  56. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +3 -3
  57. package/.next/server/app/page.js +6 -6
  58. package/.next/server/app/page_client-reference-manifest.js +1 -1
  59. package/.next/server/app-paths-manifest.json +6 -6
  60. package/.next/server/chunks/2407.js +1 -0
  61. package/.next/server/chunks/2865.js +1 -1
  62. package/.next/server/chunks/6209.js +1 -1
  63. package/.next/server/chunks/933.js +1 -1
  64. package/.next/server/middleware-build-manifest.js +1 -1
  65. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  66. package/.next/server/pages/404.html +1 -1
  67. package/.next/server/pages/500.html +1 -1
  68. package/.next/server/server-reference-manifest.json +1 -1
  69. package/.next/static/chunks/1133.bacd2a00ac07e041.js +1 -0
  70. package/.next/static/chunks/2201.6abfe81cfb579cec.js +1 -0
  71. package/.next/static/chunks/3274.30d8439f3571079d.js +1 -0
  72. package/.next/static/chunks/{6876-5f6f58395158f0b8.js → 3451-3d65a6a41175e276.js} +1 -1
  73. package/.next/static/chunks/4315-c1043ad8843c6724.js +1 -0
  74. package/.next/static/chunks/484.b4abadb8cdd9c97f.js +1 -0
  75. package/.next/static/chunks/5658.00ec4620fb11878f.js +1 -0
  76. package/.next/static/chunks/9182.b5a8480a8c9fd1ce.js +1 -0
  77. package/.next/static/chunks/9668.50f63e37c76796c5.js +1 -0
  78. package/.next/static/chunks/9981.90f200903b3d454f.js +1 -0
  79. package/.next/static/chunks/app/page-996c13eb0fd7f2f5.js +76 -0
  80. package/.next/static/chunks/webpack-aa3ac8754f36a5a1.js +1 -0
  81. package/.next/static/css/fd6895a0365999bd.css +3 -0
  82. package/package.json +1 -1
  83. package/.next/server/chunks/6465.js +0 -1
  84. package/.next/static/chunks/1133.cec7d32308adb5b9.js +0 -1
  85. package/.next/static/chunks/2201.f49c9364bec5b109.js +0 -1
  86. package/.next/static/chunks/3274.08ed8ce5038ed170.js +0 -1
  87. package/.next/static/chunks/4315-5512005e1f15ba17.js +0 -1
  88. package/.next/static/chunks/484.c74eeb0fca9a9ddf.js +0 -1
  89. package/.next/static/chunks/5658.d00c8405a87f7366.js +0 -1
  90. package/.next/static/chunks/9182.b35b0b7f89ee106d.js +0 -1
  91. package/.next/static/chunks/9668.1d1b3d7d4555fccf.js +0 -1
  92. package/.next/static/chunks/9981.7fbe43b8b0e281ef.js +0 -1
  93. package/.next/static/chunks/app/page-749137abf6301709.js +0 -76
  94. package/.next/static/chunks/webpack-5a3a80b1c55422fb.js +0 -1
  95. package/.next/static/css/df5d4e1ac6600988.css +0 -3
  96. /package/.next/static/{_2kWqNvF8DXtw8pUI3vZE → 2RFCzMViB3kmtz57FAIur}/_buildManifest.js +0 -0
  97. /package/.next/static/{_2kWqNvF8DXtw8pUI3vZE → 2RFCzMViB3kmtz57FAIur}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (()=>{"use strict";var e,t,a,d,r,c,f,o,n,b={},i={};function l(e){var t=i[e];if(void 0!==t)return t.exports;var a=i[e]={exports:{}},d=!0;try{b[e].call(a.exports,a,a.exports,l),d=!1}finally{d&&delete i[e]}return a.exports}l.m=b,e=[],l.O=(t,a,d,r)=>{if(a){r=r||0;for(var c=e.length;c>0&&e[c-1][2]>r;c--)e[c]=e[c-1];e[c]=[a,d,r];return}for(var f=1/0,c=0;c<e.length;c++){for(var[a,d,r]=e[c],o=!0,n=0;n<a.length;n++)(!1&r||f>=r)&&Object.keys(l.O).every(e=>l.O[e](a[n]))?a.splice(n--,1):(o=!1,r<f&&(f=r));if(o){e.splice(c--,1);var b=d();void 0!==b&&(t=b)}}return t},l.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return l.d(t,{a:t}),t},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,l.t=function(e,d){if(1&d&&(e=this(e)),8&d||"object"==typeof e&&e&&(4&d&&e.__esModule||16&d&&"function"==typeof e.then))return e;var r=Object.create(null);l.r(r);var c={};t=t||[null,a({}),a([]),a(a)];for(var f=2&d&&e;"object"==typeof f&&!~t.indexOf(f);f=a(f))Object.getOwnPropertyNames(f).forEach(t=>c[t]=()=>e[t]);return c.default=()=>e,l.d(r,c),r},l.d=(e,t)=>{for(var a in t)l.o(t,a)&&!l.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},l.f={},l.e=e=>Promise.all(Object.keys(l.f).reduce((t,a)=>(l.f[a](e,t),t),[])),l.u=e=>"static/chunks/"+(({988:"993e5495",1048:"db9d41be",7330:"d3ac728e",8133:"1ba63609",8747:"90542734",8924:"da12927c",9425:"bf2ff291"})[e]||e)+"."+({103:"23142a67b02246a8",268:"ec500965c1761e26",370:"8e8f3cf8eb0e29dd",398:"ffa02af9062a3950",484:"b4abadb8cdd9c97f",869:"7152372b662e31af",918:"6a9bbe564e4a2d0f",934:"9006461bd0548660",973:"9efc01efd9d768a5",988:"598a97aa1337298f",1032:"d9a9179233599785",1048:"27ee8fcc7bf00d70",1063:"775c442bdbeef08b",1133:"bacd2a00ac07e041",1327:"09252bb80616cc3a",1708:"c3a1896e4cc9f8d9",1781:"9072b4c9586df549",2081:"47b6e9391094055f",2181:"ba21239d3ac39f81",2201:"6abfe81cfb579cec",2258:"4defa30121ef44a5",2325:"23caf22075e51aa5",2356:"523277bb8c6bf72a",2418:"b5d9e177e10a686e",2480:"cf27ca02e5b19761",2539:"c5a4f2fd8e421c70",2619:"9431a3f48da8eef4",2695:"b732ef1965253b3f",2703:"495a65ed14b2f094",2821:"934bcf60fbdc28c6",3251:"408c817adb161919",3274:"30d8439f3571079d",3308:"8e27b5c43a478f0d",3336:"a76f9485fe7cb762",3716:"72bf4c9d7325debd",3995:"eca0f5bef1fc3ae5",4004:"74b9bcf5478b1663",4202:"8440832386f023c7",4238:"6f102dcbcf2ae339",4405:"7a19458960a1058e",4424:"fd0c93a807a333e1",4473:"c9bdafcdd251e4db",4559:"2e7ed39ea2757280",4854:"b64a1daa15899219",4866:"d1060b4faf2ae1e2",4970:"8a63b4953b0e4946",5020:"9ac8d0dc8390bb6e",5137:"f163e94c74a94d01",5199:"9ec1359b9aa220ab",5242:"7b643c6b3394cac1",5361:"afc00ab2626bacbf",5521:"cfdf2cfc6db31407",5526:"ff46471041fdcb79",5658:"00ec4620fb11878f",5681:"dd0e66b0de16e54b",6121:"eb9023b1cbc78ee2",6161:"4836cd7d031026bf",6195:"8710aa41b2319dff",6202:"f4317cf0a48876f9",6294:"24f510c0c3e3714c",6604:"226e5eae7c573e65",6654:"41440ef667144967",6794:"57bf1aff78682f3a",7256:"e07cf52d87d40252",7268:"2f59c671f26160f3",7330:"7964f816a1ca64e5",7331:"2add3c4e125a2dba",7543:"89f7b805ed0f2901",8133:"b2ae90f43319a29e",8200:"a36b9f8c983c6b9e",8717:"4e20eedf9544e286",8747:"ae439f2382f58c51",8863:"fa0320ea586efb3b",8885:"d9308c756376780b",8901:"e117d206a917bda0",8924:"476aa688a637649c",9182:"b5a8480a8c9fd1ce",9365:"a3e0e5ac101ccd02",9425:"244c8a7c1c14966a",9522:"c7c6e9c330f9ba6b",9614:"3221013d7f0af27f",9668:"50f63e37c76796c5",9698:"4d09a99b9d99f3e5",9705:"40a82b97f214e28b",9754:"d67dec946fc871d4",9764:"2669775c6e107a01",9793:"4567af813117ad25",9974:"9a0f79beca65e8c4",9981:"90f200903b3d454f"})[e]+".js",l.miniCssF=e=>"static/css/2f46e0db0d4a3aed.css",l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),d={},l.l=(e,t,a,r)=>{if(d[e])return void d[e].push(t);if(void 0!==a)for(var c,f,o=document.getElementsByTagName("script"),n=0;n<o.length;n++){var b=o[n];if(b.getAttribute("src")==e||b.getAttribute("data-webpack")=="_N_E:"+a){c=b;break}}c||(f=!0,(c=document.createElement("script")).charset="utf-8",c.timeout=120,l.nc&&c.setAttribute("nonce",l.nc),c.setAttribute("data-webpack","_N_E:"+a),c.src=l.tu(e)),d[e]=[t];var i=(t,a)=>{c.onerror=c.onload=null,clearTimeout(u);var r=d[e];if(delete d[e],c.parentNode&&c.parentNode.removeChild(c),r&&r.forEach(e=>e(a)),t)return t(a)},u=setTimeout(i.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=i.bind(null,c.onerror),c.onload=i.bind(null,c.onload),f&&document.head.appendChild(c)},l.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.tt=()=>(void 0===r&&(r={createScriptURL:e=>e},"u">typeof trustedTypes&&trustedTypes.createPolicy&&(r=trustedTypes.createPolicy("nextjs#bundler",r))),r),l.tu=e=>l.tt().createScriptURL(e),l.p="/_next/",c={8068:0},l.f.miniCss=(e,t)=>{if(c[e])t.push(c[e]);else 0!==c[e]&&({5846:1})[e]&&t.push(c[e]=new Promise((t,a)=>{var d=l.miniCssF(e),r=l.p+d;if(((e,t)=>{for(var a=document.getElementsByTagName("link"),d=0;d<a.length;d++){var r=a[d],c=r.getAttribute("data-href")||r.getAttribute("href");if("stylesheet"===r.rel&&(c===e||c===t))return r}for(var f=document.getElementsByTagName("style"),d=0;d<f.length;d++){var r=f[d],c=r.getAttribute("data-href");if(c===e||c===t)return r}})(d,r))return t();((e,t,a,d)=>{var r=document.createElement("link");r.rel="stylesheet",r.type="text/css",r.onerror=r.onload=c=>{if(r.onerror=r.onload=null,"load"===c.type)a();else{var f=c&&("load"===c.type?"missing":c.type),o=c&&c.target&&c.target.href||t,n=Error("Loading CSS chunk "+e+" failed.\n("+o+")");n.code="CSS_CHUNK_LOAD_FAILED",n.type=f,n.request=o,r.parentNode.removeChild(r),d(n)}},r.href=t;if("function"==typeof _N_E_STYLE_LOAD){var c=r.href,f=r.onload,o=r.onerror;_N_E_STYLE_LOAD(0===c.indexOf(window.location.origin)?new URL(c).pathname:c).then(function(){f&&f.call(r,{type:"load"})},function(){o&&o.call(r,{})})}else document.head.appendChild(r)})(e,r,t,a)}).then(()=>{c[e]=0},t=>{throw delete c[e],t}))},f={8068:0,6577:0},l.f.j=(e,t)=>{var a=l.o(f,e)?f[e]:void 0;if(0!==a)if(a)t.push(a[2]);else if(/^(5846|6577|8068)$/.test(e))f[e]=0;else{var d=new Promise((t,d)=>a=f[e]=[t,d]);t.push(a[2]=d);var r=l.p+l.u(e),c=Error();l.l(r,t=>{if(l.o(f,e)&&(0!==(a=f[e])&&(f[e]=void 0),a)){var d=t&&("load"===t.type?"missing":t.type),r=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+d+": "+r+")",c.name="ChunkLoadError",c.type=d,c.request=r,a[1](c)}},"chunk-"+e,e)}},l.O.j=e=>0===f[e],o=(e,t)=>{var a,d,[r,c,o]=t,n=0;if(r.some(e=>0!==f[e])){for(a in c)l.o(c,a)&&(l.m[a]=c[a]);if(o)var b=o(l)}for(e&&e(t);n<r.length;n++)d=r[n],l.o(f,d)&&f[d]&&f[d][0](),f[d]=0;return l.O(b)},(n=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(o.bind(null,0)),n.push=o.bind(null,n.push.bind(n)),l.nc=void 0})();
@@ -0,0 +1,3 @@
1
+ @font-face{font-family:Noto Sans Mono;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1cdd02902f937a18-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Noto Sans Mono;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7deddc85b7ffd1dc-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Noto Sans Mono;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a3dce5cfb5f7760-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Noto Sans Mono;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/15605e25b523335c-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Noto Sans Mono;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/641a7b8a5800ee0e-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Noto Sans Mono;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/4c4b3b30b6bcb2be-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Noto Sans Mono;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/ec14413c594b3356-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Noto Sans Mono Fallback;src:local("Arial");ascent-override:79.43%;descent-override:21.77%;line-gap-override:0.00%;size-adjust:134.59%}.__className_66b8ca{font-family:Noto Sans Mono,Noto Sans Mono Fallback;font-style:normal}.__variable_66b8ca{--font-noto-mono:"Noto Sans Mono","Noto Sans Mono Fallback"}@font-face{font-family:Pretendard Variable;font-weight:45 920;font-style:normal;font-display:swap;src:url(/_next/static/media/PretendardVariable.ff840cfe.woff2) format("woff2-variations")}
2
+
3
+ /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--font-weight-medium:500;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-border:var(--border);--color-text:var(--text);--color-text-muted:var(--text-muted);--color-text-dim:var(--text-dim);--color-accent:var(--accent);--color-accent-hover:var(--accent-hover);--color-bg-subtle:var(--bg-subtle)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-\[720px\]{height:720px}.h-full{height:100%}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-\[720px\]{width:720px}.w-full{width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e+38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-solid{--tw-border-style:solid;border-style:solid}.border-border{border-color:var(--color-border)}.bg-accent{background-color:var(--color-accent)}.bg-bg-subtle{background-color:var(--color-bg-subtle)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-6{padding-top:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-left{text-align:left}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.break-all{word-break:break-all}.text-accent{color:var(--color-accent)}.text-text{color:var(--color-text)}.text-text-dim{color:var(--color-text-dim)}.text-text-muted{color:var(--color-text-muted)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-\[1px\]{--tw-backdrop-blur:blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[scrollbar-width\:none\]{scrollbar-width:none}@media (hover:hover){.hover\:text-accent-hover:hover{color:var(--color-accent-hover)}.hover\:text-text:hover{color:var(--color-text)}}}:root,html[data-palette=warm]{--bg:#faf9f6;--bg-panel:#f2f0ea;--bg-hover:#eae7df;--bg-selected:#e5e0d4;--border:#e2ddd2;--text:#2b2823;--text-muted:#69635a;--text-dim:#6a6458;--accent:#b03e22;--accent-strong:#b03e22;--accent-hover:#96331b;--user-bg:#f5ede1;--tool-bg:#f6f3ed;--bg-subtle:#3c32230a;--status-error:#b42318;--status-success:#18794e;--status-warning:#8a5a00;--status-modified:#a87b1f;--status-renamed:#2563eb;--on-accent:#fff;--overlay-backdrop:var(--text)}@supports (color:color-mix(in lab,red,red)){:root,html[data-palette=warm]{--overlay-backdrop:color-mix(in srgb,var(--text) 24%,transparent)}}:root,html[data-palette=warm]{--border-muted:#e2ddd2;--border-accent:#b03e22;--focus-ring-color:#b03e22;--custom-message-bg:#f3eee6;--tool-pending-bg:#f3f0ea;--tool-success-bg:#edf3ec;--tool-error-bg:#f7ece8;--source-project:#b03e22;--source-user:#69635a;--source-extension:#6a6458;--switch-track:#e2ddd2;--switch-thumb:#fff;--switch-thumb-shadow:0 1px 2px #3c322338}html.dark:not([data-palette]),html[data-palette=warm].dark{--bg:#1b1916;--bg-panel:#231f1b;--bg-hover:#2b2721;--bg-selected:#332e26;--border:#38322b;--text:#ebe6dc;--text-muted:#a39b8e;--text-dim:#938c81;--accent:#e07b54;--accent-strong:#c2542e;--accent-hover:#e89371;--user-bg:#2c2721;--tool-bg:#26221d;--bg-subtle:#ebe1d20d;--status-error:#ff8a80;--status-success:#69d5a5;--status-warning:#f0c36a;--status-modified:#e0b24d;--status-renamed:#7ca8ff;--on-accent:#fff;--overlay-backdrop:var(--text)}@supports (color:color-mix(in lab,red,red)){html.dark:not([data-palette]),html[data-palette=warm].dark{--overlay-backdrop:color-mix(in srgb,var(--text) 24%,transparent)}}html.dark:not([data-palette]),html[data-palette=warm].dark{--border-muted:#38322b;--border-accent:#e07b54;--focus-ring-color:#e07b54;--custom-message-bg:#2a252f;--tool-pending-bg:#25242a;--tool-success-bg:#202923;--tool-error-bg:#302221;--source-project:#e07b54;--source-user:#a39b8e;--source-extension:#938c81;--switch-track:#38322b;--switch-thumb:#ebe6dc;--switch-thumb-shadow:0 1px 2px #00000073}html[data-palette=omp]{--bg:#f9f7f1;--bg-panel:#f1eee6;--bg-hover:#ebe7dc;--bg-selected:#ede9df;--border:#c8c4b8;--text:#3a3832;--text-muted:#68645c;--text-dim:#746f65;--accent:#608058;--accent-strong:#4a603f;--accent-hover:#526f4b;--user-bg:#f2efe7;--tool-bg:#eef0ed;--bg-subtle:#3a38320b;--status-error:#a8463e;--status-success:#4a713f;--status-warning:#876a20;--status-modified:#876a20;--status-renamed:#456f68;--on-accent:#fff;--overlay-backdrop:var(--text)}@supports (color:color-mix(in lab,red,red)){html[data-palette=omp]{--overlay-backdrop:color-mix(in srgb,var(--text) 24%,transparent)}}html[data-palette=omp]{--border-muted:#d8d3c7;--border-accent:#608058;--focus-ring-color:#608058;--custom-message-bg:#eef5ec;--tool-pending-bg:#eef0ed;--tool-success-bg:#ecf2ea;--tool-error-bg:#f5efed;--source-project:#608058;--source-user:#68645c;--source-extension:#746f65;--switch-track:#c8c4b8;--switch-thumb:#fff;--switch-thumb-shadow:0 1px 2px #3a383238}html[data-palette=omp].dark{--bg:#18181e;--bg-panel:#1e1e24;--bg-hover:#272a31;--bg-selected:#31363f;--border:#3d424a;--text:#e7e8ea;--text-muted:#a0a4ac;--text-dim:#858b96;--accent:#febc38;--accent-strong:#956000;--accent-hover:#ffd06a;--user-bg:#221d1a;--tool-bg:#1d2129;--bg-subtle:#e7e8ea0d;--status-error:#ff6b78;--status-success:#89d281;--status-warning:#e4c00f;--status-modified:#e4c00f;--status-renamed:#64b5d2;--on-accent:#fff;--overlay-backdrop:var(--text)}@supports (color:color-mix(in lab,red,red)){html[data-palette=omp].dark{--overlay-backdrop:color-mix(in srgb,var(--text) 24%,transparent)}}html[data-palette=omp].dark{--border-muted:#3d424a;--border-accent:#178fb9;--focus-ring-color:#0088fa;--custom-message-bg:#2a2530;--tool-pending-bg:#1d2129;--tool-success-bg:#161a1f;--tool-error-bg:#291d1d;--source-project:#febc38;--source-user:#a0a4ac;--source-extension:#858b96;--switch-track:#3d424a;--switch-thumb:#e7e8ea;--switch-thumb-shadow:0 1px 2px #00000080}:root{--radius-control:8px;--radius-card:12px;--radius-modal:16px;--control-height-sm:28px;--control-height:32px;--control-height-lg:36px;--shell-topbar-height:36px;--shell-file-toggle-size:calc(var(--shell-topbar-height) - 6px);--control-touch:44px;--control-touch-icon:40px;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:12px;--space-6:16px;--space-8:24px;--text-xs:10px;--text-sm:11px;--text-md:12px;--text-base:13px;--text-lg:14px;--text-xl:17px;--composer-ring-size:26px;--composer-control-h:var(--control-height-sm);--composer-attachment-w:var(--control-height-sm);--composer-thinking-max-w:66px;--composer-send-size:34px;--composer-shell-padding:var(--space-5) var(--space-5) var(--space-4) calc(var(--space-5) + var(--space-1));--composer-toolbar-separation:var(--space-2);--sidebar-mobile-width:280px;--accent-subtle:var(--accent)}@supports (color:color-mix(in lab,red,red)){:root{--accent-subtle:color-mix(in srgb,var(--accent) 12%,transparent)}}:root{--status-success-subtle:var(--status-success)}@supports (color:color-mix(in lab,red,red)){:root{--status-success-subtle:color-mix(in srgb,var(--status-success) 12%,transparent)}}:root{--status-warning-subtle:var(--status-warning)}@supports (color:color-mix(in lab,red,red)){:root{--status-warning-subtle:color-mix(in srgb,var(--status-warning) 12%,transparent)}}:root{--code-bg:var(--bg)}@supports (color:color-mix(in lab,red,red)){:root{--code-bg:color-mix(in srgb,var(--bg) 88%,var(--bg-panel))}}:root{--code-font-size:12.5px;--code-line-height:1.62;--code-padding-block:11px;--code-padding-inline:13px;--control-padding-inline:10px;--z-dropdown:50;--z-extension-dialog:90;--z-tooltip:120;--z-sidebar-backdrop:199;--z-sidebar:200;--z-resize-handle:205;--z-file-toggle:300;--z-branch-popover:600;--z-dialog-backdrop:1000;--z-dialog:1001;--z-directory-picker:1002;--z-command-palette:2000;--z-toast:2100;--dur-spin:.8s;--shadow-live-indicator:0 0 4px var(--status-success);--focus-ring:0 0 0 2px var(--focus-ring-color)}@supports (color:color-mix(in lab,red,red)){:root{--focus-ring:0 0 0 2px color-mix(in srgb,var(--focus-ring-color) 22%,transparent)}}:root{--shadow-card:0 1px 2px #3c32230d,0 2px 8px #3c32230f;--shadow-pop:0 2px 6px #3c322312,0 8px 24px #3c32231a;--shadow-modal:0 4px 12px #3c322314,0 16px 48px #3c322324;--ease-out-warm:cubic-bezier(.22,1,.36,1);--dur-fast:.15s;--dur-med:.22s;--dur-slow:.32s;--dur-theme:.45s;--palette-warm-preview-bg:#faf9f6;--palette-warm-preview-panel:#f2f0ea;--palette-warm-preview-accent:#b03e22;--palette-omp-preview-bg:#f9f7f1;--palette-omp-preview-panel:#ebe7dc;--palette-omp-preview-accent:#608058}html.dark{--shadow-card:0 1px 2px #00000059,0 0 0 1px #ebe1d208;--shadow-pop:0 2px 8px #00000073,0 0 0 1px #ebe1d20a;--shadow-modal:0 8px 32px #0000008c,0 0 0 1px #ebe1d20d}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--bg);height:100%;color:var(--text);font-family:var(--font-sans);overscroll-behavior:none;margin:0;padding:0;font-size:14px;overflow:hidden}body{height:100dvh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-dim)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-dim) 45%,transparent)}}::-webkit-scrollbar-thumb{background-clip:content-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-dim) 75%,transparent)}}::-webkit-scrollbar-thumb:hover{background-clip:content-box}*{scrollbar-width:thin;scrollbar-color:var(--text-dim) transparent}@supports (color:color-mix(in lab,red,red)){*{scrollbar-color:color-mix(in srgb,var(--text-dim) 45%,transparent) transparent}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}:root{--font-sans:"Pretendard Variable","Pretendard",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--font-mono:var(--font-noto-mono),"SFMono-Regular","Consolas",var(--font-sans),monospace;--font-serif:var(--font-sans)}code,pre{font-family:var(--font-mono)}.display-serif{font-family:var(--font-sans);letter-spacing:-.012em;font-weight:600}.markdown-body{color:var(--text);word-break:break-word;font-size:14px;line-height:1.7}.markdown-body p{margin:0 0 10px}.markdown-body p:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-family:var(--font-sans);color:var(--text);letter-spacing:.005em;font-weight:600;line-height:1.35}.markdown-body h1{margin:14px 0 8px;font-size:1.2em}.markdown-body h2{margin:12px 0 6px;font-size:1.1em}.markdown-body h3{color:var(--text);margin:10px 0 5px;font-size:1em}@supports (color:color-mix(in lab,red,red)){.markdown-body h3{color:color-mix(in srgb,var(--text) 88%,var(--text-muted))}}.markdown-body ol,.markdown-body ul{margin:6px 0 10px;padding-left:22px;list-style-position:outside}.markdown-body li{margin:2px 0;padding-left:2px}.markdown-body li>ol,.markdown-body li>ul{margin:2px 0 4px}.markdown-body ul>li{list-style-type:disc}.markdown-body ol>li{list-style-type:decimal}.markdown-body li>p{margin:0}.markdown-body li::marker{color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.markdown-body li::marker{color:color-mix(in srgb,var(--accent) 72%,var(--text-muted))}}.markdown-body li::marker{font-weight:600}.markdown-body strong{color:var(--text)}@supports (color:color-mix(in lab,red,red)){.markdown-body strong{color:color-mix(in srgb,var(--text) 88%,var(--accent))}}.markdown-body strong{font-weight:700}.markdown-body em{color:var(--text-muted)}.markdown-body a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.markdown-body a{-webkit-text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent)}}.markdown-body a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.markdown-body img{border-radius:6px;max-width:100%;height:auto;margin:8px 0;display:block}.markdown-body .markdown-inline-code{background:var(--bg-panel)}@supports (color:color-mix(in lab,red,red)){.markdown-body .markdown-inline-code{background:color-mix(in srgb,var(--bg-panel) 62%,var(--bg))}}.markdown-body .markdown-inline-code{color:var(--text);font-family:var(--font-mono);box-shadow:inset 0 0 0 1px var(--border);border-radius:5px;padding:1px 5px;font-size:.92em}@supports (color:color-mix(in lab,red,red)){.markdown-body .markdown-inline-code{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 60%,transparent)}}.markdown-body .contains-task-list{padding-left:0;list-style:none}.markdown-body .task-list-item{padding-left:25px;display:block;position:relative}.markdown-body .task-list-item::marker{content:""}.markdown-body .task-list-item>input[type=checkbox],.markdown-body .task-list-item>p:first-child>input[type=checkbox]:first-child{appearance:none;border:1px solid var(--border);background:var(--bg);border-radius:4px;place-content:center;width:14px;height:14px;margin:0;display:inline-grid;position:absolute;top:.35em;left:0}.markdown-body .task-list-item>input[type=checkbox]:checked,.markdown-body .task-list-item>p:first-child>input[type=checkbox]:first-child:checked{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.markdown-body .task-list-item>input[type=checkbox]:checked,.markdown-body .task-list-item>p:first-child>input[type=checkbox]:first-child:checked{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}}.markdown-body .task-list-item>input[type=checkbox]:checked,.markdown-body .task-list-item>p:first-child>input[type=checkbox]:first-child:checked{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.markdown-body .task-list-item>input[type=checkbox]:checked,.markdown-body .task-list-item>p:first-child>input[type=checkbox]:first-child:checked{background:color-mix(in srgb,var(--accent) 10%,var(--bg))}}.markdown-body .task-list-item>input[type=checkbox]:checked:before,.markdown-body .task-list-item>p:first-child>input[type=checkbox]:first-child:checked:before{content:"";border:solid var(--accent);border-width:0 1.5px 1.5px 0;width:4px;height:8px;transform:rotate(45deg)translateY(-1px)}.markdown-body blockquote{border-left:3px solid var(--border)}@supports (color:color-mix(in lab,red,red)){.markdown-body blockquote{border-left:3px solid color-mix(in srgb,var(--border) 75%,var(--text-muted))}}.markdown-body blockquote{background:var(--bg-subtle);color:var(--text-muted);border-radius:0 6px 6px 0;margin:6px 0;padding:6px 11px}.markdown-table-wrap{border:1px solid var(--border);border-radius:7px;width:100%;margin:8px 0;overflow:auto hidden}.markdown-body table{border-collapse:separate;border-spacing:0;min-width:100%;font-size:13px}.markdown-body td,.markdown-body th{border:0;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 10px}.markdown-body tr:last-child td{border-bottom:0}.markdown-body th{background:var(--bg-panel);color:var(--text)}@supports (color:color-mix(in lab,red,red)){.markdown-body th{color:color-mix(in srgb,var(--text) 88%,var(--text-muted))}}.markdown-body th{font-weight:650}.markdown-body tbody tr:nth-child(2n) td{background:var(--bg-subtle)}.markdown-body hr{background:linear-gradient(90deg,transparent,var(--border),transparent);border:none;height:1px;margin:12px 0}.markdown-body .katex-display{margin:.6em 0;padding:2px 0;overflow:auto hidden}.markdown-body .katex{font-size:1.05em}.markdown-user-message p{white-space:pre-wrap}.markdown-custom-message{line-height:1.32}.markdown-custom-message p{margin:0}.markdown-custom-message h1,.markdown-custom-message h2,.markdown-custom-message h3,.markdown-custom-message h4,.markdown-custom-message h5,.markdown-custom-message h6{margin:4px 0 2px;line-height:1.18}.markdown-custom-message ol,.markdown-custom-message ul{margin:2px 0 3px}.markdown-custom-message li{margin:0}.markdown-custom-message blockquote{margin:3px 0;padding:4px 8px}.markdown-custom-message .markdown-code-block,.markdown-custom-message .markdown-table-wrap{margin:4px 0}.markdown-compaction-message{line-height:1.5}.markdown-compaction-message p{margin:0 0 7px}.markdown-compaction-message h1,.markdown-compaction-message h2,.markdown-compaction-message h3,.markdown-compaction-message h4,.markdown-compaction-message h5,.markdown-compaction-message h6{margin:8px 0 3px;line-height:1.25}.markdown-compaction-message ol,.markdown-compaction-message ul{margin:4px 0 8px}.markdown-compaction-message li{margin:2px 0}.markdown-compaction-message .markdown-code-block,.markdown-compaction-message .markdown-table-wrap{margin:6px 0}.markdown-subagent-text{font-size:13px;line-height:1.55}.markdown-subagent-text p{margin:0 0 6px}.markdown-subagent-text p:last-child{margin-bottom:0}.markdown-subagent-text h1,.markdown-subagent-text h2,.markdown-subagent-text h3,.markdown-subagent-text h4,.markdown-subagent-text h5,.markdown-subagent-text h6{margin:7px 0 3px;line-height:1.25}.markdown-subagent-text ol,.markdown-subagent-text ul{margin:3px 0 6px}.markdown-subagent-text li{margin:1px 0}.markdown-subagent-text blockquote{margin:4px 0;padding:4px 8px}.markdown-subagent-text .markdown-code-block,.markdown-subagent-text .markdown-table-wrap{margin:5px 0}.compaction-file-details{border-top:1px solid var(--border);color:var(--text-muted);margin-top:10px;padding-top:8px;font-size:12px}.compaction-file-details summary{cursor:pointer;font-weight:600;line-height:1.4}.compaction-file-section{margin-top:8px}.compaction-file-title{color:var(--text);margin-bottom:4px;font-size:11px;font-weight:650}.compaction-file-list{border:1px solid var(--border);background:var(--bg-panel);max-height:180px;font-family:var(--font-mono);border-radius:6px;margin:0;padding:7px 8px;font-size:11px;line-height:1.45;list-style:none;overflow:auto}.compaction-file-list li{overflow-wrap:anywhere}.compaction-file-list li+li{margin-top:3px}.markdown-code-block{border:1px solid var(--border);background:var(--bg);box-shadow:0 1px 0 var(--border);border-radius:6px;margin:6px 0;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.markdown-code-block{box-shadow:0 1px 0 color-mix(in srgb,var(--border) 42%,transparent)}}.markdown-code-header{background:var(--bg-panel);border-bottom:1px solid var(--border);color:var(--text-dim);justify-content:space-between;align-items:center;gap:8px;padding:5px 10px;font-size:11px;display:flex}.markdown-code-lang{color:var(--text-muted);font-family:var(--font-mono);font-weight:650}.markdown-code-actions{align-items:center;gap:6px;display:flex}.markdown-code-action{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;font:inherit;border-radius:5px;padding:2px 7px;font-size:11px;line-height:1.25}.markdown-code-action:hover:not(:disabled){color:var(--text);border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.markdown-code-action:hover:not(:disabled){border-color:color-mix(in srgb,var(--border) 70%,var(--text-muted))}}.markdown-code-action:hover:not(:disabled){background:var(--bg-hover)}.markdown-code-action.is-copied{color:var(--status-success);border-color:var(--status-success)}@supports (color:color-mix(in lab,red,red)){.markdown-code-action.is-copied{border-color:color-mix(in srgb,var(--status-success) 45%,var(--border))}}.markdown-code-action.is-copied{background:var(--bg-panel)}.markdown-code-action:disabled{color:var(--text-dim);cursor:not-allowed;opacity:.75}.markdown-code-action.is-active{background:var(--bg-selected);color:var(--text)}.mermaid-block{background:var(--bg);padding:12px;overflow-x:auto}@supports (color:color-mix(in lab,red,red)){.mermaid-block{background:color-mix(in srgb,var(--bg) 92%,var(--bg-panel))}}.mermaid-block svg{max-width:none;display:block}.mermaid-block-loading{min-height:120px;color:var(--text-muted);justify-content:center;align-items:center;gap:8px;font-size:12px;animation:pulse 1.4s ease-in-out infinite;display:flex}.mermaid-block-loading:after{content:"";border:2px solid var(--border);border-top-color:var(--accent);width:14px;height:14px;animation:spin var(--dur-spin) linear infinite;border-radius:50%}.mermaid-block-error{color:var(--text-muted);font-family:var(--font-mono);align-items:center;gap:10px;padding:12px;font-size:12px;display:flex}.mermaid-preview-button{width:100%;color:inherit;cursor:zoom-in;text-align:left;border:0}.mermaid-preview-button:hover{opacity:.85}.mermaid-preview-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.mermaid-zoom-dialog{background:var(--bg);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--text);border:0;margin:0;padding:0}.mermaid-zoom-dialog::backdrop{background:var(--overlay-backdrop)}.mermaid-zoom-layout{grid-template-rows:auto minmax(0,1fr);height:100%;display:grid}.mermaid-zoom-toolbar{background:var(--bg-panel);border-bottom:1px solid var(--border);align-items:center;gap:10px;min-height:40px;padding:7px 10px;display:flex}.mermaid-zoom-title{min-width:0;color:var(--text-muted);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.mermaid-zoom-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.mermaid-zoom-stepper{border:1px solid var(--border);background:var(--bg);border-radius:5px;align-items:center;height:24px;display:flex;overflow:hidden}.mermaid-zoom-icon-button,.mermaid-zoom-stepper button{width:24px;height:24px;color:var(--text-muted);cursor:pointer;touch-action:manipulation;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.mermaid-zoom-stepper button{height:22px}.mermaid-zoom-stepper button+.mermaid-zoom-value,.mermaid-zoom-value+button{border-left:1px solid var(--border)}.mermaid-zoom-icon-button{border:1px solid var(--border);border-radius:5px;flex:0 0 24px}.mermaid-zoom-icon-button:hover,.mermaid-zoom-stepper button:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.mermaid-zoom-stepper button:disabled{opacity:.35;cursor:default}.mermaid-zoom-icon-button:focus-visible,.mermaid-zoom-stepper button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.mermaid-zoom-value{min-width:48px;height:22px;color:var(--text-muted);font-family:var(--font-mono);text-align:center;-webkit-user-select:none;user-select:none;font-size:12px;line-height:22px}.mermaid-zoom-viewport{background:var(--bg);-webkit-overflow-scrolling:touch;min-width:0;min-height:0;padding:24px;overflow:auto}.mermaid-zoom-canvas{border:1px solid var(--border);background:var(--bg-panel);transition:transform var(--dur-fast) var(--ease-out-warm);border-radius:7px;margin:0 auto;padding:12px}.mermaid-zoom-canvas svg{height:auto;display:block;width:100%!important;max-width:none!important}@media (max-width:480px){.mermaid-zoom-toolbar{padding-inline:8px}.mermaid-zoom-title{font-size:10px}.mermaid-zoom-viewport{padding:12px}}.image-clickable{cursor:zoom-in;background:0 0;border:none;max-width:100%;padding:0;line-height:0;display:inline-block}.markdown-body .image-clickable{width:fit-content;display:block}.image-clickable:hover img{opacity:.85}.image-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.image-lightbox-dialog{background:var(--bg);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--text);border:0;margin:0;padding:0}.image-lightbox-dialog::backdrop{background:var(--overlay-backdrop)}.image-lightbox-layout{grid-template-rows:auto minmax(0,1fr);height:100%;display:grid}.image-lightbox-toolbar{background:var(--bg-panel);border-bottom:1px solid var(--border);align-items:center;gap:10px;min-height:40px;padding:7px 10px;display:flex}.image-lightbox-title{min-width:0;color:var(--text-muted);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.image-lightbox-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.image-lightbox-stepper{border:1px solid var(--border);background:var(--bg);border-radius:5px;align-items:center;height:24px;display:flex;overflow:hidden}.image-lightbox-icon-button,.image-lightbox-stepper button{width:24px;height:24px;color:var(--text-muted);cursor:pointer;touch-action:manipulation;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.image-lightbox-stepper button{height:22px}.image-lightbox-stepper button+.image-lightbox-zoom-value,.image-lightbox-zoom-value+button{border-left:1px solid var(--border)}.image-lightbox-icon-button{border:1px solid var(--border);border-radius:5px;flex:0 0 24px}.image-lightbox-icon-button:hover,.image-lightbox-stepper button:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.image-lightbox-stepper button:disabled{opacity:.35;cursor:default}.image-lightbox-icon-button:focus-visible,.image-lightbox-stepper button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.image-lightbox-zoom-value{min-width:48px;height:22px;color:var(--text-muted);font-family:var(--font-mono);text-align:center;-webkit-user-select:none;user-select:none;font-size:12px;line-height:22px}.image-lightbox-viewport{background:var(--bg);-webkit-overflow-scrolling:touch;min-width:0;min-height:0;padding:24px;display:flex;overflow:auto}.image-lightbox-dialog .image-lightbox-img{max-width:none;height:auto;transition:transform var(--dur-fast) var(--ease-out-warm);margin:auto;display:block}@media (max-width:480px){.image-lightbox-toolbar{padding-inline:8px}.image-lightbox-title{font-size:10px}.image-lightbox-viewport{padding:12px}}.file-viewer-toolbar{min-width:0;min-height:35px}.file-viewer-path{flex:auto;min-width:48px}.file-viewer-meta,.file-viewer-path{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-viewer-meta{flex:0 auto;min-width:0}.file-viewer-live-indicator{border-radius:50%;flex:0 0 7px;width:7px;height:7px}.file-viewer-controls{gap:6px}.file-viewer-actions,.file-viewer-controls{flex-shrink:0;align-items:center;display:flex}.file-viewer-actions{order:-1;gap:4px;height:24px}.file-viewer-mode-switch{border:1px solid var(--border);border-radius:5px;height:24px;display:flex;overflow:hidden}.file-viewer-mode-button{border:0;border-left:1px solid var(--border);height:22px;font:inherit;letter-spacing:0;cursor:pointer;white-space:nowrap;padding:0 8px;font-size:11px;font-weight:500}.file-viewer-mode-button:first-child{border-left:0}.file-viewer-mode-button:hover{filter:brightness(1.08)}.file-viewer-icon-button{box-sizing:border-box;border:1px solid var(--border);width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:5px;flex:0 0 24px;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.file-viewer-icon-button:hover{color:var(--text);background:var(--bg-hover)!important}.file-viewer-icon-button:disabled{color:var(--text-dim);cursor:not-allowed;opacity:.55}.file-viewer-icon-button:disabled:hover{color:var(--text-dim);background:0 0!important}.file-viewer-icon-button:focus-visible,.file-viewer-mode-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.directory-picker-path:focus-visible{box-shadow:0 0 0 3px var(--accent);border-color:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.directory-picker-path:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}}.directory-picker-action:focus-visible,.directory-picker-back:focus-visible,.directory-picker-entry:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.session-item-button{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.session-item-button:focus-visible,.session-item-icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px}.sidebar-new-session:focus-visible,.sidebar-project-action:focus-visible,.sidebar-project-header>button:focus-visible,.sidebar-project-identity:focus-visible,.sidebar-settings-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sidebar-menu-item{text-align:left;cursor:pointer;width:100%;transition:background var(--dur-fast) var(--ease-out-warm);background:0 0;border:none;display:block}.sidebar-menu-item:hover:not(:disabled){background:var(--bg-hover)}.sidebar-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:6px}.sidebar-project{isolation:isolate;transition:margin var(--dur-med) var(--ease-out-warm);position:relative}.sidebar-project-header{z-index:1;position:relative}.sidebar-project-worktree{animation:sidebar-worktree-in var(--dur-fast) var(--ease-out-warm) both;margin:0 0 0 32px;padding:0 0 2px 6px}.sidebar-project-worktree>div{width:auto!important;margin:0!important}.sidebar-project-worktree button{width:100%!important;max-width:none!important}@keyframes sidebar-worktree-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes sidebar-sessions-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.sidebar-project-activity{transition:transform var(--dur-fast) var(--ease-out-warm),opacity var(--dur-fast) var(--ease-out-warm)}.sidebar-project:hover .sidebar-project-activity{transform:translate(-1px)}.chat-input-shell{transition:border-color var(--dur-med) var(--ease-out-warm),box-shadow var(--dur-med) var(--ease-out-warm),transform var(--dur-med) var(--ease-out-warm)}.chat-input-shell:focus-within{transform:none}.composer-control-shelf{animation:ui-slide-up var(--dur-fast) var(--ease-out-warm) both}.composer-control-shelf>button{transition:background var(--dur-fast) var(--ease-out-warm),color var(--dur-fast) var(--ease-out-warm),border-color var(--dur-fast) var(--ease-out-warm),transform var(--dur-fast) var(--ease-out-warm)}.composer-control-shelf>button:hover:not(:disabled){transform:none;background:var(--bg-hover)!important;color:var(--text)!important}@media (min-width:641px){.composer-control-shelf{border-top:1px solid var(--border);justify-content:flex-end;max-width:min(100%,760px);padding-top:4px;gap:4px!important}@supports (color:color-mix(in lab,red,red)){.composer-control-shelf{border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent)}}.composer-control-shelf>button{border-radius:6px!important;height:28px!important;padding-inline:8px!important;font-size:11px!important}}@media (prefers-reduced-motion:reduce){.composer-control-shelf,.sidebar-project-sessions,.sidebar-project-worktree{animation:none}}@media (max-width:640px){.file-viewer-meta{display:none}}@media (max-width:380px){.file-viewer-toolbar{gap:6px!important;padding-inline:8px!important}.file-viewer-mode-button{padding-inline:6px}}.markdown-file-preview h1{font-size:1.8em}.markdown-file-preview h2{font-size:1.4em}.markdown-file-preview h3{font-size:1.15em}.markdown-file-preview p{margin:0 0 12px}.markdown-file-preview pre{border:1px solid var(--border);border-radius:6px;margin:12px 0;padding:12px 16px;font-size:13px;overflow-x:auto}.markdown-file-preview code,.markdown-file-preview pre{background:var(--bg-panel);font-family:var(--font-mono)}.markdown-file-preview code{border-radius:3px;padding:1px 5px;font-size:.9em}.markdown-file-preview pre code{background:0 0;padding:0}.markdown-body span.linenumber,span.linenumber{color:var(--text-dim)!important;font-style:normal!important}span.token.table{display:inline}@keyframes drop-zone-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes drop-ripple{0%{opacity:.6;transform:scale(0)}to{opacity:0;transform:scale(1)}}.drop-zone-overlay{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.drop-zone-overlay{background:color-mix(in srgb,var(--accent) 6%,transparent)}}.drop-zone-overlay{animation:drop-zone-in var(--dur-fast) var(--ease-out-warm) both}.drop-ripple-ring{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.drop-ripple-ring{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}}.drop-ripple-ring{animation:drop-ripple 2.4s var(--ease-out-warm) infinite backwards}.drop-zone-illustration{filter:drop-shadow(0 6px 18px var(--accent))}@supports (color:color-mix(in lab,red,red)){.drop-zone-illustration{filter:drop-shadow(0 6px 18px color-mix(in srgb,var(--accent) 18%,transparent))}}@keyframes spin{to{transform:rotate(1turn)}}.icon-spin{animation:spin var(--dur-spin) linear infinite}@keyframes pulse{50%{opacity:.5}}@keyframes skeleton-shimmer{0%{background-position:-150% 0}to{background-position:150% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-subtle) 0,var(--text-dim) 50%,var(--bg-subtle) 100%)}@supports (color:color-mix(in lab,red,red)){.skeleton{background:linear-gradient(90deg,var(--bg-subtle) 0,color-mix(in srgb,var(--text-dim) 10%,var(--bg-subtle)) 50%,var(--bg-subtle) 100%)}}.skeleton{background-size:200% 100%;border-radius:6px;animation:skeleton-shimmer 1.6s ease-in-out infinite}.chat-input-shell:focus-within{border-color:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.chat-input-shell:focus-within{border-color:color-mix(in srgb,var(--accent) 45%,transparent)!important}}.chat-input-shell:focus-within{box-shadow:var(--shadow-card),0 0 0 3px var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.chat-input-shell:focus-within{box-shadow:var(--shadow-card),0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)!important}}@keyframes ui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ui-scale-in{0%{opacity:0;transform:scale(.96)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes ui-slide-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes ui-slide-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:ui-fade-in var(--dur-fast) var(--ease-out-warm) both}.animate-scale-in{animation:ui-scale-in var(--dur-med) var(--ease-out-warm) both}.animate-slide-down{animation:ui-slide-down var(--dur-med) var(--ease-out-warm) both}.animate-slide-up{animation:ui-slide-up var(--dur-med) var(--ease-out-warm) both}@keyframes dialog-backdrop-in{0%{opacity:0}to{opacity:1}}.dialog-backdrop-animate{animation:dialog-backdrop-in var(--dur-med) var(--ease-out-warm) both;transition:opacity var(--dur-med) var(--ease-out-warm)}.dialog-popup-animate{animation:dialog-pop-in var(--dur-med) var(--ease-out-warm) both;transition:width var(--dur-med) var(--ease-out-warm),height var(--dur-med) var(--ease-out-warm),max-width var(--dur-med) var(--ease-out-warm),max-height var(--dur-med) var(--ease-out-warm),border-radius var(--dur-med) var(--ease-out-warm),box-shadow var(--dur-med) var(--ease-out-warm);will-change:transform,opacity}.accordion-flow{transition:grid-template-rows var(--dur-med) var(--ease-out-warm),opacity var(--dur-med) var(--ease-out-warm);opacity:0;grid-template-rows:0fr;display:grid}.accordion-flow.is-open{opacity:1;grid-template-rows:1fr}.accordion-flow-inner{min-height:0;overflow:hidden}.chevron-smooth{transition:transform var(--dur-med) var(--ease-out-warm)}@keyframes dialog-pop-in{0%{opacity:0;transform:translate(-50%,-46%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.dropdown-surface{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:var(--shadow-pop);color:var(--text);animation:ui-scale-in var(--dur-fast) var(--ease-out-warm) both;overflow:hidden}.dropdown-item{color:var(--text-muted);transition:background-color var(--dur-fast) var(--ease-out-warm),color var(--dur-fast) var(--ease-out-warm)}.dropdown-item:focus-visible,.dropdown-item:hover{background:var(--bg-hover);color:var(--text);outline:none}.dropdown-item[aria-current=true],.dropdown-item[aria-selected=true],.dropdown-item[data-active=true]{background:var(--bg-selected);color:var(--text)}.dropdown-surface :is(select,option){color-scheme:light}html.dark .dropdown-surface :is(select,option){color-scheme:dark}@keyframes chat-message-in{0%{opacity:0;transform:translateY(7px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-message-card{animation:chat-message-in var(--dur-med) var(--ease-out-warm) both;transition:border-color var(--dur-fast) var(--ease-out-warm),box-shadow var(--dur-fast) var(--ease-out-warm),transform var(--dur-fast) var(--ease-out-warm)}.chat-message-card:hover{border-color:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.chat-message-card:hover{border-color:color-mix(in srgb,var(--accent) 22%,var(--border))!important}}.chat-message-card:hover{transform:none;box-shadow:var(--shadow-card)!important}.chat-message,.chat-message--live{animation:chat-message-in var(--dur-med) var(--ease-out-warm) both}.chat-message--live{position:relative}.chat-message--live:before{content:"";background:var(--accent);opacity:0;width:3px;animation:live-text-pulse 2.4s ease-in-out var(--dur-med) infinite;pointer-events:none;border-radius:2px;position:absolute;top:4px;bottom:4px;left:0}@keyframes live-text-pulse{0%,to{opacity:0}50%{opacity:.3}}@keyframes toast-in{0%{opacity:0;transform:translate(18px,8px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}.toast-card{animation:toast-in var(--dur-med) var(--ease-out-warm) both;transition:transform var(--dur-fast) var(--ease-out-warm),border-color var(--dur-fast) var(--ease-out-warm),box-shadow var(--dur-fast) var(--ease-out-warm)}.toast-card:hover{border-color:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.toast-card:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--border))!important}}.toast-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-modal)!important}.live-status-dot{isolation:isolate;box-shadow:0 0 0 3px var(--accent);position:relative}@supports (color:color-mix(in lab,red,red)){.live-status-dot{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}}.live-pulse:after{content:"";border:1.5px solid var(--accent);border-radius:9999px;position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.live-pulse:after{border:1.5px solid color-mix(in srgb,var(--accent) 55%,transparent)}}.live-pulse:after{animation:live-dot-pulse 1.5s var(--ease-out-warm) infinite;pointer-events:none;will-change:transform,opacity}@keyframes live-dot-pulse{0%{opacity:.9;transform:scale(1)}70%{opacity:0;transform:scale(2.6)}to{opacity:0;transform:scale(2.6)}}.mcp-editor-grid>:first-child{min-width:0}@media (max-width:640px){.mcp-editor-grid{grid-template-columns:1fr!important}.mcp-editor-grid>:first-child{border-bottom:1px solid var(--border);border-right:0!important}.empty-chat-brand{margin-left:0!important;margin-right:0!important}.model-role-row{gap:6px!important}.model-detail-grid-2,.model-role-row{grid-template-columns:1fr!important}.model-detail-grid-4{grid-template-columns:1fr 1fr!important}}.ui-smooth{transition:background-color var(--dur-fast) var(--ease-out-warm),color var(--dur-fast) var(--ease-out-warm),border-color var(--dur-fast) var(--ease-out-warm),opacity var(--dur-fast) var(--ease-out-warm),transform var(--dur-fast) var(--ease-out-warm)}.ui-focus-ring:focus-visible{outline-offset:-2px;outline:2px solid var(--accent)!important}.ui-control{min-height:var(--control-height);padding-inline:var(--control-padding-inline);font:inherit}.ui-control,.ui-icon-button{border-radius:var(--radius-control)}.ui-icon-button{width:var(--control-height);height:var(--control-height);flex:0 0 var(--control-height);justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-compact-surface{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-panel);color:var(--text-muted)}.shell-toolbar-btn{width:28px;height:28px;color:var(--text);cursor:pointer;transition:background var(--dur-fast) var(--ease-out-warm),color var(--dur-fast) var(--ease-out-warm);background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.shell-toolbar-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.shell-toolbar-btn:disabled{color:var(--text-dim);cursor:default;opacity:.5}.shell-toolbar-btn[aria-pressed=true]{background:var(--bg-selected);color:var(--text)}.shell-toolbar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.shell-toolbar-divider{background:var(--border);flex-shrink:0;width:1px;height:18px;margin:0 8px}.shell-topbar{height:var(--shell-topbar-height);border-bottom:1px solid var(--border);background:var(--bg-panel);padding-right:var(--shell-topbar-height);flex-shrink:0}.shell-stats-btn,.shell-topbar{align-items:center;display:flex}.shell-stats-btn{padding:0 var(--control-padding-inline);height:100%;color:var(--text-muted);white-space:nowrap;cursor:pointer;font-variant-numeric:tabular-nums;transition:color var(--dur-fast) var(--ease-out-warm),background var(--dur-fast) var(--ease-out-warm);background:0 0;border:none;justify-content:center;gap:10px;margin-left:auto;font-size:11px;overflow:hidden}.shell-stats-btn:hover{background:var(--bg-hover);color:var(--text)}.shell-stats-btn[aria-pressed=true]{background:var(--bg-selected);color:var(--text)}.shell-file-toggle{top:calc((var(--shell-topbar-height) - var(--shell-file-toggle-size)) / 2);right:calc((var(--shell-topbar-height) - var(--shell-file-toggle-size)) / 2);z-index:var(--z-file-toggle);width:var(--shell-file-toggle-size);height:var(--shell-file-toggle-size);border-radius:var(--radius-control);color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease-out-warm),color var(--dur-fast) var(--ease-out-warm);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:fixed}.shell-file-toggle:hover,.shell-file-toggle[aria-pressed=true]{background:var(--bg-hover);color:var(--text)}@media (max-width:640px){:root{--shell-topbar-height:44px;--composer-ring-size:28px;--composer-control-h:var(--control-height);--composer-attachment-w:36px;--composer-thinking-max-w:66px;--composer-send-size:34px;--composer-shell-padding:var(--space-5) var(--space-5) var(--space-2) calc(var(--space-5) + var(--space-1))}.shell-toolbar-btn{width:40px;height:40px}.shell-toolbar-divider{margin:0 4px}.shell-stats-btn{min-width:40px;padding:0 10px}}.process-details-toggle{width:auto;min-height:24px;color:var(--text-muted);cursor:pointer;font:inherit;text-align:left;transition:background var(--dur-fast) var(--ease-out-warm),color var(--dur-fast) var(--ease-out-warm);background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;margin-left:-8px;padding:2px 8px;font-size:12px;display:flex}.process-details-toggle:hover{background:var(--bg-hover);color:var(--text)}.process-details-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:0}.process-details-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tabbar-scroll{border-bottom:1px solid var(--border);scrollbar-width:thin;scrollbar-color:var(--border) transparent}.tabbar-tab{transition:background var(--dur-fast) var(--ease-out-warm),color var(--dur-fast) var(--ease-out-warm)}.tabbar-tab[aria-selected=true]{box-shadow:inset 0 1px 0 var(--accent);background:var(--bg-selected)!important;color:var(--text)!important}@supports (color:color-mix(in lab,red,red)){.tabbar-tab[aria-selected=true]{box-shadow:inset 0 1px 0 color-mix(in srgb,var(--accent) 14%,transparent)}}.tabbar-tab:hover:not([aria-selected=true]){background:var(--bg-hover)!important;color:var(--text)!important}.tabbar-close{transition:background var(--dur-fast) var(--ease-out-warm),color var(--dur-fast) var(--ease-out-warm)}@keyframes notice-shelf-in{0%{opacity:0;transform:translateY(-6px)scale(.995)}to{opacity:1;transform:translateY(0)}}@keyframes notice-shelf-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){.notice-shelf-item{animation-duration:.001ms!important}html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.skeleton{background:var(--bg-subtle);animation:none}}@keyframes saved-pop{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--status-success) 55%,transparent);transform:scale(1)}40%{box-shadow:0 0 0 6px color-mix(in srgb,var(--status-success) 25%,transparent);transform:scale(1.08)}to{box-shadow:0 0 0 0 color-mix(in srgb,var(--status-success) 0%,transparent);transform:scale(1)}}@keyframes saved-check-draw{0%{stroke-dashoffset:18px;opacity:0}to{stroke-dashoffset:0;opacity:1}}@media (min-width:641px){.sidebar-overlay-backdrop{display:none!important}.sidebar-container{--sidebar-width:260px;transition:width var(--dur-med) var(--ease-out-warm),min-width var(--dur-med) var(--ease-out-warm);position:relative;overflow:hidden}.sidebar-container.sidebar-open{width:var(--sidebar-width,260px);min-width:var(--sidebar-width,260px)}.sidebar-container.sidebar-closed{width:0;min-width:0;border-right:none!important}.sidebar-container>*{width:var(--sidebar-width,260px);min-width:var(--sidebar-width,260px)}.sidebar-container.sidebar-resizing{transition:none}.right-panel-container{transition:width var(--dur-med) var(--ease-out-warm),min-width var(--dur-med) var(--ease-out-warm);flex-shrink:0;overflow:hidden}.right-panel-container.right-panel-open{width:var(--right-panel-width);min-width:300px;max-width:calc(100vw - 360px)}.right-panel-container.right-panel-closed{width:0;min-width:0;border-left:none!important}.right-panel-container>*{width:var(--right-panel-width);min-width:300px}.right-panel-container.right-panel-resizing{transition:none}}.composer-attachment{width:var(--composer-attachment-w,var(--control-height-sm));height:var(--composer-control-h,var(--control-height-sm));border-radius:var(--radius-control);color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease-out-warm),color var(--dur-fast) var(--ease-out-warm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.composer-attachment[data-has-attachments=true]{color:var(--accent)}.composer-attachment:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.composer-attachment[data-has-attachments=true]:hover:not(:disabled){color:var(--accent)}.composer-attachment:disabled{cursor:not-allowed;opacity:.5}.composer-model-button,.composer-thinking-button{align-items:center;gap:var(--space-2,4px);height:var(--composer-control-h,var(--control-height-sm));padding:0 var(--space-4);border-radius:var(--radius-control);color:var(--text-muted);font-size:var(--text-md);transition:background var(--dur-fast) var(--ease-out-warm),color var(--dur-fast) var(--ease-out-warm);border:none;display:flex}.composer-model-button{max-width:190px;overflow:hidden}.composer-model-button:disabled,.composer-thinking-button:disabled{cursor:not-allowed;opacity:.5}.composer-fast-toggle{gap:var(--space-2,4px);padding:0 var(--space-4);transition:background var(--dur-fast) var(--ease-out-warm),color var(--dur-fast) var(--ease-out-warm);background:0 0}.composer-fast-toggle,.composer-primary-action{align-items:center;height:var(--composer-control-h,var(--control-height-sm));border-radius:var(--radius-control);font-size:var(--text-md);border:none;font-weight:600;display:flex}.composer-primary-action{justify-content:center;gap:var(--space-3,6px);padding:0 calc(var(--space-5) + var(--space-1))}.composer-primary-action[data-state=stop]{background:var(--accent-strong);color:var(--on-accent);cursor:pointer;transition:background var(--dur-fast) var(--ease-out-warm)}.composer-primary-action[data-state=send]{background:var(--accent-strong);color:var(--on-accent);cursor:pointer;box-shadow:var(--shadow-card);transition:background var(--dur-fast) var(--ease-out-warm),box-shadow var(--dur-fast) var(--ease-out-warm)}.composer-primary-action[data-state=send]:disabled{background:var(--bg-panel);color:var(--text-dim);cursor:not-allowed;box-shadow:none}.composer-context-ring-wrap{width:var(--composer-ring-size);height:var(--composer-ring-size)}.composer-context-ring,.composer-context-ring-wrap{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.composer-context-ring{width:100%;height:100%;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:9999px;padding:0}.composer-context-ring:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.composer-context-ring-popup{z-index:20;white-space:nowrap;min-width:142px;padding:8px 10px;position:absolute;bottom:calc(100% + 8px);right:0}.composer-context-ring-popup-summary{color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:12px;font-weight:600;display:block}.composer-context-ring-label{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:8px;font-weight:600}.composer-model-name{white-space:nowrap;text-align:left;direction:rtl;unicode-bidi:plaintext;min-width:0}.composer-model-name,.model-option-name{text-overflow:ellipsis;overflow:hidden}.composer-queue-action{align-items:center;gap:var(--space-2,4px);height:var(--composer-control-h,var(--control-height-sm));padding:0 var(--space-4,8px);border-radius:var(--radius-control);font-size:var(--text-md,12px);cursor:pointer;transition:background var(--dur-fast) var(--ease-out-warm),color var(--dur-fast) var(--ease-out-warm);background:0 0;border:none;flex-shrink:0;font-weight:600;display:inline-flex}.composer-queue-action-steer{color:var(--status-warning);background:var(--status-warning-subtle)}.composer-queue-action-followup{color:var(--accent);background:var(--accent-subtle)}.composer-queue-action:disabled{color:var(--text-dim);cursor:not-allowed;background:0 0}@media (max-width:640px){.chat-stats-center{display:none!important}.model-option-name{white-space:normal;overflow-wrap:anywhere;line-height:1.35}.composer-toolbar{grid-template-columns:var(--composer-attachment-w,36px) minmax(0,1fr) minmax(0,var(--composer-thinking-max-w,66px)) var(--composer-ring-size,28px) var(--composer-send-size,34px);align-items:center;gap:var(--space-3,6px)!important;display:grid!important}.composer-attachment{touch-action:manipulation;order:1;grid-area:1/1;width:var(--composer-attachment-w,36px)!important;height:var(--composer-control-h,44px)!important;border-radius:var(--radius-control)!important}.composer-model-control{order:2;grid-area:1/2;min-width:0}.composer-model-button{touch-action:manipulation;width:100%;max-width:none!important;height:var(--composer-control-h,44px)!important;padding-inline:var(--space-4,8px)!important;border-radius:var(--radius-control)!important;font-size:var(--text-base,13px)!important}.composer-thinking-control{min-width:0;max-width:var(--composer-thinking-max-w,66px);order:3;grid-area:1/3}.composer-thinking-button{width:100%;min-width:0;overflow:hidden;gap:var(--space-1,2px)!important;padding-inline:var(--space-2,4px)!important;font-size:var(--text-md,12px)!important}.composer-primary-action,.composer-thinking-button{touch-action:manipulation;justify-content:center;height:var(--composer-control-h,44px)!important;border-radius:var(--radius-control)!important}.composer-primary-action{width:var(--composer-send-size,34px);min-width:var(--composer-send-size,34px);order:5;grid-area:1/5;font-size:var(--text-base,13px)!important;padding-inline:0!important}.composer-primary-label{display:none}.composer-queue-action{width:var(--control-height,32px);height:var(--control-height,32px);touch-action:manipulation;border-radius:9999px;justify-content:center;padding:0!important}.composer-queue-action-label{display:none}.composer-queue-action-steer{order:6;grid-area:2/1;justify-self:start}.composer-queue-action-followup{order:7;grid-area:2/2;justify-self:start}.composer-fast-toggle{order:8;grid-area:2/1/auto/span 2;justify-self:start;height:var(--control-height-lg,36px)!important}.composer-toolbar-spacer{display:none}.composer-context-ring-wrap{order:4;grid-area:1/4;justify-self:end}.sidebar-container{width:var(--sidebar-mobile-width);max-width:85vw;transition:transform var(--dur-slow) var(--ease-out-warm),box-shadow var(--dur-slow) var(--ease-out-warm);top:0;bottom:0;left:0;position:fixed!important}.sidebar-container.sidebar-open{box-shadow:var(--shadow-modal);transform:translate(0)}.sidebar-container.sidebar-closed{box-shadow:none;transform:translate(-100%)}.right-panel-container{transition:width var(--dur-med) var(--ease-out-warm),min-width var(--dur-med) var(--ease-out-warm);flex-shrink:0;overflow:hidden}.right-panel-container.right-panel-open{width:100%;min-width:0}.right-panel-container.right-panel-closed{border-left:none!important;width:0!important;min-width:0!important;display:none!important}.directory-picker-action,.directory-picker-back,.directory-picker-entry{min-height:44px!important}.directory-picker-back{min-width:44px!important}.directory-picker-footer{flex-wrap:wrap;padding-bottom:max(10px,env(safe-area-inset-bottom))!important}}@media (max-width:420px){.composer-toolbar{grid-template-columns:var(--composer-attachment-w,36px) minmax(0,1fr) minmax(0,var(--composer-thinking-max-w,66px)) var(--composer-ring-size,28px) var(--composer-send-size,34px);gap:var(--space-1,2px)!important}}.sidebar-shell{word-break:keep-all;flex-direction:column;height:100%;display:flex;overflow:hidden}.sidebar-path-label{text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;min-width:0;line-height:1.35;display:block;overflow:hidden}.sidebar-path-label-text{unicode-bidi:plaintext}.sidebar-icon-button{width:calc(var(--control-height-sm) - var(--space-1));height:calc(var(--control-height-sm) - var(--space-1));border-radius:var(--radius-control);color:var(--text-dim);cursor:pointer;transition:background var(--dur-fast) var(--ease-out-warm),color var(--dur-fast) var(--ease-out-warm),border-color var(--dur-fast) var(--ease-out-warm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:0;display:flex}.sidebar-icon-button:hover:not(:disabled),.sidebar-icon-button[aria-pressed=true]{background:var(--bg-hover);color:var(--accent)}.sidebar-icon-button:disabled{cursor:default;opacity:.5}.sidebar-portal-menu{z-index:var(--z-dialog-backdrop);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-panel);box-shadow:var(--shadow-pop);position:fixed}.sidebar-worktree-menu{overflow:hidden}.sidebar-brand{min-width:6ch;color:var(--text);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-lg);letter-spacing:-.01em;background:0 0;border:none;padding:0;font-weight:700;line-height:1}.sidebar-brand-accent,.sidebar-brand-dynamic[data-version=true]{color:var(--accent)}.sidebar-brand-dynamic[data-version=false],.sidebar-brand-name{color:var(--text)}.sidebar-shell .sidebar-header{gap:var(--space-4);padding:calc(var(--space-5) - var(--space-1)) calc(var(--space-5) - var(--space-1)) var(--space-4);border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;display:flex}.sidebar-header-actions,.sidebar-header-row{align-items:center;display:flex}.sidebar-header-row{justify-content:space-between}.sidebar-header-actions{gap:var(--space-1)}.sidebar-import-input{display:none}.sidebar-new-session{width:100%;height:calc(var(--control-height-lg) + var(--space-1));box-sizing:border-box;justify-content:center;align-items:center;gap:calc(var(--space-4) - var(--space-1) / 2);padding:0 var(--space-5);border:1px solid var(--border);border-radius:calc(var(--radius-control) + var(--space-1) / 2);background:var(--bg-hover);color:var(--text);cursor:pointer;font-size:calc(var(--text-base) - var(--space-1) / 4);letter-spacing:-.01em;opacity:1;transition:background var(--dur-fast) var(--ease-out-warm),color var(--dur-fast) var(--ease-out-warm),border-color var(--dur-fast) var(--ease-out-warm);font-weight:600;display:flex}.sidebar-new-session:hover:not(:disabled){background:var(--bg-selected);border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.sidebar-new-session:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 30%,transparent)}}.sidebar-new-session:disabled{color:var(--text-dim);cursor:not-allowed;opacity:.65}.sidebar-new-session-icon{color:var(--accent);flex-shrink:0}.sidebar-workspaces-header{align-items:center;gap:var(--space-1);padding:var(--space-2) calc(var(--space-5) - var(--space-1)) var(--space-1);flex-shrink:0;display:flex}.sidebar-section-label{color:var(--text-muted);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;flex:1;font-weight:600}.sidebar-search-wrap{padding:0 calc(var(--space-5) - var(--space-1)) var(--space-3);flex-shrink:0}.sidebar-search-input{width:100%;height:calc(var(--control-height-sm) - var(--space-1) / 2);box-sizing:border-box;padding:0 calc(var(--space-4) + var(--space-1) / 2);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg);color:var(--text);font-size:var(--text-md);transition:border-color var(--dur-fast) var(--ease-out-warm),box-shadow var(--dur-fast) var(--ease-out-warm);outline:none;display:block}.sidebar-search-input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.sidebar-workspaces-list{min-height:80px;padding:var(--space-1) calc(var(--space-5) - var(--space-1)) var(--space-4);transition:flex var(--dur-med) var(--ease-out-warm);overflow-y:auto}.sidebar-state-message{padding:var(--space-5) var(--space-2);font-size:var(--text-md);line-height:1.5}.sidebar-state-message-muted{color:var(--text-muted)}.sidebar-state-message-error{color:var(--accent)}.sidebar-state-message-dim{color:var(--text-dim);font-size:var(--text-sm)}.sidebar-state-message-empty{padding-block:var(--space-5)}.sidebar-state-message-no-matches{padding-block:calc(var(--space-5) + var(--space-1))}.sidebar-explorer{border-top:1px solid var(--border);min-height:0;transition:flex var(--dur-med) var(--ease-out-warm);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.sidebar-explorer-actions,.sidebar-explorer-header{align-items:center;display:flex}.sidebar-explorer-header{flex-shrink:0}.sidebar-explorer-toggle{align-items:center;gap:var(--space-3);padding:var(--space-3) calc(var(--space-5) - var(--space-1));color:var(--text-muted);cursor:pointer;font-size:var(--text-sm);letter-spacing:.05em;text-align:left;text-transform:uppercase;background:0 0;border:none;flex:1;font-weight:600;display:flex}.sidebar-explorer-chevron{transition:transform var(--dur-med) var(--ease-out-warm);flex-shrink:0}.sidebar-explorer-chevron[data-open=true]{transform:rotate(90deg)}.sidebar-explorer-actions{opacity:1;pointer-events:auto;transition:opacity var(--dur-fast) var(--ease-out-warm)}.sidebar-explorer-actions[data-open=false]{opacity:0;pointer-events:none}.sidebar-explorer-icon-button{width:calc(var(--control-height-sm) - var(--space-1));height:calc(var(--control-height-sm) - var(--space-1));margin-right:var(--space-3);border-radius:var(--radius-control);color:var(--text-dim);cursor:pointer;transition:color var(--dur-fast) var(--ease-out-warm),background var(--dur-fast) var(--ease-out-warm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:0;display:flex}.sidebar-explorer-upload{margin-right:0}.sidebar-explorer-icon-button:hover:not(:disabled){background:var(--bg-hover);color:var(--text-muted)}.sidebar-explorer-icon-button:disabled{cursor:default;opacity:.6}.sidebar-explorer-refresh[data-refreshing=true]{color:var(--accent)}.sidebar-explorer-flow{min-height:0}.sidebar-explorer-flow-inner{height:100%;overflow:hidden auto}.sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;display:flex}.sidebar-settings-row{min-width:0;height:var(--control-height-lg);box-sizing:border-box;align-items:center;gap:var(--space-4);padding:0 calc(var(--space-5) - var(--space-1));color:var(--text-muted);cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease-out-warm),color var(--dur-fast) var(--ease-out-warm);background:0 0;border:none;flex:1;display:flex}.sidebar-settings-row:hover{background:var(--bg-hover);color:var(--text)}.sidebar-footer-icon{color:var(--accent);flex-shrink:0;display:inline-flex;position:relative}.sidebar-update-dot{border:1px solid var(--bg-panel);background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;right:-4px}.sidebar-footer-label{min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md);flex:1;font-weight:500;overflow:hidden}.sidebar-footer-chevron{color:var(--text-dim);flex-shrink:0}.sidebar-footer-divider{background:var(--border);align-self:stretch;width:1px}.sidebar-project{margin-bottom:var(--space-5)}.sidebar-project-header{align-items:center;gap:var(--space-1);height:calc(var(--control-height) - var(--space-1));padding:0 var(--space-3) 0 0;border-radius:var(--radius-control);transition:background var(--dur-fast) var(--ease-out-warm),color var(--dur-fast) var(--ease-out-warm),border-color var(--dur-fast) var(--ease-out-warm);background:0 0;margin:0;display:flex}.sidebar-project-header:hover{background:var(--bg-hover)}.sidebar-project-identity{align-self:stretch;align-items:center;gap:calc(var(--space-4) - var(--space-1) / 2);min-width:0;padding:0 var(--space-2) 0 calc(var(--space-5) - var(--space-1));color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;flex:0 auto;display:flex}.sidebar-project-header:hover .sidebar-project-identity{color:var(--text)}.sidebar-project-folder-icon{color:var(--text-dim);transition:color var(--dur-fast) var(--ease-out-warm);flex-shrink:0}.sidebar-project-identity[data-active=true] .sidebar-project-folder-icon{color:var(--accent)}.sidebar-project-header:hover .sidebar-project-folder-icon{color:var(--text-muted)}.sidebar-project-header:hover .sidebar-project-identity[data-active=true] .sidebar-project-folder-icon,.sidebar-project-identity[data-active=true] .sidebar-project-folder-icon{color:var(--accent)}.sidebar-project-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);font-size:var(--text-md);letter-spacing:-.01em;font-weight:600;line-height:1.25;overflow:hidden}.sidebar-project-worktree-toggle{align-items:center;gap:calc(var(--space-4) - var(--space-3) / 2);min-width:0;max-width:104px;height:calc(var(--control-height-sm) - var(--space-2));padding:0 var(--space-3);border-radius:var(--radius-control);color:var(--text-dim);cursor:pointer;font-family:var(--font-mono);font-size:calc(var(--text-md) - var(--space-3) / 4);transition:color var(--dur-fast) var(--ease-out-warm),background var(--dur-fast) var(--ease-out-warm);background:0 0;border:none;flex-shrink:0;line-height:1;display:inline-flex}.sidebar-project-header:hover .sidebar-project-worktree-toggle{color:var(--text-muted)}.sidebar-project-worktree-toggle[data-open=true]{background:var(--bg-selected);color:var(--accent)}.sidebar-project-worktree-dot{opacity:.7;flex-shrink:0}.sidebar-project-worktree-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-project-spacer{flex:1}.sidebar-project-activity{margin:0 var(--space-1) 0 0;flex-shrink:0;align-items:center;line-height:0;display:flex}.sidebar-project-activity-dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.sidebar-project-activity[data-running=true] .sidebar-project-activity-dot{box-shadow:0 0 0 calc(var(--space-3) / 2) var(--accent)}@supports (color:color-mix(in lab,red,red)){.sidebar-project-activity[data-running=true] .sidebar-project-activity-dot{box-shadow:0 0 0 calc(var(--space-3) / 2) color-mix(in srgb,var(--accent) 13%,transparent)}}.sidebar-project-action-slot{flex-shrink:0}.sidebar-project-action{width:calc(var(--control-height-sm) - var(--space-2));height:calc(var(--control-height-sm) - var(--space-2));border-radius:var(--radius-control);color:var(--text-dim);cursor:pointer;transition:background var(--dur-fast) var(--ease-out-warm),color var(--dur-fast) var(--ease-out-warm),border-color var(--dur-fast) var(--ease-out-warm);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:0;display:flex}.sidebar-project-action[data-open=true]{background:var(--bg-selected)}.sidebar-project-action:disabled{cursor:default;opacity:.5}.sidebar-menu-item{padding:var(--space-3) calc(var(--space-4) + var(--space-1) / 2);border-radius:calc(var(--radius-control) - var(--space-1));color:var(--text-muted);font-size:var(--text-sm)}.sidebar-menu-item-danger{color:var(--status-error)}.sidebar-menu-item:disabled{color:var(--text-dim);cursor:not-allowed;opacity:.55}.sidebar-project-remove-item:disabled{color:var(--status-error);cursor:default;opacity:1}.sidebar-project-toggle{width:calc(var(--control-height-sm) - var(--space-3));height:calc(var(--control-height-sm) - var(--space-1));border-radius:var(--radius-control);color:var(--text-dim);cursor:pointer;transition:color var(--dur-fast) var(--ease-out-warm),background var(--dur-fast) var(--ease-out-warm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:0;display:flex}.sidebar-project-toggle-icon,.sidebar-show-more-icon{transition:transform var(--dur-fast) var(--ease-out-warm)}.sidebar-project-toggle[data-expanded=true] .sidebar-project-toggle-icon{transform:rotate(90deg)}.sidebar-project-sessions{margin:var(--space-1) 0 0;animation:sidebar-sessions-in var(--dur-med) var(--ease-out-warm) both;transform-origin:top}.sidebar-project-empty{padding:var(--space-3) var(--space-5) var(--space-4) calc(var(--space-8) + var(--space-5) - var(--space-1))}.sidebar-project-empty,.sidebar-show-more{color:var(--text-dim);font-size:var(--text-sm)}.sidebar-show-more{align-items:center;gap:calc(var(--space-4) - var(--space-3) / 2);width:100%;margin:var(--space-1) 0 0;padding:calc(var(--space-3) - var(--space-1) / 2) var(--space-4) calc(var(--space-3) - var(--space-1) / 2) calc(var(--space-8) + var(--space-5) - var(--space-1));border-radius:var(--radius-control);cursor:pointer;font-variant-numeric:tabular-nums;text-align:left;transition:background var(--dur-fast) var(--ease-out-warm),color var(--dur-fast) var(--ease-out-warm);background:0 0;border:none;font-weight:600;display:flex}.sidebar-show-more:hover{background:var(--bg-hover);color:var(--accent)}.sidebar-show-more-icon[data-expanded=true]{transform:rotate(180deg)}.sidebar-worktree-list{max-height:min(40vh,300px);overflow-y:auto}.sidebar-worktree-confirm-row{align-items:center;gap:var(--space-3);padding:calc(var(--space-4) - var(--space-1) / 2) var(--space-5);border-bottom:1px solid var(--border);background:var(--accent);display:flex}@supports (color:color-mix(in lab,red,red)){.sidebar-worktree-confirm-row{background:color-mix(in srgb,var(--accent) 6%,transparent)}}.sidebar-worktree-confirm-text{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);flex:1;overflow:hidden}.sidebar-worktree-cancel-button,.sidebar-worktree-force-button{padding:calc(var(--space-1) + 1px) calc(var(--space-4) + var(--space-1) / 2);border-radius:var(--radius-control);cursor:pointer;font-size:var(--text-sm);flex-shrink:0}.sidebar-worktree-force-button{background:var(--accent-strong);color:var(--on-accent);border:none;font-weight:600}.sidebar-worktree-cancel-button{border:1px solid var(--border);background:var(--bg-hover);color:var(--text-muted)}.sidebar-worktree-row{border-bottom:1px solid var(--border);align-items:center;display:flex}.sidebar-worktree-select{align-items:center;gap:calc(var(--space-4) - var(--space-3) / 2);min-width:0;padding:var(--space-4) calc(var(--space-5) - var(--space-1));background:var(--bg);color:var(--text-muted);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-sm);text-align:left;border:none;flex:1;display:flex}.sidebar-worktree-select[aria-pressed=true]{color:var(--text)}.sidebar-worktree-select .sidebar-path-label{flex:1}.sidebar-worktree-check,.sidebar-worktree-check-spacer{flex-shrink:0;width:10px}.sidebar-worktree-check{color:var(--accent)}.sidebar-worktree-main-badge{color:var(--text-dim);font-size:var(--text-xs);flex-shrink:0}.sidebar-worktree-remove{width:calc(var(--control-height-lg) - var(--space-1));height:var(--control-height);margin-right:var(--space-2);border-radius:var(--radius-control);color:var(--text-dim);cursor:pointer;transition:color var(--dur-fast) var(--ease-out-warm),background var(--dur-fast) var(--ease-out-warm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.sidebar-worktree-remove:hover:not(:disabled){background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.sidebar-worktree-remove:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 8%,transparent)}}.sidebar-worktree-remove:hover:not(:disabled){color:var(--accent)}.sidebar-worktree-new{align-items:center;gap:calc(var(--space-4) - var(--space-3) / 2);width:100%;padding:var(--space-4) calc(var(--space-5) - var(--space-1));color:var(--text-muted);cursor:pointer;font-size:var(--text-sm);text-align:left;background:0 0;border:none;display:flex}.sidebar-worktree-new-icon{flex-shrink:0}.sidebar-worktree-form{padding:var(--space-3) var(--space-4)}.sidebar-worktree-input{box-sizing:border-box;width:100%;padding:calc(var(--space-2) + 1px) var(--space-4);border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:var(--text-sm);outline:none;display:block}.sidebar-worktree-form-actions{gap:calc(var(--space-4) - var(--space-3) / 2);margin-top:calc(var(--space-3) - var(--space-1) / 2);display:flex}.sidebar-worktree-create,.sidebar-worktree-form-cancel{padding:var(--space-2) 0;border-radius:var(--radius-control);cursor:pointer;font-size:var(--text-sm);flex:1}.sidebar-worktree-create{background:var(--accent-strong);color:var(--on-accent);border:none;font-weight:600}.sidebar-worktree-form-cancel{border:1px solid var(--border);background:var(--bg-hover);color:var(--text-muted)}.sidebar-worktree-create:disabled{cursor:not-allowed;opacity:.65}.sidebar-worktree-error{padding:var(--space-2) var(--space-5) var(--space-4);overflow-wrap:anywhere;color:var(--accent);font-size:var(--text-sm);line-height:1.35}.sidebar-session-tree-row{position:relative}.sidebar-session-indent-line{pointer-events:none;background:var(--border);width:1px;position:absolute;top:0;bottom:0}.sidebar-session-indicator{color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sidebar-session-indicator-svg{display:block}.sidebar-session-row{align-items:center;gap:var(--space-3);width:100%;min-height:calc(var(--control-height) - var(--space-1));margin:calc(var(--space-1) / 2) 0;padding:0 var(--space-4) 0 0;cursor:pointer;transition:background var(--dur-fast) var(--ease-out-warm),opacity var(--dur-fast) var(--ease-out-warm);background:0 0;display:flex;position:relative;overflow:hidden}.sidebar-session-row[data-interactive=true]:hover{background:var(--bg-hover)}.sidebar-session-row[data-interactive=false]{cursor:default}.sidebar-session-row[data-selected=true]{background:var(--bg-selected)}@supports (color:color-mix(in lab,red,red)){.sidebar-session-row[data-selected=true]{background:color-mix(in srgb,var(--bg-selected) 70%,transparent)}}.sidebar-session-row[data-confirming=true]{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.sidebar-session-row[data-confirming=true]{background:color-mix(in srgb,var(--accent) 6%,transparent)}}.sidebar-session-row[data-deleting=true]{opacity:.5}.sidebar-session-selection-indicator{width:var(--space-1);border-radius:calc(var(--space-1) / 2);pointer-events:none;background:var(--accent);position:absolute;top:0;bottom:0}.sidebar-session-confirm-text{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md);flex:1;overflow:hidden}.sidebar-session-cancel-button,.sidebar-session-confirm-button{height:var(--control-height);padding:0 var(--space-5);border-radius:var(--radius-control);cursor:pointer;font-size:var(--text-sm)}.sidebar-session-confirm-button{background:var(--accent-strong);color:var(--on-accent);border:none;font-weight:600}.sidebar-session-cancel-button{border:1px solid var(--border);background:var(--bg);color:var(--text-muted)}.sidebar-session-rename-input{height:calc(var(--control-height-sm) - var(--space-3) / 2);padding:calc(var(--space-2) - var(--space-1) / 2) calc(var(--space-3) + var(--space-1) / 2);border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--bg);color:var(--text);font-size:var(--text-md);outline:none;flex:1}.sidebar-session-branch-icon{color:var(--text-dim);flex-shrink:0}.sidebar-session-content{flex:1;align-items:center;min-width:0;display:flex}.sidebar-session-title{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:calc(var(--text-base) - var(--space-1) / 4);letter-spacing:-.005em;font-weight:500;line-height:1.35;overflow:hidden}.sidebar-session-row[data-selected=true] .sidebar-session-title{font-weight:600}.sidebar-session-worktree{align-items:center;gap:var(--space-1);min-width:0;max-width:56px;color:var(--text-dim);font-size:var(--text-xs);flex-shrink:1;display:flex;overflow:hidden}.sidebar-session-worktree-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-session-time{min-width:30px;color:var(--text-dim);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0}.sidebar-session-time[data-selected=true]{color:var(--accent)}.sidebar-session-action,.sidebar-session-collapse{width:calc(var(--control-height-sm) - var(--space-2));height:calc(var(--control-height-sm) - var(--space-2));border-radius:var(--radius-control);color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:0;display:flex}.sidebar-session-collapse[data-collapsed=true]{transform:rotate(-90deg)}.sidebar-session-collapse{transition:transform var(--dur-fast) var(--ease-out-warm),background var(--dur-fast) var(--ease-out-warm)}.sidebar-session-action-slot{flex-shrink:0;position:relative}.sidebar-session-action[data-open=true]{background:var(--bg-selected);color:var(--text)}@media (max-width:640px){.sidebar-brand,.sidebar-explorer-icon-button,.sidebar-explorer-toggle,.sidebar-icon-button,.sidebar-menu-item,.sidebar-new-session,.sidebar-project-action,.sidebar-project-identity,.sidebar-project-toggle,.sidebar-project-worktree-toggle,.sidebar-search-input,.sidebar-session-action,.sidebar-session-cancel-button,.sidebar-session-collapse,.sidebar-session-confirm-button,.sidebar-session-content,.sidebar-session-rename-input,.sidebar-session-row,.sidebar-settings-row,.sidebar-show-more,.sidebar-worktree-cancel-button,.sidebar-worktree-create,.sidebar-worktree-force-button,.sidebar-worktree-form-cancel,.sidebar-worktree-input,.sidebar-worktree-new,.sidebar-worktree-remove,.sidebar-worktree-select{min-height:var(--control-touch-anchor,var(--control-touch))}.sidebar-explorer-icon-button,.sidebar-icon-button,.sidebar-session-action,.sidebar-session-collapse{min-width:var(--control-touch-icon)}.sidebar-project-header{height:var(--control-touch)}.sidebar-project-worktree-toggle,.sidebar-session-cancel-button,.sidebar-session-confirm-button,.sidebar-worktree-cancel-button,.sidebar-worktree-create,.sidebar-worktree-force-button,.sidebar-worktree-form-cancel{min-height:var(--control-touch)}}@media (prefers-reduced-motion:reduce){.sidebar-new-session,.sidebar-project-header,.sidebar-project-sessions,.sidebar-search-input,.sidebar-session-collapse,.sidebar-settings-row{transition:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ompgui",
3
- "version": "0.4.5",
3
+ "version": "0.5.0",
4
4
  "description": "Web UI & Browser GUI for the oh-my-pi (omp) coding agent",
5
5
  "homepage": "https://github.com/dbc-hbin/ompgui#readme",
6
6
  "repository": {
@@ -1 +0,0 @@
1
- "use strict";exports.id=6465,exports.ids=[6465],exports.modules={28967:(a,b,c)=>{function d(){return globalThis.__piModelsCacheState||(globalThis.__piModelsCacheState={entries:new Map,inFlight:new Map,generation:0}),globalThis.__piModelsCacheState}function e(){let a=d();a.generation+=1,a.entries.clear(),a.inFlight.clear()}function f(a,b){return b?{...a,modelError:b}:a}function g(a){return{...a,modelError:"Model list is temporarily unavailable. Check your configuration and try again."}}function h(a,b){var c,e,f;let g,h,i=d(),j=i.entries.get(a);if(j&&j.expiresAt>Date.now())return Promise.resolve(j.data);let k=i.inFlight.get(a)??(c=i,e=a,f=b,g=c.generation,h=Promise.resolve().then(f).then(a=>{if(c.generation===g&&c.inFlight.get(e)===h){for(c.entries.delete(e);c.entries.size>=32;){let a=c.entries.keys().next().value;if(void 0===a)break;c.entries.delete(a)}c.entries.set(e,{data:a,expiresAt:Date.now()+6e4})}return a}).finally(()=>{c.inFlight.get(e)===h&&c.inFlight.delete(e)}),c.inFlight.set(e,h),h);return j?(k.catch(()=>{}),Promise.resolve(j.data)):k}c.d(b,{Fw:()=>g,Mx:()=>f,kn:()=>e,rC:()=>h})},86465:(a,b,c)=>{c.d(b,{OZ:()=>k,A4:()=>x,HG:()=>y,rb:()=>t,Te:()=>z,OF:()=>E,Fn:()=>B});var d=c(29021),e=c(21820),f=c(28967),g=c(13798),h=c(88501),i=c(78573);let j="This session is restarting — retry in a moment.";class k extends Error{constructor(a,b){super(a),this.name="WebRpcError",this.code=b}}let l=new Set(["select","confirm","input","editor","open_url"]),m=new Set(["abort","abort_and_prompt","set_thinking_level","cycle_thinking_level","cycle_model","get_available_models","set_auto_compaction","set_auto_retry","abort_retry","abort_bash","set_todos","set_steering_mode","set_follow_up_mode","set_interrupt_mode","get_branch_messages","get_messages","get_messages_page","export_html","handoff","get_subagents","get_subagent_messages","set_subagent_subscription","get_login_providers","login"]),n={navigate_tree:"Branch navigation is not supported over the omp RPC protocol",clear_queue:"Recalling queued messages is not supported over the omp RPC protocol",get_tools:"Per-session tool listing is not supported over the omp RPC protocol",set_tools:"Changing tools on a running session is not supported over the omp RPC protocol; tool presets apply to new sessions",extension_ui_input:"Extension custom UI is not supported over the omp RPC protocol"},o={find:"glob",search:"grep"},p=new Set(["ls"]),q=["bash","read","edit","write","grep","find","ls"].map(a=>a.toLowerCase()).sort().join(",");function r(a,b,c=!1){let d=[];if(a)d.push("--resume",a);else if(void 0!==b){let a=b.map(a=>a.toLowerCase()).sort().join(",");if(0===b.length)d.push("--no-tools");else if(a===q);else{let a=function(a){let b=[];for(let c of a){let a=c.toLowerCase();if(p.has(a))continue;let d=o[a]??a;b.includes(d)||b.push(d)}return b}(b);a.length>0&&d.push("--tools",a.join(","))}}return c&&!a&&d.push("--advisor"),d}function s(a){return a?.length?a:void 0}function t(a){if(a&&(0,d.existsSync)(a))return{cwd:a,fellBack:!1};try{let a=process.cwd();if(a&&(0,d.existsSync)(a))return{cwd:a,fellBack:!0}}catch{}return{cwd:(0,e.homedir)(),fellBack:!0}}function u(a){a&&"object"==typeof a&&void 0===a.estimatedTokensAfter&&(a.estimatedTokensAfter=Math.round((a.summary?.length??0)/4))}class v{constructor(a,b,c){this.listeners=[],this.pendingUiRequests=new Map,this.uiExpiryTimers=new Map,this.extensionStatuses=new Map,this.extensionWidgets=new Map,this.promptRunning=!1,this.bashRunning=!1,this.streaming=!1,this.compacting=!1,this.fastModeEnabled=!1,this.idleTimer=null,this.onDestroyCallback=null,this.onIdentityChangeCallback=null,this.unsubscribeFrames=null,this.initPromise=null,this.restarting=!1,this.mcpListWaiter=null,this._alive=!0,this.hostToolNames=new Set,this.pendingHostTools=new Map,this.hostUriSchemes=new Map,this.pendingHostUris=new Map,this.destroyPromise=null,this._sessionId="",this._sessionFile="",this.sessionFileSignalTimer=null,this.proc=a,this.cwd=b,this.recordedCwd=c??null}get sessionId(){return this._sessionId}get sessionFile(){return this._sessionFile}isAlive(){return this._alive&&this.proc.isAlive}isRunning(){return this.isAlive()&&(this.promptRunning||this.streaming||this.compacting||this.bashRunning)}start(){this.unsubscribeFrames=this.proc.onFrame(a=>this.handleFrame(a)),this.resetIdleTimer(),D()}waitUntilReady(){return this.initPromise||(this.initPromise=this.initialize()),this.initPromise}async initialize(){let a=await this.proc.waitReady(12e4);await this.proc.negotiateProtocol(a),await this.proc.sendCommand({type:"set_subagent_subscription",level:"events"}).catch(()=>{});let b=await this.proc.sendCommand({type:"get_state"});this.applyIdentity(b),this.recordedCwd&&this.recordedCwd!==this.cwd&&this.emit({type:"notice",level:"warning",message:`This session's working directory no longer exists; the agent is running in ${this.cwd}.`})}applyIdentity(a){this._sessionId=a.sessionId,this._sessionFile=a.sessionFile??"",this._sessionName=a.sessionName,this.streaming=a.isStreaming,this.compacting=a.isCompacting,this.fastModeEnabled=a.fastModeEnabled??a.fastMode??this.fastModeEnabled,this._sessionFile&&(0,i.O8)(this._sessionId,this._sessionFile)}handleProcessExit(a){if(!this._alive||this.restarting)return;let b=a.trim().split("\n").pop()??"";this.emit({type:"notice",level:"error",message:`The omp process for this session exited unexpectedly${b?`: ${b}`:"."}`}),(this.streaming||this.promptRunning)&&this.emit({type:"agent_end",isTerminal:!0,messages:[]}),this.destroy()}handleFrame(a){this.resetIdleTimer();let b=!1;switch(a.type){case"command_output":{let b=this.mcpListWaiter;if(b&&"string"==typeof a.text){clearTimeout(b.timer),this.mcpListWaiter=null,b.resolve(a.text),D();return}break}case"agent_start":this.streaming=!0,(0,i.mD)(),b=!0,this._sessionFile&&!(0,d.existsSync)(this._sessionFile)&&this.signalWhenSessionFileAppears();break;case"agent_end":!1!==a.isTerminal&&(this.streaming=!1,this.promptRunning=!1,(0,i.mD)());break;case"prompt_result":this.promptRunning=!1;break;case"auto_compaction_start":this.compacting=!0;break;case"auto_compaction_end":this.compacting=!1,u(a.result),(0,i.mD)();break;case"session_info_update":"string"==typeof a.title&&(this._sessionName=a.title),(0,i.mD)(),b=!0;break;case"response":if(!1===a.success&&"prompt"===a.command){this.promptRunning=!1,this.emit({type:"prompt_error",errorMessage:a.error??"Prompt failed"}),D();return}break;case"extension_ui_request":if(this.trackExtensionUiRequest(a))return void D();break;case"host_tool_call":{let b="string"==typeof a.id?a.id:"",c="string"==typeof a.toolName?a.toolName:"";if(b&&c&&this.hostToolNames.has(c)&&this.listeners.length>0){this.pendingHostTools.set(b,a),this.emit(a),D();return}this.rejectUnexpectedHostTool(a);return}case"host_tool_cancel":{let b="string"==typeof a.targetId?a.targetId:"";if(b&&this.pendingHostTools.delete(b)){this.emit(a),D();return}break}case"host_uri_request":{let b="string"==typeof a.id?a.id:"",c=("string"==typeof a.url?a.url:"").split(":")[0]??"",d="write"===a.operation?"write":"read",e=this.hostUriSchemes.get(c);if(b&&c&&e&&("write"!==d||e.writable)&&this.listeners.length>0){this.pendingHostUris.set(b,a),this.emit(a),D();return}this.proc.sendFrame({type:"host_uri_result",id:b,isError:!0,error:`URI scheme "${c}" is not registered by omp-web`});return}case"host_uri_cancel":{let b="string"==typeof a.targetId?a.targetId:"";if(b&&this.pendingHostUris.delete(b)){this.emit(a),D();return}}}this.emit(a),D({refreshSessionList:b})}forgetPendingUiRequest(a){this.pendingUiRequests.delete(a);let b=this.uiExpiryTimers.get(a);b&&(clearTimeout(b),this.uiExpiryTimers.delete(a))}clearPendingUiRequests(){for(let a of this.uiExpiryTimers.values())clearTimeout(a);this.uiExpiryTimers.clear(),this.pendingUiRequests.clear()}trackExtensionUiRequest(a){let b=a.method,c=a.id;if("cancel"===b)return this.forgetPendingUiRequest(a.targetId),!1;let d=!1;try{d=(0,h.r)().settings.tools?.approval?.extension==="allow"}catch{}if("confirm"===b&&"string"==typeof a.title&&/^allow tool\s*:/i.test(a.title)&&d)return this.forgetPendingUiRequest(c),this.proc.sendFrame({type:"extension_ui_response",id:c,confirmed:!0}),!0;if(l.has(b)){this.forgetPendingUiRequest(c);let b="number"==typeof a.timeout?a.timeout:void 0;if(b&&b>0){a.expiresAt=Date.now()+b;let d=setTimeout(()=>this.forgetPendingUiRequest(c),b);d.unref?.(),this.uiExpiryTimers.set(c,d)}return this.pendingUiRequests.set(c,a),!1}if("setStatus"===b){let b=a.statusKey,c=a.statusText;return void 0===c?this.extensionStatuses.delete(b):this.extensionStatuses.set(b,c),!1}if("setWidget"===b){let b=a.widgetKey,c=a.widgetLines;void 0===c?this.extensionWidgets.delete(b):this.extensionWidgets.set(b,{key:b,lines:c,placement:a.widgetPlacement??"aboveEditor"})}return!1}rejectUnexpectedHostTool(a){let b="string"==typeof a.id?a.id:"";if(!b)return;let c="string"==typeof a.toolName?a.toolName:"unknown";this.proc.sendFrame({type:"host_tool_result",id:b,isError:!0,result:{content:[{type:"text",text:`Host tool "${c}" is not available in ompgui. Use OMP's built-in tools within the selected workspace.`}]}}),this.emit({type:"notice",level:"warning",message:`Rejected unavailable host tool: ${c}`})}rejectPendingHostTools(a){for(let b of this.pendingHostTools.keys())this.proc.sendFrame({type:"host_tool_result",id:b,isError:!0,result:{content:[{type:"text",text:a}]}});this.pendingHostTools.clear()}rejectPendingHostUris(a){for(let b of this.pendingHostUris.keys())this.proc.sendFrame({type:"host_uri_result",id:b,isError:!0,error:a});this.pendingHostUris.clear()}emit(a){for(let b of this.listeners)try{b(a)}catch{}}signalWhenSessionFileAppears(){if(this.sessionFileSignalTimer)return;let a=0,b=()=>{if(this.sessionFileSignalTimer=null,this._alive&&this._sessionFile){if(!(0,d.existsSync)(this._sessionFile)){(a+=1)<40&&(this.sessionFileSignalTimer=setTimeout(b,250));return}(0,i.mD)(),D({refreshSessionList:!0})}};this.sessionFileSignalTimer=setTimeout(b,250)}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.isRunning()?this.resetIdleTimer():this.destroy()},6e5)}onEvent(a){this.listeners.push(a);let b=Date.now();for(let[c,d]of this.pendingUiRequests){let e=d.expiresAt;if(void 0!==e&&e<=b){this.forgetPendingUiRequest(c);continue}a(d)}return()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1),0===this.listeners.length&&(this.rejectPendingHostTools("The web UI disconnected while the agent was waiting for this host tool"),this.rejectPendingHostUris("The web UI disconnected while the agent was waiting for this URI request"))}}onDestroy(a){this.onDestroyCallback=a}onIdentityChange(a){this.onIdentityChangeCallback=a}async withFinalRunningNotification(a){try{return await a()}finally{D()}}async getMcpList(){let a,b;if(this.restarting)throw new k(j,"session_restarting");if(!this.isAlive())throw Error("Session is no longer running");if(this.isRunning())throw new k("Wait for the current run to finish","session_busy");if(this.mcpListWaiter)throw new k("MCP list is already loading","mcp_list_loading");this.promptRunning=!0,D();let c=new Promise((c,d)=>{a=c,b=d}),d={resolve:a,reject:b,timer:void 0};d.timer=setTimeout(()=>{this.mcpListWaiter===d&&(this.mcpListWaiter=null,b(new k("Timed out while loading MCP servers","mcp_list_timeout")))},15e3),d.timer.unref?.(),this.mcpListWaiter=d;try{return await this.proc.sendCommand({type:"prompt",message:"/mcp list"}),await c}catch(a){throw this.mcpListWaiter===d&&(clearTimeout(d.timer),this.mcpListWaiter=null,d.reject(a instanceof Error?a:Error(String(a)))),a}finally{this.mcpListWaiter===d&&(clearTimeout(d.timer),this.mcpListWaiter=null),this.promptRunning=!1,D()}}buildWebState(a){return this.streaming=a.isStreaming,this.compacting=a.isCompacting,this._sessionName=a.sessionName,a.sessionId&&(this._sessionId=a.sessionId,this._sessionFile=a.sessionFile??this._sessionFile),{sessionId:a.sessionId,sessionFile:a.sessionFile??"",sessionName:a.sessionName,isStreaming:a.isStreaming,isPromptRunning:this.promptRunning,isBashRunning:this.bashRunning,isCompacting:a.isCompacting,autoCompactionEnabled:a.autoCompactionEnabled,autoRetryEnabled:a.autoRetryEnabled,interruptMode:a.interruptMode,steeringMode:a.steeringMode,followUpMode:a.followUpMode,model:a.model?{id:a.model.id,provider:a.model.provider,name:a.model.name,reasoning:a.model.reasoning,thinking:a.model.thinking?{efforts:a.model.thinking.efforts}:void 0}:void 0,messageCount:a.messageCount,queuedMessageCount:a.queuedMessageCount,contextUsage:a.contextUsage??null,systemPrompt:a.systemPrompt?.join("\n\n")??"",thinkingLevel:a.thinkingLevel??"off",fastModeEnabled:a.fastModeEnabled??a.fastMode??this.fastModeEnabled,fastModeActive:a.fastModeActive,todoPhases:a.todoPhases??[],extensionStatuses:Array.from(this.extensionStatuses,([a,b])=>({key:a,text:b})),extensionWidgets:Array.from(this.extensionWidgets.values())}}async refreshIdentityAfterSessionChange(){let a=this._sessionId,b=await this.proc.sendCommand({type:"get_state"});return this.applyIdentity(b),a&&a!==this._sessionId&&this.onIdentityChangeCallback?.(a,this._sessionId),(0,i.mD)(),this._sessionId}async restart(){if(this.restarting)throw new k(j,"session_restarting");let a=this._sessionFile,b=!!a&&(0,d.existsSync)(a),c=this.proc;this.restarting=!0,this.unsubscribeFrames?.();try{if(await c.dispose(),!this._alive)return;this.extensionStatuses.clear(),this.extensionWidgets.clear(),this.clearPendingUiRequests(),this.promptRunning=!1,this.bashRunning=!1,this.streaming=!1,this.compacting=!1;let d=new g.X({cwd:this.cwd,extraArgs:r(b?a:""),onExit:({stderrTail:a})=>{this.proc===d&&this.handleProcessExit(a)}});this.proc=d,this.unsubscribeFrames=d.onFrame(a=>this.handleFrame(a));try{let a=await d.waitReady(12e4);await d.negotiateProtocol(a),await d.sendCommand({type:"set_subagent_subscription",level:"events"}).catch(()=>{});let b=await d.sendCommand({type:"get_state"});this.applyIdentity(b)}catch(a){throw this.unsubscribeFrames?.(),this.unsubscribeFrames=null,d.dispose(),this.destroy(),a}}finally{this.restarting=!1}D()}async send(a){if(this.restarting)throw new k(j,"session_restarting");if(!this.isAlive())throw Error("Session is no longer running");this.resetIdleTimer();let b=a.type;if("prompt"===b||"steer"===b||"follow_up"===b){let b=function(a){if(void 0===a)return null;if(!Array.isArray(a))return"images must be an array";if(a.length>10)return"A message can include at most 10 images";for(let b of a){if(!b||"object"!=typeof b||"image"!==b.type)return"Each attachment must be an image";if(!function(a){if(!a||"object"!=typeof a||"string"!=typeof a.data||"string"!=typeof a.mimeType||!a.mimeType.startsWith("image/"))return!1;let b=function(a){if(!a||a.length%4!=0)return null;let b=a.endsWith("==")?2:+!!a.endsWith("="),c=a.length-b;for(let b=0;b<c;b+=1){var d;if(!((d=a.charCodeAt(b))>=65&&d<=90||d>=97&&d<=122||d>=48&&d<=57||43===d||47===d))return null}for(let b=c;b<a.length;b+=1)if("="!==a[b])return null;return a.length/4*3-b}(a.data);return null!==b&&b<=0xa00000}(b))return"Each image must be valid base64 image data of 10MB or smaller"}return null}(a.images);if(b)throw Error(b)}let c=n[b];if(c)throw new g.x(b,c,"unsupported");switch(b){case"prompt":{if(this.bashRunning)throw Error("Cannot send a prompt while a shell command is running");let b=a.streamingBehavior;b||(this.promptRunning=!0,D());try{let c=await this.proc.sendCommand({type:"prompt",message:a.message,...s(a.images)?{images:s(a.images)}:{},...b?{streamingBehavior:b}:{}});c?.agentInvoked!==!1||b||(this.promptRunning=!1,this.emit({type:"prompt_result",agentInvoked:!1}),D())}catch(a){throw this.promptRunning=!1,D(),a}return null}case"steer":case"follow_up":return await this.proc.sendCommand({type:b,message:a.message,...s(a.images)?{images:s(a.images)}:{}}),null;case"abort":return await this.withFinalRunningNotification(async()=>{await this.proc.sendCommand({type:"abort"}),this.promptRunning=!1}),null;case"get_state":{let a=await this.proc.sendCommand({type:"get_state"});return this.buildWebState(a)}case"set_model":{let{provider:b,modelId:c}=a,d=await this.proc.sendCommand({type:"set_model",provider:b,modelId:c});return(0,f.kn)(),(0,i.mD)(),{id:d.id,provider:d.provider}}case"set_fast_mode":{let b=!0===a.enabled,c=await this.proc.sendCommand({type:"set_fast_mode",enabled:b});return this.fastModeEnabled=c?.enabled??b,{enabled:this.fastModeEnabled,active:c?.active??!1}}case"fork":if(this.bashRunning)throw Error("Cannot fork while a shell command is running");if((await this.proc.sendCommand({type:"branch",entryId:a.entryId})).cancelled)return{cancelled:!0};return{cancelled:!1,newSessionId:await this.refreshIdentityAfterSessionChange()};case"new_session":case"switch_session":{let b=await this.proc.sendCommand(a);if(!b.cancelled)return{cancelled:!1,newSessionId:await this.refreshIdentityAfterSessionChange()};return b}case"compact":try{return await this.withFinalRunningNotification(async()=>{this.compacting=!0,D();try{let b=await this.proc.sendCommand({type:"compact",...a.customInstructions?{customInstructions:a.customInstructions}:{}});return u(b),b}finally{this.compacting=!1}})}finally{(0,i.mD)()}case"abort_compaction":return await this.withFinalRunningNotification(()=>this.proc.sendCommand({type:"abort"})),null;case"set_session_name":{let b=a.name?.trim();if(!b)throw Error("Session name cannot be empty");return await this.proc.sendCommand({type:"set_session_name",name:b}),this._sessionName=b,(0,i.mD)(),null}case"get_session_stats":return{...await this.proc.sendCommand({type:"get_session_stats"}),sessionName:this._sessionName};case"get_last_assistant_text":return{text:(await this.proc.sendCommand({type:"get_last_assistant_text"})).text??""};case"get_commands":return await this.proc.sendCommand({type:"get_available_commands"});case"reload":return await this.restart(),{success:!0};case"extension_ui_response":{let{id:b,...c}=a;return this.forgetPendingUiRequest(b),this.proc.sendFrame({type:"extension_ui_response",id:b,...c}),null}case"bash":if(!0===a.excludeFromContext)throw new k("omp cannot run a shell command with its output excluded from the model context (`!!`): the RPC bash command has no exclusion option, so the output would silently enter the context anyway. Run it with a single `!` to share the output with the model, or use a terminal outside ompgui.","bash_exclude_unsupported");if(this.isRunning())throw Error("Cannot run a shell command while the session is busy");this.bashRunning=!0,D();try{return await this.proc.sendCommand({type:"bash",command:a.command})}finally{this.bashRunning=!1,(0,i.mD)(),D()}case"set_host_tools":{let b=(Array.isArray(a.tools)?a.tools:[]).filter(a=>"string"==typeof a.name&&a.name);return this.hostToolNames=new Set(b.map(a=>a.name)),await this.proc.sendCommand({type:"set_host_tools",tools:b}),null}case"host_tool_result":return"string"==typeof a.id&&this.pendingHostTools.delete(a.id),await this.proc.sendCommand(a),null;case"set_host_uri_schemes":{let b=Array.isArray(a.schemes)?a.schemes:[];for(let a of(this.hostUriSchemes=new Map,b))"string"==typeof a.scheme&&a.scheme&&this.hostUriSchemes.set(a.scheme,{writable:!0===a.writable});return await this.proc.sendCommand({type:"set_host_uri_schemes",schemes:b}),null}case"host_uri_result":return"string"==typeof a.id&&this.pendingHostUris.delete(a.id),await this.proc.sendCommand(a),null;default:if(m.has(b)){let c=await this.proc.sendCommand(a);return"set_thinking_level"===b&&(0,i.mD)(),c??null}throw Error(`Unsupported command: ${b}`)}}destroy(){this.destroyAndWait()}async destroyAndWait(){if(this.destroyPromise)return this.destroyPromise;if(!this._alive)return;this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.sessionFileSignalTimer&&(clearTimeout(this.sessionFileSignalTimer),this.sessionFileSignalTimer=null),this.unsubscribeFrames?.(),this.clearPendingUiRequests(),this.mcpListWaiter&&(clearTimeout(this.mcpListWaiter.timer),this.mcpListWaiter.reject(Error("Session was closed while loading MCP servers")),this.mcpListWaiter=null);let a=this.proc.dispose().catch(()=>{});this.destroyPromise=a,this.pendingHostTools.clear(),this.hostToolNames.clear(),this.pendingHostUris.clear(),this.hostUriSchemes.clear(),this.onDestroyCallback?.(),D(),await a}}function w(){if(!globalThis.__ompSessions){globalThis.__ompSessions=new Map;let a=()=>globalThis.__ompSessions?.forEach(a=>a.destroy());process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__ompSessions}function x(a){return w().get(a)}function y(){let a=new Set;for(let[b,c]of w())c.isRunning()&&a.add(c.sessionId||b);return[...a]}async function z(){let a=[...new Set(w().values())];return await Promise.all(a.map(a=>a.destroyAndWait())),a.length}function A(){return globalThis.__ompRunningListeners||(globalThis.__ompRunningListeners=new Set),globalThis.__ompRunningListeners}function B(a){let b=A();return b.add(a),()=>{b.delete(a)}}let C="";function D({refreshSessionList:a=!1}={}){let b=y(),c=JSON.stringify([...b].sort());if(c===C&&!a)return;C=c;let d={ids:b,refreshSessionList:a};for(let a of A())try{a(d)}catch{}}async function E(a,b,c,d,e=!1,f){let h=w(),i=(globalThis.__ompStartLocks||(globalThis.__ompStartLocks=new Map),globalThis.__ompStartLocks),j=h.get(a);if(j?.isAlive())return{session:j,realSessionId:a};j?.destroyPromise&&await j.destroyPromise;let k=i.get(a);if(k)return k;let l=(async()=>{let a={},i=new v(new g.X({cwd:c,extraArgs:r(b,d,e),onExit:({stderrTail:b})=>a.wrapper?.handleProcessExit(b)}),c,f);a.wrapper=i,i.start();try{await i.waitUntilReady()}catch(a){throw await i.destroyAndWait(),a}let j=i.sessionId;return i.onDestroy(()=>{h.get(i.sessionId)===i&&h.delete(i.sessionId),h.get(j)===i&&h.delete(j)}),i.onIdentityChange((a,b)=>{h.get(a)===i&&h.delete(a),h.set(b,i)}),h.set(j,i),{session:i,realSessionId:j}})().finally(()=>i.delete(a));return i.set(a,l),l}}};
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1133],{11133:(e,t,a)=>{a.r(t),a.d(t,{CommandPalette:()=>p,default:()=>x});var r=a(95155),o=a(12115),n=a(47650),l=a(18114),i=a(25494),d=a(2125),s=a(47603),c=a(78890),m=a(4315),u=a(96793);function p({onSelectSession:e,onNewSession:t,currentModel:a}){let{t:x,locale:v}=(0,m.s9)(),{isDark:h,toggleTheme:f}=(0,u.DP)(),[g,w]=(0,o.useState)(!1),[y,b]=(0,o.useState)([]),[j,P]=(0,o.useState)(!1),S=(0,o.useCallback)(()=>{P(!0),fetch("/api/sessions").then(e=>e.ok?e.json():Promise.reject(Error("request failed"))).then(e=>b(e.sessions)).catch(()=>b([])).finally(()=>P(!1))},[]);if((0,o.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"k"===e.key.toLowerCase()?(e.preventDefault(),w(e=>!e)):"Escape"===e.key&&g&&(e.preventDefault(),e.stopPropagation(),w(!1))};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[g]),(0,o.useEffect)(()=>{g&&S()},[g,S]),!g||"u"<typeof document)return null;let k=e=>{e(),w(!1)};return(0,n.createPortal)((0,r.jsx)("div",{role:"presentation",onMouseDown:e=>{e.currentTarget===e.target&&w(!1)},style:{position:"fixed",inset:0,zIndex:2e3,background:"color-mix(in srgb, var(--text) 22%, transparent)",paddingTop:"20vh"},children:(0,r.jsxs)(l.uB,{label:x("commandPalette.label"),role:"dialog","aria-modal":"true",shouldFilter:!0,style:{width:"min(92vw, 560px)",maxHeight:"min(70vh, 560px)",margin:"0 auto",overflow:"hidden",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:"var(--radius-modal)",boxShadow:"var(--shadow-modal)",animation:"ui-scale-in var(--dur-med) var(--ease-out-warm)"},children:[(0,r.jsx)("div",{style:{padding:"14px 16px",borderBottom:"1px solid var(--border)"},children:(0,r.jsx)(l.uB.Input,{autoFocus:!0,placeholder:x("commandPalette.placeholder"),style:{width:"100%",border:0,outline:0,background:"transparent",color:"var(--text)",fontSize:15}})}),(0,r.jsxs)(l.uB.List,{style:{padding:"8px",overflowY:"auto",maxHeight:"min(55vh, 440px)"},children:[(0,r.jsx)(l.uB.Empty,{style:{padding:20,textAlign:"center",color:"var(--text-muted)",fontSize:13},children:j?"Loading sessions...":x("commandPalette.empty")}),(0,r.jsx)(l.uB.Group,{heading:x("commandPalette.sessions"),children:y.map(t=>(0,r.jsxs)(l.uB.Item,{value:`${t.name??t.id} ${t.cwd}`,onSelect:()=>k(()=>e(t)),style:{display:"flex",alignItems:"center",gap:10,padding:"9px 10px",borderRadius:"var(--radius-control)",color:"var(--text)",cursor:"pointer"},children:[(0,r.jsx)(i.A,{size:15,color:"var(--accent)"}),(0,r.jsx)("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.name||t.id}),(0,r.jsx)("span",{style:{color:"var(--text-dim)",fontSize:11},children:function(e,t){let a=Math.max(0,Math.floor((Date.now()-new Date(e).getTime())/6e4));if(a<1)return new Intl.RelativeTimeFormat(t,{numeric:"auto"}).format(0,"minute");if(a<60)return new Intl.RelativeTimeFormat(t,{numeric:"always"}).format(-a,"minute");let r=Math.floor(a/60);return r<24?new Intl.RelativeTimeFormat(t,{numeric:"always"}).format(-r,"hour"):new Intl.RelativeTimeFormat(t,{numeric:"always"}).format(-Math.floor(r/24),"day")}(t.modified,v)})]},t.id))}),(0,r.jsxs)(l.uB.Group,{heading:x("commandPalette.actions"),children:[(0,r.jsxs)(l.uB.Item,{value:x("commandPalette.newSession"),onSelect:()=>k(t),style:{display:"flex",gap:10,padding:"9px 10px",borderRadius:"var(--radius-control)",color:"var(--text)",cursor:"pointer"},children:[(0,r.jsx)(d.A,{size:15,color:"var(--accent)"}),x("commandPalette.newSession")]}),(0,r.jsxs)(l.uB.Item,{value:x("commandPalette.toggleTheme"),onSelect:()=>k(f),style:{display:"flex",gap:10,padding:"9px 10px",borderRadius:"var(--radius-control)",color:"var(--text)",cursor:"pointer"},children:[h?(0,r.jsx)(s.A,{size:15,color:"var(--accent)"}):(0,r.jsx)(c.A,{size:15,color:"var(--accent)"}),x("commandPalette.toggleTheme")]})]}),(0,r.jsx)(l.uB.Group,{heading:x("commandPalette.models"),children:(0,r.jsxs)(l.uB.Item,{value:a??x("commandPalette.currentModel"),disabled:!0,style:{padding:"9px 10px",color:"var(--text-muted)",fontSize:13},children:[x("commandPalette.currentModel"),": ",a??x("commandPalette.notAvailable")]})})]}),(0,r.jsx)("div",{style:{borderTop:"1px solid var(--border)",padding:"8px 14px",color:"var(--text-dim)",fontSize:11},children:x("commandPalette.hints")})]})}),document.body)}let x=p}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2201],{25182:(e,n,t)=>{t.d(n,{A:()=>i});let i=(0,t(99537).A)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},42201:(e,n,t)=>{t.r(n),t.d(n,{PluginsConfig:()=>W});var i=t(95155),o=t(12115),r=t(32383),l=t(31590),s=t(4315),a=t(18136),d=t(30808),c=t(69090),p=t(51087),u=t(2125),g=t(74519);function x({embedded:e,isMobile:n,onClose:t,children:o}){return e?(0,i.jsx)(i.Fragment,{children:o}):(0,i.jsx)(d.lG,{open:!0,onOpenChange:e=>{e||t()},children:(0,i.jsx)(d.Cf,{ariaLabel:"Plugins",style:{width:n?"calc(100vw - 16px)":860,maxWidth:"calc(100vw - 16px)",height:n?"calc(100dvh - 16px)":"78vh",maxHeight:"calc(100dvh - 16px)",padding:0,display:"flex",flexDirection:"column",overflow:"hidden"},children:o})})}function f(e){return e.replace(/^\/(?:Users|home)\/[^/]+/,"~")}function h(e){return`${e.scope}\0${e.source}`}function v(e){if(e.disabled)return(0,s.Tl)("pluginsConfig.disabled");let n=[e.counts.extensions?(0,s.zw)("pluginsConfig.extCount",e.counts.extensions):"",e.counts.skills?(0,s.zw)("pluginsConfig.skillCount",e.counts.skills):"",e.counts.prompts?(0,s.zw)("pluginsConfig.promptCount",e.counts.prompts):"",e.counts.themes?(0,s.zw)("pluginsConfig.themeCount",e.counts.themes):""].filter(Boolean);return n.length?n.join(" \xb7 "):(0,s.Tl)("pluginsConfig.noResources")}function m(e){let n=[];return e.version&&n.push((0,s.Tl)("pluginsConfig.installedVersion",{version:e.version})),e.configuredVersion&&n.push((0,s.Tl)("pluginsConfig.configuredVersion",{version:e.configuredVersion})),n.length?n.join(" \xb7 "):(0,s.Tl)("pluginsConfig.unknown")}function y(e){return"loaded"===e?"var(--accent)":"installed"===e?"var(--status-warning)":"disabled"===e?"var(--text-dim)":"var(--status-error)"}function b(e){return"project"===e?"pluginsConfig.scopeProject":"pluginsConfig.scopeGlobal"}let j={loaded:"pluginsConfig.statusLoaded",installed:"pluginsConfig.statusInstalled",missing:"pluginsConfig.statusMissing",disabled:"pluginsConfig.statusDisabled"};function C({pkg:e}){let{t:n}=(0,s.s9)(),t=[["extension","pluginsConfig.extensions"],["skill","pluginsConfig.skills"],["prompt","pluginsConfig.prompts"],["theme","pluginsConfig.themes"]].map(([t,i])=>({kind:t,label:n(i),resources:e.resources.filter(e=>e.kind===t)})).filter(e=>e.resources.length>0);return 0===t.length?(0,i.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)"},children:e.disabled?n("pluginsConfig.packageDisabled"):n("pluginsConfig.noResolvedResources")}):(0,i.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:t.map((e,n)=>(0,i.jsxs)("div",{style:{borderTop:0===n?"none":"1px solid var(--border)",paddingTop:12*(0!==n)},children:[(0,i.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"var(--text-dim)",textTransform:"uppercase",marginBottom:6},children:e.label}),(0,i.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:e.resources.map(e=>(0,i.jsxs)("div",{style:{minWidth:0},children:[(0,i.jsx)("div",{style:{fontSize:12,color:"var(--text)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.path,children:e.name}),(0,i.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:1},title:e.path,children:e.relativePath})]},`${e.kind}:${e.path}`))})]},e.kind))})}function k({scope:e}){let{t:n}=(0,s.s9)();return(0,i.jsx)("span",{style:{fontSize:10,padding:"1px 5px",borderRadius:3,flexShrink:0,background:"project"===e?"color-mix(in srgb, var(--accent) 12%, transparent)":"color-mix(in srgb, var(--text-dim) 12%, transparent)",color:"project"===e?"var(--accent)":"var(--text-dim)"},children:n(b(e))})}function w(e,n){return{padding:"6px 12px",background:n?"color-mix(in srgb, var(--status-error) 8%, transparent)":"none",border:"1px solid var(--border)",borderRadius:6,color:n?"var(--status-error)":"var(--text-muted)",cursor:e?"not-allowed":"pointer",fontSize:12,opacity:e?.5:1}}function S({enabled:e,loading:n,onToggle:t,label:o}){return(0,i.jsx)("button",{type:"button",onClick:t,disabled:n,title:o,"aria-label":o,"aria-pressed":e,style:{flexShrink:0,width:40,height:22,borderRadius:11,border:"none",padding:0,cursor:n?"wait":"pointer",background:e?"var(--accent)":"var(--border)",position:"relative",transition:"background var(--dur-med) var(--ease-out-warm)",opacity:n?.65:1},children:(0,i.jsx)("span",{style:{position:"absolute",top:3,left:3,width:16,height:16,borderRadius:"50%",background:"var(--bg)",boxShadow:"var(--shadow-card)",transform:e?"translateX(18px)":"translateX(0)",transition:"transform var(--dur-med) var(--ease-out-warm)"}})})}function z({value:e,onChange:n}){let{t}=(0,s.s9)();return(0,i.jsx)("div",{style:{display:"inline-flex",border:"1px solid var(--border)",borderRadius:7,overflow:"hidden",height:30},children:["global","project"].map(o=>{let r=e===o;return(0,i.jsx)("button",{onClick:()=>n(o),style:{width:76,border:"none",borderRight:"global"===o?"1px solid var(--border)":"none",background:r?"var(--bg-selected)":"none",color:r?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:12},children:t(b(o))},o)})})}function T({cwd:e,source:n,scope:t,busy:r,actionError:l,onSourceChange:a,onScopeChange:d,onInstall:c}){let{t:p}=(0,s.s9)(),u=(0,o.useRef)(null);return(0,o.useEffect)(()=>{u.current?.focus()},[]),(0,i.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:18,maxWidth:660,minHeight:"100%"},children:[(0,i.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:5},children:[(0,i.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"var(--text)"},children:p("pluginsConfig.addPluginTitle")}),(0,i.jsx)("div",{style:{fontSize:12,color:"var(--text-dim)",fontFamily:"var(--font-mono)"},children:"project"===t?`${f(e)}/.omp`:"~/.omp/plugins"})]}),(0,i.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:7},children:[(0,i.jsx)("label",{htmlFor:"plugin-source",style:{fontSize:12,fontWeight:600,color:"var(--text-muted)"},children:p("pluginsConfig.source")}),(0,i.jsx)("input",{id:"plugin-source",ref:u,"aria-label":"Plugin package or repository",value:n,onChange:e=>a(e.target.value),placeholder:"npm:@scope/package",style:{width:"100%",height:36,padding:"0 11px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:13,outline:"none"},onKeyDown:e=>{"Enter"===e.key&&n.trim()&&!r&&c()}})]}),(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,i.jsx)(z,{value:t,onChange:d}),(0,i.jsx)("button",{type:"button",onClick:c,disabled:r||!n.trim(),style:{...w(r||!n.trim()),background:"var(--accent)",color:"white",borderColor:"var(--accent)"},children:p(r?"pluginsConfig.installing":"pluginsConfig.install")})]}),(0,i.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:7},children:[(0,i.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--text-muted)"},children:p("pluginsConfig.examples")}),(0,i.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:["npm:@scope/pi-plugin","git:https://github.com/user/repo","/absolute/path/to/plugin"].map(e=>(0,i.jsx)("button",{type:"button",onClick:()=>a(e),style:{width:"100%",minHeight:30,textAlign:"left",padding:"6px 9px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",color:"var(--text-dim)",cursor:"pointer",fontFamily:"var(--font-mono)",fontSize:11},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text-muted)"},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg-panel)",e.currentTarget.style.color="var(--text-dim)"},children:e},e))})]}),l&&(0,i.jsx)("div",{style:{fontSize:12,color:"var(--status-error)",whiteSpace:"pre-wrap"},children:l})]})}function R({pkg:e,cwd:n,busyKey:t,actionError:r,actionMessage:l,sessionId:a,onAction:d,onReloadSession:p}){let{t:u}=(0,s.s9)(),g=h(e),x=t?.endsWith(g)??!1,b="reload"===t,z=!e.disabled,[T,W]=(0,o.useState)(!1);return(0,i.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:20,maxWidth:680},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:12,minWidth:0,flexWrap:"wrap"},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minWidth:180,flex:1},children:[(0,i.jsx)(S,{enabled:z,loading:x||b,onToggle:()=>d(e.disabled?"enable":"disable",e),label:u(e.disabled?"pluginsConfig.enablePackage":"pluginsConfig.disablePackage")}),(0,i.jsx)(k,{scope:e.scope}),e.disabled?(0,i.jsx)("span",{style:{fontSize:10,padding:"1px 5px",borderRadius:3,background:"var(--bg-subtle)",color:"var(--text-dim)"},children:u("pluginsConfig.badgeDisabled")}):e.filtered&&(0,i.jsx)("span",{style:{fontSize:10,padding:"1px 5px",borderRadius:3,background:"color-mix(in srgb, var(--status-warning) 12%, transparent)",color:"var(--status-warning)"},children:u("pluginsConfig.badgeFiltered")}),(0,i.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:12,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.source})]}),(0,i.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[(0,i.jsx)("button",{onClick:()=>d("update",e),disabled:x||b,style:w(x||b),children:u(t===`update:${g}`?"pluginsConfig.updating":"pluginsConfig.update")}),(0,i.jsx)("button",{onClick:p,disabled:!a||b||x,style:w(!a||b||x),title:u(a?"pluginsConfig.reloadCurrentSession":"pluginsConfig.openSessionToReload"),children:u(b?"pluginsConfig.reloading":"pluginsConfig.reloadSession")}),(0,i.jsx)("button",{onClick:()=>W(!0),disabled:x||b,style:w(x||b,!0),children:u(t===`remove:${g}`?"pluginsConfig.removing":"pluginsConfig.remove")})]})]}),(0,i.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(96px, 130px) minmax(0, 1fr)",gap:"9px 14px",fontSize:12,lineHeight:1.45},children:[(0,i.jsx)("div",{style:{color:"var(--text-dim)"},children:u("pluginsConfig.status")}),(0,i.jsx)("div",{style:{color:y(e.status)},children:u(j[e.status])}),(0,i.jsx)("div",{style:{color:"var(--text-dim)"},children:u("pluginsConfig.version")}),(0,i.jsx)("div",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)"},children:m(e)}),(0,i.jsx)("div",{style:{color:"var(--text-dim)"},children:u("pluginsConfig.package")}),(0,i.jsx)("div",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:e.packageName??u("pluginsConfig.unknown")}),(0,i.jsx)("div",{style:{color:"var(--text-dim)"},children:u("pluginsConfig.resources")}),(0,i.jsx)("div",{style:{color:"var(--text-muted)"},children:v(e)}),(0,i.jsx)("div",{style:{color:"var(--text-dim)"},children:u("pluginsConfig.installedPath")}),(0,i.jsx)("div",{style:{color:e.installedPath?"var(--text-muted)":"var(--status-error)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:e.installedPath?f(e.installedPath):u("pluginsConfig.notFound")}),(0,i.jsx)("div",{style:{color:"var(--text-dim)"},children:u("pluginsConfig.cwd")}),(0,i.jsx)("div",{style:{color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere"},children:f(n)})]}),(0,i.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[(0,i.jsx)("div",{style:{fontSize:12,fontWeight:700,color:"var(--text)"},children:u("pluginsConfig.resolvedResources")}),(0,i.jsx)(C,{pkg:e})]}),l&&(0,i.jsx)("div",{style:{fontSize:12,color:"var(--status-success)"},children:l}),r&&(0,i.jsx)("div",{style:{fontSize:12,color:"var(--status-error)",whiteSpace:"pre-wrap"},children:r}),(0,i.jsx)(c.TM,{open:T,onOpenChange:W,title:u("pluginsConfig.removePluginTitle"),description:u("pluginsConfig.removePluginBody",{source:e.source}),confirmLabel:u("pluginsConfig.remove"),cancelLabel:u("pluginsConfig.cancel"),danger:!0,onConfirm:()=>{W(!1),d("remove",e)}})]})}function W({cwd:e,sessionId:n,onClose:t,onReloaded:d,onSelectTab:c,embedded:j=!1}){let C=(0,l.a)(),{t:k,tn:S}=(0,s.s9)(),[z,$]=(0,o.useState)(null),[E,F]=(0,o.useState)(!0),[D,M]=(0,o.useState)(null),[P,I]=(0,o.useState)(null),[O,L]=(0,o.useState)(!1),[H,A]=(0,o.useState)(""),[B,N]=(0,o.useState)("global"),[V,K]=(0,o.useState)(null),[_,J]=(0,o.useState)(null),[G,U]=(0,o.useState)(null),X=(0,o.useMemo)(()=>z?.packages??[],[z?.packages]),Y=X.find(e=>h(e)===P)??null,Z=(0,o.useMemo)(()=>["project","global"].map(e=>({scope:e,packages:X.filter(n=>n.scope===e)})).filter(e=>e.packages.length>0),[X]),q=(0,o.useCallback)(async()=>{F(!0),M(null);try{let n=await fetch(`/api/plugins?cwd=${encodeURIComponent(e)}`),t=await n.json();if(!n.ok||t.error)throw Error((0,a.K)(t.error?t:`HTTP ${n.status}`));$(t),L(e=>0===t.packages.length||e),I(e=>e&&t.packages.some(n=>h(n)===e)?e:t.packages[0]?h(t.packages[0]):null)}catch(e){M(e instanceof Error?e.message:String(e))}finally{F(!1)}},[e]);(0,o.useEffect)(()=>{q()},[q]);let Q=(0,o.useCallback)(async(n,t)=>{let i=h(t);K(`${n}:${i}`),J(null),U(null);try{let i=await fetch("/api/plugins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:n,source:t.source,scope:t.scope,cwd:e})}),o=await i.json();if(!i.ok||o.error)throw Error((0,a.K)(o.error?o:`HTTP ${i.status}`));if($(o),"remove"===n)I(o.packages[0]?h(o.packages[0]):null),0===o.packages.length&&L(!0),U((0,s.Tl)("pluginsConfig.packageRemoved")),p.oR.success(k("pluginsConfig.packageRemoved"));else{let e={install:"pluginsConfig.packageInstalled",update:"pluginsConfig.packageUpdated",disable:"pluginsConfig.packageDisabledMsg",enable:"pluginsConfig.packageEnabledMsg"};U((0,s.Tl)(e[n])),p.oR.success((0,s.Tl)(e[n]))}}catch(t){let e=t instanceof Error?t.message:String(t);J(e),p.oR.error(k("pluginsConfig.actionErrorTitle",{action:k(`pluginsConfig.action_${n}`)}),e)}finally{K(null)}},[e,k]),ee=(0,o.useCallback)(async()=>{let n=H.trim();if(!n)return;let t=`${B}\0${n}`;K(`install:${t}`),J(null),U(null);try{var i;let o,r,l=await fetch("/api/plugins",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"install",source:n,scope:B,cwd:e})}),d=await l.json();if(!l.ok||d.error)throw Error((0,a.K)(d.error?d:`HTTP ${l.status}`));$(d);let c=(i=d.packages,r=(o=n.trim()).startsWith("npm:")?o.slice(4):o,i.find(e=>e.scope===B&&e.source===o)??i.find(e=>e.scope===B&&e.source===`npm:${r}`)??i.find(e=>e.scope===B&&e.source.endsWith(o)));I(c?h(c):t),L(!1),A(""),U((0,s.Tl)("pluginsConfig.packageInstalled"))}catch(e){J(e instanceof Error?e.message:String(e))}finally{K(null)}},[e,B,H]),en=(0,o.useCallback)(async()=>{if(n){K("reload"),J(null),U(null);try{await (0,r.$)(n,{type:"reload"}),d?.(),await q(),U((0,s.Tl)("pluginsConfig.sessionReloaded"))}catch(e){J(e instanceof Error?e.message:String(e))}finally{K(null)}}},[q,d,n]),et=V?.startsWith("install:")??!1;return(0,i.jsxs)(x,{embedded:j,isMobile:C,onClose:t,children:[!j&&(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 18px",borderBottom:"1px solid var(--border)",flexShrink:0},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10,minWidth:0},children:[(0,i.jsx)("span",{style:{fontSize:15,fontWeight:700,color:"var(--text)"},children:k("pluginsConfig.title")}),(0,i.jsx)("code",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:f(e)})]}),(0,i.jsx)("button",{onClick:t,"aria-label":k("pluginsConfig.close"),style:{background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:20,lineHeight:1,padding:"2px 6px"},children:"\xd7"})]}),!j&&c&&(0,i.jsx)(g.mm,{active:"plugins",onSelect:c}),(0,i.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:C?"column":"row",overflow:"hidden"},children:[(0,i.jsxs)("div",{style:{width:C?"100%":245,maxHeight:C?"40vh":void 0,borderRight:C?"none":"1px solid var(--border)",borderBottom:C?"1px solid var(--border)":"none",display:"flex",flexDirection:"column",flexShrink:0,background:"var(--bg-panel)"},children:[(0,i.jsx)("div",{style:{flex:1,overflowY:"auto",padding:"8px 6px"},children:E?(0,i.jsx)("div",{style:{padding:"10px 8px",fontSize:12,color:"var(--text-muted)"},children:k("pluginsConfig.loading")}):D?(0,i.jsx)("div",{style:{padding:"10px 8px",fontSize:11,color:"var(--status-error)"},children:D}):0===X.length?(0,i.jsx)("div",{style:{padding:"10px 8px",fontSize:11,color:"var(--text-dim)"},children:k("pluginsConfig.noPlugins")}):Z.map(e=>(0,i.jsxs)("div",{style:{marginBottom:6},children:[(0,i.jsx)("div",{style:{padding:"4px 8px 3px",fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase"},children:k(b(e.scope))}),e.packages.map(e=>{let n=h(e),t=!O&&P===n;return(0,i.jsxs)("button",{type:"button",onClick:()=>{I(n),L(!1),J(null),U(null)},style:{display:"flex",alignItems:"center",gap:7,padding:"8px 8px",borderRadius:5,cursor:"pointer",width:"100%",border:"none",textAlign:"left",fontFamily:"inherit",background:t?"var(--bg-selected)":"none"},onMouseEnter:e=>{t||(e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{t||(e.currentTarget.style.background="none")},children:[(0,i.jsx)("span",{style:{flexShrink:0,width:7,height:7,borderRadius:"50%",background:y(e.status)}}),(0,i.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,i.jsx)("div",{style:{fontSize:12,fontWeight:t?600:400,color:"var(--text)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.source}),(0,i.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:2},children:v(e)}),(e.version||e.configuredVersion)&&(0,i.jsx)("div",{style:{fontSize:10,color:"var(--text-dim)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:2},children:m(e)})]})]},n)})]},e.scope))}),(0,i.jsx)("div",{style:{padding:"8px 6px",borderTop:"1px solid var(--border)",flexShrink:0},children:(0,i.jsxs)("button",{type:"button",onClick:()=>{L(!0),J(null),U(null)},style:{display:"flex",alignItems:"center",gap:6,padding:"7px 8px",borderRadius:5,border:"none",width:"100%",cursor:"pointer",background:O?"var(--bg-selected)":"none",color:O?"var(--accent)":"var(--text-dim)",fontSize:12},onMouseEnter:e=>{O||(e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{O||(e.currentTarget.style.background="none")},children:[(0,i.jsx)(u.A,{size:13,"aria-hidden":"true"}),k("pluginsConfig.addPlugin")]})})]}),(0,i.jsx)("div",{style:{flex:1,overflowY:"auto",padding:20},children:O?(0,i.jsx)(T,{cwd:e,source:H,scope:B,busy:et,actionError:_,onSourceChange:A,onScopeChange:N,onInstall:ee}):E?(0,i.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,i.jsx)("div",{className:"skeleton",style:{height:18,width:"40%"}}),(0,i.jsx)("div",{className:"skeleton",style:{height:12,width:"70%"}}),(0,i.jsx)("div",{className:"skeleton",style:{height:12,width:"55%"}}),(0,i.jsx)("div",{className:"skeleton",style:{height:90,width:"100%"}})]}):Y?(0,i.jsx)(R,{pkg:Y,cwd:e,busyKey:V,actionError:_,actionMessage:G,sessionId:n,onAction:Q,onReloadSession:en},h(Y)):(0,i.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-dim)",fontSize:13},children:k("pluginsConfig.selectPackage")})})]}),(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,padding:"10px 18px",borderTop:"1px solid var(--border)",flexShrink:0},children:[(0,i.jsx)("div",{style:{minWidth:0,flex:1,fontSize:11,color:"var(--text-dim)",overflow:"hidden"},children:z?.diagnostics.length?(0,i.jsx)("span",{title:z.diagnostics.map(e=>`${e.type}: ${e.source?`${e.source}: `:""}${e.message}`).join("\n"),style:{color:z.diagnostics.some(e=>"error"===e.type)?"var(--status-error)":"var(--status-warning)"},children:S("pluginsConfig.diagnosticCount",z.diagnostics.length)}):(0,i.jsx)("span",{children:z?k("pluginsConfig.totalsSummary",{extensions:z.totals.extensions,skills:z.totals.skills,prompts:z.totals.prompts,themes:z.totals.themes}):""})}),(0,i.jsx)("button",{onClick:()=>void q(),disabled:E||null!==V,style:w(E||null!==V),children:k("pluginsConfig.refresh")}),(0,i.jsx)("button",{onClick:t,style:w(!1),children:k("pluginsConfig.close")})]})]})}},69090:(e,n,t)=>{t.d(n,{D0:()=>d,JT:()=>y,Jl:()=>m,L4:()=>h,M_:()=>p,TM:()=>b,XZ:()=>f,ks:()=>x,l6:()=>v});var i=t(95155),o=t(12115),r=t(35484),l=t(89034),s=t(25182),a=t(30808);function d({label:e,hint:n,error:t,required:r,children:l,style:s,id:a}){let p=(0,o.useId)(),u=(0,o.isValidElement)(l)?l.props.id:void 0,g=a||u||p,x=t?`${g}-error`:void 0,f=!t&&n?`${g}-hint`:void 0,h=l;return(0,o.isValidElement)(l)&&(h=(0,o.cloneElement)(l,{id:u||g,"aria-describedby":l.props["aria-describedby"]||x||f})),(0,i.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4,minWidth:0,...s},children:[(0,i.jsxs)("label",{htmlFor:g,style:{fontSize:11,fontWeight:500,color:t?"var(--accent)":"var(--text-muted)",letterSpacing:"0.01em",display:"flex",alignItems:"center",gap:4},children:[e,r&&(0,i.jsx)("span",{style:{color:"var(--accent)"},children:"*"})]}),h,t?(0,i.jsx)(c,{id:x,children:t}):n?(0,i.jsx)("span",{id:f,style:{fontSize:10,color:"var(--text-dim)",lineHeight:1.4},children:n}):null]})}function c({children:e,id:n}){return(0,i.jsxs)("span",{id:n,role:"alert",style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:12,color:"var(--accent)",lineHeight:1.3,marginTop:1},children:[(0,i.jsx)(r.A,{size:12,"aria-hidden":"true"}),e]})}function p({label:e,children:n,style:t}){return(0,i.jsxs)("section",{style:{display:"flex",flexDirection:"column",gap:10,padding:"12px 14px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:"var(--radius-card)",boxShadow:"var(--shadow-card)",minWidth:0,...t},children:[(0,i.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.06em"},children:e}),(0,i.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:10,minWidth:0},children:n})]})}function u({invalid:e}){return{padding:"6px 9px",background:"var(--bg)",border:`1px solid ${e?"var(--accent)":"var(--border)"}`,borderRadius:"var(--radius-control)",color:"var(--text)",fontSize:12,outline:"none",width:"100%",boxSizing:"border-box",transition:"border-color var(--dur-fast) var(--ease-out-warm), box-shadow var(--dur-fast) var(--ease-out-warm)"}}function g(e,n){return e?{borderColor:"var(--accent)",boxShadow:"var(--focus-ring)"}:{}}function x({value:e,onChange:n,placeholder:t,mono:r,invalid:l,error:s,onBlurValidate:a,disabled:d,onKeyDown:c,autoComplete:p,spellCheck:f,id:h}){let[v,m]=(0,o.useState)(!1),y=!!(l||s);return(0,i.jsx)("input",{id:h,value:e,onChange:e=>n(e.target.value),placeholder:t,disabled:d,onKeyDown:c,autoComplete:p,spellCheck:f,"aria-invalid":y||void 0,onFocus:()=>m(!0),onBlur:()=>{m(!1),a?.()},style:{...u({invalid:y}),...g(v,y),fontFamily:r?"var(--font-mono)":"inherit",opacity:d?.6:1}})}function f({value:e,onChange:n,placeholder:t,invalid:r,error:l,onBlurValidate:s,disabled:a,id:d}){let[c,p]=(0,o.useState)(!1),x=!!(r||l);return(0,i.jsx)("input",{id:d,type:"number",value:e,onChange:e=>n(e.target.value),placeholder:t,disabled:a,"aria-invalid":x||void 0,onFocus:()=>p(!0),onBlur:()=>{p(!1),s?.()},style:{...u({invalid:x}),...g(c,x),opacity:a?.6:1}})}function h({value:e,onChange:n,placeholder:t,invalid:r,error:a,onBlurValidate:d,disabled:c,showLabel:p,hideLabel:x,id:f}){let[v,m]=(0,o.useState)(!1),[y,b]=(0,o.useState)(!1),j=!!(r||a);return(0,o.useEffect)(()=>{e||m(!1)},[e]),(0,i.jsxs)("div",{style:{position:"relative",width:"100%"},children:[(0,i.jsx)("input",{id:f,type:v?"text":"password",value:e,onChange:e=>n(e.target.value),placeholder:t,disabled:c,autoComplete:"off",spellCheck:!1,"aria-invalid":j||void 0,onFocus:()=>b(!0),onBlur:()=>{b(!1),d?.()},style:{...u({invalid:j}),...g(y,j),paddingRight:34,fontFamily:"var(--font-mono)",opacity:c?.6:1}}),(0,i.jsx)("button",{type:"button",onClick:()=>m(e=>!e),"aria-label":v?x:p,title:v?x:p,style:{position:"absolute",right:5,top:"50%",transform:"translateY(-50%)",width:24,height:24,padding:0,border:"none",background:"transparent",color:"var(--text-dim)",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:4},children:v?(0,i.jsx)(l.A,{size:15,"aria-hidden":"true"}):(0,i.jsx)(s.A,{size:15,"aria-hidden":"true"})})]})}function v({value:e,onChange:n,options:t,required:r,placeholder:l,invalid:s,error:a,disabled:d,id:c}){let[p,x]=(0,o.useState)(!1),f=!!(s||a);return(0,i.jsxs)("div",{style:{position:"relative",display:"flex",alignItems:"center"},children:[(0,i.jsxs)("select",{id:c,value:e,onChange:e=>n(e.target.value),disabled:d,"aria-invalid":f||void 0,onFocus:()=>x(!0),onBlur:()=>x(!1),style:{...u({invalid:f}),...g(p,f),color:e?"var(--text)":"var(--text-dim)",appearance:"none",width:"100%",paddingRight:24,opacity:d?.6:1},children:[!r&&(0,i.jsx)("option",{value:"",children:l??""}),t.map(e=>(0,i.jsx)("option",{value:e,children:e},e))]}),(0,i.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",style:{position:"absolute",right:8,color:"var(--text-dim)",pointerEvents:"none"},children:(0,i.jsx)("polyline",{points:"6 9 12 15 18 9"})})]})}function m({label:e,checked:n,onChange:t,disabled:o}){return(0,i.jsxs)("label",{style:{display:"inline-flex",alignItems:"center",gap:6,cursor:o?"not-allowed":"pointer",fontSize:12,color:o?"var(--text-dim)":"var(--text-muted)",opacity:o?.7:1},children:[(0,i.jsx)("input",{type:"checkbox",checked:n,disabled:o,onChange:e=>t(e.target.checked),style:{width:14,height:14,accentColor:"var(--accent)",cursor:o?"not-allowed":"pointer"}}),e]})}function y(e){let[n,t]=(0,o.useState)(null),i=(0,o.useRef)(e);i.current=e;let r=(0,o.useCallback)(()=>{t(i.current())},[]);return{error:n,onBlur:r,onChange:(0,o.useCallback)(()=>{t(e=>null)},[]),onSubmit:(0,o.useCallback)(()=>{let e=i.current();return t(e),e},[])}}function b({open:e,onOpenChange:n,title:t,description:o,confirmLabel:r,cancelLabel:l,danger:s,busy:d,onConfirm:c}){return(0,i.jsx)(a.lG,{open:e,onOpenChange:n,children:(0,i.jsxs)(a.Cf,{ariaLabel:"string"==typeof t?t:void 0,style:{width:420,maxWidth:"min(92vw, 420px)",padding:22},children:[(0,i.jsx)(a.L3,{children:t}),(0,i.jsx)("div",{style:{height:8}}),o&&(0,i.jsx)("p",{style:{margin:"0 0 18px",fontSize:13,lineHeight:1.55,color:"var(--text-muted)"},children:o}),(0,i.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:[(0,i.jsx)("button",{type:"button",onClick:()=>n(!1),style:{padding:"6px 14px",background:"none",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:"var(--text-muted)",cursor:"pointer",fontSize:13},children:l??"Cancel"}),(0,i.jsx)("button",{type:"button",disabled:d,onClick:c,style:{padding:"6px 14px",background:"var(--accent-strong)",border:"none",borderRadius:"var(--radius-control)",color:"var(--on-accent)",cursor:d?"wait":"pointer",fontSize:13,fontWeight:600,opacity:d?.7:1,transition:"background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{d||(e.currentTarget.style.background="var(--accent-hover)")},onMouseLeave:e=>{d||(e.currentTarget.style.background=s?"var(--accent-strong)":"var(--accent)")},children:r})]})]})})}},89034:(e,n,t)=>{t.d(n,{A:()=>i});let i=(0,t(99537).A)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])}}]);