skill-creator 2.3.1 → 2.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +46 -0
- package/dist/cli.js +39069 -21723
- package/dist/cli.js.map +4 -4
- package/dist/daemon.js +20344 -3988
- package/dist/daemon.js.map +4 -4
- package/dist/package.json +1 -1
- package/dist/webui/_app/immutable/assets/0.DSuWfqBb.css +2 -0
- package/dist/webui/_app/immutable/assets/CreatorWorkspace.CvDsme_1.css +1 -0
- package/dist/webui/_app/immutable/chunks/{1vzbRbJ2.js → BBqlAyUm.js} +4 -4
- package/dist/webui/_app/immutable/chunks/BGher0CO.js +6 -0
- package/dist/webui/_app/immutable/chunks/{CoasO80Q.js → BLdcUAZa.js} +1 -1
- package/dist/webui/_app/immutable/chunks/{C8EbtR4g.js → BehT3C1z.js} +1 -1
- package/dist/webui/_app/immutable/chunks/{B3Ni2QLt.js → BwEHBMTF.js} +1 -1
- package/dist/webui/_app/immutable/chunks/{KjcaLSMo.js → Bynub5xW.js} +1 -1
- package/dist/webui/_app/immutable/chunks/{D8zgcaSD.js → C1gdd-Qo.js} +1 -1
- package/dist/webui/_app/immutable/chunks/CAmktO2F.js +1 -0
- package/dist/webui/_app/immutable/chunks/{iz1cEkZC.js → CHfZ3gHY.js} +1 -1
- package/dist/webui/_app/immutable/chunks/CIyEiZkz.js +1 -0
- package/dist/webui/_app/immutable/chunks/CYhuNS_d.js +11 -0
- package/dist/webui/_app/immutable/chunks/CZQgUTNL.js +1 -0
- package/dist/webui/_app/immutable/chunks/{Bbl7uOhW.js → CbVFrj5k.js} +2 -2
- package/dist/webui/_app/immutable/chunks/{CsxdqaKQ.js → Cbsk109T.js} +1 -1
- package/dist/webui/_app/immutable/chunks/ChB3s6Q9.js +2 -0
- package/dist/webui/_app/immutable/chunks/CjZfvtzv.js +1 -0
- package/dist/webui/_app/immutable/chunks/DC5f4JBB.js +5 -0
- package/dist/webui/_app/immutable/chunks/{B1KITIB4.js → DP_8P0mo.js} +1 -1
- package/dist/webui/_app/immutable/chunks/DSbDiml2.js +28 -0
- package/dist/webui/_app/immutable/chunks/{Dga0ODor.js → DXjm_vE5.js} +1 -1
- package/dist/webui/_app/immutable/chunks/DdHvRi0A.js +1 -0
- package/dist/webui/_app/immutable/chunks/{D-2QBE8y.js → DzSJuxmI.js} +1 -1
- package/dist/webui/_app/immutable/chunks/KM5hQu2t.js +8 -0
- package/dist/webui/_app/immutable/chunks/M-b0y9AQ.js +1 -0
- package/dist/webui/_app/immutable/chunks/QmXxFt1D.js +1 -0
- package/dist/webui/_app/immutable/chunks/VnziGBZO.js +2 -0
- package/dist/webui/_app/immutable/chunks/a0LlqeqU.js +1 -0
- package/dist/webui/_app/immutable/chunks/aUJoMDp6.js +1 -0
- package/dist/webui/_app/immutable/chunks/{C-AVEJqG.js → rTO-doKC.js} +1 -1
- package/dist/webui/_app/immutable/chunks/ryZsHFfK.js +1 -0
- package/dist/webui/_app/immutable/chunks/yX3qp0yo.js +5 -0
- package/dist/webui/_app/immutable/entry/{app.BbnICwcR.js → app.BbDTsu6I.js} +2 -2
- package/dist/webui/_app/immutable/entry/start.DlPtwiRy.js +1 -0
- package/dist/webui/_app/immutable/nodes/0.QaOeKSa7.js +229 -0
- package/dist/webui/_app/immutable/nodes/{1.CY3UBo6A.js → 1.D-EmaRZH.js} +1 -1
- package/dist/webui/_app/immutable/nodes/{2.BfHkaxce.js → 2.CGLbUjuZ.js} +1 -1
- package/dist/webui/_app/version.json +1 -1
- package/dist/webui/index.html +22 -19
- package/package.json +6 -5
- package/skills/skill-creator-v2/SKILL.md +50 -0
- package/skills/skill-creator-v2/references/tools.md +161 -0
- package/dist/webui/_app/immutable/assets/0.Ce1ZW9xU.css +0 -2
- package/dist/webui/_app/immutable/chunks/3x7J55ll.js +0 -2
- package/dist/webui/_app/immutable/chunks/825uWMzf.js +0 -5
- package/dist/webui/_app/immutable/chunks/BHJkoxm8.js +0 -1
- package/dist/webui/_app/immutable/chunks/BNaxFL8-.js +0 -3
- package/dist/webui/_app/immutable/chunks/Bs7CGcv2.js +0 -1
- package/dist/webui/_app/immutable/chunks/D_Wlt2rL.js +0 -1
- package/dist/webui/_app/immutable/chunks/DgfWqxEz.js +0 -1
- package/dist/webui/_app/immutable/chunks/Do5hAkYk.js +0 -1
- package/dist/webui/_app/immutable/chunks/HAi-5CYL.js +0 -6
- package/dist/webui/_app/immutable/chunks/N4Ne5qCB.js +0 -1
- package/dist/webui/_app/immutable/chunks/_g2_n9ND.js +0 -1
- package/dist/webui/_app/immutable/chunks/nznK1lJN.js +0 -8
- package/dist/webui/_app/immutable/entry/start.BCFPuXD4.js +0 -1
- package/dist/webui/_app/immutable/nodes/0.C0a-_hPX.js +0 -229
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{$ as e,At as t,B as n,C as r,Ct as i,D as a,H as o,I as s,L as c,M as l,N as u,O as d,P as f,Q as p,R as m,St as h,U as g,X as _,Y as v,a as y,bt as b,dt as x,et as ee,f as S,ft as C,gt as w,it as T,jt as E,kt as te,l as ne,lt as re,mt as D,o as O,ot as k,pt as ie,q as A,rt as j,s as M,st as N,tt as ae,ut as oe,wt as se,xt as ce,yt as le,z as P}from"./CmCJ0SKP.js";import"./xihTtKlq.js";import{i as F,n as ue}from"./DnPeA-9c.js";import{t as de}from"./BEPs9Z9s.js";function fe(e){return typeof e==`function`}function pe(e){return typeof e==`object`&&!!e}var me=[`string`,`number`,`bigint`,`boolean`];function he(e){return e==null||me.includes(typeof e)?!0:Array.isArray(e)?e.every(e=>he(e)):typeof e==`object`&&Object.getPrototypeOf(e)===Object.prototype}var I=Symbol(`box`),ge=Symbol(`is-writable`);function L(e,t){let n=w(e);return t?{[I]:!0,[ge]:!0,get current(){return _(n)},set current(e){t(e)}}:{[I]:!0,get current(){return e()}}}function _e(e){return pe(e)&&I in e}function ve(e){return _e(e)&&ge in e}function ye(e){return _e(e)?e:fe(e)?L(e):Se(e)}function be(e){return Object.entries(e).reduce((e,[t,n])=>_e(n)?(ve(n)?Object.defineProperty(e,t,{get(){return n.current},set(e){n.current=e}}):Object.defineProperty(e,t,{get(){return n.current}}),e):Object.assign(e,{[t]:n}),{})}function xe(e){return ve(e)?{[I]:!0,get current(){return e.current}}:e}function Se(e){let t=D(oe(e));return{[I]:!0,[ge]:!0,get current(){return _(t)},set current(e){C(t,e,!0)}}}function R(e){let t=D(oe(e));return{[I]:!0,[ge]:!0,get current(){return _(t)},set current(e){C(t,e,!0)}}}R.from=ye,R.with=L,R.flatten=be,R.readonly=xe,R.isBox=_e,R.isWritableBox=ve;function Ce(...e){return function(t){for(let n of e)if(n){if(t.defaultPrevented)return;typeof n==`function`?n.call(this,t):n.current?.call(this,t)}}}var we=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,Te=/\n/g,Ee=/^\s*/,De=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,Oe=/^:\s*/,ke=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,Ae=/^[;\s]*/,je=/^\s+|\s+$/g,Me=`
|
|
2
|
-
`,Ne=`/`,Pe=`*`,z=``,Fe=`comment`,Ie=`declaration`;function Le(e,t){if(typeof e!=`string`)throw TypeError(`First argument must be a string`);if(!e)return[];t||={};var n=1,r=1;function i(e){var t=e.match(Te);t&&(n+=t.length);var i=e.lastIndexOf(Me);r=~i?e.length-i:r+e.length}function a(){var e={line:n,column:r};return function(t){return t.position=new o(e),l(),t}}function o(e){this.start=e,this.end={line:n,column:r},this.source=t.source}o.prototype.content=e;function s(i){var a=Error(t.source+`:`+n+`:`+r+`: `+i);if(a.reason=i,a.filename=t.source,a.line=n,a.column=r,a.source=e,!t.silent)throw a}function c(t){var n=t.exec(e);if(n){var r=n[0];return i(r),e=e.slice(r.length),n}}function l(){c(Ee)}function u(e){var t;for(e||=[];t=d();)t!==!1&&e.push(t);return e}function d(){var t=a();if(Ne==e.charAt(0)&&Pe==e.charAt(1)){for(var n=2;z!=e.charAt(n)&&(Pe!=e.charAt(n)||Ne!=e.charAt(n+1));)++n;if(n+=2,z===e.charAt(n-1))return s(`End of comment missing`);var o=e.slice(2,n-2);return r+=2,i(o),e=e.slice(n),r+=2,t({type:Fe,comment:o})}}function f(){var e=a(),t=c(De);if(t){if(d(),!c(Oe))return s(`property missing ':'`);var n=c(ke),r=e({type:Ie,property:Re(t[0].replace(we,z)),value:n?Re(n[0].replace(we,z)):z});return c(Ae),r}}function p(){var e=[];u(e);for(var t;t=f();)t!==!1&&(e.push(t),u(e));return e}return l(),p()}function Re(e){return e?e.replace(je,z):z}function ze(e,t){let n=null;if(!e||typeof e!=`string`)return n;let r=Le(e),i=typeof t==`function`;return r.forEach(e=>{if(e.type!==`declaration`)return;let{property:r,value:a}=e;i?t(r,a,e):a&&(n||={},n[r]=a)}),n}var Be=/\d/,Ve=[`-`,`_`,`/`,`.`];function He(e=``){if(!Be.test(e))return e!==e.toLowerCase()}function Ue(e){let t=[],n=``,r,i;for(let a of e){let e=Ve.includes(a);if(e===!0){t.push(n),n=``,r=void 0;continue}let o=He(a);if(i===!1){if(r===!1&&o===!0){t.push(n),n=a,r=o;continue}if(r===!0&&o===!1&&n.length>1){let e=n.at(-1);t.push(n.slice(0,Math.max(0,n.length-1))),n=e+a,r=o;continue}}n+=a,r=o,i=e}return t.push(n),t}function We(e){return e?Ue(e).map(e=>Ke(e)).join(``):``}function Ge(e){return qe(We(e||``))}function Ke(e){return e?e[0].toUpperCase()+e.slice(1):``}function qe(e){return e?e[0].toLowerCase()+e.slice(1):``}function Je(e){if(!e)return{};let t={};function n(e,n){if(e.startsWith(`-moz-`)||e.startsWith(`-webkit-`)||e.startsWith(`-ms-`)||e.startsWith(`-o-`)){t[We(e)]=n;return}if(e.startsWith(`--`)){t[e]=n;return}t[Ge(e)]=n}return ze(e,n),t}function B(...e){return(...t)=>{for(let n of e)typeof n==`function`&&n(...t)}}function Ye(e,t){let n=RegExp(e,`g`);return e=>{if(typeof e!=`string`)throw TypeError(`expected an argument of type string, but got ${typeof e}`);return e.match(n)?e.replace(n,t):e}}var Xe=Ye(/[A-Z]/,e=>`-${e.toLowerCase()}`);function Ze(e){if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(`expected an argument of type object, but got ${typeof e}`);return Object.keys(e).map(t=>`${Xe(t)}: ${e[t]};`).join(`
|
|
3
|
-
`)}function Qe(e={}){return Ze(e).replace(`
|
|
4
|
-
`,` `)}var $e=new Set(`onabort.onanimationcancel.onanimationend.onanimationiteration.onanimationstart.onauxclick.onbeforeinput.onbeforetoggle.onblur.oncancel.oncanplay.oncanplaythrough.onchange.onclick.onclose.oncompositionend.oncompositionstart.oncompositionupdate.oncontextlost.oncontextmenu.oncontextrestored.oncopy.oncuechange.oncut.ondblclick.ondrag.ondragend.ondragenter.ondragleave.ondragover.ondragstart.ondrop.ondurationchange.onemptied.onended.onerror.onfocus.onfocusin.onfocusout.onformdata.ongotpointercapture.oninput.oninvalid.onkeydown.onkeypress.onkeyup.onload.onloadeddata.onloadedmetadata.onloadstart.onlostpointercapture.onmousedown.onmouseenter.onmouseleave.onmousemove.onmouseout.onmouseover.onmouseup.onpaste.onpause.onplay.onplaying.onpointercancel.onpointerdown.onpointerenter.onpointerleave.onpointermove.onpointerout.onpointerover.onpointerup.onprogress.onratechange.onreset.onresize.onscroll.onscrollend.onsecuritypolicyviolation.onseeked.onseeking.onselect.onselectionchange.onselectstart.onslotchange.onstalled.onsubmit.onsuspend.ontimeupdate.ontoggle.ontouchcancel.ontouchend.ontouchmove.ontouchstart.ontransitioncancel.ontransitionend.ontransitionrun.ontransitionstart.onvolumechange.onwaiting.onwebkitanimationend.onwebkitanimationiteration.onwebkitanimationstart.onwebkittransitionend.onwheel`.split(`.`));function et(e){return $e.has(e)}function V(...e){let t={...e[0]};for(let n=1;n<e.length;n++){let i=e[n];if(i){for(let e of Object.keys(i)){let n=t[e],a=i[e],o=typeof n==`function`,s=typeof a==`function`;if(o&&typeof s&&et(e))t[e]=Ce(n,a);else if(o&&s)t[e]=B(n,a);else if(e===`class`){let i=he(n),o=he(a);i&&o?t[e]=r(n,a):i?t[e]=r(n):o&&(t[e]=r(a))}else if(e===`style`){let r=typeof n==`object`,i=typeof a==`object`,o=typeof n==`string`,s=typeof a==`string`;if(r&&i)t[e]={...n,...a};else if(r&&s){let r=Je(a);t[e]={...n,...r}}else if(o&&i)t[e]={...Je(n),...a};else if(o&&s){let r=Je(n),i=Je(a);t[e]={...r,...i}}else r?t[e]=n:i?t[e]=a:o?t[e]=n:s&&(t[e]=a)}else t[e]=a===void 0?n:a}for(let e of Object.getOwnPropertySymbols(i)){let n=t[e],r=i[e];t[e]=r===void 0?n:r}}}return typeof t.style==`object`&&(t.style=Qe(t.style).replaceAll(`
|
|
5
|
-
`,` `)),t.hidden===!1&&(t.hidden=void 0,delete t.hidden),t.disabled===!1&&(t.disabled=void 0,delete t.disabled),t}var tt=typeof window<`u`?window:void 0;typeof window<`u`&&window.document,typeof window<`u`&&window.navigator,typeof window<`u`&&window.location;function nt(e){let t=e.activeElement;for(;t?.shadowRoot;){let e=t.shadowRoot.activeElement;if(e===t)break;t=e}return t}var rt=class extends Map{#e=new Map;#t=D(0);#n=D(0);#r=ee||-1;constructor(e){if(super(),e){for(var[t,n]of e)super.set(t,n);this.#n.v=super.size}}#i(e){return ee===this.#r?D(e):ie(e)}has(e){var t=this.#e,n=t.get(e);if(n===void 0){if(super.has(e))n=this.#i(0),t.set(e,n);else return _(this.#t),!1}return _(n),!0}forEach(e,t){this.#a(),super.forEach(e,t)}get(e){var t=this.#e,n=t.get(e);if(n===void 0){if(super.has(e))n=this.#i(0),t.set(e,n);else{_(this.#t);return}}return _(n),super.get(e)}getOrInsert(e,t){return super.has(e)||this.set(e,t),this.get(e)}getOrInsertComputed(e,t){return super.has(e)||this.set(e,t(e)),this.get(e)}set(e,t){var n=this.#e,r=n.get(e),i=super.get(e),a=super.set(e,t),o=this.#t;if(r===void 0)r=this.#i(0),n.set(e,r),C(this.#n,super.size),x(o);else if(i!==t){x(r);var s=o.reactions===null?null:new Set(o.reactions);(s===null||!r.reactions?.every(e=>s.has(e)))&&x(o)}return a}delete(e){var t=this.#e,n=t.get(e),r=super.delete(e);return n!==void 0&&(t.delete(e),C(n,-1)),r&&(C(this.#n,super.size),x(this.#t)),r}clear(){if(super.size!==0){super.clear();var e=this.#e;C(this.#n,0);for(var t of e.values())C(t,-1);x(this.#t),e.clear()}}#a(){_(this.#t);var e=this.#e;if(this.#n.v!==e.size){for(var t of super.keys())if(!e.has(t)){var n=this.#i(0);e.set(t,n)}}for([,n]of this.#e)_(n)}keys(){return _(this.#t),super.keys()}values(){return this.#a(),super.values()}entries(){return this.#a(),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return _(this.#n),super.size}};new class{#e;#t;constructor(e={}){let{window:t=tt,document:n=t?.document}=e;t!==void 0&&(this.#e=n,this.#t=c(e=>{let n=A(t,`focusin`,e),r=A(t,`focusout`,e);return()=>{n(),r()}}))}get current(){return this.#t?.(),this.#e?nt(this.#e):null}};function it(e){return typeof e==`function`}var H=class{#e;#t;constructor(e){this.#e=e,this.#t=Symbol(e)}get key(){return this.#t}exists(){return ce(this.#t)}get(){let e=b(this.#t);if(e===void 0)throw Error(`Context "${this.#e}" not found`);return e}getOr(e){let t=b(this.#t);return t===void 0?e:t}set(e){return se(this.#t,e)}};function at(e,t){switch(e){case`post`:j(t);break;case`pre`:T(t)}}function ot(t,n,r,i={}){let{lazy:a=!1}=i,o=!a,s=Array.isArray(t)?[]:void 0;at(n,()=>{let n=Array.isArray(t)?t.map(e=>e()):t();if(!o){o=!0,s=n;return}let i=e(()=>r(n,s));return s=n,i})}function U(e,t,n){ot(e,`post`,t,n)}function st(e,t,n){ot(e,`pre`,t,n)}U.pre=st;function ct(e){return it(e)?e():e}var lt=class{#e={width:0,height:0};#t=!1;#n;#r;#i;#a=w(()=>(_(this.#s)?.(),this.getSize().width));#o=w(()=>(_(this.#s)?.(),this.getSize().height));#s=w(()=>{let e=ct(this.#r);if(e)return c(t=>{if(!this.#i)return;let n=new this.#i.ResizeObserver(e=>{this.#t=!0;for(let t of e){let e=this.#n.box===`content-box`?t.contentBoxSize:t.borderBoxSize,n=Array.isArray(e)?e:[e];this.#e.width=n.reduce((e,t)=>Math.max(e,t.inlineSize),0),this.#e.height=n.reduce((e,t)=>Math.max(e,t.blockSize),0)}t()});return n.observe(e),()=>{this.#t=!1,n.disconnect()}})});constructor(e,t={box:`border-box`}){this.#i=t.window??tt,this.#n=t,this.#r=e,this.#e={width:0,height:0}}calculateSize(){let e=ct(this.#r);if(!e||!this.#i)return;let t=e.offsetWidth,n=e.offsetHeight;if(this.#n.box===`border-box`)return{width:t,height:n};let r=this.#i.getComputedStyle(e),i=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight),a=parseFloat(r.paddingTop)+parseFloat(r.paddingBottom),o=parseFloat(r.borderLeftWidth)+parseFloat(r.borderRightWidth),s=parseFloat(r.borderTopWidth)+parseFloat(r.borderBottomWidth);return{width:t-i-o,height:n-a-s}}getSize(){return this.#t?this.#e:this.calculateSize()??this.#e}get current(){return _(this.#s)?.(),this.getSize()}get width(){return _(this.#a)}get height(){return _(this.#o)}};function W(e){j(()=>()=>{e()})}function ut(e,t){return setTimeout(t,e)}function G(e){p().then(e)}var dt=1,ft=9,pt=11;function mt(e){return pe(e)&&e.nodeType===dt&&typeof e.nodeName==`string`}function ht(e){return pe(e)&&e.nodeType===ft}function gt(e){return pe(e)&&e.constructor?.name===`VisualViewport`}function _t(e){return pe(e)&&e.nodeType!==void 0}function vt(e){return _t(e)&&e.nodeType===pt&&`host`in e}function yt(e,t){if(!e||!t||!mt(e)||!mt(t))return!1;let n=t.getRootNode?.();if(e===t||e.contains(t))return!0;if(n&&vt(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function bt(e){return ht(e)?e:gt(e)?e.document:e?.ownerDocument??document}function xt(e){return vt(e)?xt(e.host):ht(e)?e.defaultView??window:mt(e)?e.ownerDocument?.defaultView??window:window}function St(e){let t=e.activeElement;for(;t?.shadowRoot;){let e=t.shadowRoot.activeElement;if(e===t)break;t=e}return t}var Ct=class{element;#e=w(()=>this.element.current?this.element.current.getRootNode()??document:document);get root(){return _(this.#e)}set root(e){C(this.#e,e)}constructor(e){this.element=typeof e==`function`?L(e):e}getDocument=()=>bt(this.root);getWindow=()=>this.getDocument().defaultView??window;getActiveElement=()=>St(this.root);isActiveElement=e=>e===this.getActiveElement();getElementById(e){return this.root.getElementById(e)}querySelector=e=>this.root?this.root.querySelector(e):null;querySelectorAll=e=>this.root?this.root.querySelectorAll(e):[];setTimeout=(e,t)=>this.getWindow().setTimeout(e,t);clearTimeout=e=>this.getWindow().clearTimeout(e)};function K(t,n){return{[v()]:r=>_e(t)?(t.current=r,e(()=>n?.(r)),()=>{`isConnected`in r&&r.isConnected||(t.current=null,n?.(null))}):(t(r),e(()=>n?.(r)),()=>{`isConnected`in r&&r.isConnected||(t(null),n?.(null))})}}function wt(e){return e?`true`:`false`}function q(e){return e?``:void 0}function Tt(e){return e?`open`:`closed`}function Et(e){return e===`starting`?{"data-starting-style":``}:e===`ending`?{"data-ending-style":``}:{}}var Dt=class{#e;#t;attrs;constructor(e){this.#e=e.getVariant?e.getVariant():null,this.#t=this.#e?`data-${this.#e}-`:`data-${e.component}-`,this.getAttr=this.getAttr.bind(this),this.selector=this.selector.bind(this),this.attrs=Object.fromEntries(e.parts.map(e=>[e,this.getAttr(e)]))}getAttr(e,t){return t?`data-${t}-${e}`:`${this.#t}${e}`}selector(e,t){return`[${this.getAttr(e,t)}]`}};function Ot(e){let t=new Dt(e);return{...t.attrs,selector:t.selector,getAttr:t.getAttr}}var kt=`ArrowDown`,At=`ArrowLeft`,jt=`ArrowRight`,Mt=`ArrowUp`,Nt=`Enter`,Pt=`Home`,Ft=`PageDown`,It=`PageUp`;function Lt(e){return window.getComputedStyle(e).getPropertyValue(`direction`)}var Rt=[kt,It,Pt],zt=[Mt,Ft,`End`];[...Rt,...zt];function Bt(e=`ltr`,t=`horizontal`){return{horizontal:e===`rtl`?At:jt,vertical:kt}[t]}function Vt(e=`ltr`,t=`horizontal`){return{horizontal:e===`rtl`?jt:At,vertical:Mt}[t]}function Ht(e=`ltr`,t=`horizontal`){return[`ltr`,`rtl`].includes(e)||(e=`ltr`),[`horizontal`,`vertical`].includes(t)||(t=`horizontal`),{nextKey:Bt(e,t),prevKey:Vt(e,t)}}var Ut=typeof document<`u`,Wt=Gt();function Gt(){return Ut&&window?.navigator?.userAgent&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||window?.navigator?.maxTouchPoints>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function J(e){return e instanceof HTMLElement}function Kt(e){return e instanceof Element}function qt(e){return e instanceof Element||e instanceof SVGElement}function Jt(e){return e!==null}function Yt(e){return e instanceof HTMLInputElement&&`select`in e}var Xt=class{#e;#t=R(null);constructor(e){this.#e=e}getCandidateNodes(){return this.#e.rootNode.current?this.#e.candidateSelector?Array.from(this.#e.rootNode.current.querySelectorAll(this.#e.candidateSelector)):this.#e.candidateAttr?Array.from(this.#e.rootNode.current.querySelectorAll(`[${this.#e.candidateAttr}]:not([data-disabled])`)):[]:[]}focusFirstCandidate(){let e=this.getCandidateNodes();e.length&&e[0]?.focus()}handleKeydown(e,t,n=!1){let r=this.#e.rootNode.current;if(!r||!e)return;let i=this.getCandidateNodes();if(!i.length)return;let a=i.indexOf(e),{nextKey:o,prevKey:s}=Ht(Lt(r),this.#e.orientation.current),c=this.#e.loop.current,l={[o]:a+1,[s]:a-1,[Pt]:0,End:i.length-1};if(n){let e=o===`ArrowDown`?jt:kt,t=s===`ArrowUp`?At:Mt;l[e]=a+1,l[t]=a-1}let u=l[t.key];if(u===void 0)return;t.preventDefault(),u<0&&c?u=i.length-1:u===i.length&&c&&(u=0);let d=i[u];if(d)return d.focus(),this.#t.current=d.id,this.#e.onCandidateFocus?.(d),d}getTabIndex(e){let t=this.getCandidateNodes(),n=this.#t.current!==null;return e&&!n&&t[0]===e?(this.#t.current=e.id,0):e?.id===this.#t.current?0:-1}setCurrentTabStopId(e){this.#t.current=e}focusCurrentTabStop(){let e=this.#t.current;if(!e)return;let t=this.#e.rootNode.current?.querySelector(`#${e}`);t&&J(t)&&t.focus()}},Zt=class{#e;#t=null;#n=null;#r=0;constructor(e){this.#e=e,W(()=>this.#i())}#i(){this.#t!==null&&(window.cancelAnimationFrame(this.#t),this.#t=null),this.#n?.disconnect(),this.#n=null,this.#r++}run(e){this.#i();let t=this.#e.ref.current;if(!t)return;if(typeof t.getAnimations!=`function`){this.#a(e);return}let n=this.#r,r=()=>{n===this.#r&&this.#a(e)},i=()=>{if(n!==this.#r)return;let e=t.getAnimations();if(e.length===0){r();return}Promise.all(e.map(e=>e.finished)).then(()=>{r()}).catch(()=>{if(n===this.#r){if(t.getAnimations().some(e=>e.pending||e.playState!==`finished`)){i();return}r()}})},a=()=>{this.#t=window.requestAnimationFrame(()=>{this.#t=null,i()})};if(!this.#e.afterTick.current){a();return}this.#t=window.requestAnimationFrame(()=>{this.#t=null;let e=`data-starting-style`;if(!t.hasAttribute(e)){a();return}this.#n=new MutationObserver(()=>{n===this.#r&&(t.hasAttribute(e)||(this.#n?.disconnect(),this.#n=null,a()))}),this.#n.observe(t,{attributes:!0,attributeFilter:[e]})})}#a(e){let t=()=>{e()};this.#e.afterTick?G(t):t()}},Qt=class{#e;#t;#n;#r=D(!1);#i=D(void 0);#a=!1;#o=null;constructor(e){this.#e=e,C(this.#r,e.open.current,!0),this.#t=e.enabled??!0,this.#n=new Zt({ref:this.#e.ref,afterTick:this.#e.open}),W(()=>this.#s()),U(()=>this.#e.open.current,e=>{if(!this.#a){this.#a=!0;return}if(this.#s(),!e&&this.#e.shouldSkipExitAnimation?.()){C(this.#r,!1),C(this.#i,void 0),this.#e.onComplete?.();return}if(e&&C(this.#r,!0),C(this.#i,e?`starting`:`ending`,!0),e&&(this.#o=window.requestAnimationFrame(()=>{this.#o=null,this.#e.open.current&&C(this.#i,void 0)})),!this.#t){e||C(this.#r,!1),C(this.#i,void 0),this.#e.onComplete?.();return}this.#n.run(()=>{e===this.#e.open.current&&(this.#e.open.current||C(this.#r,!1),C(this.#i,void 0),this.#e.onComplete?.())})})}get shouldRender(){return _(this.#r)}get transitionStatus(){return _(this.#i)}#s(){this.#o!==null&&(window.cancelAnimationFrame(this.#o),this.#o=null)}};function Y(){}function X(e,t){return t===void 0?`bits-${e}`:`bits-${e}-${t}`}var $t=Ot({component:`dialog`,parts:[`content`,`trigger`,`overlay`,`title`,`description`,`close`,`cancel`,`action`]}),Z=new H(`Dialog.Root | AlertDialog.Root`),en=class e{static create(t){let n=Z.getOr(null);return Z.set(new e(t,n))}opts;#e=D(null);get triggerNode(){return _(this.#e)}set triggerNode(e){C(this.#e,e,!0)}#t=D(null);get contentNode(){return _(this.#t)}set contentNode(e){C(this.#t,e,!0)}#n=D(null);get overlayNode(){return _(this.#n)}set overlayNode(e){C(this.#n,e,!0)}#r=D(null);get descriptionNode(){return _(this.#r)}set descriptionNode(e){C(this.#r,e,!0)}#i=D(void 0);get contentId(){return _(this.#i)}set contentId(e){C(this.#i,e,!0)}#a=D(void 0);get titleId(){return _(this.#a)}set titleId(e){C(this.#a,e,!0)}#o=D(void 0);get triggerId(){return _(this.#o)}set triggerId(e){C(this.#o,e,!0)}#s=D(void 0);get descriptionId(){return _(this.#s)}set descriptionId(e){C(this.#s,e,!0)}#c=D(null);get cancelNode(){return _(this.#c)}set cancelNode(e){C(this.#c,e,!0)}#l=D(0);get nestedOpenCount(){return _(this.#l)}set nestedOpenCount(e){C(this.#l,e,!0)}depth;parent;contentPresence;overlayPresence;constructor(e,t){this.opts=e,this.parent=t,this.depth=t?t.depth+1:0,this.handleOpen=this.handleOpen.bind(this),this.handleClose=this.handleClose.bind(this),this.contentPresence=new Qt({ref:L(()=>this.contentNode),open:this.opts.open,enabled:!0,onComplete:()=>{this.opts.onOpenChangeComplete.current(this.opts.open.current)}}),this.overlayPresence=new Qt({ref:L(()=>this.overlayNode),open:this.opts.open,enabled:!0}),U(()=>this.opts.open.current,e=>{this.parent&&(e?this.parent.incrementNested():this.parent.decrementNested())},{lazy:!0}),W(()=>{this.opts.open.current&&this.parent?.decrementNested()})}handleOpen(){this.opts.open.current||(this.opts.open.current=!0)}handleClose(){this.opts.open.current&&(this.opts.open.current=!1)}getBitsAttr=e=>$t.getAttr(e,this.opts.variant.current);incrementNested(){this.nestedOpenCount++,this.parent?.incrementNested()}decrementNested(){this.nestedOpenCount!==0&&(this.nestedOpenCount--,this.parent?.decrementNested())}#u=w(()=>({"data-state":Tt(this.opts.open.current)}));get sharedProps(){return _(this.#u)}set sharedProps(e){C(this.#u,e)}},tn=class e{static create(t){return new e(t,Z.get())}opts;root;attachment;constructor(e,t){this.opts=e,this.root=t,this.attachment=K(this.opts.ref),this.onclick=this.onclick.bind(this),this.onkeydown=this.onkeydown.bind(this)}onclick(e){this.opts.disabled.current||e.button>0||this.root.handleClose()}onkeydown(e){this.opts.disabled.current||(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),this.root.handleClose())}#e=w(()=>({id:this.opts.id.current,[this.root.getBitsAttr(this.opts.variant.current)]:``,onclick:this.onclick,onkeydown:this.onkeydown,disabled:this.opts.disabled.current?!0:void 0,tabindex:0,...this.root.sharedProps,...this.attachment}));get props(){return _(this.#e)}set props(e){C(this.#e,e)}},nn=class e{static create(t){return new e(t,Z.get())}opts;root;attachment;constructor(e,t){this.opts=e,this.root=t,this.root.titleId=this.opts.id.current,this.attachment=K(this.opts.ref),U.pre(()=>this.opts.id.current,e=>{this.root.titleId=e})}#e=w(()=>({id:this.opts.id.current,role:`heading`,"aria-level":this.opts.level.current,[this.root.getBitsAttr(`title`)]:``,...this.root.sharedProps,...this.attachment}));get props(){return _(this.#e)}set props(e){C(this.#e,e)}},rn=class e{static create(t){return new e(t,Z.get())}opts;root;attachment;constructor(e,t){this.opts=e,this.root=t,this.root.descriptionId=this.opts.id.current,this.attachment=K(this.opts.ref,e=>{this.root.descriptionNode=e}),U.pre(()=>this.opts.id.current,e=>{this.root.descriptionId=e})}#e=w(()=>({id:this.opts.id.current,[this.root.getBitsAttr(`description`)]:``,...this.root.sharedProps,...this.attachment}));get props(){return _(this.#e)}set props(e){C(this.#e,e)}},an=class e{static create(t){return new e(t,Z.get())}opts;root;attachment;constructor(e,t){this.opts=e,this.root=t,this.attachment=K(this.opts.ref,e=>{this.root.contentNode=e,this.root.contentId=e?.id})}#e=w(()=>({open:this.root.opts.open.current}));get snippetProps(){return _(this.#e)}set snippetProps(e){C(this.#e,e)}#t=w(()=>({id:this.opts.id.current,role:this.root.opts.variant.current===`alert-dialog`?`alertdialog`:`dialog`,"aria-modal":`true`,"aria-describedby":this.root.descriptionId,"aria-labelledby":this.root.titleId,[this.root.getBitsAttr(`content`)]:``,style:{pointerEvents:`auto`,outline:this.root.opts.variant.current===`alert-dialog`?`none`:void 0,"--bits-dialog-depth":this.root.depth,"--bits-dialog-nested-count":this.root.nestedOpenCount,contain:`layout style`},tabindex:this.root.opts.variant.current===`alert-dialog`?-1:void 0,"data-nested-open":q(this.root.nestedOpenCount>0),"data-nested":q(this.root.parent!==null),...Et(this.root.contentPresence.transitionStatus),...this.root.sharedProps,...this.attachment}));get props(){return _(this.#t)}set props(e){C(this.#t,e)}get shouldRender(){return this.root.contentPresence.shouldRender}},on=class e{static create(t){return new e(t,Z.get())}opts;root;attachment;constructor(e,t){this.opts=e,this.root=t,this.attachment=K(this.opts.ref,e=>this.root.overlayNode=e)}#e=w(()=>({open:this.root.opts.open.current}));get snippetProps(){return _(this.#e)}set snippetProps(e){C(this.#e,e)}#t=w(()=>({id:this.opts.id.current,[this.root.getBitsAttr(`overlay`)]:``,style:{pointerEvents:`auto`,"--bits-dialog-depth":this.root.depth,"--bits-dialog-nested-count":this.root.nestedOpenCount},"data-nested-open":q(this.root.nestedOpenCount>0),"data-nested":q(this.root.parent!==null),...Et(this.root.overlayPresence.transitionStatus),...this.root.sharedProps,...this.attachment}));get props(){return _(this.#t)}set props(e){C(this.#t,e)}get shouldRender(){return this.root.overlayPresence.shouldRender}},sn=new Set([`$$slots`,`$$events`,`$$legacy`,`id`,`ref`,`child`,`children`,`level`]),cn=n(`<div><!></div>`);function ln(e,n){let r=o();i(n,!0);let a=y(n,`id`,19,()=>X(r)),s=y(n,`ref`,15,null),c=y(n,`level`,3,2),l=O(n,sn),f=nn.create({id:L(()=>a()),level:L(()=>c()),ref:L(()=>s(),e=>s(e))}),p=w(()=>V(l,f.props));var g=P(),v=N(g),b=e=>{var t=P(),r=N(t);d(r,()=>n.child,()=>({props:_(p)})),m(e,t)},x=e=>{var r=cn();S(r,()=>({..._(p)}));var i=k(r);d(i,()=>n.children??E),t(r),m(e,r)};u(v,e=>{n.child?e(b):e(x,-1)}),m(e,g),h()}function un(e,t){var n=P(),r=N(n);l(r,()=>t.children,e=>{var n=P(),r=N(n);d(r,()=>t.children??E),m(e,n)}),m(e,n)}var dn=new H(`BitsConfig`);function fn(){let e=new pn(null,{});return dn.getOr(e).opts}var pn=class{opts;constructor(e,t){let n=mn(e,t);this.opts={defaultPortalTo:n(e=>e.defaultPortalTo),defaultLocale:n(e=>e.defaultLocale)}}};function mn(e,t){return n=>L(()=>{let r=n(t)?.current;if(r!==void 0)return r;if(e!==null)return n(e.opts)?.current})}function hn(e,t){return n=>{let r=fn();return L(()=>{let i=n();if(i!==void 0)return i;let a=e(r).current;return a===void 0?t:a})}}var gn=hn(e=>e.defaultPortalTo,`body`);function _n(e,t){i(t,!0);let n=gn(()=>t.to),r=le(),a=w(o);function o(){if(!Ut||t.disabled)return null;let e=null;return e=typeof n.current==`string`?document.querySelector(n.current):n.current,e}let c;function l(){c&&=(s(c),null)}U([()=>_(a),()=>t.disabled],([e,n])=>{if(!e||n){l();return}return c=f(un,{target:e,props:{children:t.children},context:r}),()=>{l()}});var p=P(),g=N(p),v=e=>{var n=P(),r=N(n);d(r,()=>t.children??E),m(e,n)};u(g,e=>{t.disabled&&e(v)}),m(e,p),h()}var vn=class{eventName;options;constructor(e,t={bubbles:!0,cancelable:!0}){this.eventName=e,this.options=t}createEvent(e){return new CustomEvent(this.eventName,{...this.options,detail:e})}dispatch(e,t){let n=this.createEvent(t);return e.dispatchEvent(n),n}listen(e,t,n){return A(e,this.eventName,e=>{t(e)},n)}};function yn(e,t=500){let n=null,r=(...r)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...r)},t)};return r.destroy=()=>{n!==null&&(clearTimeout(n),n=null)},r}function bn(e,t){return e===t||e.contains(t)}function xn(e){return e?.ownerDocument??document}function Sn(e){if(!e)return null;for(let t of e.childNodes)if(t.nodeType!==Node.COMMENT_NODE)return t;return null}function Cn(e,t){let{clientX:n,clientY:r}=e,i=t.getBoundingClientRect();return n<i.left||n>i.right||r<i.top||r>i.bottom}var wn=[Nt,` `],Tn=[kt,It,Pt],En=[Mt,Ft,`End`],Dn=[...Tn,...En];[...wn],[...wn];function Q(e){return e.pointerType===`mouse`}function On(e,{select:t=!1}={}){if(!e||!e.focus)return;let n=bt(e);if(n.activeElement===e)return;let r=n.activeElement;e.focus({preventScroll:!0}),e!==r&&Yt(e)&&t&&e.select()}function kn(e,{select:t=!1}={},n){let r=n();for(let i of e)if(On(i,{select:t}),n()!==r)return!0}var An=D(!1),jn=class e{static _refs=0;static _cleanup;constructor(){j(()=>(e._refs===0&&(e._cleanup=ae(()=>{let e=[],t=e=>{C(An,!1)};return e.push(A(document,`pointerdown`,t,{capture:!0}),A(document,`pointermove`,t,{capture:!0}),A(document,`keydown`,e=>{C(An,!0)},{capture:!0})),B(...e)})),e._refs++,()=>{e._refs--,e._refs===0&&(C(An,!1),e._cleanup?.())}))}get current(){return _(An)}set current(e){C(An,e,!0)}},Mn=[`input:not([inert]):not([inert] *)`,`select:not([inert]):not([inert] *)`,`textarea:not([inert]):not([inert] *)`,`a[href]:not([inert]):not([inert] *)`,`area[href]:not([inert]):not([inert] *)`,`button:not([inert]):not([inert] *)`,`[tabindex]:not(slot):not([inert]):not([inert] *)`,`audio[controls]:not([inert]):not([inert] *)`,`video[controls]:not([inert]):not([inert] *)`,`[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)`,`details>summary:first-of-type:not([inert]):not([inert] *)`,`details:not([inert]):not([inert] *)`],Nn=Mn.join(`,`),Pn=typeof Element>`u`,$=Pn?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Fn=!Pn&&Element.prototype.getRootNode?function(e){return e?.getRootNode?.call(e)}:function(e){return e?.ownerDocument},In=function(e,t){t===void 0&&(t=!0);var n=e?.getAttribute?.call(e,`inert`);return n===``||n===`true`||t&&e&&(typeof e.closest==`function`?e.closest(`[inert]`):In(e.parentNode))},Ln=function(e){var t=e?.getAttribute?.call(e,`contenteditable`);return t===``||t===`true`},Rn=function(e,t,n){if(In(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(Nn));return t&&$.call(e,Nn)&&r.unshift(e),r=r.filter(n),r},zn=function(e,t,n){for(var r=[],i=Array.from(e);i.length;){var a=i.shift();if(!In(a,!1)){if(a.tagName===`SLOT`){var o=a.assignedElements(),s=zn(o.length?o:a.children,!0,n);n.flatten?r.push.apply(r,s):r.push({scopeParent:a,candidates:s})}else{$.call(a,Nn)&&n.filter(a)&&(t||!e.includes(a))&&r.push(a);var c=a.shadowRoot||typeof n.getShadowRoot==`function`&&n.getShadowRoot(a),l=!In(c,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(a));if(c&&l){var u=zn(c===!0?a.children:c.children,!0,n);n.flatten?r.push.apply(r,u):r.push({scopeParent:a,candidates:u})}else i.unshift.apply(i,a.children)}}}return r},Bn=function(e){return!isNaN(parseInt(e.getAttribute(`tabindex`),10))},Vn=function(e){if(!e)throw Error(`No node provided`);return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||Ln(e))&&!Bn(e)?0:e.tabIndex},Hn=function(e,t){var n=Vn(e);return n<0&&t&&!Bn(e)?0:n},Un=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},Wn=function(e){return e.tagName===`INPUT`},Gn=function(e){return Wn(e)&&e.type===`hidden`},Kn=function(e){return e.tagName===`DETAILS`&&Array.prototype.slice.apply(e.children).some(function(e){return e.tagName===`SUMMARY`})},qn=function(e,t){for(var n=0;n<e.length;n++)if(e[n].checked&&e[n].form===t)return e[n]},Jn=function(e){if(!e.name)return!0;var t=e.form||Fn(e),n=function(e){return t.querySelectorAll(`input[type="radio"][name="`+e+`"]`)},r;if(typeof window<`u`&&window.CSS!==void 0&&typeof window.CSS.escape==`function`)r=n(window.CSS.escape(e.name));else try{r=n(e.name)}catch(e){return console.error(`Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s`,e.message),!1}var i=qn(r,e.form);return!i||i===e},Yn=function(e){return Wn(e)&&e.type===`radio`},Xn=function(e){return Yn(e)&&!Jn(e)},Zn=function(e){var t=e&&Fn(e),n=t?.host,r=!1;if(t&&t!==e){var i,a,o;for(r=!!((i=n)!=null&&(a=i.ownerDocument)!=null&&a.contains(n)||e!=null&&(o=e.ownerDocument)!=null&&o.contains(e));!r&&n;){var s,c;t=Fn(n),n=t?.host,r=!!((s=n)!=null&&(c=s.ownerDocument)!=null&&c.contains(n))}}return r},Qn=function(e){var t=e.getBoundingClientRect(),n=t.width,r=t.height;return n===0&&r===0},$n=function(e,t){var n=t.displayCheck,r=t.getShadowRoot;if(n===`full-native`&&`checkVisibility`in e)return!e.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});var i=getComputedStyle(e).visibility;if(i===`hidden`||i===`collapse`)return!0;var a=$.call(e,`details>summary:first-of-type`)?e.parentElement:e;if($.call(a,`details:not([open]) *`))return!0;if(!n||n===`full`||n===`full-native`||n===`legacy-full`){if(typeof r==`function`){for(var o=e;e;){var s=e.parentElement,c=Fn(e);if(s&&!s.shadowRoot&&r(s)===!0)return Qn(e);e=e.assignedSlot?e.assignedSlot:!s&&c!==e.ownerDocument?c.host:s}e=o}if(Zn(e))return!e.getClientRects().length;if(n!==`legacy-full`)return!0}else if(n===`non-zero-area`)return Qn(e);return!1},er=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName===`FIELDSET`&&t.disabled){for(var n=0;n<t.children.length;n++){var r=t.children.item(n);if(r.tagName===`LEGEND`)return $.call(t,`fieldset[disabled] *`)?!0:!r.contains(e)}return!0}t=t.parentElement}return!1},tr=function(e,t){return!(t.disabled||Gn(t)||$n(t,e)||Kn(t)||er(t))},nr=function(e,t){return!(Xn(t)||Vn(t)<0||!tr(e,t))},rr=function(e){var t=parseInt(e.getAttribute(`tabindex`),10);return!!(isNaN(t)||t>=0)},ir=function(e){var t=[],n=[];return e.forEach(function(e,r){var i=!!e.scopeParent,a=i?e.scopeParent:e,o=Hn(a,i),s=i?ir(e.candidates):a;o===0?i?t.push.apply(t,s):t.push(a):n.push({documentOrder:r,tabIndex:o,item:e,isScope:i,content:s})}),n.sort(Un).reduce(function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e},[]).concat(t)},ar=function(e,t){return t||={},ir(t.getShadowRoot?zn([e],t.includeContainer,{filter:nr.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:rr}):Rn(e,t.includeContainer,nr.bind(null,t)))},or=function(e,t){return t||={},t.getShadowRoot?zn([e],t.includeContainer,{filter:tr.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):Rn(e,t.includeContainer,tr.bind(null,t))},sr=function(e,t){if(t||={},!e)throw Error(`No node provided`);return $.call(e,Nn)!==!1&&nr(t,e)},cr=Mn.concat(`iframe:not([inert]):not([inert] *)`).join(`,`),lr=function(e,t){if(t||={},!e)throw Error(`No node provided`);return $.call(e,cr)!==!1&&tr(t,e)};function ur(){return{getShadowRoot:!0,displayCheck:typeof ResizeObserver==`function`&&ResizeObserver.toString().includes(`[native code]`)?`full`:`none`}}function dr(e,t){if(!sr(e,ur()))return fr(e,t);let n=bt(e),r=ar(n.body,ur());t===`prev`&&r.reverse();let i=r.indexOf(e);return i===-1?n.body:r.slice(i+1)[0]}function fr(e,t){let n=bt(e);if(!lr(e,ur()))return n.body;let r=or(n.body,ur());t===`prev`&&r.reverse();let i=r.indexOf(e);return i===-1?n.body:r.slice(i+1).find(e=>sr(e,ur()))??n.body}function pr(e,t,n){let r=t.toLowerCase();if(r.endsWith(` `)){let i=r.slice(0,-1);if(e.filter(e=>e.toLowerCase().startsWith(i)).length<=1)return pr(e,i,n);let a=n?.toLowerCase();if(a&&a.startsWith(i)&&a.charAt(i.length)===` `&&t.trim()===i)return n;let o=e.filter(e=>e.toLowerCase().startsWith(r));if(o.length>0){let t=n?e.indexOf(n):-1;return mr(o,Math.max(t,0)).find(e=>e!==n)||n}}let i=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,a=i.toLowerCase(),o=n?e.indexOf(n):-1,s=mr(e,Math.max(o,0));i.length===1&&(s=s.filter(e=>e!==n));let c=s.find(e=>e?.toLowerCase().startsWith(a));return c===n?void 0:c}function mr(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var hr={afterMs:1e4,onChange:Y};function gr(e,t){let{afterMs:n,onChange:r,getWindow:i}={...hr,...t},a=null,o=D(oe(e));function s(){return i().setTimeout(()=>{C(o,e,!0),r?.(e)},n)}return j(()=>()=>{a&&i().clearTimeout(a)}),L(()=>_(o),e=>{C(o,e,!0),r?.(e),a&&i().clearTimeout(a),a=s()})}var _r=class{#e;#t;#n=w(()=>this.#e.onMatch?this.#e.onMatch:e=>e.focus());#r=w(()=>this.#e.getCurrentItem?this.#e.getCurrentItem:this.#e.getActiveElement);constructor(e){this.#e=e,this.#t=gr(``,{afterMs:1e3,getWindow:e.getWindow}),this.handleTypeaheadSearch=this.handleTypeaheadSearch.bind(this),this.resetTypeahead=this.resetTypeahead.bind(this)}handleTypeaheadSearch(e,t){if(!t.length)return;this.#t.current=this.#t.current+e;let n=_(this.#r)(),r=t.find(e=>e===n)?.textContent?.trim()??``,i=pr(t.map(e=>e.textContent?.trim()??``),this.#t.current,r),a=t.find(e=>e.textContent?.trim()===i);return a&&_(this.#n)(a),a}resetTypeahead(){this.#t.current=``}get search(){return this.#t.current}},vr=`data-context-menu-trigger`,yr=`data-context-menu-content`,br=new H(`Menu.Root`),xr=new H(`Menu.Root | Menu.Sub`),Sr=new H(`Menu.Content`),Cr=new H(`Menu.Group | Menu.RadioGroup`),wr=new H(`Menu.RadioGroup`),Tr=new H(`Menu.CheckboxGroup`),Er=new vn(`bitsmenuopen`,{bubbles:!1,cancelable:!0}),Dr=Ot({component:`menu`,parts:[`trigger`,`content`,`sub-trigger`,`item`,`group`,`group-heading`,`checkbox-group`,`checkbox-item`,`radio-group`,`radio-item`,`separator`,`sub-content`,`arrow`]}),Or=class{#e;#t=null;#n=null;#r=!1;#i=null;#a=null;#o=null;#s=null;constructor(e){this.#e=e,U([e.triggerNode,e.contentNode,e.enabled],([e,t,n])=>{if(this.#_(),!e||!t||!n)return;let r=e=>{Q(e)&&(this.#s={x:e.clientX,y:e.clientY},this.#r||this.#d(e,`content`))},i=e=>{Q(e)&&this.#f(e,`content`)},a=e=>{Q(e)&&(this.#r||this.#d(e,`trigger`))},o=e=>{if(Q(e)){if(Kt(e.relatedTarget)){let n=this.#e.subContentSelector(),r=e.relatedTarget.closest(n);if(r&&r!==t&&r.id&&t.querySelector(`[aria-controls="${r.id}"]`))return}this.#f(e,`trigger`)}},s=e=>{Q(e)&&this.#m()},c=e=>{Q(e)&&this.#m()};return e.addEventListener(`pointermove`,r),e.addEventListener(`pointerleave`,i),e.addEventListener(`pointerenter`,s),t.addEventListener(`pointermove`,a),t.addEventListener(`pointerleave`,o),t.addEventListener(`pointerenter`,c),()=>{e.removeEventListener(`pointermove`,r),e.removeEventListener(`pointerleave`,i),e.removeEventListener(`pointerenter`,s),t.removeEventListener(`pointermove`,a),t.removeEventListener(`pointerleave`,o),t.removeEventListener(`pointerenter`,c),this.#_()}}),W(()=>{this.#_()})}#c(){let e=this.#e.parentContentNode();return e?e.getBoundingClientRect():this.#e.triggerNode()?.getBoundingClientRect()??null}#l(e,t){let n=this.#e.triggerNode(),r=this.#e.contentNode();if(!n||!r)return null;let i=n.getBoundingClientRect(),a=r.getBoundingClientRect(),o=Mr(i,a),s,c,l;return t===`content`?(s=this.#r?this.#a??e:e,c=a):(s=this.#s??e,c=this.#c()??i,l=a),this.#a=s,{corridor:Nr(i,a,o),intent:Pr(s,c,o,t,l),targetRect:c,side:o}}#u(e,t,n){return kr(e,t)||kr(e,n)}#d(e,t){let n={x:e.clientX,y:e.clientY};this.#l(n,t)&&(this.#i=t,this.#o=n)}#f(e,t){if(!this.#e.enabled())return;let n=this.#e.triggerNode(),r=this.#e.contentNode();if(!n||!r)return;let i=e.relatedTarget;if(Kt(i)&&(t===`content`&&r.contains(i)||t===`trigger`&&n.contains(i)))return;let a={x:e.clientX,y:e.clientY},o=this.#l(a,t);if(o){if(!Ar(a,o.targetRect)&&!this.#u(a,o.corridor,o.intent)){this.#w();return}this.#r=!0,this.#i=t,this.#o=a,this.#e.setIsPointerInTransit(!0),this.#b(),this.#S()}}#p=null;#m(){if(!this.#r)return;let e=this.#i===`trigger`;this.#x(),this.#C(),this.#r=!1,this.#w(),e?(this.#h(),this.#p=setTimeout(()=>{this.#p=null,this.#e.setIsPointerInTransit(!1)},100)):this.#e.setIsPointerInTransit(!1)}#h(){this.#p!==null&&(clearTimeout(this.#p),this.#p=null)}#g(){let e=this.#o;this.#x(),this.#C(),this.#h(),this.#r=!1,this.#e.setIsPointerInTransit(!1),this.#w(),this.#e.onIntentExit(e)}#_(){this.#x(),this.#C(),this.#h(),this.#r&&this.#e.setIsPointerInTransit(!1),this.#r=!1,this.#i=null,this.#a=null,this.#o=null,this.#s=null}#v(e){let t=this.#e.contentNode();if(!t)return!1;let n=t.ownerDocument.elementFromPoint(e.x,e.y);if(!n)return!1;let r=this.#e.subContentSelector(),i=n.closest(r);return!i||i===t?!1:i.id?!!t.querySelector(`[aria-controls="${i.id}"]`):!1}#y=e=>{if(!this.#r||!this.#i||!Q(e))return;let t=this.#e.triggerNode(),n=this.#e.contentNode();if(!t||!n){this.#g();return}this.#C();let r={x:e.clientX,y:e.clientY};this.#o=r;let i=t.getBoundingClientRect(),a=n.getBoundingClientRect();if(this.#i===`content`&&Ar(r,a)){this.#m();return}if(this.#i===`trigger`&&jr(r,i,4)){this.#m();return}if(this.#v(r)){this.#S();return}let o=this.#l(r,this.#i);if(!o){this.#g();return}if(this.#u(r,o.corridor,o.intent)){this.#S();return}this.#g()};#b(){if(this.#t)return;let e=bt(this.#e.triggerNode()??this.#e.contentNode());e&&(e.addEventListener(`pointermove`,this.#y,!0),this.#t=()=>{e.removeEventListener(`pointermove`,this.#y,!0),this.#t=null})}#x(){this.#t?.()}#S(){this.#C(),this.#n=setTimeout(()=>{this.#n=null,this.#r&&this.#g()},500)}#C(){this.#n!==null&&(clearTimeout(this.#n),this.#n=null)}#w(){this.#i=null,this.#a=null,this.#o=null}};function kr(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function Ar(e,t){return e.x>=t.left&&e.x<=t.right&&e.y>=t.top&&e.y<=t.bottom}function jr(e,t,n){return e.x>=t.left+n&&e.x<=t.right-n&&e.y>=t.top+n&&e.y<=t.bottom-n}function Mr(e,t){let n=e.left+e.width/2,r=e.top+e.height/2,i=t.left+t.width/2,a=t.top+t.height/2,o=i-n,s=a-r;return Math.abs(o)>Math.abs(s)?o>0?`right`:`left`:s>0?`bottom`:`top`}function Nr(e,t,n){switch(n){case`top`:return[{x:Math.min(e.left,t.left)-2,y:e.top},{x:Math.min(e.left,t.left)-2,y:t.bottom},{x:Math.max(e.right,t.right)+2,y:t.bottom},{x:Math.max(e.right,t.right)+2,y:e.top}];case`bottom`:return[{x:Math.min(e.left,t.left)-2,y:e.bottom},{x:Math.min(e.left,t.left)-2,y:t.top},{x:Math.max(e.right,t.right)+2,y:t.top},{x:Math.max(e.right,t.right)+2,y:e.bottom}];case`left`:return[{x:e.left,y:Math.min(e.top,t.top)-2},{x:t.right,y:Math.min(e.top,t.top)-2},{x:t.right,y:Math.max(e.bottom,t.bottom)+2},{x:e.left,y:Math.max(e.bottom,t.bottom)+2}];case`right`:return[{x:e.right,y:Math.min(e.top,t.top)-2},{x:t.left,y:Math.min(e.top,t.top)-2},{x:t.left,y:Math.max(e.bottom,t.bottom)+2},{x:e.right,y:Math.max(e.bottom,t.bottom)+2}]}}function Pr(e,t,n,r,i){let a=r===`trigger`?Fr(n):n,o=i?Math.min(t.top,i.top)-8:t.top-8,s=i?Math.max(t.bottom,i.bottom)+8:t.bottom+8,c=i?Math.min(t.left,i.left)-8:t.left-8,l=i?Math.max(t.right,i.right)+8:t.right+8;switch(a){case`right`:return[e,{x:t.left,y:o},{x:t.left,y:s}];case`left`:return[e,{x:t.right,y:o},{x:t.right,y:s}];case`bottom`:return[e,{x:c,y:t.top},{x:l,y:t.top}];case`top`:return[e,{x:c,y:t.bottom},{x:l,y:t.bottom}]}}function Fr(e){switch(e){case`top`:return`bottom`;case`bottom`:return`top`;case`left`:return`right`;case`right`:return`left`}}var Ir=class e{static create(t){let n=new e(t);return br.set(n)}opts;isUsingKeyboard=new jn;#e=D(!1);get ignoreCloseAutoFocus(){return _(this.#e)}set ignoreCloseAutoFocus(e){C(this.#e,e,!0)}#t=D(!1);get isPointerInTransit(){return _(this.#t)}set isPointerInTransit(e){C(this.#t,e,!0)}constructor(e){this.opts=e}getBitsAttr=e=>Dr.getAttr(e,this.opts.variant.current)},Lr=class e{static create(t,n){return xr.set(new e(t,n,null))}opts;root;parentMenu;contentId=L(()=>``);#e=D(null);get contentNode(){return _(this.#e)}set contentNode(e){C(this.#e,e,!0)}contentPresence;#t=D(null);get triggerNode(){return _(this.#t)}set triggerNode(e){C(this.#t,e,!0)}constructor(e,t,n){this.opts=e,this.root=t,this.parentMenu=n,this.contentPresence=new Qt({ref:L(()=>this.contentNode),open:this.opts.open,onComplete:()=>{this.opts.onOpenChangeComplete.current(this.opts.open.current)},shouldSkipExitAnimation:()=>this.root.opts.variant.current!==`menubar`||this.parentMenu!==null?!1:this.root.opts.shouldSkipExitAnimation?.()??!1}),n&&U(()=>n.opts.open.current,()=>{n.opts.open.current||(this.opts.open.current=!1)})}toggleOpen(){this.opts.open.current=!this.opts.open.current}onOpen(){this.opts.open.current=!0}onClose(){this.opts.open.current=!1}},Rr=class e{static create(t){return Sr.set(new e(t,xr.get()))}opts;parentMenu;rovingFocusGroup;domContext;attachment;#e=D(``);get search(){return _(this.#e)}set search(e){C(this.#e,e,!0)}#t=0;#n;#r=D(!1);get mounted(){return _(this.#r)}set mounted(e){C(this.#r,e,!0)}#i;constructor(e,t){this.opts=e,this.parentMenu=t,this.domContext=new Ct(e.ref),this.attachment=K(this.opts.ref,e=>{this.parentMenu.contentNode!==e&&(this.parentMenu.contentNode=e)}),t.contentId=e.id,this.#i=e.isSub??!1,this.onkeydown=this.onkeydown.bind(this),this.onblur=this.onblur.bind(this),this.onfocus=this.onfocus.bind(this),this.handleInteractOutside=this.handleInteractOutside.bind(this),new Or({contentNode:()=>this.parentMenu.contentNode,triggerNode:()=>this.parentMenu.triggerNode,parentContentNode:()=>this.parentMenu.parentMenu?.contentNode??null,subContentSelector:()=>`[${this.parentMenu.root.getBitsAttr(`sub-content`)}]`,enabled:()=>this.parentMenu.opts.open.current&&!!this.parentMenu.triggerNode?.hasAttribute(this.parentMenu.root.getBitsAttr(`sub-trigger`)),onIntentExit:e=>{this.parentMenu.opts.open.current=!1,this.#s(e)},setIsPointerInTransit:e=>{this.parentMenu.root.isPointerInTransit=e}}),this.#n=new _r({getActiveElement:()=>this.domContext.getActiveElement(),getWindow:()=>this.domContext.getWindow()}).handleTypeaheadSearch,this.rovingFocusGroup=new Xt({rootNode:L(()=>this.parentMenu.contentNode),candidateAttr:this.parentMenu.root.getBitsAttr(`item`),loop:this.opts.loop,orientation:L(()=>`vertical`)}),U(()=>this.parentMenu.contentNode,e=>e?Er.listen(e,()=>{G(()=>{this.parentMenu.root.isUsingKeyboard.current&&this.rovingFocusGroup.focusFirstCandidate()})}):void 0),j(()=>{this.parentMenu.opts.open.current||this.domContext.getWindow().clearTimeout(this.#t)})}#a(){let e=this.parentMenu.contentNode;return e?Array.from(e.querySelectorAll(`[${this.parentMenu.root.getBitsAttr(`item`)}]:not([data-disabled])`)):[]}#o(){return this.parentMenu.root.isPointerInTransit}#s(e){if(!e)return;let t=this.parentMenu.parentMenu?.contentNode;if(!t)return;let n=this.domContext.getDocument().elementFromPoint(e.x,e.y);if(!Kt(n))return;let r=n.closest(`[${this.parentMenu.root.getBitsAttr(`sub-trigger`)}]`);r&&t.contains(r)&&r!==this.parentMenu.triggerNode&&r.dispatchEvent(new PointerEvent(`pointermove`,{bubbles:!0,cancelable:!0,pointerType:`mouse`,clientX:e.x,clientY:e.y}))}onCloseAutoFocus=e=>{if(this.opts.onCloseAutoFocus.current?.(e),!(e.defaultPrevented||this.#i)){if(this.parentMenu.root.ignoreCloseAutoFocus){e.preventDefault();return}this.parentMenu.triggerNode&&sr(this.parentMenu.triggerNode)&&(e.preventDefault(),this.parentMenu.triggerNode.focus())}};handleTabKeyDown(e){let t=this.parentMenu;for(;t.parentMenu!==null;)t=t.parentMenu;if(!t.triggerNode)return;e.preventDefault();let n=dr(t.triggerNode,e.shiftKey?`prev`:`next`);n?(this.parentMenu.root.ignoreCloseAutoFocus=!0,t.onClose(),G(()=>{n.focus(),G(()=>{this.parentMenu.root.ignoreCloseAutoFocus=!1})})):this.domContext.getDocument().body.focus()}onkeydown(e){if(e.defaultPrevented)return;if(e.key===`Tab`){this.handleTabKeyDown(e);return}let t=e.target,n=e.currentTarget;if(!J(t)||!J(n))return;let r=t.closest(`[${this.parentMenu.root.getBitsAttr(`content`)}]`)?.id===this.parentMenu.contentId.current,i=e.ctrlKey||e.altKey||e.metaKey,a=e.key.length===1;if(this.rovingFocusGroup.handleKeydown(t,e)||e.code===`Space`)return;let o=this.#a();r&&!i&&a&&this.#n(e.key,o),e.target?.id===this.parentMenu.contentId.current&&Dn.includes(e.key)&&(e.preventDefault(),En.includes(e.key)&&o.reverse(),kn(o,{select:!1},()=>this.domContext.getActiveElement()))}onblur(e){Kt(e.currentTarget)&&Kt(e.target)&&(e.currentTarget.contains?.(e.target)||(this.domContext.getWindow().clearTimeout(this.#t),this.search=``))}onfocus(e){this.parentMenu.root.isUsingKeyboard.current&&G(()=>this.rovingFocusGroup.focusFirstCandidate())}onItemEnter(){return this.#o()}onItemLeave(e){e.currentTarget.hasAttribute(this.parentMenu.root.getBitsAttr(`sub-trigger`))||this.#o()||this.parentMenu.root.isUsingKeyboard.current||(this.parentMenu.contentNode?.focus({preventScroll:!0}),this.rovingFocusGroup.setCurrentTabStopId(``))}onTriggerLeave(){return!!this.#o()}handleInteractOutside(e){if(!qt(e.target))return;let t=this.parentMenu.triggerNode?.id;if(e.target.id===t){e.preventDefault();return}if(e.target.closest(`#${t}`)){e.preventDefault();return}this.parentMenu.root.ignoreCloseAutoFocus=!0,G(()=>{this.parentMenu.root.ignoreCloseAutoFocus=!1})}get shouldRender(){return this.parentMenu.contentPresence.shouldRender}#c=w(()=>({open:this.parentMenu.opts.open.current}));get snippetProps(){return _(this.#c)}set snippetProps(e){C(this.#c,e)}#l=w(()=>({id:this.opts.id.current,role:`menu`,"aria-orientation":`vertical`,[this.parentMenu.root.getBitsAttr(`content`)]:``,"data-state":Tt(this.parentMenu.opts.open.current),...Et(this.parentMenu.contentPresence.transitionStatus),onkeydown:this.onkeydown,onblur:this.onblur,onfocus:this.onfocus,dir:this.parentMenu.root.opts.dir.current,style:{pointerEvents:`auto`,contain:`layout style`},...this.attachment}));get props(){return _(this.#l)}set props(e){C(this.#l,e)}popperProps={onCloseAutoFocus:e=>this.onCloseAutoFocus(e)}},zr=class{opts;content;attachment;#e=D(!1);constructor(e,t){this.opts=e,this.content=t,this.attachment=K(this.opts.ref),this.onpointermove=this.onpointermove.bind(this),this.onpointerleave=this.onpointerleave.bind(this),this.onfocus=this.onfocus.bind(this),this.onblur=this.onblur.bind(this)}onpointermove(e){if(!e.defaultPrevented&&Q(e)){if(this.opts.disabled.current)this.content.onItemLeave(e);else{if(this.content.onItemEnter())return;let t=e.currentTarget;if(!J(t))return;t.focus({preventScroll:!0})}}}onpointerleave(e){e.defaultPrevented||Q(e)&&this.content.onItemLeave(e)}onfocus(e){G(()=>{e.defaultPrevented||this.opts.disabled.current||C(this.#e,!0)})}onblur(e){G(()=>{e.defaultPrevented||C(this.#e,!1)})}#t=w(()=>({id:this.opts.id.current,tabindex:-1,role:`menuitem`,"aria-disabled":wt(this.opts.disabled.current),"data-disabled":q(this.opts.disabled.current),"data-highlighted":_(this.#e)?``:void 0,[this.content.parentMenu.root.getBitsAttr(`item`)]:``,onpointermove:this.onpointermove,onpointerleave:this.onpointerleave,onfocus:this.onfocus,onblur:this.onblur,...this.attachment}));get props(){return _(this.#t)}set props(e){C(this.#t,e)}},Br=class e{static create(t){let n=new zr(t,Sr.get());return new e(t,n)}opts;item;root;#e=!1;constructor(e,t){this.opts=e,this.item=t,this.root=t.content.parentMenu.root,this.onkeydown=this.onkeydown.bind(this),this.onclick=this.onclick.bind(this),this.onpointerdown=this.onpointerdown.bind(this),this.onpointerup=this.onpointerup.bind(this)}#t(){if(this.item.opts.disabled.current)return;let e=new CustomEvent(`menuitemselect`,{bubbles:!0,cancelable:!0});if(this.opts.onSelect.current(e),e.defaultPrevented){this.item.content.parentMenu.root.isUsingKeyboard.current=!1;return}this.opts.closeOnSelect.current&&this.item.content.parentMenu.root.opts.onClose()}onkeydown(e){let t=this.item.content.search!==``;if(!(this.item.opts.disabled.current||t&&e.key===` `)&&wn.includes(e.key)){if(!J(e.currentTarget))return;e.currentTarget.click(),e.preventDefault()}}onclick(e){this.item.opts.disabled.current||this.#t()}onpointerup(e){if(!e.defaultPrevented&&!this.#e){if(!J(e.currentTarget))return;e.currentTarget?.click()}}onpointerdown(e){this.#e=!0}#n=w(()=>V(this.item.props,{onclick:this.onclick,onpointerdown:this.onpointerdown,onpointerup:this.onpointerup,onkeydown:this.onkeydown}));get props(){return _(this.#n)}set props(e){C(this.#n,e)}},Vr=class e{static create(t){return Cr.set(new e(t,br.get()))}opts;root;attachment;#e=D(void 0);get groupHeadingId(){return _(this.#e)}set groupHeadingId(e){C(this.#e,e,!0)}constructor(e,t){this.opts=e,this.root=t,this.attachment=K(this.opts.ref)}#t=w(()=>({id:this.opts.id.current,role:`group`,"aria-labelledby":this.groupHeadingId,[this.root.getBitsAttr(`group`)]:``,...this.attachment}));get props(){return _(this.#t)}set props(e){C(this.#t,e)}},Hr=class e{static create(t){let n=Tr.getOr(null);if(n)return new e(t,n);let r=wr.getOr(null);return r?new e(t,r):new e(t,Cr.get())}opts;group;attachment;constructor(e,t){this.opts=e,this.group=t,this.attachment=K(this.opts.ref,e=>this.group.groupHeadingId=e?.id)}#e=w(()=>({id:this.opts.id.current,role:`group`,[this.group.root.getBitsAttr(`group-heading`)]:``,...this.attachment}));get props(){return _(this.#e)}set props(e){C(this.#e,e)}},Ur=class e{static create(t){return new e(t,br.get())}opts;root;attachment;constructor(e,t){this.opts=e,this.root=t,this.attachment=K(this.opts.ref)}#e=w(()=>({id:this.opts.id.current,role:`group`,[this.root.getBitsAttr(`separator`)]:``,...this.attachment}));get props(){return _(this.#e)}set props(e){C(this.#e,e)}},Wr=class e{static create(t){return new e(t,xr.get())}opts;parentMenu;attachment;constructor(e,t){this.opts=e,this.parentMenu=t,this.attachment=K(this.opts.ref,e=>this.parentMenu.triggerNode=e)}onclick=e=>{this.opts.disabled.current||e.detail!==0||(this.parentMenu.toggleOpen(),e.preventDefault())};onpointerdown=e=>{if(!this.opts.disabled.current){if(e.pointerType===`touch`)return e.preventDefault();e.button===0&&e.ctrlKey===!1&&(this.parentMenu.toggleOpen(),this.parentMenu.opts.open.current||e.preventDefault())}};onpointerup=e=>{this.opts.disabled.current||e.pointerType===`touch`&&(e.preventDefault(),this.parentMenu.toggleOpen())};onkeydown=e=>{if(!this.opts.disabled.current){if(e.key===` `||e.key===`Enter`){this.parentMenu.toggleOpen(),e.preventDefault();return}e.key===`ArrowDown`&&(this.parentMenu.onOpen(),e.preventDefault())}};#e=w(()=>{if(this.parentMenu.opts.open.current&&this.parentMenu.contentId.current)return this.parentMenu.contentId.current});#t=w(()=>({id:this.opts.id.current,disabled:this.opts.disabled.current,"aria-haspopup":`menu`,"aria-expanded":wt(this.parentMenu.opts.open.current),"aria-controls":_(this.#e),"data-disabled":q(this.opts.disabled.current),"data-state":Tt(this.parentMenu.opts.open.current),[this.parentMenu.root.getBitsAttr(`trigger`)]:``,onclick:this.onclick,onpointerdown:this.onpointerdown,onpointerup:this.onpointerup,onkeydown:this.onkeydown,...this.attachment}));get props(){return _(this.#t)}set props(e){C(this.#t,e)}};globalThis.bitsDismissableLayers??=new Map;var Gr=class e{static create(t){return new e(t)}opts;#e;#t;#n={pointerdown:!1};#r=!1;#i=!1;#a=void 0;#o;#s=Y;constructor(e){this.opts=e,this.#t=e.interactOutsideBehavior,this.#e=e.onInteractOutside,this.#o=e.onFocusOutside,j(()=>{this.#a=xn(this.opts.ref.current)});let t=Y,n=null,r=!1,i=()=>{n!=null&&(clearTimeout(n),n=null)},a=()=>{i(),this.#g(),globalThis.bitsDismissableLayers.delete(this),this.#d.destroy(),t()};U([()=>this.opts.enabled.current,()=>this.opts.ref.current],()=>{if(this.opts.enabled.current&&this.opts.ref.current)return i(),n=ut(1,()=>{n=null,!r&&this.opts.ref.current&&(globalThis.bitsDismissableLayers.set(this,this.#t),t(),t=this.#l())}),a}),W(()=>{r=!0,i(),this.#g.destroy(),globalThis.bitsDismissableLayers.delete(this),this.#d.destroy(),this.#s(),t()})}#c=e=>{e.defaultPrevented||this.opts.ref.current&&G(()=>{this.opts.ref.current&&!this.#h(e.target)&&e.target&&!this.#i&&this.#o.current?.(e)})};#l(){return B(A(this.#a,`pointerdown`,B(this.#f,this.#m),{capture:!0}),A(this.#a,`pointerdown`,B(this.#p,this.#d)),A(this.#a,`focusin`,this.#c))}#u=e=>{let t=e;t.defaultPrevented&&(t=Yr(e)),this.#e.current(e)};#d=yn(e=>{if(!this.opts.ref.current){this.#s();return}let t=this.opts.isValidEvent.current(e,this.opts.ref.current)||Jr(e,this.opts.ref.current);if(!this.#r||this.#_()||!t){this.#s();return}let n=e;if(n.defaultPrevented&&(n=Yr(n)),this.#t.current!==`close`&&this.#t.current!==`defer-otherwise-close`){this.#s();return}e.pointerType===`touch`?(this.#s(),this.#s=A(this.#a,`click`,this.#u,{once:!0})):this.#e.current(n)},10);#f=e=>{this.#n[e.type]=!0};#p=e=>{this.#n[e.type]=!1};#m=()=>{this.opts.ref.current&&(this.#r=qr(this.opts.ref.current))};#h=e=>this.opts.ref.current?bn(this.opts.ref.current,e):!1;#g=yn(()=>{for(let e in this.#n)this.#n[e]=!1;this.#r=!1},20);#_(){return Object.values(this.#n).some(Boolean)}#v=()=>{this.#i=!0};#y=()=>{this.#i=!1};props={onfocuscapture:this.#v,onblurcapture:this.#y}};function Kr(e=[...globalThis.bitsDismissableLayers]){return e.findLast(([e,{current:t}])=>t===`close`||t===`ignore`)}function qr(e){let t=[...globalThis.bitsDismissableLayers],n=Kr(t);if(n)return n[0].opts.ref.current===e;let[r]=t[0];return r.opts.ref.current===e}function Jr(e,t){let n=e.target;if(!qt(n))return!1;let r=!!n.closest(`[${vr}]`),i=!!t.closest(`[${yr}]`);return`button`in e&&e.button>0&&!r?!1:`button`in e&&e.button===0&&r&&i?!0:r&&i?!1:xn(n).documentElement.contains(n)&&!bn(t,n)&&Cn(e,t)}function Yr(e){let t=e.currentTarget,n=e.target,r;r=e instanceof PointerEvent?new PointerEvent(e.type,e):new PointerEvent(`pointerdown`,e);let i=!1;return new Proxy(r,{get:(r,a)=>a===`currentTarget`?t:a===`target`?n:a===`preventDefault`?()=>{i=!0,typeof r.preventDefault==`function`&&r.preventDefault()}:a===`defaultPrevented`?i:a in r?r[a]:e[a]})}function Xr(e,t){i(t,!0);let n=y(t,`interactOutsideBehavior`,3,`close`),r=y(t,`onInteractOutside`,3,Y),a=y(t,`onFocusOutside`,3,Y),o=y(t,`isValidEvent`,3,()=>!1),s=Gr.create({id:L(()=>t.id),interactOutsideBehavior:L(()=>n()),onInteractOutside:L(()=>r()),enabled:L(()=>t.enabled),onFocusOutside:L(()=>a()),isValidEvent:L(()=>o()),ref:t.ref});var c=P(),l=N(c);d(l,()=>t.children??E,()=>({props:s.props})),m(e,c),h()}globalThis.bitsEscapeLayers??=new Map;var Zr=class e{static create(t){return new e(t)}opts;domContext;constructor(e){this.opts=e,this.domContext=new Ct(this.opts.ref);let t=Y;U(()=>e.enabled.current,n=>(n&&(globalThis.bitsEscapeLayers.set(this,e.escapeKeydownBehavior),t=this.#e()),()=>{t(),globalThis.bitsEscapeLayers.delete(this)}))}#e=()=>A(this.domContext.getDocument(),`keydown`,this.#t,{passive:!1});#t=e=>{if(e.key!==`Escape`||!Qr(this))return;let t=new KeyboardEvent(e.type,e);e.preventDefault();let n=this.opts.escapeKeydownBehavior.current;(n===`close`||n===`defer-otherwise-close`)&&this.opts.onEscapeKeydown.current(t)}};function Qr(e){let t=[...globalThis.bitsEscapeLayers],n=t.findLast(([e,{current:t}])=>t===`close`||t===`ignore`);if(n)return n[0]===e;let[r]=t[0];return r===e}function $r(e,t){i(t,!0);let n=y(t,`escapeKeydownBehavior`,3,`close`),r=y(t,`onEscapeKeydown`,3,Y);Zr.create({escapeKeydownBehavior:L(()=>n()),onEscapeKeydown:L(()=>r()),enabled:L(()=>t.enabled),ref:t.ref});var a=P(),o=N(a);d(o,()=>t.children??E),m(e,a),h()}var ei=class e{static instance;#e=Se([]);#t=new WeakMap;#n=new WeakMap;static getInstance(){return this.instance||=new e,this.instance}register(e){let t=this.getActive();t&&t!==e&&t.pause();let n=document.activeElement;n&&n!==document.body&&this.#n.set(e,n),this.#e.current=this.#e.current.filter(t=>t!==e),this.#e.current.unshift(e)}unregister(e){this.#e.current=this.#e.current.filter(t=>t!==e);let t=this.getActive();t&&t.resume()}getActive(){return this.#e.current[0]}setFocusMemory(e,t){this.#t.set(e,t)}getFocusMemory(e){return this.#t.get(e)}isActiveScope(e){return this.getActive()===e}setPreFocusMemory(e,t){this.#n.set(e,t)}getPreFocusMemory(e){return this.#n.get(e)}clearPreFocusMemory(e){this.#n.delete(e)}},ti=class e{#e=!1;#t=null;#n=ei.getInstance();#r=[];#i;constructor(e){this.#i=e}get paused(){return this.#e}pause(){this.#e=!0}resume(){this.#e=!1}#a(){for(let e of this.#r)e();this.#r=[]}mount(e){this.#t&&this.unmount(),this.#t=e,this.#n.register(this),this.#c(),this.#o()}unmount(){this.#t&&=(this.#a(),this.#s(),this.#n.unregister(this),this.#n.clearPreFocusMemory(this),null)}#o(){if(!this.#t)return;let e=new CustomEvent(`focusScope.onOpenAutoFocus`,{bubbles:!1,cancelable:!0});this.#i.onOpenAutoFocus.current(e),e.defaultPrevented||requestAnimationFrame(()=>{if(!this.#t)return;let e=this.#u();e?(e.focus(),this.#n.setFocusMemory(this,e)):this.#t.focus()})}#s(){let e=new CustomEvent(`focusScope.onCloseAutoFocus`,{bubbles:!1,cancelable:!0});if(this.#i.onCloseAutoFocus.current?.(e),!e.defaultPrevented){let e=this.#n.getPreFocusMemory(this);if(e&&document.contains(e))try{e.focus()}catch{document.body.focus()}}}#c(){if(!this.#t||!this.#i.trap.current)return;let e=this.#t,t=e.ownerDocument;this.#r.push(A(t,`focusin`,t=>{if(this.#e||!this.#n.isActiveScope(this))return;let n=t.target;if(n){if(e.contains(n))this.#n.setFocusMemory(this,n);else{let n=this.#n.getFocusMemory(this);if(n&&e.contains(n)&&lr(n))t.preventDefault(),n.focus();else{let t=this.#u(),n=this.#d()[0];(t||n||e).focus()}}}},{capture:!0}),A(e,`keydown`,e=>{if(!this.#i.loop||this.#e||e.key!==`Tab`||!this.#n.isActiveScope(this))return;let n=this.#l();if(n.length===0)return;let r=n[0],i=n[n.length-1];!e.shiftKey&&t.activeElement===i?(e.preventDefault(),r.focus()):e.shiftKey&&t.activeElement===r&&(e.preventDefault(),i.focus())}));let n=new MutationObserver(()=>{let t=this.#n.getFocusMemory(this);if(t&&!e.contains(t)){let t=this.#u(),n=this.#d()[0],r=t||n;r?(r.focus(),this.#n.setFocusMemory(this,r)):e.focus()}});n.observe(e,{childList:!0,subtree:!0}),this.#r.push(()=>n.disconnect())}#l(){return this.#t?ar(this.#t,{includeContainer:!1,getShadowRoot:!0}):[]}#u(){return this.#l()[0]||null}#d(){return this.#t?or(this.#t,{includeContainer:!1,getShadowRoot:!0}):[]}static use(t){let n=null;return U([()=>t.ref.current,()=>t.enabled.current],([r,i])=>{r&&i?(n||=new e(t),n.mount(r)):n&&=(n.unmount(),null)}),W(()=>{n?.unmount()}),{get props(){return{tabindex:-1}}}}};function ni(e,t){i(t,!0);let n=y(t,`enabled`,3,!1),r=y(t,`trapFocus`,3,!1),a=y(t,`loop`,3,!1),o=y(t,`onCloseAutoFocus`,3,Y),s=y(t,`onOpenAutoFocus`,3,Y),c=ti.use({enabled:L(()=>n()),trap:L(()=>r()),loop:a(),onCloseAutoFocus:L(()=>o()),onOpenAutoFocus:L(()=>s()),ref:t.ref});var l=P(),u=N(l);d(u,()=>t.focusScope??E,()=>({props:c.props})),m(e,l),h()}var ri=()=>{};globalThis.bitsTextSelectionLayers??=new Map;var ii=class e{static create(t){return new e(t)}opts;domContext;#e=Y;#t=!1;#n=ri;#r=ri;constructor(e){this.opts=e,this.domContext=new Ct(e.ref);let t=Y;U(()=>[this.opts.enabled.current,this.opts.onPointerDown.current,this.opts.onPointerUp.current],([e,n,r])=>(this.#t=e,this.#n=n,this.#r=r,e&&(globalThis.bitsTextSelectionLayers.set(this,this.opts.enabled),t(),t=this.#i()),()=>{this.#t=!1,t(),this.#s(),globalThis.bitsTextSelectionLayers.delete(this)}))}#i(){return B(A(this.domContext.getDocument(),`pointerdown`,this.#o),A(this.domContext.getDocument(),`pointerup`,Ce(this.#s,this.#a)))}#a=e=>{this.#r(e)};#o=e=>{if(!this.#t)return;let t=this.opts.ref.current,n=e.target;J(t)&&J(n)&&ci(this)&&yt(t,n)&&(this.#n(e),!e.defaultPrevented&&(this.#e=oi(t,this.domContext.getDocument().body)))};#s=()=>{this.#e(),this.#e=Y}},ai=e=>e.style.userSelect||e.style.webkitUserSelect;function oi(e,t){let n=ai(t),r=ai(e);return si(t,`none`),si(e,`text`),()=>{si(t,n),si(e,r)}}function si(e,t){e.style.userSelect=t,e.style.webkitUserSelect=t}function ci(e){let t=[...globalThis.bitsTextSelectionLayers];if(!t.length)return!1;let n=t.at(-1);return n?n[0]===e:!1}function li(e,t){i(t,!0);let n=y(t,`preventOverflowTextSelection`,3,!0),r=y(t,`onPointerDown`,3,Y),a=y(t,`onPointerUp`,3,Y);ii.create({id:L(()=>t.id),onPointerDown:L(()=>r()),onPointerUp:L(()=>a()),enabled:L(()=>t.enabled&&n()),ref:t.ref});var o=P(),s=N(o);d(s,()=>t.children??E),m(e,o),h()}globalThis.bitsIdCounter??={current:0};function ui(e=`bits`){return globalThis.bitsIdCounter.current++,`${e}-${globalThis.bitsIdCounter.current}`}var di=class{#e;#t=0;#n=D();#r;constructor(e){this.#e=e}#i(){--this.#t,this.#r&&this.#t<=0&&(this.#r(),C(this.#n,void 0),this.#r=void 0)}get(...e){return this.#t+=1,_(this.#n)===void 0&&(this.#r=ae(()=>{C(this.#n,this.#e(...e),!0)})),j(()=>()=>{this.#i()}),_(this.#n)}},fi=new rt,pi=D(null),mi=null,hi=null,gi=!1,_i=L(()=>{for(let e of fi.values())if(e)return!0;return!1}),vi=null,yi=new di(()=>{function e(){document.body.setAttribute(`style`,_(pi)??``),document.body.style.removeProperty(`--scrollbar-width`),Wt&&mi?.(),C(pi,null)}function t(){hi!==null&&(window.clearTimeout(hi),hi=null)}function n(e,n){t(),gi=!0,vi=Date.now();let r=vi,i=()=>{hi=null,vi===r&&(xi(fi)?gi=!1:(gi=!1,n()))},a=e===null?24:e;hi=window.setTimeout(i,a)}function r(){_(pi)===null&&fi.size===0&&!gi&&C(pi,document.body.getAttribute(`style`),!0)}return U(()=>_i.current,()=>{if(!_i.current)return;r(),gi=!1;let e=getComputedStyle(document.documentElement),t=getComputedStyle(document.body),n=e.scrollbarGutter?.includes(`stable`)||t.scrollbarGutter?.includes(`stable`),i=window.innerWidth-document.documentElement.clientWidth,a={padding:Number.parseInt(t.paddingRight??`0`,10)+i,margin:Number.parseInt(t.marginRight??`0`,10)};i>0&&!n&&(document.body.style.paddingRight=`${a.padding}px`,document.body.style.marginRight=`${a.margin}px`,document.body.style.setProperty(`--scrollbar-width`,`${i}px`)),document.body.style.overflow=`hidden`,Wt&&(mi=A(document,`touchmove`,e=>{e.target===document.documentElement&&(e.touches.length>1||e.preventDefault())},{passive:!1})),G(()=>{document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`})}),W(()=>()=>{mi?.()}),{get lockMap(){return fi},resetBodyStyle:e,scheduleCleanupIfNoNewLocks:n,cancelPendingCleanup:t,ensureInitialStyleCaptured:r}}),bi=class{#e=ui();#t;#n=()=>null;#r;locked;constructor(e,t=()=>null){this.#t=e,this.#n=t,this.#r=yi.get(),this.#r&&(this.#r.cancelPendingCleanup(),this.#r.ensureInitialStyleCaptured(),this.#r.lockMap.set(this.#e,this.#t??!1),this.locked=L(()=>this.#r.lockMap.get(this.#e)??!1,e=>this.#r.lockMap.set(this.#e,e)),W(()=>{if(this.#r.lockMap.delete(this.#e),xi(this.#r.lockMap))return;let e=this.#n();this.#r.scheduleCleanupIfNoNewLocks(e,()=>{this.#r.resetBodyStyle()})}))}};function xi(e){for(let[t,n]of e)if(n)return!0;return!1}function Si(e,t){i(t,!0);let n=y(t,`preventScroll`,3,!0),r=y(t,`restoreScrollDelay`,3,null);n()&&new bi(n(),()=>r()),h()}var Ci=new Set([`$$slots`,`$$events`,`$$legacy`,`id`,`forceMount`,`child`,`children`,`ref`]),wi=n(`<div><!></div>`);function Ti(e,n){let r=o();i(n,!0);let a=y(n,`id`,19,()=>X(r)),s=y(n,`forceMount`,3,!1),c=y(n,`ref`,15,null),l=O(n,Ci),f=on.create({id:L(()=>a()),ref:L(()=>c(),e=>c(e))}),p=w(()=>V(l,f.props));var g=P(),v=N(g),b=e=>{var r=P(),i=N(r),a=e=>{var t=P(),r=N(t);{let e=w(()=>({props:V(_(p)),...f.snippetProps}));d(r,()=>n.child,()=>_(e))}m(e,t)},o=e=>{var r=wi();S(r,e=>({...e}),[()=>V(_(p))]);var i=k(r);d(i,()=>n.children??E,()=>f.snippetProps),t(r),m(e,r)};u(i,e=>{n.child?e(a):e(o,-1)}),m(e,r)};u(v,e=>{(f.shouldRender||s())&&e(b)}),m(e,g),h()}var Ei=new Set([`$$slots`,`$$events`,`$$legacy`,`id`,`children`,`child`,`ref`]),Di=n(`<div><!></div>`);function Oi(e,n){let r=o();i(n,!0);let a=y(n,`id`,19,()=>X(r)),s=y(n,`ref`,15,null),c=O(n,Ei),l=rn.create({id:L(()=>a()),ref:L(()=>s(),e=>s(e))}),f=w(()=>V(c,l.props));var p=P(),g=N(p),v=e=>{var t=P(),r=N(t);d(r,()=>n.child,()=>({props:_(f)})),m(e,t)},b=e=>{var r=Di();S(r,()=>({..._(f)}));var i=k(r);d(i,()=>n.children??E),t(r),m(e,r)};u(g,e=>{n.child?e(v):e(b,-1)}),m(e,p),h()}function ki(e,t){i(t,!0);let n=y(t,`open`,15,!1),r=y(t,`onOpenChange`,3,Y),a=y(t,`onOpenChangeComplete`,3,Y);en.create({variant:L(()=>`dialog`),open:L(()=>n(),e=>{n(e),r()(e)}),onOpenChangeComplete:L(()=>a())});var o=P(),s=N(o);d(s,()=>t.children??E),m(e,o),h()}var Ai=new Set([`$$slots`,`$$events`,`$$legacy`,`children`,`child`,`id`,`ref`,`disabled`]),ji=n(`<button><!></button>`);function Mi(e,n){let r=o();i(n,!0);let a=y(n,`id`,19,()=>X(r)),s=y(n,`ref`,15,null),c=y(n,`disabled`,3,!1),l=O(n,Ai),f=tn.create({variant:L(()=>`close`),id:L(()=>a()),ref:L(()=>s(),e=>s(e)),disabled:L(()=>!!c())}),p=w(()=>V(l,f.props));var g=P(),v=N(g),b=e=>{var t=P(),r=N(t);d(r,()=>n.child,()=>({props:_(p)})),m(e,t)},x=e=>{var r=ji();S(r,()=>({..._(p)}));var i=k(r);d(i,()=>n.children??E),t(r),m(e,r)};u(v,e=>{n.child?e(b):e(x,-1)}),m(e,g),h()}var Ni=new Set([`$$slots`,`$$events`,`$$legacy`,`id`,`children`,`child`,`ref`,`forceMount`,`onCloseAutoFocus`,`onOpenAutoFocus`,`onEscapeKeydown`,`onInteractOutside`,`trapFocus`,`preventScroll`,`restoreScrollDelay`]),Pi=n(`<!> <!>`,1),Fi=n(`<!> <div><!></div>`,1);function Ii(e,n){let r=o();i(n,!0);let a=y(n,`id`,19,()=>X(r)),s=y(n,`ref`,15,null),c=y(n,`forceMount`,3,!1),l=y(n,`onCloseAutoFocus`,3,Y),f=y(n,`onOpenAutoFocus`,3,Y),p=y(n,`onEscapeKeydown`,3,Y),g=y(n,`onInteractOutside`,3,Y),v=y(n,`trapFocus`,3,!0),b=y(n,`preventScroll`,3,!0),x=y(n,`restoreScrollDelay`,3,null),ee=O(n,Ni),C=an.create({id:L(()=>a()),ref:L(()=>s(),e=>s(e))}),T=w(()=>V(ee,C.props));var te=P(),ne=N(te),D=e=>{ni(e,{get ref(){return C.opts.ref},loop:!0,get trapFocus(){return v()},get enabled(){return C.root.opts.open.current},get onOpenAutoFocus(){return f()},get onCloseAutoFocus(){return l()},focusScope:(e,r)=>{let i=()=>(r?.()).props;$r(e,M(()=>_(T),{get enabled(){return C.root.opts.open.current},get ref(){return C.opts.ref},onEscapeKeydown:e=>{p()(e),!e.defaultPrevented&&C.root.handleClose()},children:(e,r)=>{Xr(e,M(()=>_(T),{get ref(){return C.opts.ref},get enabled(){return C.root.opts.open.current},onInteractOutside:e=>{g()(e),!e.defaultPrevented&&C.root.handleClose()},children:(e,r)=>{li(e,M(()=>_(T),{get ref(){return C.opts.ref},get enabled(){return C.root.opts.open.current},children:(e,r)=>{var a=P(),o=N(a),s=e=>{var t=Pi(),r=N(t),a=e=>{Si(e,{get preventScroll(){return b()},get restoreScrollDelay(){return x()}})};u(r,e=>{C.root.opts.open.current&&e(a)});var o=re(r,2);{let e=w(()=>({props:V(_(T),i()),...C.snippetProps}));d(o,()=>n.child,()=>_(e))}m(e,t)},c=e=>{var r=Fi(),a=N(r);Si(a,{get preventScroll(){return b()}});var o=re(a,2);S(o,e=>({...e}),[()=>V(_(T),i())]);var s=k(o);d(s,()=>n.children??E),t(o),m(e,r)};u(o,e=>{n.child?e(s):e(c,-1)}),m(e,a)},$$slots:{default:!0}}))},$$slots:{default:!0}}))},$$slots:{default:!0}}))},$$slots:{focusScope:!0}})};u(ne,e=>{(C.shouldRender||c())&&e(D)}),m(e,te),h()}var Li=new Set([`$$slots`,`$$events`,`$$legacy`,`open`]);function Ri(e,t){i(t,!0);let n=y(t,`open`,15,!1),r=O(t,Li);var o=P(),s=N(o);a(s,()=>ki,(e,t)=>{t(e,M(()=>r,{get open(){return n()},set open(e){n(e)}}))}),m(e,o),h()}var zi=new Set([`$$slots`,`$$events`,`$$legacy`]);function Bi(e,t){let n=O(t,zi);var r=P(),i=N(r);a(i,()=>_n,(e,t)=>{t(e,M(()=>n))}),m(e,r)}var Vi=new Set([`$$slots`,`$$events`,`$$legacy`,`ref`,`class`]);function Hi(e,t){i(t,!0);let n=y(t,`ref`,15,null),r=O(t,Vi);var o=P(),s=N(o);{let e=w(()=>F(`text-sm font-medium`,t.class));a(s,()=>ln,(t,i)=>{i(t,M({"data-slot":`dialog-title`,get class(){return _(e)}},()=>r,{get ref(){return n()},set ref(e){n(e)}}))})}m(e,o),h()}var Ui=new Set([`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`children`,`showCloseButton`]),Wi=n(`<div><!> <!></div>`);function Gi(e,n){i(n,!0);let r=y(n,`ref`,15,null),o=y(n,`showCloseButton`,3,!1),s=O(n,Ui);var c=Wi();S(c,e=>({"data-slot":`dialog-footer`,class:e,...s}),[()=>F(`gap-2 flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,n.class)]);var l=k(c);d(l,()=>n.children??E);var f=re(l,2),p=e=>{var t=P(),n=N(t);{let e=(e,t)=>{ue(e,M({variant:`outline`},()=>(t?.()).props,{children:(e,t)=>{te();var n=g(`Close`);m(e,n)},$$slots:{default:!0}}))};a(n,()=>Mi,(t,n)=>{n(t,{child:e,$$slots:{child:!0}})})}m(e,t)};u(f,e=>{o()&&e(p)}),t(c),ne(c,e=>r(e),()=>r()),m(e,c),h()}var Ki=new Set([`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`children`]),qi=n(`<div><!></div>`);function Ji(e,n){i(n,!0);let r=y(n,`ref`,15,null),a=O(n,Ki);var o=qi();S(o,e=>({"data-slot":`dialog-header`,class:e,...a}),[()=>F(`gap-1 flex flex-col`,n.class)]);var s=k(o);d(s,()=>n.children??E),t(o),ne(o,e=>r(e),()=>r()),m(e,o),h()}var Yi=new Set([`$$slots`,`$$events`,`$$legacy`,`ref`,`class`]);function Xi(e,t){i(t,!0);let n=y(t,`ref`,15,null),r=O(t,Yi);var o=P(),s=N(o);{let e=w(()=>F(`data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 isolate z-50`,t.class));a(s,()=>Ti,(t,i)=>{i(t,M({"data-slot":`dialog-overlay`,get class(){return _(e)}},()=>r,{get ref(){return n()},set ref(e){n(e)}}))})}m(e,o),h()}var Zi=new Set([`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`portalProps`,`children`,`showCloseButton`]),Qi=n(`<!> <span class="sr-only">Close</span>`,1),$i=n(`<!> <!>`,1);function ea(e,t){i(t,!0);let n=y(t,`ref`,15,null),r=y(t,`showCloseButton`,3,!0),o=O(t,Zi);Bi(e,M(()=>t.portalProps,{children:(e,i)=>{var s=$i(),c=N(s);a(c,()=>Xi,(e,t)=>{t(e,{})});var l=re(c,2);{let e=w(()=>F(`bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 ring-foreground/10 grid max-w-[calc(100%-2rem)] gap-4 rounded-xl p-4 text-xs/relaxed ring-1 duration-100 sm:max-w-sm fixed top-1/2 left-1/2 z-50 w-full -translate-x-1/2 -translate-y-1/2 outline-none`,t.class));a(l,()=>Ii,(i,s)=>{s(i,M({"data-slot":`dialog-content`,get class(){return _(e)}},()=>o,{get ref(){return n()},set ref(e){n(e)},children:(e,n)=>{var i=$i(),o=N(i);d(o,()=>t.children??E);var s=re(o,2),c=e=>{var t=P(),n=N(t);{let e=(e,t)=>{ue(e,M({variant:`ghost`,class:`absolute top-2 right-2`,size:`icon-sm`},()=>(t?.()).props,{children:(e,t)=>{var n=Qi(),r=N(n);de(r,{}),te(2),m(e,n)},$$slots:{default:!0}}))};a(n,()=>Mi,(t,n)=>{n(t,{"data-slot":`dialog-close`,child:e,$$slots:{child:!0}})})}m(e,t)};u(s,e=>{r()&&e(c)}),m(e,i)},$$slots:{default:!0}}))})}m(e,s)},$$slots:{default:!0}})),h()}var ta=new Set([`$$slots`,`$$events`,`$$legacy`,`ref`,`class`]);function na(e,t){i(t,!0);let n=y(t,`ref`,15,null),r=O(t,ta);var o=P(),s=N(o);{let e=w(()=>F(`text-muted-foreground *:[a]:hover:text-foreground text-xs/relaxed *:[a]:underline *:[a]:underline-offset-3`,t.class));a(s,()=>Oi,(t,i)=>{i(t,M({"data-slot":`dialog-description`,get class(){return _(e)}},()=>r,{get ref(){return n()},set ref(e){n(e)}}))})}m(e,o),h()}export{Nt as A,lt as B,X as C,At as D,kt as E,K as F,Je as G,H,xt as I,Se as J,ye as K,G as L,q as M,wt as N,jt as O,Ot as P,ut as R,_n as S,Jt as T,V as U,U as V,Qe as W,Br as _,Hi as a,Ur as b,ui as c,$r as d,Xr as f,Vr as g,Hr as h,Gi as i,Pt as j,Mt as k,li as l,Rr as m,ea as n,Ri as o,Wr as p,L as q,Ji as r,Si as s,na as t,ni as u,Lr as v,Y as w,Sn as x,Ir as y,W as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$ as e,At as t,B as n,Ct as r,D as i,F as a,N as o,R as s,St as c,X as l,bt as u,ct as d,ft as f,gt as p,it as m,l as h,lt as g,mt as _,nt as v,ot as y,rt as b,st as ee,wt as x,xt as S,z as te}from"./CmCJ0SKP.js";import{t as C}from"./_g2_n9ND.js";import"./xihTtKlq.js";import{t as w}from"./C8EbtR4g.js";import"./D_Wlt2rL.js";import{D as T,S as E,T as D,w as O}from"./1vzbRbJ2.js";function k(e){return e.activities.find(e=>e.entry)??e.activities[0]}var A=class{entries=new Map;register(e){this.entries.set(e.id,e)}get(e){return this.entries.get(e)}list(){return[...this.entries.values()]}findByPath(e){for(let t of this.entries.values()){let n=t.absolutePattern.replace(/:[^/]+/g,`[^/]+`);try{if(RegExp(`^${n.replace(/\//g,`\\/`)}\\/?$`).test(e))return t}catch{}}}},j=class{apps=new Map;register(e){this.apps.set(e.id,e)}get(e){return this.apps.get(e)}list(){return[...this.apps.values()]}},M=new A,N=new j;function P(e){let t={id:e.id,pattern:e.pattern,params:e.params,search:e.search,component:e.component,children:e.children};return I(t,t.pattern||`/`),t}function F(e,t){L(e,t)}function I(e,t){if(M.register({id:e.id,route:e,absolutePattern:t}),e.children)for(let n of e.children)I(n,R(t,n.pattern))}function L(e,t){let n=R(e,t.pattern);if(M.register({id:t.id,route:t,absolutePattern:n}),t.children)for(let e of t.children)L(n,e)}function R(e,t){let n=e.replace(/\/+$/,``),r=t.replace(/^\/+|\/+$/g,``);return r===``?n||`/`:`${n}/${r}`}function ne(e){return F(e.pattern,e.root),{pattern:e.pattern,root:e.root,entry:e.entry}}function re(e){return{id:e.id,pattern:``,search:e.search,component:e.component}}function ie(e){return N.register(e),{manifest:e}}function ae(e){let t=Object.entries(e).filter(([,e])=>e!=null);if(t.length===0)return``;let n=new URLSearchParams;for(let[e,r]of t)n.set(e,typeof r==`string`?r:String(r));let r=n.toString();return r?`?${r}`:``}function z(e){let t=e.startsWith(`?`)?e.slice(1):e;if(!t)return{};let n={},r=new URLSearchParams(t);for(let[e,t]of r)n[e]=t;return n}function B(e,t,n,r){let i=G(e,H(V(t,r)),r);if(i.length===0)return{kind:`no-match`,reason:`no-route`};let a=K(i),o=i[i.length-1].route,s=o.params;if(s){let e=s.safeParse(a);if(!e.success)return{kind:`parse-error`,reason:`params`,chain:i,errors:e.error}}let c=o.search;if(c){let e=z(n),t=c.safeParse(e);if(!t.success)return{kind:`parse-error`,reason:`search`,chain:i,errors:t.error}}return{kind:`matched`,chain:i}}function V(e,t){let n=t.replace(/\/+$/,``);return e===n?``:e.startsWith(n+`/`)?e.slice(n.length):e}function H(e){let t=e.replace(/^\/+|\/+$/g,``);return t===``?[]:t.split(`/`).map(e=>{try{return decodeURIComponent(e)}catch{return e}})}function U(e){let t=e.replace(/^\/+|\/+$/g,``);return t===``?[]:t.split(`/`).map(e=>e.startsWith(`:`)?{kind:`param`,value:e.slice(1)}:{kind:`static`,value:e})}function W(e,t){let n=e.replace(/\/+$/,``),r=t.replace(/^\/+|\/+$/g,``);return r===``?n:`${n}/${r}`}function G(e,t,n){let r=W(n,e.pattern),i=U(e.pattern);if(t.length<i.length)return[];let a={};for(let e=0;e<i.length;e++){let n=i[e],r=t[e];if(!r)return[];if(n.kind===`static`){if(n.value!==r)return[]}else a[n.value]=r}let o={absolutePattern:r,route:e,rawParams:a},s=t.slice(i.length);if(s.length===0)return[o];if(e.children&&e.children.length>0)for(let t of e.children){let e=G(t,s,r);if(e.length>0)return[o,...e]}return[]}function K(e){let t={};for(let n of e)Object.assign(t,n.rawParams);return t}var q=/:([A-Za-z_][A-Za-z0-9_]*)/g;function J(e,t){return e.replace(q,(e,n)=>{let r=t[n];return r===void 0?`:${n}`:encodeURIComponent(r)})}var Y=`/workspaces`;function oe(e,t){let n=se(e),r=n?N.get(n):void 0;if(!r)return{kind:`redirect`,path:Y};let i=k(r);if(!i)return{kind:`redirect`,path:Y};for(let n of r.activities){let r=B(n.root,e,t,n.pattern);if(r.kind===`matched`)return{kind:`ok`};if(r.kind===`parse-error`)return r.reason===`params`?{kind:`redirect`,path:i.pattern}:{kind:`redirect`,path:e}}return{kind:`redirect`,path:i.pattern}}function se(e){let t=e.replace(/^\/+/,``);return t?t.split(`/`)[0]??null:null}var X=null;function ce(e){X=e}function le(e,t,n){let r=M.get(e);return r?de(r.absolutePattern,t,n):`/`}function ue(e,t,n,r){let i=le(e,t,n);X?.navigate(i,r)}function de(e,t,n){return`${J(e,t??{})}${n?ae(n):``}`}var fe=Symbol(`skill-creator:portal-target`),pe=Symbol(`skill-creator:app-context`);function me(e){x(fe,e)}function he(e){x(pe,e)}var Z=Symbol(`skill-creator:router`);function ge(e){x(Z,{get:e})}function _e(){if(!S(Z))return;let e=u(Z).get;return()=>e().params}function ve(){if(!S(Z))return;let e=u(Z).get;return()=>e().search}function Q(e){let t=e.replace(/^\/+|\/+$/g,``);if(!t)return null;let n=t.split(`/`),r=n[0];return r?{app:r,instanceKey:n[1]??`home`}:null}var ye={navigate(e,t=`PUSH`){t===`REPLACE`?C(e,{replaceState:!0,keepFocus:!0,noScroll:!0}):C(e)},replace(e){this.navigate(e,`REPLACE`)}};T({version:D(1),theme:E([`light`,`dark`,`system`]).default(`system`),sidebarCollapsed:O().default(!1)});var be=n(`<div class="app-shell-error svelte-1oszhz"> </div>`),$=n(`<div class="app-shell-loading svelte-1oszhz" aria-label="Loading"></div>`),xe=n(`<div class="app-shell-empty svelte-1oszhz">No route matched</div>`),Se=n(`<div class="app-shell svelte-1oszhz"><!> <div class="app-portal-root svelte-1oszhz"></div></div>`);function Ce(n,u){r(u,!0);let m=_(null),x=p(()=>B(u.activity.root,w.url.pathname,w.url.search,u.activity.pattern)),S=p(()=>l(x).kind===`matched`?l(x).chain:[]),C=p(()=>A(l(S))),T=p(()=>j(l(x),l(S)));me(()=>l(m)),he({get manifest(){return{id:u.app.id,name:u.app.name,icon:u.app.icon}},get pathname(){return w.url.pathname}}),ge(()=>({match:l(x),params:l(C),search:l(T),chain:l(S)}));let E=_(null),D=_(null),O=null,k=0;b(()=>{let t=(l(S).length>0?l(S)[l(S).length-1]:void 0)?.route,n=e(()=>O);if(!t){O=null,k+=1,f(E,null),f(D,null);return}if(n===t)return;O=t,f(E,null),f(D,null);let r=++k;t.component().then(e=>{r===k&&f(E,e.default,!0)}).catch(e=>{r===k&&f(D,e instanceof Error?e.message:String(e),!0)})});function A(e){if(e.length===0)return;let t={};for(let n of e)Object.assign(t,n.rawParams);return t}function j(e,t){if(e.kind===`no-match`||t.length===0)return;let n=t[t.length-1]?.route.search;if(!n)return;let r=n.safeParse(z(w.url.search));return r.success?r.data:void 0}var M=Se(),N=y(M),P=e=>{var t=be(),n=d(t);v(()=>a(n,`Failed to load: ${l(D)??``}`)),s(e,t)},F=e=>{let t=p(()=>l(E));var n=te(),r=ee(n);i(r,()=>l(t),(e,t)=>{t(e,{})}),s(e,n)},I=e=>{var t=$();s(e,t)},L=e=>{var t=xe();s(e,t)};o(N,e=>{l(D)?e(P):l(E)?e(F,1):l(S).length>0?e(I,2):e(L,-1)});var R=g(N,2);h(R,e=>f(m,e),()=>l(m)),t(M),s(n,M),c()}var we=n(`<div class="tab-empty svelte-t4mhty">Select an app from the sidebar.</div>`),Te=n(`<div class="tab-outlet-root svelte-t4mhty"><!></div>`);function Ee(e,n){r(n,!0);let i=p(()=>w.url.pathname),a=p(()=>Q(l(i))?.app??null),u=p(()=>l(a)?N.get(l(a)):null);m(()=>{let e=oe(l(i),w.url.search);e.kind===`redirect`&&(e.path!==l(i)||w.url.search)&&ye.replace(e.path)});let d=p(()=>{if(!l(u))return null;for(let e of l(u).activities)if(B(e.root,l(i),w.url.search,e.pattern).kind===`matched`)return e;return l(u).activities.find(e=>e.entry)??l(u).activities[0]??null});var f=Te(),h=y(f),g=e=>{Ce(e,{get app(){return l(u)},get activity(){return l(d)}})},_=e=>{var t=we();s(e,t)};o(h,e=>{l(u)&&l(d)?e(g):e(_,-1)}),t(f),s(e,f),c()}export{ue as a,ne as c,N as d,ve as i,re as l,Q as n,ce as o,_e as r,ie as s,Ee as t,P as u};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{A as e,At as t,B as n,Ct as r,D as i,F as a,G as o,Mt as s,N as c,R as l,St as u,U as d,W as f,X as p,_t as m,bt as h,ct as g,d as _,ft as v,gt as y,j as b,k as x,kt as S,lt as C,mt as w,nt as T,o as E,ot as D,rt as O,s as k,st as A,ut as j,wt as M,x as N,xt as P}from"./CmCJ0SKP.js";import{t as F}from"./_g2_n9ND.js";import"./xihTtKlq.js";import{t as I}from"./C8EbtR4g.js";import"./D_Wlt2rL.js";import{t as L}from"./BkEnd9_Z.js";import{i as R,r as z}from"./BHJkoxm8.js";import{_ as B,a as ee,b as V,l as H,s as U,t as W,x as G}from"./1vzbRbJ2.js";import{g as te,h as ne,m as re}from"./CsxdqaKQ.js";import{n as K}from"./1aUphu7Y.js";import{n as q,t as J}from"./DnPeA-9c.js";import{t as ie}from"./DOjT7y5f.js";import{n as ae,t as Y}from"./ChvFFUWR.js";import{t as X}from"./C67g-p2T.js";import{t as oe}from"./BYNWtKcf.js";import{n as se,t as ce}from"./DovL68qD.js";import{n as le,t as ue}from"./KjcaLSMo.js";import{t as de}from"./s48N5eaK.js";import{t as Z}from"./CeR4do8T.js";var fe=new Set([`$$slots`,`$$events`,`$$legacy`]);function pe(e,t){let n=E(t,fe),r=[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`}],[`path`,{d:`m9 11 3 3L22 4`}]];L(e,k({name:`circle-check-big`},()=>n,{get iconNode(){return r}}))}var me=new Set([`$$slots`,`$$events`,`$$legacy`]);function he(e,t){let n=E(t,me),r=[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`}],[`path`,{d:`M6.453 15h11.094`}],[`path`,{d:`M8.5 2h7`}]];L(e,k({name:`flask-conical`},()=>n,{get iconNode(){return r}}))}var ge=n(`<button><!> </button>`),_e=n(`<div class="flex shrink-0 items-center gap-1 border-b border-border px-2"></div>`);function ve(n,s){r(s,!0);let c=[{id:`file`,label:`File`,icon:ae},{id:`log`,label:`History`,icon:se},{id:`preview`,label:`Preview`,icon:ce},{id:`validate`,label:`Validate`,icon:pe},{id:`test`,label:`Test`,icon:he}],d=R(),f=y(()=>d?.()?.subview??`file`);function m(e){let t=new URLSearchParams(I.url.search);t.set(`subview`,e),F(`${I.url.pathname}?${t.toString()}`)}var h=_e();e(h,21,()=>c,e=>e.id,(e,n)=>{var r=ge(),s=D(r);i(s,()=>p(n).icon,(e,t)=>{t(e,{class:`h-3.5 w-3.5`})});var c=C(s);t(r),T(()=>{N(r,1,`flex items-center gap-1.5 px-3 py-2 text-xs font-medium transition-colors ${p(f)===p(n).id?`border-b-2 border-primary text-primary`:`text-muted-foreground hover:text-foreground`}`),a(c,` ${p(n).label??``}`)}),o(`click`,r,()=>m(p(n).id)),l(e,r)}),t(h),l(n,h),u()}f([`click`]);function ye(e,t=``){return{mode:`new`,target:e,skillId:null,name:``,description:``,body:``,revision:null,extraFrontmatter:{},directoryName:t}}var be={workspaceId:G.parse(`~`),providerId:V.parse(`user`)};function xe(){return{mode:`new`,target:be,skillId:null,name:``,description:``,body:``,revision:null,extraFrontmatter:{},directoryName:``}}function Se(e,t){return{mode:`edit`,target:e,skillId:t,name:``,description:``,body:``,revision:null,extraFrontmatter:{},directoryName:``}}function Ce(e){return{...e.extraFrontmatter,name:e.name,description:e.description}}var we=Symbol(`skill-creator:creator-editor`);function Te(e){let t=j(e),n={get draft(){return t},hydrateFromDocument(e){t.skillId=e.skillId,t.name=String(e.frontmatter.name??``),t.description=String(e.frontmatter.description??``),t.body=e.body,t.revision=e.revision,t.directoryName=e.directoryName;let{name:n,description:r,...i}=e.frontmatter;t.extraFrontmatter=i},advanceRevision(e){t.revision=e}};return M(we,n),n}function Q(){if(!P(we))throw Error(`[creator-editor] useCreatorEditor 必须在 <CreatorWorkspace> 内调用`);return h(we)}function $(e,t,n){return e?`${t}:${e.workspaceId}/${e.providerId}${n===null?``:`/${n}`}`:null}var Ee=new Map,De=new Set;function Oe(e){return{...e,target:{...e.target},extraFrontmatter:{...e.extraFrontmatter}}}function ke(e,t){Ee.set(e,Oe(t))}function Ae(e){let t=Ee.get(e);return t===void 0?null:Oe(t)}function je(e){Ee.delete(e)}function Me(e){De.add(e)}function Ne(e){return De.has(e)}function Pe(e){De.delete(e)}var Fe=new Set([`$$slots`,`$$events`,`$$legacy`]);function Ie(e,t){let n=E(t,Fe),r=[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`}]];L(e,k({name:`save`},()=>n,{get iconNode(){return r}}))}var Le=new Set([`$$slots`,`$$events`,`$$legacy`]);function Re(e,t){let n=E(t,Le),r=[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`}],[`path`,{d:`M21 3v5h-5`}]];L(e,k({name:`rotate-cw`},()=>n,{get iconNode(){return r}}))}var ze=n(`<!> Reload`,1),Be=n(`<!> <span class="hidden sm:inline">Delete</span>`,1),Ve=n(`<!> `,1),He=n(`<div class="flex flex-1 items-center justify-center gap-2 text-xs text-muted-foreground"><!> Loading…</div>`),Ue=n(`<div class="flex flex-1 flex-col items-center justify-center gap-2 px-8 text-center"><p class="text-xs text-destructive"> </p> <!></div>`),We=n(`<span class="text-[11px] text-destructive">Use lowercase letters, numbers, and hyphens.</span>`),Ge=n(`<label class="block space-y-1"><span class="text-[11px] font-medium text-muted-foreground">Directory name</span> <!> <!></label>`),Ke=n(`<div class="min-h-0 flex-1 space-y-3 overflow-y-auto p-4"><!> <label class="block space-y-1"><span class="text-[11px] font-medium text-muted-foreground">Name</span> <!></label> <label class="block space-y-1"><span class="text-[11px] font-medium text-muted-foreground">Description</span> <textarea rows="2" class="w-full resize-y rounded-md border border-input bg-input/20 px-2 py-1 text-xs leading-5 outline-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30" placeholder="What this skill does"></textarea></label> <label class="block flex min-h-0 flex-1 flex-col space-y-1"><span class="text-[11px] font-medium text-muted-foreground">Body (Markdown)</span> <textarea rows="16" class="w-full flex-1 resize-y rounded-md border border-input bg-input/20 px-2 py-1.5 font-mono text-xs leading-5 outline-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30" placeholder="## When to Use
|
|
2
|
-
|
|
3
|
-
Describe when this skill should be invoked."></textarea></label></div>`),qe=n(`<div class="flex h-full flex-col"><div class="flex shrink-0 items-center justify-between border-b border-border px-4 py-2"><span class="text-xs font-medium"> </span> <div class="flex items-center gap-1.5"><!> <!> <!></div></div> <!></div> <!>`,1);function Je(e,n){r(n,!0);let i=Q(),o=i.draft,s=W(ee),f=w(!1),h=w(null),b=w(!1);O(()=>{if(o.mode!==`edit`||o.skillId===null)return;let e=$(o.target,`edit`,o.skillId);e!==null&&Ne(e)||x(o.target,o.skillId)});async function x(e,t){let n=s.issue();v(f,!0),v(h,null);try{let r=await re(e,t);if(!n.isCurrent())return;i.hydrateFromDocument(r);let a=$(e,`edit`,t);a!==null&&Me(a)}catch(e){if(!n.isCurrent())return;v(h,e instanceof Error?e.message:String(e),!0)}finally{n.isLatest()&&v(f,!1)}}function E(){if(o.mode===`edit`&&o.skillId){let e=$(o.target,`edit`,o.skillId);e!==null&&Pe(e),x(o.target,o.skillId)}}let k=y(()=>o.mode!==`new`||H.safeParse(o.directoryName).success),j=y(()=>!p(b)&&o.name.trim().length>0&&o.description.trim().length>0&&(o.mode===`edit`||p(k))&&o.revision!==null==(o.mode===`edit`));async function M(){if(o.mode===`edit`){if(o.skillId===null||o.revision===null)return;v(b,!0);try{let e=await te({mode:`update`,workspaceId:o.target.workspaceId,providerId:o.target.providerId,skillId:o.skillId,expectedRevision:o.revision,frontmatter:Ce(o),body:o.body});i.advanceRevision(e.document.revision),K(`Saved.`)}catch(e){N(e)}finally{v(b,!1)}return}let e=H.safeParse(o.directoryName);if(!e.success){K(`Directory name must be lowercase letters, numbers, and hyphens.`);return}v(b,!0);try{let t=await te({mode:`create`,workspaceId:o.target.workspaceId,providerId:o.target.providerId,directoryName:e.data,frontmatter:Ce(o),body:o.body});i.hydrateFromDocument(t.document);let n=$(o.target,`edit`,t.document.skillId);n!==null&&Me(n),K(`Skill created.`)}catch(e){N(e)}finally{v(b,!1)}}function N(e){if(e instanceof B&&e.code===`CONFLICT`){K(`This skill changed elsewhere. Reload to view the latest.`,{label:`Reload`,run:E});return}K(e instanceof Error?e.message:String(e))}let P=w(!1),I=w(!1),L=y(()=>o.mode===`edit`&&o.skillId!==null&&o.revision!==null);async function R(){if(!p(L)||p(I))return;let e=o.skillId,t=o.revision;if(e!==null&&t!==null){v(I,!0);try{await ne({target:o.target,skillId:e,expectedRevision:t}),v(P,!1),K(`Skill deleted.`);let n=$(o.target,`edit`,e);n!==null&&(je(n),Pe(n)),await F(`/creator`)}catch(e){e instanceof B&&e.code===`CONFLICT`?(v(P,!1),K(`This skill changed elsewhere. Reload before deleting.`,{label:`Reload`,run:E})):K(e instanceof Error?e.message:String(e))}finally{v(I,!1)}}}var z=qe(),V=A(z),U=D(V),G=D(U),ae=g(G,!0),Y=C(G,2),X=D(Y),oe=e=>{q(e,{variant:`outline`,size:`sm`,class:`h-7 gap-1.5`,onclick:E,get disabled(){return p(f)},children:(e,t)=>{var n=ze();Re(A(n),{class:`h-3.5 w-3.5`}),S(),l(e,n)},$$slots:{default:!0}})};c(X,e=>{o.mode===`edit`&&o.skillId&&e(oe)});var se=C(X,2),ce=e=>{{let t=y(()=>!p(L)||p(I));q(e,{variant:`ghost`,size:`sm`,class:`h-7 gap-1.5 px-2 text-destructive hover:text-destructive`,title:`Delete this skill`,get disabled(){return p(t)},onclick:()=>v(P,!0),children:(e,t)=>{var n=Be(),r=A(n);ue(r,{class:`h-3.5 w-3.5`}),S(2),l(e,n)},$$slots:{default:!0}})}};c(se,e=>{o.mode===`edit`&&e(ce)});var de=C(se,2);{let e=y(()=>!p(j));q(de,{size:`sm`,class:`h-7 gap-1.5`,onclick:M,get disabled(){return p(e)},children:(e,t)=>{var n=Ve(),r=A(n),i=e=>{J(e,{class:`h-3.5 w-3.5 animate-spin`})},s=e=>{Ie(e,{class:`h-3.5 w-3.5`})};c(r,e=>{p(b)?e(i):e(s,-1)});var u=C(r);T(()=>a(u,` ${o.mode===`new`?`Create`:`Save`}`)),l(e,n)},$$slots:{default:!0}})}t(Y),t(U);var Z=C(U,2),fe=e=>{var n=He(),r=D(n);J(r,{class:`h-4 w-4 animate-spin`}),S(),t(n),l(e,n)},pe=e=>{var n=Ue(),r=D(n),i=g(r,!0),s=C(r,2),u=e=>{q(e,{variant:`outline`,size:`sm`,onclick:E,children:(e,t)=>{S();var n=d(`Retry`);l(e,n)},$$slots:{default:!0}})};c(s,e=>{o.mode===`edit`&&o.skillId&&e(u)}),t(n),T(()=>a(i,p(h))),l(e,n)},me=e=>{var n=Ke(),r=D(n),i=e=>{var n=Ge(),r=C(D(n),2);ie(r,{class:`h-8 font-mono text-xs`,placeholder:`my-skill`,get value(){return o.directoryName},set value(e){o.directoryName=e}});var i=C(r,2),a=e=>{var t=We();l(e,t)};c(i,e=>{p(k)||e(a)}),t(n),l(e,n)};c(r,e=>{o.mode===`new`&&e(i)});var a=C(r,2),s=C(D(a),2);ie(s,{class:`h-8 text-sm`,placeholder:`Skill name`,get value(){return o.name},set value(e){o.name=e}}),t(a);var u=C(a,2),d=C(D(u),2);m(d),t(u);var f=C(u,2),h=C(D(f),2);m(h),t(f),t(n),_(d,()=>o.description,e=>o.description=e),_(h,()=>o.body,e=>o.body=e),l(e,n)};c(Z,e=>{p(f)?e(fe):p(h)?e(pe,1):e(me,-1)}),t(V);var he=C(V,2);{let e=y(()=>`Delete this skill from ${o.target.providerId}? Its SKILL.md directory is removed from disk.`);le(he,{title:`Delete skill`,get description(){return p(e)},confirmLabel:`Delete`,get busy(){return p(I)},onConfirm:()=>void R(),get open(){return p(P)},set open(e){v(P,e,!0)}})}T(()=>a(ae,o.mode===`new`?`New SKILL.md`:`SKILL.md`)),l(e,z),u()}var Ye=n(`<!> Refresh`,1),Xe=n(`<div class="flex flex-1 items-center justify-center px-8 text-center text-xs text-muted-foreground">Save the skill first to see its change history.</div>`),Ze=n(`<div class="flex flex-1 items-center justify-center gap-2 text-xs text-muted-foreground"><!> Loading history…</div>`),Qe=n(`<div class="flex flex-1 flex-col items-center justify-center gap-2 px-8 text-center"><p class="text-xs text-destructive"> </p> <!></div>`),$e=n(`<div class="flex flex-1 items-center justify-center px-8 text-center text-xs text-muted-foreground">No revisions recorded yet.</div>`),et=n(`<span class="rounded-sm bg-emerald-500/10 px-1.5 py-0.5 text-[10px] font-medium text-emerald-700 dark:text-emerald-300">latest</span>`),tt=n(`<span class="text-[10px] text-muted-foreground/70">snapshot pruned</span>`),nt=n(`<div><p class="mb-1 text-[10px] font-medium uppercase tracking-wide text-muted-foreground">Diff vs previous</p> <pre class="overflow-x-auto rounded-md border border-border bg-muted/30 p-2 font-mono text-[10px] leading-4"> </pre></div>`),rt=n(`<div><p class="mb-1 text-[10px] font-medium uppercase tracking-wide text-muted-foreground">Full snapshot</p> <pre class="max-h-72 overflow-auto rounded-md border border-border bg-muted/30 p-2 font-mono text-[10px] leading-4"> </pre></div>`),it=n(`<p class="text-[10px] text-muted-foreground/70">Initial revision — no diff and no persisted snapshot.</p>`),at=n(`<div class="mt-2 space-y-2 pl-5"><!> <!> <!></div>`),ot=n(`<li class="px-4 py-3"><button type="button" class="flex w-full items-start gap-2 text-left"><!> <div class="min-w-0 flex-1"><div class="flex items-center gap-2"><span class="text-xs font-medium"> </span> <!> <!></div> <p class="mt-0.5 truncate font-mono text-[10px] text-muted-foreground"> </p></div></button> <!></li>`),st=n(`<ol class="min-h-0 flex-1 divide-y divide-border overflow-y-auto"></ol>`),ct=n(`<div class="flex h-full flex-col"><div class="flex shrink-0 items-center justify-between border-b border-border px-4 py-2"><span class="text-xs font-medium">Change history</span> <!></div> <!></div>`);function lt(n,i){r(i,!0);let s=Q().draft,f=W(ee),m=w(!1),h=w(null),_=w(j([])),b=j({});O(()=>{s.mode===`edit`&&s.skillId!==null&&x(s.skillId)});async function x(e){let t=f.issue();v(m,!0),v(h,null);try{let n=await U().creator.revisions({workspaceId:s.target.workspaceId,providerId:s.target.providerId,skillId:e});if(!t.isCurrent())return;v(_,[...n.revisions].sort((e,t)=>t.timestamp-e.timestamp),!0)}catch(e){if(!t.isCurrent())return;v(h,e instanceof Error?e.message:String(e),!0)}finally{t.isLatest()&&v(m,!1)}}function E(e){b[e]=!b[e]}function k(){s.mode===`edit`&&s.skillId&&x(s.skillId)}function M(e){try{return new Date(e).toLocaleString()}catch{return String(e)}}var N=ct(),P=D(N),F=C(D(P),2),I=e=>{q(e,{variant:`outline`,size:`sm`,class:`h-7 gap-1.5`,onclick:k,get disabled(){return p(m)},children:(e,t)=>{var n=Ye();Re(A(n),{class:`h-3.5 w-3.5`}),S(),l(e,n)},$$slots:{default:!0}})};c(F,e=>{s.mode===`edit`&&s.skillId&&e(I)}),t(P);var L=C(P,2),R=e=>{var t=Xe();l(e,t)},z=e=>{var n=Ze(),r=D(n);J(r,{class:`h-4 w-4 animate-spin`}),S(),t(n),l(e,n)},B=e=>{var n=Qe(),r=D(n),i=g(r,!0),o=C(r,2),u=e=>{q(e,{variant:`outline`,size:`sm`,onclick:k,children:(e,t)=>{S();var n=d(`Retry`);l(e,n)},$$slots:{default:!0}})};c(o,e=>{s.skillId&&e(u)}),t(n),T(()=>a(i,p(h))),l(e,n)},V=e=>{var t=$e();l(e,t)},H=n=>{var r=st();e(r,23,()=>p(_),e=>e.revision,(e,n,r)=>{var i=ot(),s=D(i),u=D(s);{let e=y(()=>b[p(n).revision]?`rotate-90`:``);X(u,{get class(){return`mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform ${p(e)??``}`}})}var d=C(u,2),f=D(d),m=D(f),h=g(m,!0),_=C(m,2),v=e=>{var t=et();l(e,t)};c(_,e=>{p(r)===0&&e(v)});var x=C(_,2),S=e=>{var t=tt();l(e,t)};c(x,e=>{p(n).content===null&&e(S)}),t(f);var w=C(f,2),O=g(w);t(d),t(s);var k=C(s,2),A=e=>{var r=at(),i=D(r),o=e=>{var r=nt(),i=C(D(r),2),o=g(i,!0);t(r),T(()=>a(o,p(n).diff)),l(e,r)};c(i,e=>{p(n).diff&&e(o)});var s=C(i,2),u=e=>{var r=rt(),i=C(D(r),2),o=g(i,!0);t(r),T(()=>a(o,p(n).content)),l(e,r)};c(s,e=>{p(n).content!==null&&e(u)});var d=C(s,2),f=e=>{var t=it();l(e,t)};c(d,e=>{p(n).diff===null&&p(n).content===null&&e(f)}),t(r),l(e,r)};c(k,e=>{b[p(n).revision]&&e(A)}),t(i),T((e,t)=>{a(h,e),a(O,`${t??``}…`)},[()=>M(p(n).timestamp),()=>p(n).revision.slice(0,16)]),o(`click`,s,()=>E(p(n).revision)),l(e,i)}),t(r),l(n,r)};c(L,e=>{s.mode===`new`?e(R):p(m)?e(z,1):p(h)?e(B,2):p(_).length===0?e(V,3):e(H,-1)}),t(N),l(n,N),u()}f([`click`]);var ut=n(`<p class="text-[11px] text-muted-foreground/70">Only name and description — no additional metadata.</p>`),dt=n(`<div><dt class="bg-muted/40 px-2 py-1 text-[11px] font-medium text-muted-foreground"> </dt> <dd class="break-words px-2 py-1 text-[11px]"> </dd></div>`),ft=n(`<dl class="overflow-x-auto rounded-md border border-border"></dl>`),pt=n(`<p class="text-xs text-muted-foreground/70">Nothing to preview yet.</p>`),mt=n(`<div class="prose prose-sm max-w-none overflow-x-auto"></div>`),ht=n(`<div class="flex h-full flex-col overflow-y-auto p-4"><section class="mb-4"><h1 class="text-base font-semibold"> </h1> <p class="mt-0.5 text-xs leading-5 text-muted-foreground"> </p></section> <section class="mb-4"><h2 class="mb-2 text-[11px] font-medium text-muted-foreground">Frontmatter</h2> <!></section> <section class="min-h-0 flex-1"><h2 class="mb-2 text-[11px] font-medium text-muted-foreground">Body</h2> <!></section></div>`);function gt(n,i){r(i,!0);let o=Q().draft,d=y(()=>Ce(o)),f=y(()=>de(o.body)),m=y(()=>Object.entries(p(d)).filter(([e])=>e!==`name`&&e!==`description`));var h=ht(),_=D(h),v=D(_),b=g(v,!0),S=C(v,2),w=g(S,!0);t(_);var E=C(_,2),O=C(D(E),2),k=e=>{var t=ut();l(e,t)},A=n=>{var r=ft();e(r,23,()=>p(m),([e,t])=>e,(e,n,r)=>{var i=y(()=>s(p(n),2));let o=()=>p(i)[0],c=()=>p(i)[1];var u=dt(),d=D(u),f=g(d,!0),m=C(d,2),h=g(m,!0);t(u),T(e=>{N(u,1,`grid grid-cols-[120px_minmax(0,1fr)] ${p(r)>0?`border-t border-border`:``}`),a(f,o()),a(h,e)},[()=>c()===null?`null`:String(c())]),l(e,u)}),t(r),l(n,r)};c(O,e=>{p(m).length===0?e(k):e(A,-1)}),t(E);var j=C(E,2),M=C(D(j),2),P=e=>{var t=pt();l(e,t)},F=y(()=>o.body.trim().length===0),I=e=>{var n=mt();x(n,()=>p(f),!0),t(n),l(e,n)};c(M,e=>{p(F)?e(P):e(I,-1)}),t(j),t(h),T(()=>{a(b,o.name||`Untitled skill`),a(w,o.description||`No description yet.`)}),l(n,h),u()}var _t=n(`<!> Re-validate`,1),vt=n(`<div class="flex flex-1 items-center justify-center px-8 text-center text-xs text-muted-foreground">Save the skill first to validate it.</div>`),yt=n(`<div class="flex flex-1 items-center justify-center gap-2 text-xs text-muted-foreground"><!> Validating…</div>`),bt=n(`<div class="flex flex-1 flex-col items-center justify-center gap-2 px-8 text-center"><p class="text-xs text-destructive"> </p> <!></div>`),xt=n(`<div class="flex items-center gap-2 text-xs text-emerald-700 dark:text-emerald-300"><!> Skill passes all checks.</div>`),St=n(`<li class="flex gap-2 rounded-md bg-destructive/10 px-2 py-1.5 text-xs text-destructive"><!> <span class="break-words"> </span></li>`),Ct=n(`<section><h3 class="mb-1.5 text-[11px] font-medium uppercase tracking-wide text-destructive"> </h3> <ul class="space-y-1"></ul></section>`),wt=n(`<li class="flex gap-2 rounded-md bg-amber-500/10 px-2 py-1.5 text-xs text-amber-700 dark:text-amber-300"><!> <span class="break-words"> </span></li>`),Tt=n(`<section><h3 class="mb-1.5 text-[11px] font-medium uppercase tracking-wide text-amber-700 dark:text-amber-300"> </h3> <ul class="space-y-1"></ul></section>`),Et=n(`<!> <!>`,1),Dt=n(`<div class="min-h-0 flex-1 space-y-3 overflow-y-auto p-4"><!></div>`),Ot=n(`<div class="flex h-full flex-col"><div class="flex shrink-0 items-center justify-between border-b border-border px-4 py-2"><span class="text-xs font-medium">Validation</span> <!></div> <!></div>`);function kt(n,i){r(i,!0);let o=Q().draft,s=W(ee),f=w(!1),m=w(null),h=w(null);O(()=>{o.mode===`edit`&&o.skillId!==null&&_(o.skillId)});async function _(e){let t=s.issue();v(f,!0),v(m,null);try{let n=await U().skills.validate({workspaceId:o.target.workspaceId,providerId:o.target.providerId,skillId:e});if(!t.isCurrent())return;v(h,n,!0)}catch(e){if(!t.isCurrent())return;v(m,e instanceof Error?e.message:String(e),!0),v(h,null)}finally{t.isLatest()&&v(f,!1)}}function y(){o.mode===`edit`&&o.skillId&&_(o.skillId)}var x=Ot(),E=D(x),k=C(D(E),2),j=e=>{q(e,{variant:`outline`,size:`sm`,class:`h-7 gap-1.5`,onclick:y,get disabled(){return p(f)},children:(e,t)=>{var n=_t(),r=A(n),i=e=>{J(e,{class:`h-3.5 w-3.5 animate-spin`})},a=e=>{Z(e,{class:`h-3.5 w-3.5`})};c(r,e=>{p(f)?e(i):e(a,-1)}),S(),l(e,n)},$$slots:{default:!0}})};c(k,e=>{o.mode===`edit`&&o.skillId&&e(j)}),t(E);var M=C(E,2),N=e=>{var t=vt();l(e,t)},P=e=>{var n=yt(),r=D(n);J(r,{class:`h-4 w-4 animate-spin`}),S(),t(n),l(e,n)},F=e=>{var n=bt(),r=D(n),i=g(r,!0),s=C(r,2),u=e=>{q(e,{variant:`outline`,size:`sm`,onclick:y,children:(e,t)=>{S();var n=d(`Retry`);l(e,n)},$$slots:{default:!0}})};c(s,e=>{o.skillId&&e(u)}),t(n),T(()=>a(i,p(m))),l(e,n)},I=n=>{var r=Dt(),i=D(r),o=e=>{var n=xt(),r=D(n);Y(r,{class:`h-4 w-4`}),S(),t(n),l(e,n)},s=n=>{var r=Et(),i=A(r),o=n=>{var r=Ct(),i=D(r),o=g(i),s=C(i,2);e(s,21,()=>p(h).errors,b,(e,n)=>{var r=St(),i=D(r);Z(i,{class:`mt-0.5 h-3.5 w-3.5 shrink-0`});var o=C(i,2),s=g(o,!0);t(r),T(()=>a(s,p(n))),l(e,r)}),t(s),t(r),T(()=>a(o,`Errors (${p(h).errors.length??``})`)),l(n,r)};c(i,e=>{p(h).errors.length>0&&e(o)});var s=C(i,2),u=n=>{var r=Tt(),i=D(r),o=g(i),s=C(i,2);e(s,21,()=>p(h).warnings,b,(e,n)=>{var r=wt(),i=D(r);Z(i,{class:`mt-0.5 h-3.5 w-3.5 shrink-0`});var o=C(i,2),s=g(o,!0);t(r),T(()=>a(s,p(n))),l(e,r)}),t(s),t(r),T(()=>a(o,`Warnings (${p(h).warnings.length??``})`)),l(n,r)};c(s,e=>{p(h).warnings.length>0&&e(u)}),l(n,r)};c(i,e=>{p(h).success&&p(h).errors.length===0&&p(h).warnings.length===0?e(o):e(s,-1)}),t(r),l(n,r)};c(M,e=>{o.mode===`new`?e(N):p(f)&&p(h)===null?e(P,1):p(m)?e(F,2):p(h)&&e(I,3)}),t(x),l(n,x),u()}var At=n(`<div class="flex flex-1 items-center justify-center p-4 text-center text-xs text-muted-foreground">Invalid workspace target.</div>`),jt=n(`<div class="flex h-full items-center justify-center p-6 text-center text-xs text-muted-foreground"><div class="space-y-1"><p class="font-medium text-foreground">Test run</p> <p>Exercising this skill inside the DSH-hosted agent session lands here.</p> <p class="text-muted-foreground/60">(Not yet implemented.)</p></div></div>`),Mt=n(`<!> <div class="min-h-0 flex-1 overflow-hidden"><!></div>`,1),Nt=n(`<div class="flex h-full flex-col overflow-hidden"><header class="flex shrink-0 items-center gap-2 border-b border-border px-4 py-2"><span class="text-sm font-medium"> </span> <span class="text-xs text-muted-foreground"> </span></header> <div class="flex min-h-0 flex-1 flex-col"><!></div></div>`);function Pt(e,n){r(n,!0);let i=z(),o=y(()=>i?.()),s=y(()=>p(o)?.mode),d=y(()=>p(o)?.wsId),f=y(()=>p(o)?.providerId),m=y(()=>p(o)?.skillId),h=R(),_=y(()=>h?.()??{}),v=y(()=>p(_).subview??`file`),b=y(()=>!p(d)||!p(f)?null:{workspaceId:p(d),providerId:p(f)}),x=y(()=>{if(!p(b))return xe();if(p(s)===`edit`&&p(m))return Se(p(b),p(m));let e=p(_).template?oe.find(e=>e.id===p(_).template):void 0,t=ye(p(b),e?e.name:``);return e&&(t.name=e.name,t.description=e.description,t.body=e.body),t}),S=Te(xe()),w=y(()=>$(p(b),p(s)===`edit`?`edit`:`new`,p(m)??null));O(()=>{let e=p(w),t=p(x),n=e===null?null:Ae(e),r=n??t;S.draft.mode=r.mode,S.draft.target=r.target,S.draft.skillId=r.skillId,S.draft.name=r.name,S.draft.description=r.description,S.draft.body=r.body,S.draft.revision=r.revision,S.draft.extraFrontmatter=r.extraFrontmatter,S.draft.directoryName=r.directoryName,n!==null&&e!==null&&Me(e)}),O(()=>()=>{let e=S.draft;if(e.target.workspaceId===`~`)return;let t=$(e.target,e.mode,e.skillId);t!==null&&ke(t,e)});var E=Nt(),k=D(E),j=D(k),M=g(j,!0),N=C(j,2),P=g(N);t(k);var F=C(k,2),I=D(F),L=e=>{var t=At();l(e,t)},B=e=>{var n=Mt(),r=A(n);ve(r,{});var i=C(r,2),a=D(i),o=e=>{Je(e,{})},s=e=>{lt(e,{})},u=e=>{gt(e,{})},d=e=>{kt(e,{})},f=e=>{var t=jt();l(e,t)},m=e=>{Je(e,{})};c(a,e=>{p(v)===`file`?e(o):p(v)===`log`?e(s,1):p(v)===`preview`?e(u,2):p(v)===`validate`?e(d,3):p(v)===`test`?e(f,4):e(m,-1)}),t(i),l(e,n)};c(I,e=>{p(b)?e(B,-1):e(L)}),t(F),t(E),T(e=>{a(M,e),a(P,`${p(d)??``} / ${p(f)??``}`)},[()=>p(s)===`new`?`New skill`:p(m)?`Edit: ${p(m).slice(0,12)}…`:`Editor`]),l(e,E),u()}export{Pt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e,s as t}from"./CmCJ0SKP.js";import"./xihTtKlq.js";import{t as n}from"./BkEnd9_Z.js";import{a as r}from"./BHJkoxm8.js";var i=[`general`,`model`,`agent`,`sessions`];function a(e=`general`){r(`settings.section`,{section:e})}var o=new Set([`$$slots`,`$$events`,`$$legacy`]);function s(r,i){let a=e(i,o),s=[[`path`,{d:`M12 8V4H8`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`}],[`path`,{d:`M2 14h2`}],[`path`,{d:`M20 14h2`}],[`path`,{d:`M15 13v2`}],[`path`,{d:`M9 13v2`}]];n(r,t({name:`bot`},()=>a,{get iconNode(){return s}}))}function c(e){let t=0;for(let n of e)t=(t*31+n.charCodeAt(0))%360;return t}function l(e){return`hsl(${c(e)} 55% 45%)`}var u=`sc-letter-avatar`;function d(e){return e.includes(u)}function f(e,t){return e.iconSuppressed===!0?null:e.icon??t?.icon??null}function p(e,t){return e.iconLetter!==void 0&&e.iconLetter.length>0?e.iconLetter:(t||e.provider).slice(0,1).toUpperCase()}function m(e){return e.iconColor??l(e.provider)}var h={svg:`image/svg+xml`,png:`image/png`,webp:`image/webp`};function g(e,t){let n=e.indexOf(`,`);return!e.startsWith(`data:`)||n<0?null:`data:${t};base64,${e.slice(n+1)}`}var _=new Set([`$$slots`,`$$events`,`$$legacy`]);function v(r,i){let a=e(i,_),o=[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}],[`path`,{d:`m15 5 4 4`}]];n(r,t({name:`pencil`},()=>a,{get iconNode(){return o}}))}export{d as a,p as c,i as d,a as f,l as i,g as l,h as n,f as o,c as r,m as s,v as t,s as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./_g2_n9ND.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{At as e,B as t,Ct as n,F as r,N as i,R as a,St as o,U as s,X as c,_t as l,a as u,ct as d,d as f,f as p,ft as m,gt as h,kt as g,l as _,lt as v,mt as y,nt as b,o as x,ot as S,s as C}from"./CmCJ0SKP.js";import"./xihTtKlq.js";import{t as w}from"./BkEnd9_Z.js";import{s as T}from"./1vzbRbJ2.js";import{n as E}from"./1aUphu7Y.js";import{i as D,n as O}from"./DnPeA-9c.js";var k=new Set([`$$slots`,`$$events`,`$$legacy`]);function A(e,t){let n=x(t,k),r=[[`path`,{d:`M20 6 9 17l-5-5`}]];w(e,C({name:`check`},()=>n,{get iconNode(){return r}}))}var j=new Set([`$$slots`,`$$events`,`$$legacy`,`ref`,`value`,`class`,`data-slot`]),M=t(`<textarea></textarea>`);function N(e,t){n(t,!0);let r=u(t,`ref`,15,null),i=u(t,`value`,15),s=u(t,`data-slot`,3,`textarea`),c=x(t,j);var d=M();l(d),p(d,e=>({"data-slot":s(),class:e,...c}),[()=>D(`border-input bg-input/20 dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 resize-none rounded-md border px-2 py-2 text-sm transition-colors focus-visible:ring-2 aria-invalid:ring-2 md:text-xs/relaxed placeholder:text-muted-foreground flex field-sizing-content min-h-16 w-full outline-none disabled:cursor-not-allowed disabled:opacity-50`,t.class)]),_(d,e=>r(e),()=>r()),f(d,i),a(e,d),o()}var P=t(`<div class="mt-2 flex justify-end gap-1.5"><!> <!></div>`),F=t(`<div class="rounded-lg border border-amber-500/40 bg-amber-500/5 px-3 py-2.5 text-xs" role="group" aria-label="Mutation proposal"><div class="mb-1.5 flex items-center gap-1.5 font-medium text-amber-600 dark:text-amber-400"> </div> <div class="font-mono text-[11px]"> </div> <pre class="mt-1 max-h-32 overflow-auto rounded bg-muted/40 p-1.5 font-mono text-[10px] whitespace-pre-wrap"> </pre> <!></div>`);function I(t,l){n(l,!0);let u=y(!1),f=y(null),p=h(()=>c(f)??l.status),_=h(()=>{try{return JSON.stringify(l.input,null,2)}catch{return String(l.input)}});async function x(e){m(u,!0);try{let t=T(),n=e===`approve`?await t.agent.proposals.approve({proposalId:l.proposalId}):await t.agent.proposals.reject({proposalId:l.proposalId});m(f,n.proposal.status,!0),E(e===`approve`?c(p)===`executed`?`Proposal executed: ${l.capability}`:`Proposal failed: ${l.capability}`:`Proposal rejected: ${l.capability}`)}catch(e){E(e instanceof Error?e.message:String(e))}finally{m(u,!1)}}var C=F(),w=S(C),D=d(w),k=v(w,2),A=d(k,!0),j=v(k,2),M=d(j,!0),N=v(j,2),I=t=>{var n=P(),r=S(n);O(r,{size:`sm`,variant:`outline`,get disabled(){return c(u)},onclick:()=>void x(`reject`),children:(e,t)=>{g();var n=s(`Reject`);a(e,n)},$$slots:{default:!0}});var i=v(r,2);O(i,{size:`sm`,get disabled(){return c(u)},onclick:()=>void x(`approve`),children:(e,t)=>{g();var n=s(`Approve`);a(e,n)},$$slots:{default:!0}}),e(n),a(t,n)};i(N,e=>{c(p)===`pending`&&e(I)}),e(C),b(()=>{r(D,`Proposal — ${c(p)??``}`),r(A,l.capability),r(M,c(_))}),a(t,C),o()}export{N as n,A as r,I as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e,s as t,ut as n}from"./CmCJ0SKP.js";import"./xihTtKlq.js";import{t as r}from"./BkEnd9_Z.js";var i=new Set([`$$slots`,`$$events`,`$$legacy`]);function a(n,a){let o=e(a,i),s=[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`}],[`path`,{d:`m7 16.5-4.74-2.85`}],[`path`,{d:`m7 16.5 5-3`}],[`path`,{d:`M7 16.5v5.17`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`}],[`path`,{d:`m17 16.5-5-3`}],[`path`,{d:`m17 16.5 4.74-2.85`}],[`path`,{d:`M17 16.5v5.17`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`}],[`path`,{d:`M12 8 7.26 5.15`}],[`path`,{d:`m12 8 4.74-2.85`}],[`path`,{d:`M12 13.5V8`}]];r(n,t({name:`boxes`},()=>o,{get iconNode(){return s}}))}var o=n({open:!1});function s(){o.open=!0}var c=new Set([`$$slots`,`$$events`,`$$legacy`]);function l(n,i){let a=e(i,c),o=[[`path`,{d:`M12 10v6`}],[`path`,{d:`M9 13h6`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}]];r(n,t({name:`folder-plus`},()=>a,{get iconNode(){return o}}))}var u=new Set([`$$slots`,`$$events`,`$$legacy`]);function d(n,i){let a=e(i,u),o=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}]];r(n,t({name:`message-square`},()=>a,{get iconNode(){return o}}))}var f=new Set([`$$slots`,`$$events`,`$$legacy`]);function p(n,i){let a=e(i,f),o=[[`path`,{d:`M13 21h8`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}]];r(n,t({name:`pen-line`},()=>a,{get iconNode(){return o}}))}export{s as a,o as i,d as n,a as o,l as r,p as t};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{A as e,At as t,B as n,Ct as r,D as i,F as a,G as o,K as s,M as c,Mt as l,N as u,Q as d,R as f,St as p,U as m,W as h,X as g,_,a as v,at as y,b,ct as x,d as S,ft as C,gt as w,j as T,kt as E,l as D,lt as O,m as k,mt as A,nt as j,o as M,ot as N,p as P,rt as F,s as I,st as L,ut as R,v as z,x as B,z as ee}from"./CmCJ0SKP.js";import{t as V}from"./_g2_n9ND.js";import"./xihTtKlq.js";import"./D_Wlt2rL.js";import{t as H}from"./BkEnd9_Z.js";import{r as U}from"./BHJkoxm8.js";import{A as W,C as G,D as K,a as q,f as J,g as Y,o as X,p as te,r as Z,t as ne,w as re}from"./1vzbRbJ2.js";import{a as ie,c as ae,d as oe,i as Q,l as se,n as ce,o as le,s as ue,t as de,u as fe}from"./Bs7CGcv2.js";import"./CsxdqaKQ.js";import{n as pe}from"./1aUphu7Y.js";import{n as me}from"./DnPeA-9c.js";import{t as he}from"./DOjT7y5f.js";import{B as ge,I as _e,S as ve,_ as ye,a as be,f as xe,l as Se,p as Ce,r as $,u as we,w as Te}from"./N4Ne5qCB.js";import{n as Ee,t as De}from"./DovL68qD.js";import{n as Oe,t as ke}from"./KjcaLSMo.js";var Ae=n(`<button><span class="flex items-center gap-1 font-medium"> </span> <span class="mt-0.5 block text-[10px] leading-snug text-muted-foreground"> </span></button>`),je=n(`<button> </button>`),Me=n(`<button> <span class="ml-1 text-[9px] text-muted-foreground"> </span></button>`),Ne=n(`<section class="space-y-1.5" aria-label="Default mode"><span class="text-[11px] font-medium text-muted-foreground">Default mode</span> <div class="grid grid-cols-2 gap-1.5"></div></section> <section class="space-y-1.5" aria-label="Behavior"><span class="text-[11px] font-medium text-muted-foreground">Behavior</span> <div class="space-y-1"><span class="text-[10px] text-muted-foreground">LLM preset</span> <div class="flex gap-1.5"></div></div> <div class="space-y-1"><span class="text-[10px] text-muted-foreground">Approval policy</span> <div class="flex gap-1.5"></div></div> <div class="space-y-1" aria-label="Busy Enter"><span class="text-[10px] text-muted-foreground">Busy Enter — what a plain Enter does while the agent is working</span> <div class="flex gap-1.5"></div></div></section>`,1),Pe=n(`<div class="text-xs text-muted-foreground">Loading…</div>`),Fe=n(`<div class="flex items-center justify-between gap-2 text-xs text-muted-foreground">Agent settings unavailable <!></div>`),Ie=n(`<div class="text-xs text-destructive" role="alert"> </div>`),Le=n(`<div class="space-y-4"><div><h3 class="text-sm font-medium">Agent</h3> <p class="mt-0.5 text-[11px] text-muted-foreground">Defaults for new sessions; the panel header switches an existing session's mode.</p></div> <!> <!></div>`);function Re(n,i){r(i,!0);let s=A(null),c=[`deterministic`,`live`],l=[`ask`,`never`],d=[{mode:`queue`,label:`Queue`,hint:`after the current turn`},{mode:`steer`,label:`Steer`,hint:`into the current turn`}],h=w(()=>$.view);async function _(e){let t=await Te(e);t&&(t.outcome===`rejected`?C(s,`${t.code}: ${t.detail}`):t.outcome===`error`?C(s,t.message,!0):C(s,null))}var v=Le(),y=O(N(v),2),b=n=>{var r=Ne(),i=L(r),s=O(N(i),2);e(s,21,()=>J,e=>e.id,(e,n)=>{var r=Ae(),i=N(r),s=x(i,!0),c=O(i,2),l=x(c,!0);t(r),j(()=>{B(r,1,`rounded-md border p-2 text-left transition-colors ${g(h).settings.defaultMode===g(n).id?`border-primary bg-primary/10`:`border-border hover:bg-muted`}`),k(r,`aria-pressed`,g(h).settings.defaultMode===g(n).id),r.disabled=$.updating,a(s,g(n).label),a(l,g(n).description)}),o(`click`,r,()=>void _({defaultMode:g(n).id})),f(e,r)}),t(s),t(i);var u=O(i,2),p=O(N(u),2),m=O(N(p),2);e(m,20,()=>c,e=>e,(e,t)=>{var n=je(),r=x(n,!0);j(()=>{B(n,1,`flex-1 rounded-md border px-2 py-1 transition-colors ${g(h).settings.preset===t?`border-primary bg-primary/10 text-primary`:`border-border hover:bg-muted`}`),k(n,`aria-pressed`,g(h).settings.preset===t),n.disabled=$.updating,a(r,t)}),o(`click`,n,()=>void _({preset:t})),f(e,n)}),t(m),t(p);var v=O(p,2),y=O(N(v),2);e(y,20,()=>l,e=>e,(e,t)=>{var n=je(),r=x(n,!0);j(()=>{B(n,1,`flex-1 rounded-md border px-2 py-1 transition-colors ${g(h).settings.permissions.approvalPolicy===t?`border-primary bg-primary/10 text-primary`:`border-border hover:bg-muted`}`),k(n,`aria-pressed`,g(h).settings.permissions.approvalPolicy===t),n.disabled=$.updating,a(r,t)}),o(`click`,n,()=>void _({permissions:{approvalPolicy:t}})),f(e,n)}),t(y),t(v);var b=O(v,2),S=O(N(b),2);e(S,21,()=>d,e=>e.mode,(e,n)=>{var r=Me(),i=N(r),s=O(i),c=x(s,!0);t(r),j(()=>{B(r,1,`flex-1 rounded-md border px-2 py-1 transition-colors ${_e.mode===g(n).mode?`border-primary bg-primary/10 text-primary`:`border-border hover:bg-muted`}`),k(r,`aria-pressed`,_e.mode===g(n).mode),a(i,`${g(n).label??``} `),a(c,g(n).hint)}),o(`click`,r,()=>ge(g(n).mode)),f(e,r)}),t(S),t(b),t(u),f(n,r)},S=e=>{var t=Pe();f(e,t)},T=e=>{var n=Fe(),r=O(N(n));me(r,{size:`sm`,class:`h-7 px-2.5 text-xs`,onclick:()=>void Ce(),children:(e,t)=>{E();var n=m(`Retry`);f(e,n)},$$slots:{default:!0}}),t(n),f(e,n)};u(y,e=>{g(h)?e(b):$.loading?e(S,1):e(T,-1)});var D=O(y,2),M=e=>{var t=Ie(),n=x(t,!0);j(()=>a(n,g(s))),f(e,t)};u(D,e=>{g(s)&&e(M)}),t(v),f(n,v),p()}h([`click`]);var ze=new Set([`$$slots`,`$$events`,`$$legacy`]);function Be(e,t){let n=M(t,ze),r=[[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`}],[`path`,{d:`m2 22 3-3`}],[`path`,{d:`M7.5 13.5 10 11`}],[`path`,{d:`M10.5 16.5 13 14`}],[`path`,{d:`m18 3-4 4h6l-4 4`}]];H(e,I({name:`plug-zap`},()=>n,{get iconNode(){return r}}))}var Ve=new Set([`$$slots`,`$$events`,`$$legacy`]);function He(e,t){let n=M(t,Ve),r=[[`path`,{d:`M12 22v-5`}],[`path`,{d:`M15 8V2`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`}],[`path`,{d:`M9 8V2`}]];H(e,I({name:`plug`},()=>n,{get iconNode(){return r}}))}var Ue=n(`<p class="text-[10px] text-destructive" role="alert"> </p>`),We=n(`<p class="text-[10px] text-muted-foreground">The panel reconnects automatically; keep the daemon running via the tray or the <code class="rounded bg-muted px-1 font-mono">skill-creator start</code> command.</p>`),Ge=n(`<div class="space-y-4"><div><h3 class="text-sm font-medium">General</h3> <p class="mt-0.5 text-[11px] text-muted-foreground">Shell-level state of this Skill Creator instance.</p></div> <section class="space-y-1.5" aria-label="Daemon connection"><span class="text-[11px] font-medium text-muted-foreground">Daemon connection</span> <div class="flex items-center gap-2 rounded-md border border-border bg-background/60 p-2.5"><!> <span> </span></div> <!></section></div>`);function Ke(e,n){r(n,!0);let i=w(()=>{switch(Z.status){case`connected`:return`Connected`;case`connecting`:return`Connecting…`;case`disconnected`:return`Disconnected`;default:return`Idle`}});var o=Ge(),s=O(N(o),2),c=O(N(s),2),l=N(c),d=e=>{Be(e,{class:`h-4 w-4 text-primary`})},m=e=>{{let t=w(()=>Z.status===`disconnected`?`text-destructive`:`text-muted-foreground`);He(e,{get class(){return`h-4 w-4 ${g(t)??``}`}})}};u(l,e=>{Z.status===`connected`?e(d):e(m,-1)});var h=O(l,2),_=x(h,!0);t(c);var v=O(c,2),y=e=>{var t=Ue(),n=x(t,!0);j(()=>a(n,Z.error)),f(e,t)},b=e=>{var t=We();f(e,t)};u(v,e=>{Z.status===`disconnected`?e(y):e(b,-1)}),t(s),t(o),j(()=>{B(h,1,`text-xs ${Z.status===`connected`?`text-primary`:Z.status===`disconnected`?`text-destructive`:`text-muted-foreground`}`),a(_,g(i))}),f(e,o),p()}var qe=new Set([`$$slots`,`$$events`,`$$legacy`]);function Je(e,t){let n=M(t,qe),r=[[`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`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`}],[`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`}],[`path`,{d:`m2 2 20 20`}]];H(e,I({name:`eye-off`},()=>n,{get iconNode(){return r}}))}var Ye=new Set([`$$slots`,`$$events`,`$$legacy`]);function Xe(e,t){let n=M(t,Ye),r=[[`path`,{d:`M12 3v12`}],[`path`,{d:`m17 8-5-5-5 5`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}]];H(e,I({name:`upload`},()=>n,{get iconNode(){return r}}))}var Ze=n(`<img alt=""/>`),Qe=n(`<span class="flex h-5 w-5 items-center justify-center rounded text-[10px] font-semibold text-white" aria-hidden="true"> </span>`),$e=n(`<span class="flex h-12 w-12 shrink-0 items-center justify-center rounded-md text-base font-semibold text-white" aria-hidden="true"> </span>`),et=n(`<button type="button"><span class="flex h-4 w-4 items-center justify-center rounded" aria-hidden="true"><img alt="" class="h-3.5 w-3.5 object-contain dark:invert"/></span></button>`),tt=n(`<p class="text-[9px] text-muted-foreground">Duplicate catalog icons are merged; hover shows sharing providers.</p>`),nt=n(`<div class="space-y-1"><span class="text-[10px] font-medium text-muted-foreground">Icon</span> <div class="grid grid-cols-7 place-items-center gap-1"><button type="button" title="No icon — letter avatar with the color below (suppresses the catalog icon)" aria-label="No icon (letter avatar)"><span class="flex h-4 w-4 items-center justify-center rounded text-[8px] font-semibold text-white" aria-hidden="true"> </span></button> <!></div> <!></div>`),rt=n(`<button type="button" title="No icon — letter avatar with the color below" aria-label="No icon (letter avatar)"><span class="flex h-4 w-4 shrink-0 items-center justify-center rounded text-[8px] font-semibold text-white" aria-hidden="true"> </span> No icon — use the letter avatar</button>`),it=n(`<button type="button"><span class="h-4 w-4 rounded" aria-hidden="true"></span></button>`),at=n(`<span class="text-[9px] text-destructive" role="alert">invalid hex</span>`),ot=n(`<div class="space-y-1 border-t border-border pt-1.5"><span class="text-[10px] font-medium text-muted-foreground">Avatar color</span> <div class="flex flex-wrap items-center gap-1"><button type="button" title="Auto — deterministic hue from the route name" aria-label="Auto avatar color"><span class="flex h-4 w-4 items-center justify-center rounded text-[8px] font-semibold text-white" aria-hidden="true"> </span></button> <!></div> <div class="flex items-center gap-1"><input aria-label="Avatar color hex" placeholder="#3b82f6"/> <!></div></div>`),st=n(`<div class="space-y-1 border-t border-border pt-1.5"><span class="text-[10px] font-medium text-muted-foreground">Letter</span> <div class="flex items-center gap-1.5"><input class="h-6 w-12 rounded border border-border bg-background px-1.5 text-center text-[11px] font-semibold uppercase outline-none focus:border-primary/60" aria-label="Avatar letter" maxlength="2"/> <button type="button" class="rounded px-1.5 py-0.5 text-[10px] text-muted-foreground transition-colors hover:bg-muted hover:text-foreground" title="Reset to the first letter of the display name">Reset</button></div></div>`),ct=n(`<div class="absolute left-0 top-[calc(100%+4px)] z-30 w-[280px] space-y-2 rounded-lg border border-border bg-popover p-2 text-popover-foreground shadow-md" role="dialog" aria-label="Route icon and avatar choices"><div class="flex items-center gap-2"><!> <div class="min-w-0"><p class="truncate text-xs font-medium"> </p> <p class="text-[10px] text-muted-foreground"> </p></div></div> <!> <div class="flex items-center justify-between gap-2 border-t border-border pt-1.5"><span class="text-[10px] text-muted-foreground">Custom image · ≤64 KiB</span> <button type="button" class="flex h-6 items-center gap-1 rounded px-1.5 text-[10px] hover:bg-muted"><!> Upload</button></div> <input type="file" accept=".svg,.png,.webp" class="hidden" aria-label="Upload custom icon"/> <!> <!></div>`),lt=n(`<div class="relative shrink-0"><button type="button" aria-label="Change route icon"><!> <span class="absolute bottom-0 right-0 hidden bg-background p-px text-foreground group-hover:block" aria-hidden="true"><!></span></button> <!></div>`);function ut(n,i){r(i,!0);let c=v(i,`icon`,3,null),l=v(i,`label`,3,``),d=v(i,`catalogIcons`,19,()=>[]),m=v(i,`disabled`,3,!1),h=[`#ef4444`,`#f59e0b`,`#10b981`,`#06b6d4`,`#3b82f6`,`#8b5cf6`,`#f43f5e`,`#64748b`],_=/^#(?:[0-9a-f]{3}|[0-9a-f]{6})$/i,T=A(!1),M=A(null),I=A(null),L=A(``),R=A(``),z=A(!1);F(()=>{C(L,i.letter,!0)});let ee=w(()=>{let e=new Map;for(let t of d()){let n=e.get(t.icon);n?n.providers.push(t.provider):e.set(t.icon,{icon:t.icon,providers:[t.provider]})}let t=[...e.values()];return t.sort((e,t)=>+!e.providers.includes(i.provider)-!t.providers.includes(i.provider)||e.providers[0].localeCompare(t.providers[0])),t}),V=w(()=>d().some(e=>e.provider===i.provider));function H(e){m()||(i.onPick(e),C(T,!1))}function U(){if(i.onLetter===void 0||m())return;let e=g(L).trim();if(e.length===0||e===i.letter){C(L,i.letter,!0);return}i.onLetter(e.slice(0,2))}function W(){i.onLetter===void 0||m()||(i.onLetter(void 0),C(L,i.letter,!0))}function G(){if(i.onColor===void 0||m())return;let e=g(R).trim();if(e.length===0){C(z,!1);return}if(!_.test(e)){C(z,!0);return}C(z,!1),C(R,``),i.onColor(e.toLowerCase())}function K(e){let t=e.currentTarget;if(!(t instanceof HTMLInputElement))return;let n=t.files?.[0];if(t.value=``,!n)return;let r=n.name.split(`.`).pop()?.toLowerCase()??``,i=ce[r]??``;if(i.length===0){pe(`Unsupported icon type “${n.type||r||n.name}” — use .svg, .png or .webp.`);return}let a=new FileReader;a.onerror=()=>{pe(`Could not read “${n.name}” — try another file.`)},a.onload=()=>{let e=typeof a.result==`string`?a.result:``;if(e.length===0){pe(`Could not read “${n.name}” — try another file.`);return}let t=e.startsWith(`data:${i}`)?e:se(e,i);if(t===null){pe(`Could not read “${n.name}” as an image.`);return}if(t.length>65536){pe(`Icon too large — pick an image under 64 KiB.`);return}H(t)},a.readAsDataURL(n)}var q=lt();s(`keydown`,y,e=>{g(T)&&e.key===`Escape`&&C(T,!1)}),s(`pointerdown`,y,e=>{g(T)&&g(M)&&!g(M).contains(e.target)&&C(T,!1)});var J=N(q),Y=N(J),X=e=>{var t=Ze();j(e=>{k(t,`src`,c()),B(t,1,`h-5 w-5 object-contain ${e??``}`)},[()=>ie(c())?``:`dark:invert`]),f(e,t)},te=e=>{var t=Qe(),n=x(t,!0);j(()=>{b(t,`background: ${i.color??``}`),a(n,i.letter)}),f(e,t)};u(Y,e=>{c()?e(X):e(te,-1)});var Z=O(Y,2),ne=N(Z);de(ne,{class:`h-2.5 w-2.5`}),t(Z),t(J);var re=O(J,2),ae=n=>{var r=ct(),d=N(r),p=N(d),_=e=>{var t=Ze();j(e=>{k(t,`src`,c()),B(t,1,`h-12 w-12 shrink-0 object-contain ${e??``}`)},[()=>ie(c())?``:`dark:invert`]),f(e,t)},v=e=>{var t=$e(),n=x(t,!0);j(()=>{b(t,`background: ${i.color??``}`),a(n,i.letter)}),f(e,t)};u(p,e=>{c()?e(_):e(v,-1)});var y=O(p,2),w=N(y),A=x(w,!0),M=O(w,2),F=x(M,!0);t(y),t(d);var q=O(d,2),J=n=>{var r=nt(),s=O(N(r),2),l=N(s),d=N(l),p=x(d,!0);t(l);var m=O(l,2);e(m,17,()=>g(ee),e=>e.icon,(e,n)=>{var r=et(),a=N(r),s=x(a);t(r),j((e,t)=>{B(r,1,`flex h-6 w-6 items-center justify-center rounded ${c()===g(n).icon?`border border-primary/60 bg-primary/5`:`hover:bg-muted`}`),k(r,`title`,e),k(r,`aria-label`,`Use icon shared by ${t??``}`),b(a,`background: color-mix(in srgb, ${i.color??``} 18%, transparent)`),k(s,`src`,g(n).icon)},[()=>g(n).providers.join(`, `),()=>g(n).providers.length>1?g(n).providers.join(`, `):g(n).providers[0]]),o(`click`,r,()=>H(g(n).icon)),f(e,r)}),t(s);var h=O(s,2),_=e=>{var t=tt();f(e,t)};u(h,e=>{g(V)&&e(_)}),t(r),j(e=>{B(l,1,`flex h-6 w-6 items-center justify-center rounded border ${c()===null?`border-primary/50 bg-primary/5`:`border-border hover:bg-muted`}`),b(d,`background: ${i.color??``}`),a(p,e)},[()=>i.letter.slice(0,1)]),o(`click`,l,()=>{if(i.onSuppress!==void 0){i.onSuppress(),C(T,!1);return}H(void 0)}),f(n,r)},Y=e=>{var n=rt(),r=N(n),s=x(r,!0);E(),t(n),j(e=>{B(n,1,`flex w-full items-center gap-2 rounded px-1 py-0.5 text-[10px] transition-colors hover:bg-muted ${c()===null?`text-primary`:`text-muted-foreground`}`),b(r,`background: ${i.color??``}`),a(s,e)},[()=>i.letter.slice(0,1)]),o(`click`,n,()=>H(void 0)),f(e,n)};u(q,e=>{g(ee).length>0?e(J):e(Y,-1)});var X=O(q,2),te=O(N(X),2);Xe(N(te),{class:`h-3 w-3`}),E(),t(te),t(X);var Z=O(X,2);D(Z,e=>C(I,e),()=>g(I));var ne=O(Z,2),re=n=>{var r=ot(),c=O(N(r),2),l=N(c),d=N(l),p=x(d,!0);t(l);var _=O(l,2);e(_,16,()=>h,e=>e,(e,t)=>{var n=it(),r=x(n);j(e=>{B(n,1,`flex h-6 w-6 items-center justify-center rounded border ${e??``}`),k(n,`title`,t),k(n,`aria-label`,`Avatar color ${t??``}`),b(r,`background: ${t??``}`)},[()=>i.color.toLowerCase()===t?`border-primary/60 bg-primary/5`:`border-border hover:bg-muted`]),o(`click`,n,()=>i.onColor?.(t)),f(e,n)}),t(c);var v=O(c,2),y=N(v);P(y);var w=O(y,2),T=e=>{var t=at();f(e,t)};u(w,e=>{g(z)&&e(T)}),t(v),t(r),j((e,t,n)=>{B(l,1,`flex h-6 w-6 items-center justify-center rounded border ${e??``}`),b(d,`background: ${t??``}`),a(p,n),B(y,1,`h-6 w-24 rounded border bg-background px-1.5 font-mono text-[10px] outline-none focus:border-primary/60 ${g(z)?`border-destructive`:`border-border`}`),y.disabled=m()},[()=>i.color===Q(i.provider)?`border-primary/50 bg-primary/5`:`border-border hover:bg-muted`,()=>Q(i.provider),()=>i.letter.slice(0,1)]),o(`click`,l,()=>i.onColor?.(void 0)),s(`blur`,y,()=>G()),o(`keydown`,y,e=>{e.key===`Enter`&&G()}),S(y,()=>g(R),e=>C(R,e)),f(n,r)};u(ne,e=>{i.onColor!==void 0&&e(re)});var ae=O(ne,2),oe=e=>{var n=st(),r=O(N(n),2),i=N(r);P(i);var a=O(i,2);t(r),t(n),j(()=>i.disabled=m()),s(`blur`,i,()=>U()),o(`keydown`,i,e=>{e.key===`Enter`&&U()}),S(i,()=>g(L),e=>C(L,e)),o(`click`,a,W),f(e,n)};u(ae,e=>{i.onLetter!==void 0&&e(oe)}),t(r),j(e=>{a(A,l()||i.provider),a(F,e)},[()=>c()?ie(c())?`Legacy letter avatar`:`Icon override`:`Letter avatar`]),o(`click`,te,()=>g(I)?.click()),o(`change`,Z,K),f(n,r)};u(re,e=>{g(T)&&e(ae)}),t(q),D(q,e=>C(M,e),()=>g(M)),j(()=>{B(J,1,`group relative flex h-7 w-7 items-center justify-center overflow-hidden rounded-md border border-border bg-background transition-colors hover:border-primary/50 ${m()?`pointer-events-none opacity-50`:``}`),k(J,`aria-expanded`,g(T)),J.disabled=m()}),o(`click`,J,()=>C(T,!g(T))),f(n,q),p()}h([`click`,`change`,`keydown`]);var dt=n(`<span class="flex items-center gap-1 rounded bg-muted px-1.5 py-0.5 text-[10px]"> <button type="button" class="rounded px-0.5 text-muted-foreground hover:text-destructive">×</button></span>`),ft=n(`<span class="shrink-0 rounded bg-primary/10 px-1 text-[9px] text-primary">vision</span>`),pt=n(`<li><button role="option"><span class="min-w-0 flex-1 truncate"> <span class="text-muted-foreground"> </span></span> <!></button></li>`),mt=n(`<ul class="absolute z-10 mt-1 max-h-44 w-full overflow-y-auto rounded-md border border-border bg-popover p-1 text-xs shadow-md" role="listbox" aria-label="Model suggestions"></ul>`),ht=n(`<div class="relative"><div class="flex min-h-8 flex-wrap items-center gap-1 rounded-md border border-border bg-background px-1.5 py-1 text-xs focus-within:border-primary/60" role="group" aria-label="Model ids"><input class="order-last h-6 min-w-24 flex-1 bg-transparent text-xs outline-none"/> <!></div> <!></div>`);function gt(n,i){r(i,!0);let c=v(i,`placeholder`,3,`Add model…`),l=v(i,`disabled`,3,!1),d=A(``),m=A(!1),h=A(0),_=w(()=>{let e=g(d).trim().toLowerCase(),t=i.candidates.filter(e=>!i.selected.includes(e.id));return e.length===0?t.slice(0,8):t.filter(t=>t.id.toLowerCase().includes(e)||(t.name??``).toLowerCase().includes(e)).slice(0,8)});function y(e){let t=e.trim();if(t.length===0||i.selected.includes(t)){C(d,``);return}i.onchange([...i.selected,t]),C(d,``),C(m,!1)}function b(e){i.onchange(i.selected.filter(t=>t!==e))}function T(e){if(e.key===`Escape`){C(m,!1);return}if(e.key===`ArrowDown`&&g(_).length>0){e.preventDefault(),C(m,!0),C(h,Math.min(g(h)+1,g(_).length-1),!0);return}if(e.key===`ArrowUp`&&g(_).length>0){e.preventDefault(),C(h,Math.max(g(h)-1,0),!0);return}if(e.key===`Enter`||e.key===`,`){e.preventDefault(),g(m)&&g(_)[g(h)]&&g(d).trim().length>0?y(g(_)[g(h)].id):g(d).trim().length>0&&y(g(d));return}e.key===`Backspace`&&g(d).length===0&&i.selected.length>0&&i.onchange(i.selected.slice(0,-1))}var E=ht(),D=N(E),M=N(D);P(M);var F=O(M,2);e(F,16,()=>i.selected,e=>e,(e,n)=>{var r=dt(),i=N(r),s=O(i);t(r),j(()=>{a(i,`${n??``} `),k(s,`aria-label`,`Remove ${n??``}`),s.disabled=l()}),o(`click`,s,()=>b(n)),f(e,r)}),t(D);var I=O(D,2),L=n=>{var r=mt();e(r,23,()=>g(_),e=>e.id,(e,n,r)=>{var i=pt(),c=N(i),l=N(c),d=N(l),p=O(d),m=x(p);t(l);var _=O(l,2),v=e=>{var t=ft();f(e,t)};u(_,e=>{g(n).image&&e(v)}),t(c),t(i),j(()=>{B(c,1,`flex w-full items-center gap-2 rounded px-1.5 py-1 text-left ${g(r)===g(h)?`bg-accent`:``} hover:bg-accent`),k(c,`aria-selected`,g(r)===g(h)),a(d,`${g(n).name??g(n).id??``} `),a(m,`(${g(n).id??``})`)}),o(`mousedown`,c,e=>e.preventDefault()),o(`click`,c,()=>y(g(n).id)),s(`focus`,c,()=>C(h,g(r),!0)),f(e,i)}),t(r),f(n,r)};u(I,e=>{g(m)&&g(_).length>0&&e(L)}),t(E),j(()=>{k(M,`placeholder`,c()),M.disabled=l()}),o(`keydown`,M,T),s(`focus`,M,()=>{C(m,!0),C(h,0)}),o(`input`,M,()=>{C(m,!0),C(h,0)}),s(`blur`,M,()=>setTimeout(()=>C(m,!1),120)),S(M,()=>g(d),e=>C(d,e)),f(n,E),p()}h([`keydown`,`input`,`click`,`mousedown`]);function _t(e){return e.split(/[-_]+/).filter(e=>e.length>0).map(e=>/^[a-z]{1,3}$/.test(e)?e.toUpperCase():e.slice(0,1).toUpperCase()+e.slice(1)).join(` `)}function vt(e){if(!Number.isSafeInteger(e)||e<=0)return String(e);if(e%1048576==0)return`${e/1048576}M`;if(e>=1024){let t=e/1024;return`${Number.isInteger(t)?t.toString():t.toFixed(1)}k`}return String(e)}function yt(e){return e.includes(`/`)||e.includes(`@`)}function bt(e){return{id:e.id,...e.name===void 0?{}:{name:e.name},image:e.image,...e.contextWindow===void 0?{}:{contextWindow:e.contextWindow},...e.supportsReasoningEffort===void 0?{}:{supportsReasoningEffort:e.supportsReasoningEffort},...e.inputTypes===void 0?{}:{inputTypes:[...e.inputTypes]},...e.maxOutputTokens===void 0?{}:{maxOutputTokens:e.maxOutputTokens},...e.effortTiers===void 0?{}:{effortTiers:[...e.effortTiers]}}}var xt=(e,t)=>e.id<t.id?-1:+(e.id>t.id);function St(e,t=``){let n=new Map,r=new Map;for(let i of e?.providers??[]){let e=i.provider===t;for(let t of i.models)if(e)n.has(t.id)||n.set(t.id,bt(t)),r.delete(t.id);else if(!n.has(t.id)&&!r.has(t.id)){if(yt(t.id))continue;r.set(t.id,bt(t))}}return[...n.values()].sort(xt).concat([...r.values()].sort(xt))}var Ct=[`minimal`,`low`,`medium`,`high`,`xhigh`,`max`],wt=[`low`,`high`,`max`],Tt=`Catalog marks this model as not supporting reasoning effort`;function Et(e,t){if(t?.supportsReasoningEffort===!1)return{candidates:[],hint:Tt};let n=new Set(Ct);for(let e of t?.effortTiers??[]){let t=e.trim();t.length>0&&n.add(t)}for(let t of e)for(let e of t.efforts??[]){let t=e.trim();t.length>0&&n.add(t)}return{candidates:[...n].sort((e,t)=>e<t?-1:+(e>t)),hint:null}}function Dt(e){return{id:e.id,...e.name===void 0?{}:{name:e.name},...e.contextWindow===void 0?{}:{contextWindow:e.contextWindow},...e.maxOutputTokens===void 0?{}:{maxOutputTokens:e.maxOutputTokens},inputTypes:e.inputTypes??(e.image?[`text`,`image`]:[`text`]),outputTypes:[`text`],efforts:[...wt]}}var Ot=n(`<span class="h-1.5 w-1.5 shrink-0 rounded-full bg-amber-500" title="Unsaved changes" aria-label="Unsaved changes"></span>`),kt=n(`<span data-header-status="true"><!></span>`),At=n(`<option> </option>`),jt=n(`<p class="text-[10px] text-muted-foreground" role="note"> </p>`),Mt=n(`<p class="text-[10px] text-destructive" role="alert">Invalid token value — use numbers, or shorthand like 253k / 0.5M.</p>`),Nt=n(`<button type="button"> </button>`),Pt=n(`<div class="grid grid-cols-2 gap-1.5"><label class="min-w-0 space-y-0.5"><span class="text-[10px] text-muted-foreground">Model id</span> <!> <datalist></datalist></label> <label class="min-w-0 space-y-0.5"><span class="text-[10px] text-muted-foreground">Name</span> <!></label></div> <div class="block space-y-0.5"><span class="text-[10px] text-muted-foreground">Efforts</span> <!> <!></div> <div class="grid grid-cols-2 gap-1.5"><label class="min-w-0 space-y-0.5"><span class="text-[10px] text-muted-foreground">Context window</span> <!></label> <label class="min-w-0 space-y-0.5"><span class="text-[10px] text-muted-foreground">Max output tokens</span> <!></label></div> <!> <div class="flex flex-wrap items-center justify-between gap-2"><div class="flex flex-wrap items-center gap-1"><span class="text-[10px] text-muted-foreground">Inputs:</span> <span class="rounded bg-primary px-1.5 py-0.5 text-[10px] font-medium text-primary-foreground" title="Text is always required" data-input-chip="text">text</span> <!></div> <div class="flex items-center gap-1"><span class="text-[10px] text-muted-foreground">Outputs:</span> <span class="rounded bg-primary px-1.5 py-0.5 text-[10px] font-medium text-primary-foreground" title="Text output is always required" data-output-chip="text">text</span> <button type="button" title="Image output (image-generation models)" data-output-chip="image">image</button></div></div> <div class="flex items-center justify-between gap-2 border-t border-border pt-1.5"><span data-form-status="true"><!></span> <span class="flex shrink-0 items-center gap-1.5"><!> <!></span></div>`,1),Ft=n(`<div class="space-y-1.5 rounded-md border border-border p-2"><div class="flex items-center justify-between gap-2"><div class="flex min-w-0 flex-1 items-center gap-1.5"><!> <span class="min-w-0 truncate text-xs font-medium" data-header-name="true"> </span> <!></div> <div class="flex shrink-0 items-center"><button type="button" class="flex h-11 w-11 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground disabled:pointer-events-none disabled:opacity-50"><!></button> <button type="button" class="flex h-11 w-11 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground disabled:pointer-events-none disabled:opacity-50"><!></button> <button type="button" class="flex h-11 w-11 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-destructive disabled:pointer-events-none disabled:opacity-50" title="Remove model"><!></button></div></div> <!></div>`);function It(n,i){r(i,!0);let s=v(i,`routeModels`,19,()=>[]),c=v(i,`provider`,3,``),l=v(i,`formKey`,3,``),d=v(i,`disabled`,3,!1),h=v(i,`dirty`,3,!1),_=v(i,`initialExpanded`,3,!1),y=w(()=>l().trim().length>0),b=[`image`,`video`,`pdf`],S=`model-id-candidates-${crypto.randomUUID()}`,T=A(R(i.model.id)),D=A(R(i.model.name??_t(i.model.id))),M=A(R(i.model.contextWindow===void 0?``:vt(i.model.contextWindow))),P=A(R(i.model.maxOutputTokens===void 0?``:vt(i.model.maxOutputTokens))),I=A(!1),z=A(!1),ee=A(R((i.model.outputTypes??[]).includes(`image`))),V=A(!1),H=A(!1),U=A(!1),W=A(!1),G=A(!1),K=A(!1),q=A(null),J=A(R(i.model.id)),X=A(``),te=A(R(_())),Z=w(()=>g(T).trim().length>0),ne=w(()=>g(Z)&&!g(W)&&!g(G)),re=w(()=>new Set(i.model.inputTypes??[`text`])),ie=w(()=>i.candidates.find(e=>e.id===g(T).trim())??null),ae=w(()=>Et(s(),g(ie))),oe=w(()=>g(X).trim()),Q=w(()=>i.model.name??(i.model.id.length>0?_t(i.model.id):`New model`)),se=w(()=>d()||!g(Z)||g(K)||i.api.length===0||i.baseURL.length===0||!g(y)&&!i.apiKeyConfigured&&g(oe).length===0);F(()=>{i.onvalidity(g(ne))});function ce(e){i.onchange({...i.model,...e})}function le(e){C(T,e,!0);let t=e.trim(),n=i.candidates.find(e=>e.id===t),r={id:t};n===void 0?(C(J,null),g(I)||(C(D,_t(t),!0),i.model.name!==void 0&&(r.name=void 0)),!g(V)&&i.model.contextWindow!==void 0&&(C(M,``),r.contextWindow=void 0),!g(H)&&i.model.maxOutputTokens!==void 0&&(C(P,``),r.maxOutputTokens=void 0),!g(z)&&i.model.inputTypes!==void 0&&(r.inputTypes=void 0),!g(ee)&&i.model.outputTypes!==void 0&&(r.outputTypes=void 0)):(t!==g(J)&&(C(I,!1),C(V,!1),C(H,!1),C(z,!1),C(ee,!1),C(U,!1),C(J,t,!0)),g(I)||(C(D,n.name??_t(n.id),!0),r.name=g(D)),g(V)||(n.contextWindow===void 0?i.model.contextWindow!==void 0&&(C(M,``),r.contextWindow=void 0):(C(M,vt(n.contextWindow),!0),r.contextWindow=n.contextWindow)),g(H)||(n.maxOutputTokens===void 0?i.model.maxOutputTokens!==void 0&&(C(P,``),r.maxOutputTokens=void 0):(C(P,vt(n.maxOutputTokens),!0),r.maxOutputTokens=n.maxOutputTokens)),g(z)||(r.inputTypes=n.inputTypes??(n.image?[`text`,`image`]:[`text`])),g(ee)||(r.outputTypes=[`text`]),!g(U)&&i.model.efforts===void 0&&(r.efforts=[...wt])),ce(r)}function ue(e){C(D,e,!0),C(I,!0),ce(e.trim().length>0?{name:e.trim()}:{name:void 0})}function fe(e){let t=g(e===`contextWindow`?M:P).trim(),n=t=>{C(e===`contextWindow`?W:G,t,!0)};if(t.length===0){n(!1),ce(e===`contextWindow`?{contextWindow:void 0}:{maxOutputTokens:void 0});return}let r=Y(t);if(r===null){n(!0);return}n(!1),e===`contextWindow`?(C(M,vt(r),!0),C(V,!0)):(C(P,vt(r),!0),C(H,!0)),ce(e===`contextWindow`?{contextWindow:r}:{maxOutputTokens:r})}function pe(e){C(z,!0);let t=new Set(g(re));t.has(e)?t.delete(e):t.add(e),t.add(`text`),ce({inputTypes:[`text`,...b.filter(e=>t.has(e))]})}let ge=w(()=>new Set(i.model.outputTypes??[`text`]));function _e(e){C(ee,!0);let t=new Set(g(ge));t.has(e)?t.delete(e):t.add(e),t.add(`text`),ce({outputTypes:[`text`,`image`].filter(e=>t.has(e))})}async function ye(){if(g(K)||!g(Z)||!g(y)&&!i.apiKeyConfigured&&g(oe).length===0)return;let e=g(y)?l().trim():i.apiKeyConfigured?null:g(oe);C(K,!0),C(q,null);let t=await ve({api:i.api,baseURL:i.baseURL,modelId:g(T).trim(),...e===null?c().length>0?{provider:c()}:{}:{apiKey:e}});C(K,!1),t!==null&&C(q,t,!0)}var be=Ft(),xe=N(be),Se=N(xe),Ce=N(Se),$=e=>{var t=Ot();f(e,t)};u(Ce,e=>{h()&&e($)});var we=O(Ce,2),Te=x(we,!0),Ee=O(we,2),De=e=>{var n=kt(),r=N(n),i=e=>{var t=m(`testing…`);f(e,t)},o=e=>{var t=m();j(()=>a(t,`ok · ${g(q).latencyMs??``} ms`)),f(e,t)},s=e=>{var t=m();j(()=>a(t,`failed · ${g(q).detail??``}`)),f(e,t)};u(r,e=>{g(K)?e(i):g(q)?.outcome===`ok`?e(o,1):g(q)?.outcome===`failed`&&e(s,2)}),t(n),j(()=>B(n,1,`min-w-0 shrink-0 truncate text-[10px] ${g(q)?.outcome===`ok`?`text-primary`:g(q)?.outcome===`failed`?`text-destructive`:`text-muted-foreground`}`)),f(e,n)};u(Ee,e=>{g(te)||e(De)}),t(Se);var Oe=O(Se,2),Ae=N(Oe);Be(N(Ae),{class:`h-4 w-4`,"aria-hidden":`true`}),t(Ae);var je=O(Ae,2),Me=N(je);de(Me,{class:`h-4 w-4`,"aria-hidden":`true`}),t(je);var Ne=O(je,2),Pe=N(Ne);ke(Pe,{class:`h-4 w-4`,"aria-hidden":`true`}),t(Ne),t(Oe),t(xe);var Fe=O(xe,2),Ie=n=>{var r=Pt(),s=L(r),c=N(s),l=O(N(c),2);he(l,{class:`h-8 font-mono text-xs`,"aria-label":`Model id`,placeholder:`glm-5.3-flash`,get list(){return S},get disabled(){return d()},oninput:e=>le(e.currentTarget.value),get value(){return g(T)},set value(e){C(T,e,!0)}});var p=O(l,2);e(p,21,()=>i.candidates.slice(0,200),e=>e.id,(e,t)=>{var n=At(),r=x(n,!0),i={};j(()=>{a(r,g(t).name??``),i!==(i=g(t).id)&&(n.value=(n.__value=i)??``)}),f(e,n)}),t(p),t(c);var h=O(c,2),_=O(N(h),2);{let e=w(()=>_t(g(T).trim()||i.model.id));he(_,{class:`h-8 text-xs`,"aria-label":`Model name`,get placeholder(){return g(e)},get disabled(){return d()},oninput:e=>ue(e.currentTarget.value),get value(){return g(D)},set value(e){C(D,e,!0)}})}t(h),t(s);var v=O(s,2),A=O(N(v),2);{let e=w(()=>i.model.efforts??[]),t=w(()=>g(ae).candidates.map(e=>({id:e})));gt(A,{get selected(){return g(e)},get candidates(){return g(t)},placeholder:`Add effort (e.g. low)…`,get disabled(){return d()},onchange:e=>{C(U,!0),ce(e.length>0?{efforts:e}:{efforts:void 0})}})}var F=O(A,2),I=e=>{var t=jt(),n=x(t,!0);j(()=>a(n,g(ae).hint)),f(e,t)};u(F,e=>{g(ae).hint!==null&&e(I)}),t(v);var R=O(v,2),z=N(R),ee=O(N(z),2);{let e=w(()=>g(W)?`border-destructive focus-visible:ring-destructive`:``);he(ee,{get class(){return`h-8 text-xs ${g(e)??``}`},"aria-label":`Context window (tokens)`,placeholder:`200k / 0.5M / 131072`,get disabled(){return d()},onblur:()=>fe(`contextWindow`),onkeydown:e=>{e.key===`Enter`&&fe(`contextWindow`)},get value(){return g(M)},set value(e){C(M,e,!0)}})}t(z);var V=O(z,2),H=O(N(V),2);{let e=w(()=>g(G)?`border-destructive focus-visible:ring-destructive`:``);he(H,{get class(){return`h-8 text-xs ${g(e)??``}`},"aria-label":`Max output tokens`,placeholder:`32k / 131072`,get disabled(){return d()},onblur:()=>fe(`maxOutputTokens`),onkeydown:e=>{e.key===`Enter`&&fe(`maxOutputTokens`)},get value(){return g(P)},set value(e){C(P,e,!0)}})}t(V),t(R);var J=O(R,2),Y=e=>{var t=Mt();f(e,t)};u(J,e=>{(g(W)||g(G))&&e(Y)});var te=O(J,2),Z=N(te),ne=O(N(Z),4);e(ne,16,()=>b,e=>e,(e,t)=>{var n=Nt(),r=x(n,!0);j((e,i)=>{B(n,1,`rounded border px-1.5 py-0.5 text-[10px] transition-colors ${e??``}`),k(n,`aria-pressed`,i),n.disabled=d(),a(r,t)},[()=>g(re).has(t)?`border-primary bg-primary text-primary-foreground`:`border-border bg-background text-muted-foreground hover:bg-muted`,()=>g(re).has(t)]),o(`click`,n,()=>pe(t)),f(e,n)}),t(Z);var ie=O(Z,2),oe=O(N(ie),4);t(ie),t(te);var Q=O(te,2),de=N(Q),ve=N(de),be=e=>{var t=m();j(()=>a(t,`ok · ${g(q).latencyMs??``} ms`)),f(e,t)},xe=e=>{var t=m();j(()=>a(t,`failed · ${g(q).detail??``}`)),f(e,t)},Se=e=>{var t=m(`Probing with the route key above (saved on add).`);f(e,t)},Ce=e=>{var t=m(`No saved key for this route — paste one to test (never stored).`);f(e,t)},$=e=>{var t=m(`Probe this endpoint with a minimal request.`);f(e,t)};u(ve,e=>{g(q)?.outcome===`ok`?e(be):g(q)?.outcome===`failed`?e(xe,1):g(y)?e(Se,2):i.apiKeyConfigured?e($,-1):e(Ce,3)}),t(de);var we=O(de,2),Te=N(we),Ee=e=>{he(e,{type:`password`,class:`h-6 w-44 font-mono text-[10px]`,"aria-label":`API key (test only)`,placeholder:`API key (test only)`,autocomplete:`off`,get disabled(){return d()},get value(){return g(X)},set value(e){C(X,e,!0)}})};u(Te,e=>{!i.apiKeyConfigured&&!g(y)&&e(Ee)});var De=O(Te,2);{let e=w(()=>g(y)?`Send a minimal probe with the route key above (saved on add)`:i.apiKeyConfigured?`Send a minimal probe request`:`Send a minimal probe with the pasted key (not saved)`);me(De,{size:`sm`,variant:`outline`,class:`h-6 shrink-0 px-2 text-[10px]`,get disabled(){return g(se)},get title(){return g(e)},onclick:()=>void ye(),children:(e,t)=>{E();var n=m();j(()=>a(n,g(K)?`Testing…`:`Test connection`)),f(e,n)},$$slots:{default:!0}})}t(we),t(Q),j((e,t)=>{k(p,`id`,S),B(oe,1,`rounded border px-1.5 py-0.5 text-[10px] transition-colors ${e??``}`),k(oe,`aria-pressed`,t),oe.disabled=d(),B(de,1,`min-w-0 truncate text-[10px] ${g(q)?.outcome===`ok`?`text-primary`:g(q)?.outcome===`failed`?`text-destructive`:`text-muted-foreground`}`)},[()=>g(ge).has(`image`)?`border-primary bg-primary text-primary-foreground`:`border-border bg-background text-muted-foreground hover:bg-muted`,()=>g(ge).has(`image`)]),o(`click`,oe,()=>_e(`image`)),f(n,r)};u(Fe,e=>{g(te)&&e(Ie)}),t(be),j(()=>{k(be,`aria-label`,`Model ${i.model.id??``}`),k(we,`title`,i.model.id),a(Te,g(Q)),k(Ae,`aria-label`,`Test connection for ${(i.model.id||`new model`)??``}`),k(Ae,`title`,g(y)?`Send a minimal probe with the route key (saved on add)`:i.apiKeyConfigured?`Send a minimal probe request`:`Expand and paste a key to test (not saved)`),Ae.disabled=g(se),k(je,`aria-label`,`Edit model ${(i.model.id||`new model`)??``}`),k(je,`title`,g(te)?`Collapse model form`:`Edit model fields`),je.disabled=d(),k(Ne,`aria-label`,`Remove model ${i.model.id??``}`),Ne.disabled=d()}),o(`click`,Ae,()=>void ye()),o(`click`,je,()=>C(te,!g(te))),o(`click`,Ne,()=>i.onremove()),f(n,be),p()}h([`click`]);var Lt=/^(.*)-(\d+)$/;function Rt(e,t){let n=new Set(t.map(e=>e.provider));if(!n.has(e))return e;let r=1;for(let t of n){if(t===e)continue;let n=Lt.exec(t);if(n===null||n[1]!==e)continue;let i=Number(n[2]);Number.isInteger(i)&&i>r&&(r=i)}return`${e}-${r+1}`}function zt(e){let t=Lt.exec(e);if(t===null)return null;let n=Number(t[2]);return!Number.isInteger(n)||n<2?null:{base:t[1],n}}function Bt(e,t){let n=zt(e.provider);if(n!==null){let e=t?.providers.find(e=>e.provider===n.base);if(e)return`${e.label} (${n.n-1})`}return t?.providers.find(t=>t.provider===e.provider)?.label??e.provider}var Vt=`skill-creator.providerPresets.v1`,Ht=K({provider:W().min(1),label:W().min(1),api:W().min(1).optional(),baseURL:W().min(1),models:G(W().min(1)).min(1),icon:W().min(1).optional(),iconLetter:W().min(1).max(2).optional(),iconColor:W().min(1).optional(),iconSuppressed:re().optional()}),Ut=R({list:[]});function Wt(){if(typeof localStorage>`u`)return[];let e=null;try{e=localStorage.getItem(Vt)}catch{return[]}if(e===null)return[];let t;try{t=JSON.parse(e)}catch{return[]}if(!Array.isArray(t))return[];let n=[];for(let e of t){let t=Ht.safeParse(e);t.success&&n.push(t.data)}return n}function Gt(e){if(!(typeof localStorage>`u`))try{localStorage.setItem(Vt,JSON.stringify(e))}catch{}}function Kt(){return Ut.list=Wt(),Ut.list}function qt(e){let t=Ut.list.filter(t=>t.provider!==e);Ut.list=t,Gt(t)}var Jt=n(`<p class="text-xs text-destructive" role="alert"> </p>`),Yt=n(`<p class="text-[10px] text-destructive" role="alert"> </p>`),Xt=n(`<p class="py-3 text-center text-[10px] text-muted-foreground"> </p>`),Zt=n(`<img alt="" class="h-7 w-7 shrink-0 rounded-md bg-background object-contain p-0.5 dark:invert"/>`),Qt=n(`<span class="flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-[11px] font-semibold text-white" aria-hidden="true"> </span>`),$t=n(`<div class="group relative"><button type="button" class="flex w-full items-center gap-2 rounded-md border border-border p-2 text-left transition-colors hover:border-primary/50 hover:bg-primary/5"><!> <span class="min-w-0 flex-1"><span class="block truncate text-xs font-medium"> </span> <span class="block truncate text-[10px] text-muted-foreground"> </span></span> <span class="mr-0.5 shrink-0 rounded bg-muted px-1 text-[9px] text-muted-foreground"> </span></button> <button type="button" class="absolute right-1 top-1 hidden rounded bg-popover/80 p-0.5 text-muted-foreground hover:text-destructive group-hover:block">×</button></div>`),en=n(`<div class="space-y-1"><span class="text-[10px] font-medium text-muted-foreground">Your presets</span> <div class="grid grid-cols-1 gap-1.5 min-[520px]:grid-cols-2"></div></div>`),tn=n(`<span class="rounded bg-primary/10 px-1 text-[9px] text-primary"> </span>`),nn=n(`<button type="button" class="flex w-full items-center gap-2 rounded-md border border-border p-2 text-left transition-colors hover:border-primary/50 hover:bg-primary/5"><!> <span class="min-w-0 flex-1"><span class="block truncate text-xs font-medium"> </span> <span class="block truncate text-[10px] text-muted-foreground"> </span></span> <span class="mr-0.5 flex shrink-0 items-center gap-1"><!> <span class="rounded bg-muted px-1 text-[9px] text-muted-foreground"> </span></span></button>`),rn=n(`<p class="col-span-full py-3 text-center text-[10px] text-muted-foreground"> </p>`),an=n(`<div class="space-y-2"><!> <div class="space-y-1"><span class="text-[10px] font-medium text-muted-foreground"> </span> <div class="grid grid-cols-1 gap-1.5 min-[520px]:grid-cols-2"><!> <!></div></div></div>`),on=n(`<div class="space-y-2"><div class="flex items-center gap-2"><!> <!> <!></div> <!> <!></div>`),sn=n(`<p class="text-[10px] text-amber-700" role="alert"> </p>`),cn=n(`<p class="text-[10px] text-amber-700" role="alert">Custom route needs a name.</p>`),ln=n(`<p class="text-[10px] text-amber-700" role="alert">Custom route needs an http(s) base URL.</p>`),un=n(`<option> </option>`),dn=n(`<p class="rounded-md border border-dashed p-2 text-center text-[10px] text-muted-foreground">No models yet — add one to enable the route.</p>`),fn=n(`<div class="space-y-3"><div class="flex items-center gap-2"><!> <label class="min-w-0 flex-1 space-y-0.5"><span class="text-[10px] text-muted-foreground">Route name</span> <!></label></div> <!> <label class="block space-y-0.5"><span class="text-[10px] text-muted-foreground">Base URL</span> <!></label> <!> <label class="block space-y-0.5"><span class="text-[10px] text-muted-foreground">API protocol</span> <select class="h-8 w-full rounded-md border border-border bg-background px-2 text-xs" aria-label="API protocol"></select></label> <div class="block space-y-0.5"><span class="text-[10px] text-muted-foreground">API key</span> <div class="relative"><!> <button type="button" class="absolute right-1.5 top-1/2 flex h-6 w-6 -translate-y-1/2 items-center justify-center rounded text-muted-foreground transition-colors after:absolute after:-inset-2.5 after:content-[''] hover:text-foreground disabled:pointer-events-none disabled:opacity-50"><!></button></div></div> <div class="space-y-1.5"><div class="flex items-center justify-between"><span class="text-[10px] font-medium text-muted-foreground">Models</span> <!></div> <!> <div class="space-y-1.5"></div></div> <!> <div class="flex items-center justify-between border-t border-border pt-2"><!> <!></div></div>`);function pn(n,i){r(i,!0);let s=v(i,`seed`,3,null),c=`anthropic-messages`,l=A(R(i.initialMode)),d=A(``),h=A(R(s()?.provider??``)),y=A(void 0),S=A(void 0),D=A(void 0),M=A(void 0),P=A(``),I=A(``),B=A(!1),V=w(()=>g(I).trim()),H=A(c),U=A(R(s()?.models?s().models.map(e=>be(e)):[])),W=A(R(s()?.models?s().models.map(()=>!0):[])),G=A(!1),K=A(!1),q=A(null),J=w(()=>$.view),Y=w(()=>g(J)?.settings.modelRoutes??[]),X=w(()=>(i.catalog?.providers??[]).flatMap(e=>e.icon?[{provider:e.provider,icon:e.icon}]:[])),Z=w(()=>g(h).trim()),ne=w(()=>St(i.catalog,zt(g(Z))?.base??g(Z))),re=w(()=>Bt({provider:g(Z)},i.catalog)),ie=w(()=>ae({provider:g(Z),iconLetter:g(D)},g(re))),oe=w(()=>g(S)??Q(g(Z)||`route`)),se=w(()=>{if(g(M)===!0)return null;if(g(y)!==void 0)return g(y);let e=zt(g(Z))?.base??g(Z);return i.catalog?.providers.find(t=>t.provider===e)?.icon??null}),ce=w(()=>[...g(Y).flatMap(e=>e.models),...g(U)]),le=w(()=>g(Z).length>0&&g(Y).some(e=>e.provider===g(Z))),ue=w(()=>/^https?:\/\//.test(g(P).trim())),de=w(()=>g(W).length===g(U).length&&g(W).every(e=>e)),fe=w(()=>g(Z).length>0&&!g(le)&&g(ue)&&g(U).length>0&&g(de)&&!$.updating),pe=w(()=>g(J)?.providers.some(e=>e.provider===g(Z)&&e.configured)??!1),ge=w(()=>{let e=g(d).trim().toLowerCase(),t=i.catalog?.providers??[];return e.length===0?t:t.filter(t=>t.label.toLowerCase().includes(e)||t.provider.toLowerCase().includes(e)||t.baseURL.toLowerCase().includes(e))}),_e=w(()=>{let e=g(d).trim().toLowerCase();return e.length===0?Ut.list:Ut.list.filter(t=>t.label.toLowerCase().includes(e)||t.provider.toLowerCase().includes(e)||t.baseURL.toLowerCase().includes(e))});function ve(e){return g(Y).filter(t=>t.provider===e||zt(t.provider)?.base===e).length}function be(e){let t=zt(s()?.provider??``)?.base??s()?.provider??``,n=i.catalog?.providers.find(e=>e.provider===t)?.models.find(t=>t.id===e);return n===void 0?{id:e,efforts:[...wt]}:Dt(n)}Kt(),F(()=>{g(l)});function xe(){C(h,``),C(y,void 0),C(S,void 0),C(D,void 0),C(M,void 0),C(P,``),C(H,c),C(U,[],!0),C(W,[],!0),C(l,`form`),C(G,!1),C(K,!1),C(q,null)}async function Se(e){let t=await Te({modelRoutes:[...g(Y),e]});if(t){if(t.outcome===`rejected`){C(q,`${t.code}: ${t.detail}`);return}if(t.outcome===`error`){C(q,t.message,!0);return}i.onadded(e.provider)}}async function Ce(e){$.updating||await Se({provider:Rt(e.provider,g(Y)),baseURL:e.baseURL,api:e.api,models:[...e.models].sort((e,t)=>Number(t.image)-Number(e.image)).slice(0,4).map(e=>Dt(e)),...e.icon?{icon:e.icon}:{}})}async function we(e){$.updating||await Se({provider:Rt(e.provider,g(Y)),baseURL:e.baseURL,api:e.api??c,models:e.models.map(e=>({id:e,efforts:[...wt]})),...e.icon?{icon:e.icon}:{},...e.iconColor?{iconColor:e.iconColor}:{},...e.iconLetter?{iconLetter:e.iconLetter}:{},...e.iconSuppressed?{iconSuppressed:!0}:{}})}function Ee(e,t){C(U,g(U).map((n,r)=>r===e?t:n),!0)}function Oe(e,t){g(W)[e]!==t&&C(W,g(W).map((n,r)=>r===e?t:n),!0)}function ke(e){C(U,g(U).filter((t,n)=>n!==e),!0),C(W,g(W).filter((t,n)=>n!==e),!0)}function Ae(){C(U,[...g(U),{id:``,efforts:[...wt]}],!0),C(W,[...g(W),!1],!0)}async function je(){if(g(fe)){if(g(V).length>0){let e=await ye(g(Z),g(V));if(e==null||e.outcome===`rejected`){C(q,e==null?`Could not save the API key — connection unavailable. The route was not created.`:`${e.code}: ${e.detail}`,!0);return}}await Se({provider:g(Z),baseURL:g(P).trim(),api:g(H),models:g(U).map(e=>({...e})),...g(y)?{icon:g(y)}:{},...g(S)?{iconColor:g(S)}:{},...g(D)?{iconLetter:g(D)}:{},...g(M)?{iconSuppressed:!0}:{}})}}var Me=ee(),Ne=L(Me),Pe=n=>{var r=on(),s=N(r),c=N(s);he(c,{class:`h-8 flex-1 text-xs`,"aria-label":`Search providers`,placeholder:`Search providers…`,ref:null,get value(){return g(d)},set value(e){C(d,e,!0)}});var l=O(c,2),p=e=>{me(e,{size:`sm`,variant:`ghost`,class:`h-8 shrink-0 px-2 text-[11px]`,onclick:()=>i.onclose?.(),children:(e,t)=>{E();var n=m(`Cancel`);f(e,n)},$$slots:{default:!0}})};u(l,e=>{g(Y).length===0&&i.onclose&&e(p)});var h=O(l,2);me(h,{size:`sm`,variant:`ghost`,class:`h-8 shrink-0 px-2 text-[11px]`,onclick:xe,children:(e,t)=>{E();var n=m(`Start from scratch →`);f(e,n)},$$slots:{default:!0}}),t(s);var _=O(s,2),v=e=>{var t=Jt(),n=x(t,!0);j(()=>a(n,g(q))),f(e,t)};u(_,e=>{g(q)&&e(v)});var y=O(_,2),S=e=>{var t=Yt(),n=x(t,!0);j(()=>a(n,i.catalogError)),f(e,t)},T=e=>{var t=Xt(),n=x(t,!0);j(()=>a(n,i.catalogLoading?`Loading catalog…`:`Catalog unavailable.`)),f(e,t)},D=n=>{var r=an(),s=N(r),c=n=>{var r=en(),i=O(N(r),2);e(i,21,()=>g(_e),e=>e.provider,(e,n)=>{var r=$t(),i=N(r),s=N(i),c=e=>{var t=Zt();j(()=>k(t,`src`,g(n).icon)),f(e,t)},l=e=>{var t=Qt(),r=x(t,!0);j((e,n)=>{b(t,`background: ${e??``}`),a(r,n)},[()=>g(n).iconColor??Q(g(n).provider),()=>ae({provider:g(n).provider,iconLetter:g(n).iconLetter},g(n).label)]),f(e,t)};u(s,e=>{g(n).icon?e(c):e(l,-1)});var d=O(s,2),p=N(d),m=x(p,!0),h=O(p,2),_=x(h,!0);t(d);var v=O(d,2),y=x(v,!0);t(i);var S=O(i,2);t(r),j(e=>{k(i,`title`,g(n).baseURL),i.disabled=$.updating,a(m,g(n).label),a(_,e),k(v,`title`,`${g(n).models.length??``} saved models`),a(y,g(n).models.length),k(S,`aria-label`,`Delete preset ${g(n).label??``}`)},[()=>g(n).baseURL.replace(/^https?:\/\//,``)]),o(`click`,i,()=>void we(g(n))),o(`click`,S,()=>qt(g(n).provider)),f(e,r)}),t(i),t(r),f(n,r)};u(s,e=>{g(_e).length>0&&e(c)});var l=O(s,2),p=N(l),m=x(p),h=O(p,2),_=N(h);e(_,17,()=>g(ge),e=>e.provider,(e,n)=>{let r=w(()=>ve(g(n).provider)),i=w(()=>g(r)>0?`${g(n).baseURL} · ${g(n).api} · ${g(r)} copies added — click to add another`:`${g(n).baseURL} · ${g(n).api}`);var s=nn(),c=N(s),l=e=>{var t=Zt();j(()=>k(t,`src`,g(n).icon)),f(e,t)},d=e=>{var t=Qt(),r=x(t,!0);j((e,n)=>{b(t,`background: ${e??``}`),a(r,n)},[()=>Q(g(n).provider),()=>g(n).label.slice(0,1).toUpperCase()]),f(e,t)};u(c,e=>{g(n).icon?e(l):e(d,-1)});var p=O(c,2),m=N(p),h=x(m,!0),_=O(m,2),v=x(_,!0);t(p);var y=O(p,2),S=N(y),C=e=>{var t=tn(),n=x(t);j(()=>{k(t,`title`,`${g(r)??``} cop${g(r)===1?`y`:`ies`} of this provider already added — you can add another`),a(n,`Added ✓${g(r)>1?` ×${g(r)}`:``}`)}),f(e,t)};u(S,e=>{g(r)>0&&e(C)});var T=O(S,2),E=x(T,!0);t(y),t(s),j(e=>{k(s,`title`,g(i)),s.disabled=$.updating,a(h,g(n).label),a(v,e),k(T,`title`,`${g(n).models.length??``} models in catalog`),a(E,g(n).models.length)},[()=>g(n).baseURL.replace(/^https?:\/\//,``)]),o(`click`,s,()=>void Ce(g(n))),f(e,s)});var v=O(_,2),y=e=>{var t=rn(),n=x(t);j(()=>a(n,`No providers match “${g(d)??``}”.`)),f(e,t)};u(v,e=>{g(ge).length===0&&e(y)}),t(h),t(l),t(r),j(()=>a(m,`Catalog (${i.catalog.providers.length??``} providers, from zcode Registry)`)),f(n,r)};u(y,e=>{i.catalogError?e(S):i.catalog===null?e(T,1):e(D,-1)}),t(r),f(n,r)},Fe=n=>{var r=fn(),i=N(r),s=N(i);{let e=w(()=>g(Z)||`route`);ut(s,{get icon(){return g(se)},get letter(){return g(ie)},get color(){return g(oe)},get provider(){return g(e)},get label(){return g(re)},get catalogIcons(){return g(X)},get disabled(){return $.updating},onPick:e=>{C(y,e,!0),C(M,void 0)},onSuppress:()=>C(M,!0),onColor:e=>C(S,e,!0),onLetter:e=>C(D,e,!0)})}var c=O(s,2),d=O(N(c),2);he(d,{class:`h-8 text-xs`,"aria-label":`Route name`,placeholder:`my-provider`,get disabled(){return $.updating},onblur:()=>C(K,!0),get value(){return g(h)},set value(e){C(h,e,!0)}}),t(c),t(i);var p=O(i,2),v=e=>{var t=sn(),n=x(t);j(()=>a(n,`Route “${g(Z)??``}” already exists.`)),f(e,t)},b=e=>{var t=cn();f(e,t)};u(p,e=>{g(le)?e(v):g(K)&&g(Z).length===0&&e(b,1)});var A=O(p,2),F=O(N(A),2);he(F,{class:`h-8 font-mono text-xs`,"aria-label":`Base URL`,placeholder:`https://api.example.com/v1`,get disabled(){return $.updating},onblur:()=>C(G,!0),get value(){return g(P)},set value(e){C(P,e,!0)}}),t(A);var L=O(A,2),R=e=>{var t=ln();f(e,t)};u(L,e=>{g(G)&&!g(ue)&&e(R)});var ee=O(L,2),W=O(N(ee),2);e(W,20,()=>te,e=>e,(e,t)=>{var n=un(),r=x(n,!0),i={};j(()=>{a(r,t),i!==(i=t)&&(n.value=(n.__value=i)??``)}),f(e,n)}),t(W),z(W),t(ee);var J=O(ee,2),Y=O(N(J),2),ae=N(Y);{let e=w(()=>g(B)?`text`:`password`),t=w(()=>g(pe)?`stored — this key overrides for add & test`:`API key`);he(ae,{class:`h-8 pr-9 text-xs`,get type(){return g(e)},autocomplete:`off`,"aria-label":`API key`,get placeholder(){return g(t)},get disabled(){return $.updating},get value(){return g(I)},set value(e){C(I,e,!0)}})}var Q=O(ae,2),de=N(Q),ge=e=>{Je(e,{class:`h-3.5 w-3.5`,"aria-hidden":`true`})},_e=e=>{De(e,{class:`h-3.5 w-3.5`,"aria-hidden":`true`})};u(de,e=>{g(B)?e(ge):e(_e,-1)}),t(Q),t(Y),t(J);var ve=O(J,2),ye=N(ve),be=O(N(ye),2);me(be,{size:`sm`,variant:`ghost`,class:`h-6 px-2 text-[11px]`,get disabled(){return $.updating},onclick:Ae,children:(e,t)=>{E();var n=m(`+ Add model`);f(e,n)},$$slots:{default:!0}}),t(ye);var xe=O(ye,2),Se=e=>{var t=dn();f(e,t)};u(xe,e=>{g(U).length===0&&e(Se)});var Ce=O(xe,2);e(Ce,21,()=>g(U),T,(e,t,n)=>{{let r=w(()=>g(P).trim()),i=w(()=>g(t).id===``);It(e,{get model(){return g(t)},get candidates(){return g(ne)},get routeModels(){return g(ce)},get api(){return g(H)},get baseURL(){return g(r)},get provider(){return g(Z)},get apiKeyConfigured(){return g(pe)},get formKey(){return g(V)},get disabled(){return $.updating},get initialExpanded(){return g(i)},onchange:e=>Ee(n,e),onremove:()=>ke(n),onvalidity:e=>Oe(n,e)})}}),t(Ce),t(ve);var we=O(ve,2),Te=e=>{var t=Jt(),n=x(t,!0);j(()=>a(n,g(q))),f(e,t)};u(we,e=>{g(q)&&e(Te)});var Me=O(we,2),Ne=N(Me);me(Ne,{size:`sm`,variant:`ghost`,class:`h-7 px-2 text-xs`,onclick:()=>C(l,`pick`),children:(e,t)=>{E();var n=m(`Back`);f(e,n)},$$slots:{default:!0}});var Pe=O(Ne,2);{let e=w(()=>!g(fe));me(Pe,{size:`sm`,class:`h-7 px-2.5 text-xs`,get disabled(){return g(e)},onclick:()=>void je(),children:(e,t)=>{E();var n=m(`Create route`);f(e,n)},$$slots:{default:!0}})}t(Me),t(r),j(()=>{W.disabled=$.updating,k(Q,`aria-label`,g(B)?`Hide API key`:`Show API key`),k(Q,`aria-pressed`,g(B)),k(Q,`title`,g(B)?`Hide API key`:`Show API key`),Q.disabled=$.updating}),_(W,()=>g(H),e=>C(H,e)),o(`mousedown`,Q,e=>e.preventDefault()),o(`click`,Q,()=>C(B,!g(B))),f(n,r)};u(Ne,e=>{g(l)===`pick`?e(Pe):e(Fe,-1)}),f(n,Me),p()}h([`click`,`mousedown`]);var mn=n(`<option> </option>`),hn=n(`<p class="text-[11px] font-medium text-primary"> </p>`),gn=n(`<span class="text-[10px] text-amber-700">A route needs at least one model id.</span>`),_n=n(`<div><!></div>`),vn=n(`<p class="text-xs text-destructive" role="alert"> </p>`),yn=n(`<div class="space-y-3"><div class="flex items-start gap-2"><!> <div class="flex min-w-0 flex-1 items-center justify-between gap-2.5" data-route-titlebar="true"><div class="min-w-0"><p class="truncate text-sm font-semibold"> </p> <p class="mt-0.5 truncate text-[10px] text-muted-foreground"> </p></div> <div class="flex shrink-0 items-center gap-2.5"><button type="button" class="relative flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors after:absolute after:-inset-2 after:content-[''] hover:bg-destructive/10 hover:text-destructive disabled:pointer-events-none disabled:opacity-50" aria-label="Remove route" title="Remove route"><!></button> <!></div></div></div> <section class="space-y-1.5 rounded-md border border-border p-2" aria-label="Endpoint"><span class="text-[11px] font-medium text-muted-foreground">Endpoint</span> <div class="flex gap-1.5"><!></div> <label class="block space-y-0.5"><span class="text-[10px] text-muted-foreground">API protocol</span> <select class="h-8 w-full rounded-md border border-border bg-background px-2 text-xs" aria-label="API protocol"></select></label></section> <section class="space-y-1.5 rounded-md border border-border p-2" aria-label="Credential"><!> <div class="flex gap-1.5"><div class="relative min-w-0 flex-1"><!> <button type="button" class="absolute right-1.5 top-1/2 flex h-6 w-6 -translate-y-1/2 items-center justify-center rounded text-muted-foreground transition-colors after:absolute after:-inset-2.5 after:content-[''] hover:text-foreground disabled:pointer-events-none disabled:opacity-50"><!></button></div> <!></div> <span class="text-[10px] text-muted-foreground">Stored locally (0600), shown as typed (password-masked), applies on blur/Enter.</span></section> <section class="space-y-1.5" aria-label="Models"><div class="flex items-center justify-between"><span class="text-[11px] font-medium text-muted-foreground">Models</span> <div class="flex items-center gap-1.5"><!> <!></div></div> <div class="space-y-1.5"></div></section> <!></div>`);function bn(n,i){r(i,!0);let s=v(i,`autoFocusCredential`,3,!1),c=`anthropic-messages`,l=w(()=>$.view),h=w(()=>g(l)?.settings.modelRoutes??[]),y=w(()=>g(h).flatMap(e=>e.models.map(e=>({id:e.id,efforts:e.efforts})))),b=w(()=>i.catalog?.providers.find(e=>e.provider===i.route.provider)),S=w(()=>(i.catalog?.providers??[]).flatMap(e=>e.icon?[{provider:e.provider,icon:e.icon}]:[])),M=w(()=>St(i.catalog,zt(i.route.provider)?.base??i.route.provider)),P=w(()=>le(i.route,g(b))),I=w(()=>Bt(i.route,i.catalog)),L=w(()=>ae(i.route,g(I))),B=w(()=>ue(i.route)),ee=w(()=>g(l)?.providers.some(e=>e.provider===i.route.provider&&e.configured)??!1),V=A(R(i.route.baseURL)),H=A(R(i.route.api??g(b)?.api??c)),U=A(R(i.route.models.map(e=>({...e})))),W=A(R(i.route.models.map(()=>!0))),G=w(()=>g(l)?.providers.find(e=>e.provider===i.route.provider)?.apiKey??null),K=A(R(g(G)??``)),q=A(!1),J=A(R(s())),Y=A(null),X=A(null),Z=A(!1),ne=null,re=[],ie=w(()=>g(V).trim()!==i.route.baseURL||g(H)!==(i.route.api??g(b)?.api??c)),oe=w(()=>JSON.stringify(g(U))!==JSON.stringify(i.route.models)),Q=w(()=>g(W).every(e=>e)),se=w(()=>!(g(ie)||g(oe))||!g(Q)||g(U).length===0||$.updating);F(()=>{s()&&g(Y)!==null&&(g(Y).focus(),i.onCredentialFocused?.())}),F(()=>()=>{ne!==null&&clearTimeout(ne)});async function ce(e){if(g(l)===null)return!1;let t=await Te({modelRoutes:g(h).map(t=>t.provider===i.route.provider?e:t)});return t?t.outcome===`rejected`?(C(X,`${t.code}: ${t.detail}`),!1):t.outcome===`error`?(C(X,t.message,!0),!1):(C(X,null),!0):!1}async function de(e){await ce({...i.route,...e})}async function fe(){let e=g(V).trim();if(!/^https?:\/\//.test(e)){C(X,`Custom route needs an http(s) base URL.`);return}await ce({...i.route,baseURL:e,api:g(H),models:g(U).map(e=>({...e}))})&&(C(Z,!0),ne!==null&&clearTimeout(ne),ne=setTimeout(()=>C(Z,!1),1500))}function pe(e,t){C(U,g(U).map((n,r)=>r===e?t:n),!0)}function ge(e,t){g(W)[e]!==t&&C(W,g(W).map((n,r)=>r===e?t:n),!0)}function _e(e){C(U,g(U).filter((t,n)=>n!==e),!0),C(W,g(W).filter((t,n)=>n!==e),!0)}function ve(e){let t=g(U)[e],n=i.route.models[e];return t===void 0||n===void 0||JSON.stringify(t)!==JSON.stringify(n)}async function be(){C(U,[...g(U),{id:``,efforts:[...wt]}],!0),C(W,[...g(W),!1],!0),await d(),re[re.length-1]?.scrollIntoView({block:`nearest`,behavior:`smooth`})}async function xe(){let e=g(K).trim();if(e.length===0)return;let t=await ye(i.route.provider,e);if(t){if(t.outcome===`rejected`){C(X,`${t.code}: ${t.detail}`);return}C(X,null),C(J,!1)}}async function Se(){await we(i.route.provider),C(K,``)}var Ce=yn(),Ee=N(Ce),Oe=N(Ee);ut(Oe,{get icon(){return g(P)},get letter(){return g(L)},get color(){return g(B)},get provider(){return i.route.provider},get label(){return g(I)},get catalogIcons(){return g(S)},get disabled(){return $.updating},onPick:e=>void de({icon:e,iconSuppressed:!1}),onSuppress:()=>void de({icon:void 0,iconSuppressed:!0}),onColor:e=>void de({iconColor:e}),onLetter:e=>void de({iconLetter:e})});var Ae=O(Oe,2),je=N(Ae),Me=N(je),Ne=x(Me,!0),Pe=O(Me,2),Fe=x(Pe);t(je);var Ie=O(je,2),Le=N(Ie),Re=N(Le);ke(Re,{class:`h-4 w-4`,"aria-hidden":`true`}),t(Le);var ze=O(Le,2);me(ze,{size:`sm`,class:`relative h-9 px-3 text-xs after:absolute after:-top-1 after:-bottom-1 after:left-0 after:right-0 after:content-[''] disabled:opacity-100 disabled:bg-muted disabled:text-muted-foreground`,"data-route-save":`true`,get disabled(){return g(se)},onclick:()=>void fe(),children:(e,t)=>{E();var n=m();j(()=>a(n,g(Z)?`Saved ✓`:`Save`)),f(e,n)},$$slots:{default:!0}}),t(Ie),t(Ae),t(Ee);var Be=O(Ee,2),Ve=O(N(Be),2),He=N(Ve);he(He,{class:`h-8 flex-1 font-mono text-xs`,"aria-label":`Base URL`,placeholder:`https://api.example.com/v1`,get disabled(){return $.updating},get value(){return g(V)},set value(e){C(V,e,!0)}}),t(Ve);var Ue=O(Ve,2),We=O(N(Ue),2);e(We,20,()=>te,e=>e,(e,t)=>{var n=mn(),r=x(n,!0),i={};j(()=>{a(r,t),i!==(i=t)&&(n.value=(n.__value=i)??``)}),f(e,n)}),t(We),z(We),t(Ue),t(Be);var Ge=O(Be,2),Ke=N(Ge),qe=e=>{var t=hn(),n=x(t);j(()=>a(n,`Route “${i.route.provider??``}” added — paste its API key to finish connecting.`)),f(e,t)};u(Ke,e=>{g(J)&&e(qe)});var Ye=O(Ke,2),Xe=N(Ye),Ze=N(Xe);{let e=w(()=>g(q)?`text`:`password`);he(Ze,{class:`h-8 pr-9 font-mono text-xs`,get type(){return g(e)},autocomplete:`off`,"aria-label":`API key`,placeholder:`API key`,get disabled(){return $.updating},onblur:()=>void xe(),onkeydown:e=>{e.key===`Enter`&&(e.preventDefault(),xe())},get ref(){return g(Y)},set ref(e){C(Y,e,!0)},get value(){return g(K)},set value(e){C(K,e,!0)}})}var Qe=O(Ze,2),$e=N(Qe),et=e=>{Je(e,{class:`h-3.5 w-3.5`,"aria-hidden":`true`})},tt=e=>{De(e,{class:`h-3.5 w-3.5`,"aria-hidden":`true`})};u($e,e=>{g(q)?e(et):e(tt,-1)}),t(Qe),t(Xe);var nt=O(Xe,2),rt=e=>{me(e,{size:`sm`,variant:`outline`,class:`relative h-9 px-2.5 text-xs after:absolute after:-top-1 after:-bottom-1 after:left-0 after:right-0 after:content-['']`,get disabled(){return $.updating},onclick:()=>void Se(),children:(e,t)=>{E();var n=m(`Clear`);f(e,n)},$$slots:{default:!0}})};u(nt,e=>{g(ee)&&e(rt)}),t(Ye),E(2),t(Ge);var it=O(Ge,2),at=N(it),ot=O(N(at),2),st=N(ot),ct=e=>{var t=gn();f(e,t)};u(st,e=>{g(U).length===0&&e(ct)});var lt=O(st,2);me(lt,{size:`sm`,variant:`ghost`,class:`h-6 px-2 text-[11px]`,get disabled(){return $.updating},onclick:()=>void be(),children:(e,t)=>{E();var n=m(`+ Add model`);f(e,n)},$$slots:{default:!0}}),t(ot),t(at);var dt=O(at,2);e(dt,21,()=>g(U),T,(e,n,r)=>{var a=_n(),o=N(a);{let e=w(()=>g(V).trim()),t=w(()=>ve(r)),a=w(()=>g(n).id===``);It(o,{get model(){return g(n)},get candidates(){return g(M)},get routeModels(){return g(y)},get api(){return g(H)},get baseURL(){return g(e)},get provider(){return i.route.provider},get apiKeyConfigured(){return g(ee)},get disabled(){return $.updating},get dirty(){return g(t)},get initialExpanded(){return g(a)},onchange:e=>pe(r,e),onremove:()=>_e(r),onvalidity:e=>ge(r,e)})}t(a),D(a,(e,t)=>re[t]=e,e=>re?.[e],()=>[r]),f(e,a)}),t(dt),t(it);var ft=O(it,2),pt=e=>{var t=vn(),n=x(t,!0);j(()=>a(n,g(X))),f(e,t)};u(ft,e=>{g(X)&&e(pt)}),t(Ce),j(e=>{k(Me,`title`,`${g(I)??``} (${i.route.provider??``}) — route name keys the credential mapping; duplicate this route to rename it.`),a(Ne,g(I)),k(Pe,`title`,i.route.baseURL),a(Fe,`${i.route.provider??``} · ${e??``} · ${i.route.models.length??``}
|
|
2
|
-
${i.route.models.length===1?`model`:`models`}`),Le.disabled=$.updating,We.disabled=$.updating,k(Qe,`aria-label`,g(q)?`Hide API key`:`Show API key`),k(Qe,`aria-pressed`,g(q)),k(Qe,`title`,g(q)?`Hide API key`:`Show API key`),Qe.disabled=$.updating},[()=>i.route.baseURL.replace(/^https?:\/\//,``)]),o(`click`,Le,()=>i.onremove?.()),_(We,()=>g(H),e=>C(H,e)),o(`mousedown`,Qe,e=>e.preventDefault()),o(`click`,Qe,()=>C(q,!g(q))),f(n,Ce),p()}h([`click`,`mousedown`]);var xn=n(`<button type="button" class="mt-0.5 shrink-0 rounded bg-amber-500/15 px-1.5 py-0.5 text-[10px] text-amber-700 transition-colors hover:bg-amber-500/25">active outside tabs</button>`),Sn=n(`<p class="text-[10px] text-amber-700"> </p>`),Cn=n(`<span class="absolute -right-1 -top-0.5 h-1 w-1 rounded-full bg-amber-500" title="API key missing"></span>`),wn=n(`<span class="relative inline-flex shrink-0"><span class="flex h-4 w-4 items-center justify-center rounded" aria-hidden="true"><img alt=""/></span> <!></span>`),Tn=n(`<span class="relative inline-flex h-4 w-4 shrink-0 items-center justify-center rounded text-[8px] font-semibold text-white" aria-hidden="true"> <!></span>`),En=n(`<span class="rounded bg-primary/10 px-1 py-px text-[9px] font-medium leading-tight text-primary" title="Active model's route">active</span>`),Dn=n(`<button type="button" role="tab"><!> <span class="max-w-[120px] truncate"> </span> <!></button>`),On=n(`<span class="pointer-events-none absolute inset-y-0 left-0 w-2 bg-gradient-to-r from-background to-transparent" aria-hidden="true"></span>`),kn=n(`<span class="pointer-events-none absolute inset-y-0 right-0 w-2 bg-gradient-to-l from-background to-transparent" aria-hidden="true"></span>`),An=n(`<div class="flex flex-col items-center gap-2.5 rounded-md border border-dashed p-6 text-center"><p class="text-xs font-medium">Add your first model route</p> <p class="max-w-[320px] text-[10px] leading-snug text-muted-foreground">Pick a provider from the catalog (zcode Registry) with its models, or point at any
|
|
3
|
-
custom OpenAI/Anthropic-compatible endpoint.</p> <div class="mt-1 flex gap-2"><!> <!></div></div>`),jn=n(`<div class="flex items-stretch gap-1 border-b border-border"><div class="relative min-w-0 flex-1"><div class="tab-scroll flex h-9 items-stretch overflow-x-auto svelte-1bhnjqt" role="tablist" aria-label="Model routes"></div> <!> <!></div> <button type="button">+ New</button></div> <div class="min-h-0 flex-1 overflow-y-auto pr-0.5"><!></div>`,1),Mn=n(`<div class="text-xs text-muted-foreground">Loading…</div>`),Nn=n(`<div class="text-xs text-muted-foreground">Model settings unavailable</div>`),Pn=n(`<div class="text-xs text-destructive" role="alert"> </div>`),Fn=n(`<div class="flex h-full min-h-0 flex-col space-y-3"><div class="flex items-start justify-between gap-2"><div><h3 class="text-sm font-medium">Model</h3> <p class="mt-0.5 text-[11px] text-muted-foreground">Changes apply immediately to your agent sessions — no restart needed.</p></div> <!></div> <!> <!> <!> <!></div> <!>`,1);function In(n,i){r(i,!0);let l=A(null),h=A(!1),_=A(`pick`),v=A(null),y=A(0),S=A(null),T=A(null),M=A(!1),P=A(!1),I=A(null),z=A(null),V=A(null),H=A(!1),U=ne(q),W=w(()=>$.view),G=w(()=>g(W)?.settings.modelRoutes??[]),K=w(()=>g(G).find(e=>e.provider===g(l))),J=w(()=>g(W)!==null&&!g(G).some(e=>e.provider===g(W).settings.model.provider));F(()=>{g(h)||(g(l)!==null&&!g(G).some(e=>e.provider===g(l))&&C(l,null),g(l)===null&&g(G).length>0&&C(l,g(G)[0].provider,!0))}),F(()=>{g(z)===null&&g(V)===null&&!g(H)&&Y()});async function Y(){let e=U.issue();C(H,!0);try{let t=X();if(!t){C(V,`daemon not connected`);return}let n=await t.agent.models.catalog({});if(!e.isCurrent())return;C(z,n,!0),C(V,null)}catch(t){if(!e.isCurrent())return;C(V,t instanceof Error?t.message:String(t),!0)}finally{e.isCurrent()&&C(H,!1)}}async function te(e){let t=await Te(e);return t?t.outcome===`rejected`?(C(I,`${t.code}: ${t.detail}`),!1):t.outcome===`error`?(C(I,t.message,!0),!1):(C(I,null),!0):!1}function Z(e,t=null){C(v,t,!0),C(_,e,!0),C(y,g(y)+1),C(h,!0),C(l,null)}async function re(e){C(h,!1),C(l,e,!0),C(S,e,!0),await d(),pe[e]?.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:`smooth`})}function oe(){g(W)&&Z(`form`,{provider:g(W).settings.model.provider,models:[g(W).settings.model.model]})}function Q(e){e&&(C(T,e,!0),C(M,!0))}async function se(){let e=g(T);if(e===null)return;C(P,!0);let t=await te({modelRoutes:g(G).filter(t=>t.provider!==e)});C(P,!1),t&&(C(M,!1),C(T,null))}let ce=A(null),de=A(!1),fe=A(!1),pe=R({});function he(){let e=g(ce);if(!e){C(de,!1),C(fe,!1);return}C(de,e.scrollLeft>0),C(fe,e.scrollLeft+e.clientWidth<e.scrollWidth-1)}F(()=>{let e=g(ce);if(!e)return;let t=t=>{Math.abs(t.deltaY)<=Math.abs(t.deltaX)||e.scrollWidth<=e.clientWidth||(e.scrollLeft+=t.deltaY,t.preventDefault())};e.addEventListener(`wheel`,t,{passive:!1});let n=new ResizeObserver(()=>he());return n.observe(e),he(),()=>{e.removeEventListener(`wheel`,t),n.disconnect()}}),F(()=>{g(G).length,g(z),he()});function ge(e,t){if(g(G).length!==0){if(e.key===`ArrowLeft`||e.key===`ArrowRight`){e.preventDefault();let n=(t+(e.key===`ArrowLeft`?-1:1)+g(G).length)%g(G).length;pe[g(G)[n].provider]?.focus()}else e.key===`Delete`&&(e.preventDefault(),Q(g(G)[t]?.provider))}}var _e=Fn(),ve=L(_e),ye=N(ve),be=O(N(ye),2),xe=e=>{var t=xn();j(()=>k(t,`title`,`The active model (${g(W).settings.model.provider??``}) rides an env-provided route with no tab — click to add it as a route.`)),o(`click`,t,oe),f(e,t)};u(be,e=>{g(J)&&g(W)&&e(xe)}),t(ye);var Se=O(ye,2),Ce=e=>{var t=Sn(),n=x(t);j(()=>a(n,`${g(W).settings.model.provider??``} · ${g(W).settings.model.model??``} (outside Routes) — env-provided; add
|
|
4
|
-
it as a route to manage it here.`)),f(e,t)};u(Se,e=>{g(J)&&g(W)&&e(Ce)});var we=O(Se,2),Ee=n=>{var r=jn(),i=L(r),d=N(i),p=N(d);e(p,23,()=>g(G),e=>e.provider,(e,n,r)=>{let i=w(()=>g(z)?.providers.find(e=>e.provider===g(n).provider)),s=w(()=>le(g(n),g(i))),c=w(()=>Bt(g(n),g(z))),d=w(()=>ae(g(n),g(c))),p=w(()=>g(W).providers.some(e=>e.provider===g(n).provider&&e.configured)),m=w(()=>g(W).settings.model.provider===g(n).provider);var _=Dn(),v=N(_),y=e=>{var r=wn(),i=N(r),a=x(i),o=O(i,2),c=e=>{var t=Cn();f(e,t)};u(o,e=>{g(p)||e(c)}),t(r),j((e,t)=>{b(i,`background: color-mix(in srgb, ${e??``} 18%, transparent)`),k(a,`src`,g(s)),B(a,1,`h-3.5 w-3.5 object-contain ${t??``}`)},[()=>ue(g(n)),()=>ie(g(s))?``:`dark:invert`]),f(e,r)},S=e=>{var r=Tn(),i=N(r),o=O(i),s=e=>{var t=Cn();f(e,t)};u(o,e=>{g(p)||e(s)}),t(r),j(e=>{b(r,`background: ${e??``}`),a(i,`${g(d)??``} `)},[()=>ue(g(n))]),f(e,r)};u(v,e=>{g(s)?e(y):e(S,-1)});var T=O(v,2),E=x(T,!0),A=O(T,2),M=e=>{var t=En();f(e,t)};u(A,e=>{g(m)&&e(M)}),t(_),D(_,(e,t)=>pe[t.provider]=e,e=>pe?.[e.provider],()=>[g(n)]),j(()=>{k(_,`aria-selected`,!g(h)&&g(l)===g(n).provider),B(_,1,`relative flex h-9 shrink-0 items-center gap-1.5 px-2 text-xs font-medium transition-colors hover:bg-muted/50 ${!g(h)&&g(l)===g(n).provider?`text-foreground`:`text-muted-foreground hover:text-foreground`}`),k(_,`title`,`${g(c)??``} (${g(n).provider??``})${g(m)?` · active route`:``}`),a(E,g(c))}),o(`click`,_,()=>{C(l,g(n).provider,!0),C(h,!1)}),o(`keydown`,_,e=>ge(e,g(r))),f(e,_)}),t(p),D(p,e=>C(ce,e),()=>g(ce));var T=O(p,2),A=e=>{var t=On();f(e,t)};u(T,e=>{g(de)&&e(A)});var M=O(T,2),P=e=>{var t=kn();f(e,t)};u(M,e=>{g(fe)&&e(P)}),t(d);var F=O(d,2);t(i);var I=O(i,2),R=N(I),U=e=>{var t=ee(),n=L(t);c(n,()=>g(y),e=>{pn(e,{get catalog(){return g(z)},get catalogError(){return g(V)},get catalogLoading(){return g(H)},get initialMode(){return g(_)},get seed(){return g(v)},onadded:re,onclose:()=>C(h,!1)})}),f(e,t)},q=e=>{var t=ee(),n=L(t);c(n,()=>g(K).provider,e=>{{let t=w(()=>g(S)===g(K).provider);bn(e,{get route(){return g(K)},get catalog(){return g(z)},get autoFocusCredential(){return g(t)},onCredentialFocused:()=>C(S,null),onremove:()=>Q(g(K)?.provider)})}}),f(e,t)},J=e=>{var n=An(),r=O(N(n),4),i=N(r);me(i,{size:`sm`,variant:`outline`,class:`h-8 px-3 text-xs`,onclick:()=>Z(`pick`),children:(e,t)=>{E();var n=m(`Browse providers`);f(e,n)},$$slots:{default:!0}});var a=O(i,2);me(a,{size:`sm`,class:`h-8 px-3 text-xs`,onclick:()=>Z(`form`),children:(e,t)=>{E();var n=m(`Custom endpoint`);f(e,n)},$$slots:{default:!0}}),t(r),t(n),f(e,n)};u(R,e=>{g(h)?e(U):g(K)?e(q,1):e(J,-1)}),t(I),j(()=>B(F,1,`h-7 shrink-0 self-center rounded px-2 text-[11px] font-medium transition-colors ${g(h)?`bg-primary/10 text-primary`:`text-muted-foreground hover:bg-muted hover:text-foreground`}`)),s(`scroll`,p,he),o(`click`,F,()=>g(G).length===0?Z(`form`):Z(`pick`)),f(n,r)},De=e=>{var t=Mn();f(e,t)},ke=e=>{var t=Nn();f(e,t)};u(we,e=>{g(W)?e(Ee):$.loading?e(De,1):e(ke,-1)});var Ae=O(we,2),je=e=>{var t=Pn(),n=x(t,!0);j(()=>a(n,$.error)),f(e,t)};u(Ae,e=>{$.error&&e(je)});var Me=O(Ae,2),Ne=e=>{var t=Pn(),n=x(t,!0);j(()=>a(n,g(I))),f(e,t)};u(Me,e=>{g(I)&&e(Ne)}),t(ve);var Pe=O(ve,2);{let e=w(()=>g(T)??``);Oe(Pe,{title:`Remove route`,get description(){return`Remove the “${g(e)??``}” route? Its stored key is kept; if it held the active model, that reference is left outside Routes.`},get busy(){return g(P)},onConfirm:()=>void se(),get open(){return g(M)},set open(e){C(M,e,!0)}})}f(n,_e),p()}h([`click`,`keydown`]);var Ln=n(`<p class="text-[10px] text-destructive" role="alert"> </p>`),Rn=n(`<p class="text-[10px] text-primary" role="status"> </p>`),zn=n(`<div class="text-xs text-muted-foreground">Loading…</div>`),Bn=n(`<div class="flex items-center justify-between gap-2 text-xs text-muted-foreground"><span class="text-destructive" role="alert"> </span> <!></div>`),Vn=n(`<p class="rounded-md border border-dashed border-border p-3 text-xs text-muted-foreground">No sessions yet. Sessions you start from the agent panel are listed here and can be reviewed
|
|
5
|
-
or removed individually.</p>`),Hn=n(`<span class="shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground" title="Kernel/steward session without a product transcript — managed by the kernel, not deletable here">kernel-only</span>`),Un=n(`<li class="flex items-center gap-2 rounded-md border border-border bg-background/60 px-2.5 py-1.5"><span class="min-w-0 flex-1 truncate text-xs"> </span> <span class="shrink-0 text-[10px] tabular-nums text-muted-foreground"> </span> <span class="shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground"> </span> <span> </span> <!> <!></li>`),Wn=n(`<div class="space-y-1"><span class="text-[10px] font-medium text-muted-foreground"> </span> <ul class="space-y-1"></ul></div>`),Gn=n(`<div class="text-xs text-destructive" role="alert"> </div>`),Kn=n(`<div class="space-y-4"><div><h3 class="text-sm font-medium">Sessions</h3> <p class="mt-0.5 text-[11px] text-muted-foreground">Manage agent panel sessions and transcript retention.</p></div> <section class="space-y-1.5" aria-label="Cleanup policy"><span class="text-[11px] font-medium text-muted-foreground">Cleanup policy</span> <div class="flex items-end gap-1.5"><label class="flex-1 space-y-1"><span class="block text-[10px] text-muted-foreground">Delete transcripts older than (days)</span> <!></label> <!></div> <p class="text-[10px] text-muted-foreground">Sessions older than this are cleaned automatically when the daemon starts (default 30 days).
|
|
6
|
-
Kernel-side session logs are not touched.</p> <!></section> <section class="space-y-1.5" aria-label="Session list"><div class="flex items-center justify-between"><span class="text-[11px] font-medium text-muted-foreground">Session list</span> <!></div> <!> <!></section> <!></div> <!>`,1);function qn(n,i){r(i,!0);let o=A(30),s=A(!1),c=A(!1),d=A(null),h=A(null),_=A(null),v=A(!1),y=A(!1),b=A(null),S=A(!1),T=!1;F(()=>{T||(T=!0,xe())}),F(()=>{let e=$.view?.settings.session.sessionCleanupDays;e!==void 0&&!g(s)&&C(o,e,!0)});let D=w(()=>{let e=[...be.sessions].sort((e,t)=>e.createdAt<t.createdAt?1:-1),t=new Map;for(let n of e){let e=M(n.createdAt),r=t.get(e)??[];r.push(n),t.set(e,r)}return[...t.entries()]});function M(e){let t=new Date(e);return Number.isNaN(t.getTime())?`Unknown date`:`${String(t.getFullYear()).padStart(4,`0`)}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}`}function P(e){let t=new Date(e);return Number.isNaN(t.getTime())?``:`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`}function I(e){return J.find(t=>t.id===e)?.label??e}function R(){let e=Number(g(o));return!Number.isInteger(e)||e<1||e>365?null:e}async function z(){let e=R();if(e===null){C(d,`Retention must be a whole number of days between 1 and 365.`);return}C(d,null),C(c,!0);try{let t=await Te({session:{sessionCleanupDays:e}});if(!t)return;t.outcome===`rejected`?C(h,`${t.code}: ${t.detail}`):t.outcome===`error`?C(h,t.message,!0):(C(h,null),C(s,!1))}finally{C(c,!1)}}async function V(){let e=R();if(e===null){C(d,`Retention must be a whole number of days between 1 and 365.`);return}C(d,null),C(v,!0),C(_,null);try{let t=await Se({beforeDays:e});if(!t)return;if(`error`in t){C(h,t.error,!0);return}C(h,null),C(_,`Deleted ${t.deleted} session${t.deleted===1?``:`s`} · kept ${t.kept}`)}finally{C(v,!1)}}function H(e){C(b,e,!0),C(y,!0)}async function U(){let e=g(b);if(e){C(S,!0);try{let t=await Se({sessionIds:[e.sessionId]});if(!t)return;if(`error`in t){C(h,t.error,!0);return}C(h,null),t.deleted===0&&C(h,`Session ${e.sessionId} was not removed (running or already gone).`),C(y,!1)}finally{C(S,!1)}}}var W=Kn(),G=L(W),K=O(N(G),2),q=O(N(K),2),Y=N(q),X=O(N(Y),2);he(X,{type:`number`,min:1,max:365,step:1,oninput:()=>C(s,!0),get disabled(){return g(c)},"aria-label":`Session retention days`,get value(){return g(o)},set value(e){C(o,e,!0)}}),t(Y);var te=O(Y,2);{let e=w(()=>g(c)||!g(s)||R()===null);me(te,{size:`sm`,class:`h-8 px-2.5 text-xs`,get disabled(){return g(e)},onclick:()=>void z(),children:(e,t)=>{E();var n=m();j(()=>a(n,g(c)?`Saving…`:`Save`)),f(e,n)},$$slots:{default:!0}})}t(q);var Z=O(q,4),ne=e=>{var t=Ln(),n=x(t,!0);j(()=>a(n,g(d))),f(e,t)};u(Z,e=>{g(d)&&e(ne)}),t(K);var re=O(K,2),ie=N(re),ae=O(N(ie),2);{let e=w(()=>g(v)||R()===null);me(ae,{size:`sm`,variant:`outline`,class:`h-7 px-2.5 text-xs`,get disabled(){return g(e)},onclick:()=>void V(),children:(e,t)=>{E();var n=m();j(()=>a(n,g(v)?`Cleaning…`:`Clean now`)),f(e,n)},$$slots:{default:!0}})}t(ie);var oe=O(ie,2),Q=e=>{var t=Rn(),n=x(t,!0);j(()=>a(n,g(_))),f(e,t)};u(oe,e=>{g(_)&&e(Q)});var se=O(oe,2),ce=e=>{var t=zn();f(e,t)},le=e=>{var n=Bn(),r=N(n),i=x(r,!0),o=O(r,2);me(o,{size:`sm`,class:`h-7 px-2.5 text-xs`,onclick:()=>void xe(),children:(e,t)=>{E();var n=m(`Retry`);f(e,n)},$$slots:{default:!0}}),t(n),j(()=>a(i,be.error)),f(e,n)},ue=e=>{var t=Vn();f(e,t)},de=n=>{var r=ee(),i=L(r);e(i,17,()=>g(D),([e,t])=>e,(n,r)=>{var i=w(()=>l(g(r),2));let o=()=>g(i)[0],s=()=>g(i)[1];var c=Wn(),d=N(c),p=x(d,!0),m=O(d,2);e(m,21,s,e=>e.sessionId,(e,n)=>{var r=Un(),i=N(r),o=x(i,!0),s=O(i,2),c=x(s,!0),l=O(s,2),d=x(l,!0),p=O(l,2),m=x(p,!0),h=O(p,2),_=e=>{var t=Hn();f(e,t)};u(h,e=>{g(n).hasTranscript===!1&&e(_)});var v=O(h,2);{let e=w(()=>g(n).title||g(n).sessionId),t=w(()=>g(n).status===`running`?`Running sessions cannot be deleted`:g(n).hasTranscript===!1?`Kernel-only session — nothing to clean in the product layer`:`Delete session`),r=w(()=>g(n).status===`running`||g(n).hasTranscript===!1||g(S));me(v,{size:`icon`,variant:`ghost`,class:`h-6 w-6 shrink-0`,get"aria-label"(){return`Delete session ${g(e)??``}`},get title(){return g(t)},get disabled(){return g(r)},onclick:()=>H(g(n)),children:(e,t)=>{ke(e,{class:`h-3.5 w-3.5`})},$$slots:{default:!0}})}t(r),j((e,t)=>{k(i,`title`,g(n).title||g(n).sessionId),a(o,g(n).title||`Untitled session`),a(c,e),a(d,t),B(p,1,`shrink-0 text-[10px] ${g(n).status===`running`?`text-primary`:`text-muted-foreground`}`),a(m,g(n).status)},[()=>P(g(n).createdAt),()=>I(g(n).mode)]),f(e,r)}),t(m),t(c),j(()=>a(p,o())),f(n,c)}),f(n,r)};u(se,e=>{be.loading&&!be.loaded?e(ce):be.error?e(le,1):g(D).length===0?e(ue,2):e(de,-1)}),t(re);var fe=O(re,2),pe=e=>{var t=Gn(),n=x(t,!0);j(()=>a(n,g(h))),f(e,t)};u(fe,e=>{g(h)&&e(pe)}),t(G);var ge=O(G,2);{let e=w(()=>g(b)?.title||(g(b)?.sessionId??``));Oe(ge,{title:`Delete session`,get description(){return`Delete the transcript of “${g(e)??``}”? This cannot be undone.`},get busy(){return g(S)},onConfirm:()=>void U(),get open(){return g(y)},set open(e){C(y,e,!0)}})}f(n,W),p()}var Jn=new Set([`$$slots`,`$$events`,`$$legacy`]);function Yn(e,t){let n=M(t,Jn),r=[[`path`,{d:`M14 17H5`}],[`path`,{d:`M19 7h-9`}],[`circle`,{cx:`17`,cy:`17`,r:`3`}],[`circle`,{cx:`7`,cy:`7`,r:`3`}]];H(e,I({name:`settings-2`},()=>n,{get iconNode(){return r}}))}var Xn=new Set([`$$slots`,`$$events`,`$$legacy`]);function Zn(e,t){let n=M(t,Xn),r=[[`path`,{d:`M12 20v2`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M17 20v2`}],[`path`,{d:`M17 2v2`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`M2 17h2`}],[`path`,{d:`M2 7h2`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`M20 17h2`}],[`path`,{d:`M20 7h2`}],[`path`,{d:`M7 20v2`}],[`path`,{d:`M7 2v2`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`}]];H(e,I({name:`cpu`},()=>n,{get iconNode(){return r}}))}var Qn=n(`<button><!> </button>`),$n=n(`<div class="flex h-full min-h-0 flex-col"><header class="flex shrink-0 items-start justify-between gap-3 border-b border-border px-5 pb-4 pt-5"><div><h1 class="text-lg font-semibold">Settings</h1> <p class="mt-0.5 text-xs text-muted-foreground">General, model routes, agent defaults, and session retention.</p></div></header> <div class="grid min-h-0 flex-1 grid-cols-[176px_1fr] max-[720px]:grid-cols-1 max-[720px]:grid-rows-[auto_minmax(0,1fr)]"><div class="flex min-h-0 flex-col border-r border-border bg-muted/30 max-[720px]:min-h-0 max-[720px]:border-r-0 max-[720px]:border-b"><nav class="no-scrollbar flex flex-col gap-0.5 p-2 max-[720px]:flex-row max-[720px]:gap-1 max-[720px]:overflow-x-auto max-[720px]:[mask-image:linear-gradient(to_right,black_calc(100%-14px),transparent)]" aria-label="Settings sections"></nav></div> <div><!></div></div></div>`);function er(n,s){r(s,!0);let c=[{id:`general`,label:`General`,icon:Yn},{id:`model`,label:`Model`,icon:Zn},{id:`agent`,label:`Agent`,icon:fe},{id:`sessions`,label:`Sessions`,icon:Ee}],l=U(),d=w(()=>{let e=l?.()?.section;return oe.includes(e)?e:`general`});F(()=>{Ce()});function m(e){V(`/settings/${e}`)}var h=$n(),_=O(N(h),2),v=N(_),y=N(v);e(y,21,()=>c,e=>e.id,(e,n)=>{let r=w(()=>g(n).icon);var s=Qn(),c=N(s);i(c,()=>g(r),(e,t)=>{t(e,{class:`h-3.5 w-3.5`})});var l=O(c);t(s),j(()=>{B(s,1,`flex h-8 items-center gap-2 rounded-md px-2 text-xs transition-colors max-[720px]:h-11 max-[720px]:shrink-0 max-[720px]:px-3 ${g(d)===g(n).id?`bg-primary/10 text-primary`:`text-muted-foreground hover:bg-muted hover:text-foreground`}`),k(s,`aria-label`,g(n).label),k(s,`aria-current`,g(d)===g(n).id?`true`:void 0),a(l,` ${g(n).label??``}`)}),o(`click`,s,()=>m(g(n).id)),f(e,s)}),t(y),t(v);var b=O(v,2),x=N(b),S=e=>{Ke(e,{})},C=e=>{In(e,{})},T=e=>{qn(e,{})},E=e=>{Re(e,{})};u(x,e=>{g(d)===`general`?e(S):g(d)===`model`?e(C,1):g(d)===`sessions`?e(T,2):e(E,-1)}),t(b),t(_),t(h),j(()=>B(b,1,`min-w-0 p-4 ${g(d)===`model`?`overflow-hidden`:`overflow-y-auto`}`)),f(n,h),p()}h([`click`]);export{er as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ut as e}from"./CmCJ0SKP.js";import{A as t,C as n,D as r,M as i,S as a,T as o,a as s,d as ee,h as te,j as ne,m as c,o as l,s as u,t as d}from"./1vzbRbJ2.js";import{n as f}from"./1aUphu7Y.js";var p=`sc.composer.busyEnter`,m=`sc.composer.draft.`;function re(){try{return localStorage.getItem(p)===`steer`?`steer`:`queue`}catch{return`queue`}}var h=e({mode:re()});function ie(){return h.mode}function ae(e){h.mode=e;try{localStorage.setItem(p,e)}catch{}}function oe(e,t){return e?t===`queue`?`steer`:`queue`:t}var g=e({items:[]}),_=0;function se(e){_+=1,g.items=[...g.items,{id:_,text:e}]}function v(e){let t=g.items.findIndex(t=>t.text===e);t>=0&&(g.items=g.items.filter((e,n)=>n!==t))}function ce(){g.items=[]}function y(e,t){try{t.length===0?localStorage.removeItem(m+e):localStorage.setItem(m+e,t)}catch{}}function le(e){try{return localStorage.getItem(m+e)??``}catch{return``}}var b=`__new__`,x=e({text:``,images:[],files:[],references:[],editing:null}),S=new Map,C=b,w=0;function T(){return{text:``,images:[],files:[],references:[],editing:null}}function ue(){return{text:x.text,images:[...x.images],files:[...x.files],references:[...x.references],editing:x.editing}}function E(e){x.text=e.text,x.images=e.images,x.files=e.files,x.references=e.references,x.editing=e.editing}function de(e){w+=1;let t=w;return x.references=[...x.references,{...e,uid:t}],t}function fe(e){x.references=x.references.filter(t=>t.uid!==e)}function pe(e){if(e===C)return;y(C,ue().text),S.set(C,ue());let t=S.get(e)??T();S.delete(e),C=e,t.text.length===0&&(t.text=le(e)),E(t)}function D(e){S.delete(e),y(e,``),e===C&&E(T())}function me(e,t){if(e===t)return;let n=S.get(e);n!==void 0&&(S.delete(e),y(e,``),y(t,n.text),C===t?E(n):S.has(t)||S.set(t,n))}function he(e){x.editing=e,x.text=e}function ge(){x.editing=null}var _e={"image/png":!0,"image/jpeg":!0,"image/webp":!0,"image/gif":!0},O={maxCount:4,maxSizeBytes:4194304},k={maxCount:2,maxSizeBytes:524288};function A(e,t){let n={tooMany:`Too many attachments: ${t}. Nothing was added.`,fileTooLarge:`"${t}" exceeds its size limit. Nothing was added.`,unsupportedType:`Unsupported attachment type: ${t}. Nothing was added.`};f(n[e])}var j=e({pending:0});function M(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let e=String(r.result??``);t(e.slice(e.indexOf(`,`)+1))},r.onerror=()=>n(r.error),r.readAsDataURL(e)})}async function N(e){let t=[...e].filter(e=>!e.type.startsWith(`image/`));if(t.length===0)return;if(x.files.length+t.length>k.maxCount){A(`tooMany`,`at most ${k.maxCount} file attachments`);return}let n=t.find(e=>e.size>k.maxSizeBytes);if(n){A(`fileTooLarge`,n.name);return}j.pending+=1;try{let e=await Promise.all(t.map(async e=>({name:e.name,data:await M(e)})));x.files=[...x.files,...e]}finally{--j.pending}}async function P(e){let t=[...e];if(t.length===0)return;let n=t.find(e=>!(e.type in _e));if(n){A(`unsupportedType`,n.type||`unknown`);return}if(x.images.length+t.length>O.maxCount){A(`tooMany`,`at most ${O.maxCount} images`);return}let r=t.find(e=>e.size>O.maxSizeBytes);if(r){A(`fileTooLarge`,r.name);return}j.pending+=1;try{let e=await Promise.all(t.map(async e=>{let t=await M(e);return{mediaType:e.type,data:t,...e.name?{name:e.name}:{},preview:`data:${e.type};base64,${t}`}}));x.images=[...x.images,...e]}finally{--j.pending}}function ve(e){let t=[...e.dataTransfer?.files??[]],n=t.filter(e=>e.type.startsWith(`image/`)),r=t.filter(e=>!e.type.startsWith(`image/`));t.length>0&&e.preventDefault(),n.length>0&&P(n),r.length>0&&N(r)}function ye(e){if(e.length!==0){if(x.images.length+e.length>O.maxCount){A(`tooMany`,`at most ${O.maxCount} images`);return}x.images=[...x.images,...e.map(e=>({path:e.path,name:e.name,...e.preview===void 0?{}:{preview:e.preview}}))]}}function be(e){if(e.length!==0){if(x.files.length+e.length>k.maxCount){A(`tooMany`,`at most ${k.maxCount} file attachments`);return}x.files=[...x.files,...e.map(e=>({name:e.name,path:e.path}))]}}var xe=d(s),Se=d(s),Ce=d(s),we=d(s),Te=d(s),Ee=d(s),De=d(s),Oe=d(s),F=d(s),ke=d(s),Ae=d(s),I=`skill-creator.agentPanelWidth.v1`;function L(e){return Number.isFinite(e)?Math.min(720,Math.max(320,Math.round(e))):440}function je(){try{let e=sessionStorage.getItem(I);return e===null?440:L(Number(e))}catch{return 440}}var R=e({open:!1,seedPrompt:null,width:je()}),z=e({sessionId:null,status:`idle`,mode:null,pendingMode:`free`,items:[],todos:[],turnStartedAt:null,cursor:0,sending:!1,error:null,promptError:null,lastUsage:null}),B=e({loaded:!1,loading:!1,sessions:[],error:null}),V=e({items:[]}),H=e({view:null,loading:!1,updating:!1,error:null}),U=null,W=[],G=null,K=new Map;function Me(e){R.open=e,e&&!B.loaded&&!B.loading&&J(),e&&z.sessionId&&Z(),e||Q()}function Ne(e){R.width=L(e);try{sessionStorage.setItem(I,String(R.width))}catch{}}var q=0;async function J(){if(l()===null){if(q>=25)return;q+=1,setTimeout(()=>void J(),300);return}q=0;let e=xe.issue();B.loading=!0;try{let t=await u().agent.sessions.list({});if(!e.isCurrent())return;B.sessions=t.sessions,B.loaded=!0,B.error=null}catch(t){if(!e.isCurrent())return;B.error=t instanceof Error?t.message:String(t)}finally{e.isCurrent()&&(B.loading=!1)}}async function Pe(e){let t=ke.issue();try{let n=await u().agent.sessions.cleanup(e);if(!t.isCurrent())return null;if(n.kind===`summary`&&z.sessionId!==null){let e=z.sessionId;(n.deletedIds??[]).includes(e)?Y():n.deletedIdsTruncated===!0&&(await J(),t.isCurrent()&&!B.sessions.some(t=>t.sessionId===e&&t.hasTranscript!==!1)&&Y())}return B.loaded=!1,J(),n}catch(e){return t.isCurrent()?{error:e instanceof Error?e.message:String(e)}:null}}async function Fe(e,t){let n=Se.issue();z.sending=!0;try{let r=await u().agent.session.create({...e?{prompt:e}:{},...t?{mode:t}:{}});if(!n.isCurrent())return;Re(r.session.sessionId,r.session.status,r.session.mode),B.loaded=!1,J(),Z()}catch(e){if(!n.isCurrent())return;z.error=e instanceof Error?e.message:String(e)}finally{n.isCurrent()&&(z.sending=!1)}}function Ie(e,t){Y(),R.open=!0,R.seedPrompt=t??null,z.pendingMode=e}function Y(){Q(),z.sessionId=null,z.status=`idle`,z.mode=null,z.pendingMode=`free`,z.items=[],z.todos=[],z.turnStartedAt=null,z.cursor=0,z.error=null,z.promptError=null,z.lastUsage=null,W=[],G=null,K=new Map,pe(b),D(b)}function Le(e){z.sessionId!==e&&(Re(e,`idle`,B.sessions.find(t=>t.sessionId===e)?.mode??`free`),Z())}function Re(e,t,n){z.sessionId=e,z.status=t,z.mode=n,z.items=[],z.todos=[],z.turnStartedAt=null,z.cursor=0,z.error=null,z.lastUsage=null,W=[],G=null,K=new Map,ce(),V.items=[],X(),pe(e)}async function ze(e){let t=z.sessionId;if(!t||z.mode===e)return!1;if(z.status===`running`)return z.error=`Switch modes after the current turn ends.`,!1;let n=Oe.issue();try{let r=await u().agent.session.setMode({sessionId:t,mode:e});return!n.isCurrent()||z.sessionId!==t?!1:(z.mode=r.session.mode,z.status=r.session.status,z.error=null,B.loaded=!1,J(),Z(),!0)}catch(e){return n.isCurrent()&&(z.error=e instanceof Error?e.message:String(e)),!1}}async function Be(e,t=[],n=[],r=`queue`,i=[]){if(e.trim().length===0&&t.length===0&&n.length===0)return;if(r===`queue`&&z.status===`running`&&se(e),!z.sessionId){if(await Fe(void 0,z.pendingMode),!z.sessionId)return;me(b,z.sessionId)}let a=z.sessionId,o=we.issue();z.sending=!0;let s=t.filter(e=>e.preview===void 0).map(e=>e.name??`image`);z.items.push({kind:`user`,seq:-Date.now(),text:e,...t.some(e=>e.preview!==void 0)?{images:t.flatMap(e=>e.preview===void 0?[]:[e.preview])}:{},...n.length>0||s.length>0?{files:[...n.map(e=>e.name??`file`),...s]}:{}}),W.push(e);try{if(await u().agent.session.prompt({sessionId:a,text:e,mode:r,images:t.map(e=>{if(e.path!==void 0)return{path:e.path,...e.name?{name:e.name}:{}};if(e.mediaType===void 0||e.data===void 0)throw Error(`image attachment needs either path or mediaType+data`);return{mediaType:e.mediaType,data:e.data,...e.name?{name:e.name}:{}}}),files:n.map(e=>{if(e.path!==void 0)return{path:e.path};if(e.name===void 0||e.data===void 0)throw Error(`file attachment needs either path or name+data`);return{name:e.name,data:e.data}}),references:i.map(e=>e.kind===`file`?{kind:`file`,path:e.target}:e.kind===`skill`?{kind:`skill`,workspaceId:e.skill.workspaceId,providerId:e.skill.providerId,skillId:e.skill.skillId}:{kind:`session`,sessionId:e.target})}),!o.isCurrent())return;z.promptError=null,D(a),r===`queue`&&X()}catch(t){if(!o.isCurrent())return;z.promptError=t instanceof Error?t.message:String(t),v(e);let n=W.indexOf(e);n>=0&&W.splice(n,1)}finally{o.isCurrent()&&(z.sending=!1)}Z()}async function Ve(){let e=z.sessionId;if(e){try{await u().agent.session.cancel({sessionId:e})}catch(e){z.error=e instanceof Error?e.message:String(e)}Z()}}async function X(){let e=z.sessionId;if(!e){V.items=[];return}let t=Ae.issue();try{let n=await u().agent.queue.list({sessionId:e});if(!t.isCurrent()||z.sessionId!==e)return;V.items=n.items}catch{}}async function He(e){let t=z.sessionId;if(!t)return null;let n=e.action===`edit`?{sessionId:t,messageId:e.messageId,action:`edit`,text:e.text}:e.action===`remove`?{sessionId:t,messageId:e.messageId,action:`remove`}:{sessionId:t,messageId:e.messageId,action:`steer`};try{return await u().agent.queue.update(n),await X(),{updated:!0}}catch(e){return X(),{error:e instanceof Error?e.message:String(e)}}}async function Ue(e,t){let n=z.sessionId;if(!n)return;let r=Te.issue();try{if(await u().agent.session.answer({sessionId:n,requestSeq:e,answers:t}),!r.isCurrent())return;for(let t of z.items)t.kind===`approval`&&t.seq===e&&(t.resolved=!0)}catch(e){if(!r.isCurrent())return;z.error=e instanceof Error?e.message:String(e)}Z()}async function Z(){let e=z.sessionId;if(!e)return;let t=Ce.issue();try{let n=await u().agent.session.stream({sessionId:e,afterSeq:z.cursor,limit:100});if(!t.isCurrent()||z.sessionId!==e)return;z.status=n.status;for(let e of n.frames)rt(e),z.cursor=Math.max(z.cursor,e.seq);z.error=null}catch(e){if(!t.isCurrent())return;z.error=e instanceof Error?e.message:String(e),Q();return}We()}function We(){Q();let e=z.items.some(e=>e.kind===`approval`&&!e.resolved);if(z.status===`running`||e){z.sessionId;let e=z.status===`running`?450:1200;U=setTimeout(()=>{Z()},e)}}function Q(){U!==null&&(clearTimeout(U),U=null)}function Ge(e,t,n){for(let t=z.items.length-1;t>=0;t--){let r=z.items[t];if(r.kind===`turn`)break;if(r.kind===e){r.streaming&&=(r.text=n,!1);return}}z.items.push({kind:e,seq:t,text:n,streaming:!1})}function Ke(e){let t=e?.usage;if(!t)return null;let n=t.inputTokens??t.promptTokens??t.input_tokens??0,r=t.outputTokens??t.completionTokens??t.output_tokens??0;return n>0||r>0?{inputTokens:n,outputTokens:r}:null}function $(e,t){for(let n=z.items.length-1;n>=0;n--){let r=z.items[n];if(r.kind===`turn`)return null;if(r.kind===`tool`&&r.result===void 0){if(e!==void 0){if(r.toolCallId===e)return r;continue}if(r.toolName===t)return r}}return null}var qe=r({isError:o(!0).optional(),error:ne([t().min(1),r()]).optional()}).passthrough();function Je(e){let t=qe.safeParse(e);return t.success?t.data.isError===!0||t.data.error!==void 0:!1}var Ye=r({attachments:n(i()).optional()}).passthrough();function Xe(e){let t=Ye.safeParse(e),n=t.success?t.data.attachments:void 0;if(!Array.isArray(n)||n.length===0)return null;let r=[],i=[],a=[];for(let e of n){let t=te.safeParse(e);if(t.success){if(t.data.kind===`image`&&t.data.thumb!==void 0)r.push(t.data.thumb);else{let e=t.data.name??(t.data.kind===`image`?`image`:`file`);i.push(e),t.data.kind===`image`&&a.push(e)}}}return r.length>0||i.length>0?{images:r,files:i,imageChipNames:a}:null}var Ze=r({todos:n(i())}),Qe=r({content:t(),status:t()}),$e=r({questions:n(ee)}),et=r({from:c,to:c}),tt=r({childId:t().min(1),mode:a([`one-shot`,`continuable`]),label:t().optional()});function nt(e){let t=Ze.safeParse(e);if(!t.success)return null;let n=[];for(let e of t.data.todos){let t=Qe.safeParse(e);t.success&&n.push(t.data)}return n}function rt(e){switch(e.kind){case`turn-start`:z.turnStartedAt=e.at,K=new Map,z.items.push({kind:`turn`,seq:e.seq,label:`Turn`});break;case`status`:z.items.push({kind:`status`,seq:e.seq,text:JSON.stringify(e.payload??{})});break;case`auto-compact`:typeof e.text==`string`&&e.text.length>0&&z.items.push({kind:`note`,seq:e.seq,text:e.text});break;case`subagent`:{let t=tt.safeParse(e.payload);if(!t.success)break;let n=typeof e.text==`string`&&e.text.length>0?e.text:t.data.childId;z.items.push({kind:`subagent`,seq:e.seq,label:n,mode:t.data.mode});break}case`user-text`:if(typeof e.text==`string`&&e.text.length>0){v(e.text),X();let t=W.indexOf(e.text);if(t>=0){W.splice(t,1);break}let n=Xe(e.payload);z.items.push({kind:`user`,seq:e.seq,text:e.text,...n&&n.images.length>0?{images:n.images}:{},...n&&n.files.length>0?{files:n.files}:{},...n&&n.imageChipNames.length>0?{imageChipNames:n.imageChipNames}:{}})}break;case`assistant-delta`:if(typeof e.text==`string`&&e.text.length>0){let t=z.items[z.items.length-1];t?.kind===`assistant`&&t.streaming?t.text+=e.text:z.items.push({kind:`assistant`,seq:e.seq,text:e.text,streaming:!0})}break;case`assistant-reasoning-delta`:if(typeof e.text==`string`&&e.text.length>0){let t=z.items[z.items.length-1];t?.kind===`reasoning`&&t.streaming?t.text+=e.text:z.items.push({kind:`reasoning`,seq:e.seq,text:e.text,streaming:!0})}break;case`assistant-reasoning`:typeof e.text==`string`&&e.text.length>0&&Ge(`reasoning`,e.seq,e.text);break;case`todo-snapshot`:{let t=nt(e.payload);t!==null&&(z.todos=t);break}case`session-title`:{let t=typeof e.text==`string`?e.text.trim():``;if(t.length>0)for(let n of B.sessions)n.sessionId===e.sessionId&&(n.title=t);break}case`assistant-text`:if(typeof e.text==`string`&&e.text.length>0){Ge(`assistant`,e.seq,e.text);let t=Ke(e.payload);t&&(z.lastUsage=t,G=t)}break;case`tool-args-delta`:if(typeof e.text==`string`&&e.text.length>0&&e.toolCallId){let t=$(e.toolCallId,e.toolName??``);if(t&&t.toolCallId===e.toolCallId&&t.phase===`calling`)t.argsText=(t.argsText??``)+e.text;else if(!t){let t=K.get(e.toolCallId);K.set(e.toolCallId,{...e.toolName?{name:e.toolName}:{},text:(t?.text??``)+e.text})}}break;case`tool-call`:{let t=e.toolName??`tool`,n=e.toolCallId;if(n!==void 0&&$(n,t)!==null)break;let r=n===void 0?void 0:K.get(n);n!==void 0&&K.delete(n);let i;e.payload!==void 0&&e.payload!==null&&(i=typeof e.payload==`string`?e.payload:it(e.payload)),(i===void 0||i.length===0)&&r&&(i=r.text),z.items.push({kind:`tool`,seq:e.seq,...n===void 0?{}:{toolCallId:n},toolName:t,...i!==void 0&&i.length>0?{argsText:i}:{},phase:`calling`,startedAt:e.at});break}case`tool-result`:{let t=e.toolName??`tool`,n=$(e.toolCallId,t);if(n){n.result=e.payload,n.phase=Je(e.payload)?`error`:`done`,n.endedAt=e.at;break}z.items.push({kind:`tool`,seq:e.seq,...e.toolCallId===void 0?{}:{toolCallId:e.toolCallId},toolName:t,result:e.payload,phase:Je(e.payload)?`error`:`done`,startedAt:e.at,endedAt:e.at});break}case`turn-end`:{let t=typeof e.text==`string`&&e.text.length>0?e.text:`completed`;X();let n=G;G=null;let r=z.turnStartedAt,i=r===null||Number.isNaN(Date.parse(r))||Number.isNaN(Date.parse(e.at))?void 0:Math.max(0,Date.parse(e.at)-Date.parse(r));z.items.push({kind:`turn-end`,seq:e.seq,reason:t,...n?{usage:n}:{},...i===void 0?{}:{elapsedMs:i}});break}case`approval-request`:{let t=$e.safeParse(e.payload);if(!t.success)break;z.items.push({kind:`approval`,seq:e.seq,questions:t.data.questions,resolved:!1});break}case`approval-resolved`:for(let e of z.items)e.kind===`approval`&&(e.resolved=!0);break;case`mode-changed`:{let t=et.safeParse(e.payload);if(!t.success)break;z.items.push({kind:`mode`,seq:e.seq,from:t.data.from,to:t.data.to}),z.mode=t.data.to;break}}z.items.length>500&&z.items.splice(0,z.items.length-500)}function it(e){try{return JSON.stringify(e,null,2)??``}catch{return String(e)}}async function at(){let e=Ee.issue();H.loading=!0;try{let t=await u().agent.settings.get({});return e.isCurrent()?(H.view=t,H.error=null,{view:t,error:null}):{view:null,error:null}}catch(t){if(!e.isCurrent())return{view:null,error:null};let n=t instanceof Error?t.message:String(t);return H.error=n,{view:null,error:n}}finally{e.isCurrent()&&(H.loading=!1)}}async function ot(e){let t=De.issue();H.updating=!0;try{let n=await u().agent.settings.update(e);return t.isCurrent()?(n.outcome===`updated`&&(H.view=n.view),n):null}catch(e){return t.isCurrent()?{outcome:`error`,message:e instanceof Error?e.message:String(e)}:null}finally{t.isCurrent()&&(H.updating=!1)}}async function st(e){try{let t=l();return t===null?null:await t.agent.files.pickFiles({mode:e})}catch(e){return f(`File picker failed: ${e instanceof Error?e.message:String(e)}`),null}}async function ct(e){try{let t=l();if(t===null)return null;let n=await t.agent.files.preview({path:e});return n.kind===`image`?n.dataUrl:null}catch{return null}}async function lt(e){await Promise.all(e.map(async e=>{let t=await ct(e.path);if(t===null)return;let n=x.images.find(t=>t.path===e.path&&t.name===e.name&&t.preview===void 0);n!==void 0&&(n.preview=t)}))}async function ut(e,t){let n=F.issue();H.updating=!0;try{let r=await u().agent.credentials.set({provider:e,apiKey:t});return n.isCurrent()?(r.outcome===`stored`&&(H.view=r.view),r):null}catch(e){return n.isCurrent()?{outcome:`rejected`,code:`NETWORK`,detail:e instanceof Error?e.message:String(e)}:null}finally{n.isCurrent()&&(H.updating=!1)}}async function dt(e){let t=F.issue();H.updating=!0;try{let n=await u().agent.credentials.clear({provider:e});if(!t.isCurrent())return;H.view=n}catch(e){if(!t.isCurrent())return;H.error=e instanceof Error?e.message:String(e)}finally{t.isCurrent()&&(H.updating=!1)}}async function ft(e){let t=l();if(t===null)return null;try{return await t.agent.settings.testConnection(e)}catch(e){return{outcome:`failed`,detail:e instanceof Error?e.message:String(e)}}}export{x as A,ae as B,He as C,de as D,P as E,fe as F,h as I,ie as L,he as M,ge as N,be as O,ve as P,g as R,ft as S,N as T,ut as _,B as a,ze as b,Ve as c,lt as d,J as f,Be as g,Le as h,z as i,j,ye as k,Pe as l,st as m,V as n,Ue as o,at as p,H as r,Y as s,R as t,dt as u,Me as v,ot as w,Ie as x,Ne as y,oe as z};
|