@neuralnomads/codenomad-dev 0.20.1-dev-20261019-e56b286a → 0.20.1-dev-20261019-e32d9331
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/automation/browser-page.js +97 -0
- package/dist/automation/browser-page.js.map +1 -0
- package/dist/automation/browser-page.test.js +119 -0
- package/dist/automation/browser-page.test.js.map +1 -0
- package/dist/automation/page/actions.js +107 -83
- package/dist/automation/page/actions.js.map +1 -1
- package/dist/automation/page/input.js +130 -0
- package/dist/automation/page/input.js.map +1 -0
- package/dist/automation/page/input.test.js +71 -0
- package/dist/automation/page/input.test.js.map +1 -0
- package/dist/automation/page/keys.js +99 -0
- package/dist/automation/page/keys.js.map +1 -0
- package/dist/automation/page/keys.test.js +32 -0
- package/dist/automation/page/keys.test.js.map +1 -0
- package/dist/automation/page/parse.js +79 -0
- package/dist/automation/page/parse.js.map +1 -0
- package/dist/automation/page/protocol.js +143 -0
- package/dist/automation/page/protocol.js.map +1 -0
- package/dist/developer-cdp.js +7 -10
- package/dist/developer-cdp.js.map +1 -1
- package/dist/developer-cdp.test.js +49 -15
- package/dist/developer-cdp.test.js.map +1 -1
- package/dist/opencode/automation/desktop-plugin.js +10 -6
- package/dist/opencode/automation/desktop-plugin.js.map +1 -1
- package/dist/opencode/automation-plugin.js +33 -41
- package/dist/opencode/automation-plugin.js.map +1 -1
- package/dist/opencode/automation-plugin.test.js +42 -1
- package/dist/opencode/automation-plugin.test.js.map +1 -1
- package/dist/plugins/automation/plugin.mjs +230 -40
- package/dist/plugins/missions/plugin.mjs +21 -0
- package/dist/server/routes/automation-plugin.js +7 -5
- package/dist/server/routes/automation-plugin.js.map +1 -1
- package/dist/server/routes/automation-plugin.test.js +17 -4
- package/dist/server/routes/automation-plugin.test.js.map +1 -1
- package/package.json +1 -1
- package/public/assets/{App-z4rDGruy.js → App-DZMdkLQJ.js} +29 -29
- package/public/assets/App-DZMdkLQJ.js.map +1 -0
- package/public/assets/{FilesPanel-BR_6pmtI.js → FilesPanel-CgFgL4q7.js} +3 -3
- package/public/assets/FilesPanel-CgFgL4q7.js.map +1 -0
- package/public/assets/{StatusTab-7nJ4mv4I.js → StatusTab-CaQz8RwN.js} +2 -2
- package/public/assets/{StatusTab-7nJ4mv4I.js.map → StatusTab-CaQz8RwN.js.map} +1 -1
- package/public/assets/{client-state-CdvbHQef.js → client-state-DikXRKzG.js} +2 -2
- package/public/assets/{client-state-CdvbHQef.js.map → client-state-DikXRKzG.js.map} +1 -1
- package/public/assets/{client-state-Dy45bMLT.js → client-state-kpF1cbUu.js} +2 -2
- package/public/assets/{client-state-Dy45bMLT.js.map → client-state-kpF1cbUu.js.map} +1 -1
- package/public/assets/client-state-owner-commands-BMJJQYT-.js +2 -0
- package/public/assets/{client-state-owner-commands-CNRMpxmP.js.map → client-state-owner-commands-BMJJQYT-.js.map} +1 -1
- package/public/assets/{diff-viewer-DidBGGSg.js → diff-viewer-iFIylM56.js} +2 -2
- package/public/assets/{diff-viewer-DidBGGSg.js.map → diff-viewer-iFIylM56.js.map} +1 -1
- package/public/assets/{main-2ULMhXOZ.js → main-B0L3f7sD.js} +52 -52
- package/public/assets/main-B0L3f7sD.js.map +1 -0
- package/public/assets/{markdown-B2vmXRgM.js → markdown-Bh1QlJgA.js} +2 -2
- package/public/assets/{markdown-B2vmXRgM.js.map → markdown-Bh1QlJgA.js.map} +1 -1
- package/public/assets/{opener-startup-state-settings-card-Bj8IDBCX.js → opener-startup-state-settings-card-mzh22bq8.js} +2 -2
- package/public/assets/{opener-startup-state-settings-card-Bj8IDBCX.js.map → opener-startup-state-settings-card-mzh22bq8.js.map} +1 -1
- package/public/assets/{startup-state-settings-card-DAkduiFk.js → startup-state-settings-card-B1UMzsQK.js} +2 -2
- package/public/assets/{startup-state-settings-card-DAkduiFk.js.map → startup-state-settings-card-B1UMzsQK.js.map} +1 -1
- package/public/assets/{startup-state-settings-view-CQ6mkdWM.js → startup-state-settings-view-nZNbhUhQ.js} +2 -2
- package/public/assets/{startup-state-settings-view-CQ6mkdWM.js.map → startup-state-settings-view-nZNbhUhQ.js.map} +1 -1
- package/public/assets/{terminal-square-DeHY-xG8.js → terminal-square-CdJ4Gt6Y.js} +2 -2
- package/public/assets/{terminal-square-DeHY-xG8.js.map → terminal-square-CdJ4Gt6Y.js.map} +1 -1
- package/public/assets/{tool-call-DPmRZgHK.js → tool-call-C9ux0znU.js} +4 -4
- package/public/assets/{tool-call-DPmRZgHK.js.map → tool-call-C9ux0znU.js.map} +1 -1
- package/public/assets/{unified-picker-Dpt39UfN.js → unified-picker-DOP29DIt.js} +2 -2
- package/public/assets/{unified-picker-Dpt39UfN.js.map → unified-picker-DOP29DIt.js.map} +1 -1
- package/public/index.html +1 -1
- package/public/sw.js +1 -1
- package/public/sw.js.map +1 -1
- package/public/assets/App-z4rDGruy.js.map +0 -1
- package/public/assets/FilesPanel-BR_6pmtI.js.map +0 -1
- package/public/assets/client-state-owner-commands-CNRMpxmP.js +0 -2
- package/public/assets/main-2ULMhXOZ.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as ae,h as Be,t as w,i as l,m as C,a as A,d as E,u as Fe,k as Qe,e as Ve}from"./monaco-viewer-CtxFhd10.js";import{e as b,o as ce,d as T,a as Ee,k as m,S as v,F as K,c as q}from"./git-diff-vendor-CINvIzmQ.js";import{u as Ue}from"./index-BB2Eo5pO.js";import{a$ as He}from"./main-2ULMhXOZ.js";import"./fast-diff-vendor-DgdwVvTQ.js";import"./highlight-vendor-8FKMu9os.js";function Ke(n){const u=n.endsWith("/"),a=n.split("/").filter(Boolean),Q=a.slice(0,-1);return{name:a.length>0?`${a[a.length-1]}${u?"/":""}`:n,parent:Q[Q.length-1]??"",directory:Q.join("/")}}var Ge=w("<span class=ml-2>"),Ie=w("<div class=dropdown-empty>"),Ne=w("<div class=dropdown-empty role=alert>"),G=w("<div class=dropdown-section-header>"),Oe=w('<div><div class="flex items-center gap-2 text-sm"><svg class="dropdown-icon h-4 w-4 text-blue-500"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"></path></svg><span class=font-mono>. '),Je=w('<div class="dropdown-surface bottom-full left-0 mb-1"><div class=dropdown-header><div class=dropdown-header-title></div></div><div class="dropdown-content max-h-60 overflow-x-auto">'),de=w('<div class="mt-0.5 text-xs"style=color:var(--text-muted)>'),Xe=w('<div><div class="flex items-start gap-2"><svg class="dropdown-icon-accent h-4 w-4 mt-0.5"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M4 6h16M4 12h16M4 18h16"></path></svg><div class=flex-1><div class="text-sm font-medium">/'),Ye=w('<svg class="dropdown-icon-accent h-4 w-4"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z">'),Ze=w('<span class="block whitespace-nowrap text-[11px]"style=color:var(--text-muted)>/'),et=w('<span class="block whitespace-nowrap text-[10px]"style=color:var(--text-muted)>'),tt=w('<div><div class="flex min-w-full w-max items-center gap-2 text-sm"><span class="min-w-0 flex-1"><span class=sr-only></span><span aria-hidden=true><span class="block whitespace-nowrap">'),nt=w('<svg class="dropdown-icon h-4 w-4"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z">'),rt=w("<span class=dropdown-badge>"),it=w('<div><div class="flex items-start gap-2"><svg class="dropdown-icon-accent h-4 w-4 mt-0.5"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"></path></svg><div class=flex-1><div class="flex items-center gap-2"><span class="text-sm font-medium">'),lt=w('<div><div class="flex items-start gap-2"><svg class="dropdown-icon-accent h-4 w-4 mt-0.5"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"></path></svg><div class=flex-1><div class="flex items-center gap-2"><span class="text-sm font-medium">');const ue=Be("actions"),st=100,ot=200;function at(n,u){if(!u)return n;const a=n.replace(/\/+$/,"");return a.length>0?`${a}/`:"./"}function ct(n){return n==="."||n==="./"||n==="/"}function dt(n,u){if(ct(n))return".";const a=n.replace(/^\.\/+/,"");return u?a.replace(/\/+$/,"")||".":a}function fe(n){const u=n.trim();return u?u.replace(/^(\.\/)+/,"").replace(/^\/+/,""):""}function Le(n){return n.map(u=>{const a=u.type==="directory";return{path:at(u.path,a),relativePath:dt(u.path,a),isDirectory:a,isGitFile:!1}})}const pt=n=>{const{t:u}=Ue(),a=()=>n.mode??"mention",[Q,he]=b([]),[N,me]=b([]),[ge,O]=b([]),[ve,I]=b(!1),[De,W]=b(!1),[x,P]=b(0),[J,j]=b("idle"),[X,Y]=b([]),[Me,pe]=b(!1),[ke,Z]=b(null);let L,D,ee=null,te="",ne="",B=null,M=null,R=0,z=null;function re(){setTimeout(()=>{D&&(D.scrollTop=0,D.scrollLeft=0)},0)}function ie(e){he(e),P(0),re()}async function Re(e){return B===e&&M||(B=e,M=Qe.listWorkspaceFiles(e,".",n.directory).then(r=>Le(r)).then(r=>(Y(r),Z(e),r)).catch(r=>{throw ue.error("[UnifiedPicker] Failed to load workspace files:",r),Y([]),Z(null),r}).finally(()=>{B===e&&(B=null,M=null)})),M}async function ze(e){return ke()===e&&X().length>0?X():Re(e)}let _;async function ye(e,r){_==null||_.abort();const i=new AbortController;_=i;const s=fe(e),p=++R,S=!s&&ke()===r&&X().length>0,t=s?"search":S?"idle":"listing";j(t!=="idle"?t:"idle");try{if(!s){const d=await ze(r);if(!se(p,r))return;ie(d);return}const g=await Qe.searchWorkspaceFiles(r,s,{limit:st,signal:i.signal,directory:n.directory});if(!se(p,r))return;ie(Le(g))}catch(g){if(i.signal.aborted)return;r===n.workspaceId&&(ue.error("[UnifiedPicker] Failed to fetch files:",g),se(p,r)&&ie([]))}finally{Te(p,r)&&j("idle")}}function le(){z&&(clearTimeout(z),z=null)}function Ae(e,r,i=!1){_==null||_.abort(),R+=1,le();const s=fe(e);if(!i&&s.length>0){z=setTimeout(()=>{z=null,ye(e,r)},ot);return}ye(e,r)}function se(e,r){return n.open&&r===n.workspaceId&&e===R}function Te(e,r){return r===n.workspaceId&&e===R}function qe(){_==null||_.abort(),le(),he([]),Y([]),me([]),O([]),I(!1),W(!1),Z(null),pe(!1),P(0),j("idle"),ee=null,te="",ne="",R+=1}ce(()=>{_==null||_.abort(),le()}),T(()=>{if(!n.open){qe();return}if(a()!=="mention")return;const e=ee!==n.workspaceId,r=te!==n.searchQuery;if(r&&(P(0),re()),!Me()||e||r){pe(!0),ee=n.workspaceId,te=n.searchQuery;const i=e||fe(n.searchQuery).length===0;Ae(n.searchQuery,n.workspaceId,i)}}),T(()=>{if(!n.open||a()!=="mention")return;const e=n.workspaceId,r=n.directory??"";if(!e||!r)return;let i=!1,s=!1,p=!1;O([]),W(!1),I(!0);const S=()=>{if(!i){if(s){p=!0;return}s=!0,I(!0),He(e).skill.list({location:{directory:r}}).then(c=>{if(!i){if(p){s=!1,p=!1,S();return}O((c.data??[]).map(({id:f,name:$,description:k})=>({id:f,name:$,description:k}))),W(!1),s=!1,I(!1)}},c=>{if(!i){if(p){s=!1,p=!1,S();return}ue.error("[UnifiedPicker] Failed to load skills:",c),W(!0),s=!1,I(!1)}})}},t=ae.on("instance.event",c=>{c.type!=="instance.event"||c.instanceId!==e||["skill.updated","config.updated"].includes(c.event.type)&&S()}),g=ae.on("instance.eventStatus",c=>{c.type==="instance.eventStatus"&&c.instanceId===e&&c.status==="connected"&&S()}),d=ae.onOpen(()=>S());ce(()=>{i=!0,t(),g(),d()}),S()});const oe=Ee(()=>{if(a()!=="mention")return[];const e=n.searchQuery.trim().toLowerCase();return e?ge().filter(r=>r.name.toLowerCase().includes(e)||(r.description??"").toLowerCase().includes(e)):ge()});T(()=>{if(!n.open||a()!=="mention")return;const e=n.searchQuery.toLowerCase(),r=n.agents.filter(s=>!s.hidden),i=e?r.filter(s=>s.name.toLowerCase().includes(e)||s.description&&s.description.toLowerCase().includes(e)):r;me(i)});const V=Ee(()=>{if(a()!=="command")return[];const e=n.searchQuery.trim().toLowerCase(),r=n.commands??[];return e?r.filter(i=>{const s=i.name.toLowerCase().includes(e),p=(i.description??"").toLowerCase().includes(e);return s||p}):r});T(()=>{if(!n.open||a()!=="command")return;const e=n.searchQuery,r=V().length;if(e!==ne){ne=e,P(0),re();return}if(r<=0){x()!==0&&P(0);return}const i=x();if(i<0){P(0);return}i>=r&&P(r-1)});const U=()=>{const e=[];if(a()==="command")return V().forEach(i=>e.push({type:"command",command:i})),e;const r=n.searchQuery==="."||n.searchQuery==="./";if(a()==="mention"&&r){const i={path:".",relativePath:".",isDirectory:!0,isGitFile:!1};e.push({type:"file",file:i})}return Q().forEach(i=>e.push({type:"file",file:i})),r||(N().forEach(i=>e.push({type:"agent",agent:i})),oe().forEach(i=>e.push({type:"skill",skill:i}))),e};function we(){setTimeout(()=>{const e=L==null?void 0:L.querySelector('[data-picker-selected="true"]');e&&e.scrollIntoView({block:"nearest",behavior:"smooth"})},0)}function $e(e){if(!n.open)return;const r=U();if(e.key==="ArrowDown")e.preventDefault(),e.stopPropagation(),P(i=>Math.min(i+1,r.length-1)),we();else if(e.key==="ArrowUp")e.preventDefault(),e.stopPropagation(),P(i=>Math.max(i-1,0)),we();else if(e.key==="Enter"||e.key==="Tab"){if(e.preventDefault(),e.stopPropagation(),e.key==="Enter"&&(e.ctrlKey||e.metaKey))return;const i=r[x()];if(i){const s=e.key==="Tab"?"tab":e.shiftKey?"shiftEnter":"enter";n.onSelect(i,s)}}else e.key==="Escape"&&(e.preventDefault(),e.stopPropagation(),n.onClose())}T(()=>{n.open&&(document.addEventListener("keydown",$e),ce(()=>{document.removeEventListener("keydown",$e)}))});const _e=()=>V().length,xe=()=>N().length,Ce=()=>oe().length,Se=()=>Q().length,We=()=>a()==="mention"&&J()!=="idle",je=()=>J()==="search"?u("unifiedPicker.loading.searching"):J()==="listing"?u("unifiedPicker.loading.loadingWorkspace"):"";return m(v,{get when(){return n.open},get children(){var e=Je(),r=e.firstChild,i=r.firstChild,s=r.nextSibling,p=L;typeof p=="function"?Fe(p,e):L=e,l(i,m(v,{get when(){return a()==="command"},get fallback(){return u("unifiedPicker.title.mention")},get children(){return u("unifiedPicker.title.command")}}),null),l(i,m(v,{get when(){return We()},get children(){var t=Ge();return l(t,je),t}}),null);var S=D;return typeof S=="function"?Fe(S,s):D=s,l(s,m(v,{get when(){return C(()=>a()==="command")()?_e()===0:C(()=>xe()===0&&Ce()===0&&Se()===0)()&&!ve()},get children(){var t=Ie();return l(t,()=>u("unifiedPicker.empty")),t}}),null),l(s,m(v,{get when(){return C(()=>a()==="mention")()&&ve()},get children(){var t=Ie();return l(t,()=>u("promptInput.skills.loading")),t}}),null),l(s,m(v,{get when(){return C(()=>a()==="mention")()&&De()},get children(){var t=Ne();return l(t,()=>u("promptInput.skills.error")),t}}),null),l(s,m(v,{get when(){return C(()=>a()==="command")()&&_e()>0},get children(){return[(()=>{var t=G();return l(t,()=>u("unifiedPicker.sections.commands")),t})(),m(K,{get each(){return V()},children:(t,g)=>{const d=()=>g()===x();return(()=>{var c=Xe(),f=c.firstChild,$=f.firstChild,k=$.nextSibling,F=k.firstChild;return F.firstChild,c.$$click=()=>n.onSelect({type:"command",command:t},"click"),l(F,()=>t.name,null),l(k,m(v,{get when(){return t.description},get children(){var o=de();return l(o,(()=>{var y=C(()=>(t.description??"").length>80);return()=>y()?(t.description??"").slice(0,80)+"...":t.description})()),o}}),null),q(o=>{var y=`dropdown-item ${d()?"dropdown-item-highlight":""}`,h=d();return y!==o.e&&A(c,o.e=y),h!==o.t&&E(c,"data-picker-selected",o.t=h),o},{e:void 0,t:void 0}),c})()}})]}}),null),l(s,m(v,{get when(){return C(()=>a()==="mention")()&&(Se()>0||n.searchQuery==="."||n.searchQuery==="./")},get children(){return[(()=>{var t=G();return l(t,()=>u("unifiedPicker.sections.files")),t})(),m(v,{get when(){return n.searchQuery==="."||n.searchQuery==="./"},get children(){var t=Oe(),g=t.firstChild,d=g.firstChild,c=d.nextSibling;return c.firstChild,t.$$click=()=>{const f={path:".",relativePath:".",isDirectory:!0,isGitFile:!1};n.onSelect({type:"file",file:f},"click")},l(c,()=>u("unifiedPicker.sections.workspaceRoot"),null),q(f=>{var $=`dropdown-item py-1.5 ${x()===0?"dropdown-item-highlight":""}`,k=x()===0;return $!==f.e&&A(t,f.e=$),k!==f.t&&E(t,"data-picker-selected",f.t=k),f},{e:void 0,t:void 0}),t}}),m(K,{get each(){return Q()},children:t=>{const g=()=>U().findIndex(f=>f.type==="file"&&f.file.relativePath===t.relativePath),d=t.isDirectory,c=Ke(t.path);return(()=>{var f=tt(),$=f.firstChild,k=$.firstChild,F=k.firstChild,o=F.nextSibling,y=o.firstChild;return f.$$click=()=>n.onSelect({type:"file",file:t},"click"),l($,m(v,{when:d,get fallback(){return nt()},get children(){return Ye()}}),k),l(F,()=>t.path),l(y,()=>c.name),l(o,m(v,{get when(){return c.parent},get children(){var h=Ze(),H=h.firstChild;return l(h,()=>c.parent,H),h}}),null),l(o,m(v,{get when(){return C(()=>!!c.directory)()&&c.directory!==c.parent},get children(){var h=et();return l(h,()=>c.directory),h}}),null),q(h=>{var H=`dropdown-item py-1.5 ${g()===x()?"dropdown-item-highlight":""}`,be=g()===x(),Pe=t.path;return H!==h.e&&A(f,h.e=H),be!==h.t&&E(f,"data-picker-selected",h.t=be),Pe!==h.a&&E(k,"title",h.a=Pe),h},{e:void 0,t:void 0,a:void 0}),f})()}})]}}),null),l(s,m(v,{get when(){return C(()=>a()==="mention"&&xe()>0)()&&!(n.searchQuery==="."||n.searchQuery==="./")},get children(){return[(()=>{var t=G();return l(t,()=>u("unifiedPicker.sections.agents")),t})(),m(K,{get each(){return N()},children:t=>{const g=()=>U().findIndex(d=>d.type==="agent"&&d.agent.name===t.name);return(()=>{var d=it(),c=d.firstChild,f=c.firstChild,$=f.nextSibling,k=$.firstChild,F=k.firstChild;return d.$$click=()=>n.onSelect({type:"agent",agent:t},"click"),l(F,()=>t.name),l(k,m(v,{get when(){return t.mode==="subagent"},get children(){var o=rt();return l(o,()=>u("unifiedPicker.badge.subagent")),o}}),null),l($,m(v,{get when(){return t.description},get children(){var o=de();return l(o,(()=>{var y=C(()=>!!(t.description&&t.description.length>80));return()=>y()?t.description.slice(0,80)+"...":t.description})()),o}}),null),q(o=>{var y=`dropdown-item ${g()===x()?"dropdown-item-highlight":""}`,h=g()===x();return y!==o.e&&A(d,o.e=y),h!==o.t&&E(d,"data-picker-selected",o.t=h),o},{e:void 0,t:void 0}),d})()}})]}}),null),l(s,m(v,{get when(){return C(()=>a()==="mention"&&Ce()>0)()&&!(n.searchQuery==="."||n.searchQuery==="./")},get children(){return[(()=>{var t=G();return l(t,()=>u("unifiedPicker.sections.skills")),t})(),m(K,{get each(){return oe()},children:t=>{const g=()=>U().findIndex(d=>d.type==="skill"&&d.skill.id===t.id);return(()=>{var d=lt(),c=d.firstChild,f=c.firstChild,$=f.nextSibling,k=$.firstChild,F=k.firstChild;return d.$$click=()=>n.onSelect({type:"skill",skill:t},"click"),l(F,()=>t.name),l($,m(v,{get when(){return t.description},get children(){var o=de();return l(o,(()=>{var y=C(()=>!!(t.description&&t.description.length>100));return()=>y()?t.description.slice(0,100)+"...":t.description})()),o}}),null),q(o=>{var y=`dropdown-item ${g()===x()?"dropdown-item-highlight":""}`,h=g()===x();return y!==o.e&&A(d,o.e=y),h!==o.t&&E(d,"data-picker-selected",o.t=h),o},{e:void 0,t:void 0}),d})()}})]}}),null),e}})};Ve(["click"]);export{pt as default};
|
|
2
|
-
//# sourceMappingURL=unified-picker-
|
|
1
|
+
import{j as ae,h as Be,t as w,i as l,m as C,a as A,d as E,u as Fe,k as Qe,e as Ve}from"./monaco-viewer-CtxFhd10.js";import{e as b,o as ce,d as T,a as Ee,k as m,S as v,F as K,c as q}from"./git-diff-vendor-CINvIzmQ.js";import{u as Ue}from"./index-BB2Eo5pO.js";import{a$ as He}from"./main-B0L3f7sD.js";import"./fast-diff-vendor-DgdwVvTQ.js";import"./highlight-vendor-8FKMu9os.js";function Ke(n){const u=n.endsWith("/"),a=n.split("/").filter(Boolean),Q=a.slice(0,-1);return{name:a.length>0?`${a[a.length-1]}${u?"/":""}`:n,parent:Q[Q.length-1]??"",directory:Q.join("/")}}var Ge=w("<span class=ml-2>"),Ie=w("<div class=dropdown-empty>"),Ne=w("<div class=dropdown-empty role=alert>"),G=w("<div class=dropdown-section-header>"),Oe=w('<div><div class="flex items-center gap-2 text-sm"><svg class="dropdown-icon h-4 w-4 text-blue-500"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"></path></svg><span class=font-mono>. '),Je=w('<div class="dropdown-surface bottom-full left-0 mb-1"><div class=dropdown-header><div class=dropdown-header-title></div></div><div class="dropdown-content max-h-60 overflow-x-auto">'),de=w('<div class="mt-0.5 text-xs"style=color:var(--text-muted)>'),Xe=w('<div><div class="flex items-start gap-2"><svg class="dropdown-icon-accent h-4 w-4 mt-0.5"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M4 6h16M4 12h16M4 18h16"></path></svg><div class=flex-1><div class="text-sm font-medium">/'),Ye=w('<svg class="dropdown-icon-accent h-4 w-4"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z">'),Ze=w('<span class="block whitespace-nowrap text-[11px]"style=color:var(--text-muted)>/'),et=w('<span class="block whitespace-nowrap text-[10px]"style=color:var(--text-muted)>'),tt=w('<div><div class="flex min-w-full w-max items-center gap-2 text-sm"><span class="min-w-0 flex-1"><span class=sr-only></span><span aria-hidden=true><span class="block whitespace-nowrap">'),nt=w('<svg class="dropdown-icon h-4 w-4"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z">'),rt=w("<span class=dropdown-badge>"),it=w('<div><div class="flex items-start gap-2"><svg class="dropdown-icon-accent h-4 w-4 mt-0.5"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"></path></svg><div class=flex-1><div class="flex items-center gap-2"><span class="text-sm font-medium">'),lt=w('<div><div class="flex items-start gap-2"><svg class="dropdown-icon-accent h-4 w-4 mt-0.5"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"></path></svg><div class=flex-1><div class="flex items-center gap-2"><span class="text-sm font-medium">');const ue=Be("actions"),st=100,ot=200;function at(n,u){if(!u)return n;const a=n.replace(/\/+$/,"");return a.length>0?`${a}/`:"./"}function ct(n){return n==="."||n==="./"||n==="/"}function dt(n,u){if(ct(n))return".";const a=n.replace(/^\.\/+/,"");return u?a.replace(/\/+$/,"")||".":a}function fe(n){const u=n.trim();return u?u.replace(/^(\.\/)+/,"").replace(/^\/+/,""):""}function Le(n){return n.map(u=>{const a=u.type==="directory";return{path:at(u.path,a),relativePath:dt(u.path,a),isDirectory:a,isGitFile:!1}})}const pt=n=>{const{t:u}=Ue(),a=()=>n.mode??"mention",[Q,he]=b([]),[N,me]=b([]),[ge,O]=b([]),[ve,I]=b(!1),[De,W]=b(!1),[x,P]=b(0),[J,j]=b("idle"),[X,Y]=b([]),[Me,pe]=b(!1),[ke,Z]=b(null);let L,D,ee=null,te="",ne="",B=null,M=null,R=0,z=null;function re(){setTimeout(()=>{D&&(D.scrollTop=0,D.scrollLeft=0)},0)}function ie(e){he(e),P(0),re()}async function Re(e){return B===e&&M||(B=e,M=Qe.listWorkspaceFiles(e,".",n.directory).then(r=>Le(r)).then(r=>(Y(r),Z(e),r)).catch(r=>{throw ue.error("[UnifiedPicker] Failed to load workspace files:",r),Y([]),Z(null),r}).finally(()=>{B===e&&(B=null,M=null)})),M}async function ze(e){return ke()===e&&X().length>0?X():Re(e)}let _;async function ye(e,r){_==null||_.abort();const i=new AbortController;_=i;const s=fe(e),p=++R,S=!s&&ke()===r&&X().length>0,t=s?"search":S?"idle":"listing";j(t!=="idle"?t:"idle");try{if(!s){const d=await ze(r);if(!se(p,r))return;ie(d);return}const g=await Qe.searchWorkspaceFiles(r,s,{limit:st,signal:i.signal,directory:n.directory});if(!se(p,r))return;ie(Le(g))}catch(g){if(i.signal.aborted)return;r===n.workspaceId&&(ue.error("[UnifiedPicker] Failed to fetch files:",g),se(p,r)&&ie([]))}finally{Te(p,r)&&j("idle")}}function le(){z&&(clearTimeout(z),z=null)}function Ae(e,r,i=!1){_==null||_.abort(),R+=1,le();const s=fe(e);if(!i&&s.length>0){z=setTimeout(()=>{z=null,ye(e,r)},ot);return}ye(e,r)}function se(e,r){return n.open&&r===n.workspaceId&&e===R}function Te(e,r){return r===n.workspaceId&&e===R}function qe(){_==null||_.abort(),le(),he([]),Y([]),me([]),O([]),I(!1),W(!1),Z(null),pe(!1),P(0),j("idle"),ee=null,te="",ne="",R+=1}ce(()=>{_==null||_.abort(),le()}),T(()=>{if(!n.open){qe();return}if(a()!=="mention")return;const e=ee!==n.workspaceId,r=te!==n.searchQuery;if(r&&(P(0),re()),!Me()||e||r){pe(!0),ee=n.workspaceId,te=n.searchQuery;const i=e||fe(n.searchQuery).length===0;Ae(n.searchQuery,n.workspaceId,i)}}),T(()=>{if(!n.open||a()!=="mention")return;const e=n.workspaceId,r=n.directory??"";if(!e||!r)return;let i=!1,s=!1,p=!1;O([]),W(!1),I(!0);const S=()=>{if(!i){if(s){p=!0;return}s=!0,I(!0),He(e).skill.list({location:{directory:r}}).then(c=>{if(!i){if(p){s=!1,p=!1,S();return}O((c.data??[]).map(({id:f,name:$,description:k})=>({id:f,name:$,description:k}))),W(!1),s=!1,I(!1)}},c=>{if(!i){if(p){s=!1,p=!1,S();return}ue.error("[UnifiedPicker] Failed to load skills:",c),W(!0),s=!1,I(!1)}})}},t=ae.on("instance.event",c=>{c.type!=="instance.event"||c.instanceId!==e||["skill.updated","config.updated"].includes(c.event.type)&&S()}),g=ae.on("instance.eventStatus",c=>{c.type==="instance.eventStatus"&&c.instanceId===e&&c.status==="connected"&&S()}),d=ae.onOpen(()=>S());ce(()=>{i=!0,t(),g(),d()}),S()});const oe=Ee(()=>{if(a()!=="mention")return[];const e=n.searchQuery.trim().toLowerCase();return e?ge().filter(r=>r.name.toLowerCase().includes(e)||(r.description??"").toLowerCase().includes(e)):ge()});T(()=>{if(!n.open||a()!=="mention")return;const e=n.searchQuery.toLowerCase(),r=n.agents.filter(s=>!s.hidden),i=e?r.filter(s=>s.name.toLowerCase().includes(e)||s.description&&s.description.toLowerCase().includes(e)):r;me(i)});const V=Ee(()=>{if(a()!=="command")return[];const e=n.searchQuery.trim().toLowerCase(),r=n.commands??[];return e?r.filter(i=>{const s=i.name.toLowerCase().includes(e),p=(i.description??"").toLowerCase().includes(e);return s||p}):r});T(()=>{if(!n.open||a()!=="command")return;const e=n.searchQuery,r=V().length;if(e!==ne){ne=e,P(0),re();return}if(r<=0){x()!==0&&P(0);return}const i=x();if(i<0){P(0);return}i>=r&&P(r-1)});const U=()=>{const e=[];if(a()==="command")return V().forEach(i=>e.push({type:"command",command:i})),e;const r=n.searchQuery==="."||n.searchQuery==="./";if(a()==="mention"&&r){const i={path:".",relativePath:".",isDirectory:!0,isGitFile:!1};e.push({type:"file",file:i})}return Q().forEach(i=>e.push({type:"file",file:i})),r||(N().forEach(i=>e.push({type:"agent",agent:i})),oe().forEach(i=>e.push({type:"skill",skill:i}))),e};function we(){setTimeout(()=>{const e=L==null?void 0:L.querySelector('[data-picker-selected="true"]');e&&e.scrollIntoView({block:"nearest",behavior:"smooth"})},0)}function $e(e){if(!n.open)return;const r=U();if(e.key==="ArrowDown")e.preventDefault(),e.stopPropagation(),P(i=>Math.min(i+1,r.length-1)),we();else if(e.key==="ArrowUp")e.preventDefault(),e.stopPropagation(),P(i=>Math.max(i-1,0)),we();else if(e.key==="Enter"||e.key==="Tab"){if(e.preventDefault(),e.stopPropagation(),e.key==="Enter"&&(e.ctrlKey||e.metaKey))return;const i=r[x()];if(i){const s=e.key==="Tab"?"tab":e.shiftKey?"shiftEnter":"enter";n.onSelect(i,s)}}else e.key==="Escape"&&(e.preventDefault(),e.stopPropagation(),n.onClose())}T(()=>{n.open&&(document.addEventListener("keydown",$e),ce(()=>{document.removeEventListener("keydown",$e)}))});const _e=()=>V().length,xe=()=>N().length,Ce=()=>oe().length,Se=()=>Q().length,We=()=>a()==="mention"&&J()!=="idle",je=()=>J()==="search"?u("unifiedPicker.loading.searching"):J()==="listing"?u("unifiedPicker.loading.loadingWorkspace"):"";return m(v,{get when(){return n.open},get children(){var e=Je(),r=e.firstChild,i=r.firstChild,s=r.nextSibling,p=L;typeof p=="function"?Fe(p,e):L=e,l(i,m(v,{get when(){return a()==="command"},get fallback(){return u("unifiedPicker.title.mention")},get children(){return u("unifiedPicker.title.command")}}),null),l(i,m(v,{get when(){return We()},get children(){var t=Ge();return l(t,je),t}}),null);var S=D;return typeof S=="function"?Fe(S,s):D=s,l(s,m(v,{get when(){return C(()=>a()==="command")()?_e()===0:C(()=>xe()===0&&Ce()===0&&Se()===0)()&&!ve()},get children(){var t=Ie();return l(t,()=>u("unifiedPicker.empty")),t}}),null),l(s,m(v,{get when(){return C(()=>a()==="mention")()&&ve()},get children(){var t=Ie();return l(t,()=>u("promptInput.skills.loading")),t}}),null),l(s,m(v,{get when(){return C(()=>a()==="mention")()&&De()},get children(){var t=Ne();return l(t,()=>u("promptInput.skills.error")),t}}),null),l(s,m(v,{get when(){return C(()=>a()==="command")()&&_e()>0},get children(){return[(()=>{var t=G();return l(t,()=>u("unifiedPicker.sections.commands")),t})(),m(K,{get each(){return V()},children:(t,g)=>{const d=()=>g()===x();return(()=>{var c=Xe(),f=c.firstChild,$=f.firstChild,k=$.nextSibling,F=k.firstChild;return F.firstChild,c.$$click=()=>n.onSelect({type:"command",command:t},"click"),l(F,()=>t.name,null),l(k,m(v,{get when(){return t.description},get children(){var o=de();return l(o,(()=>{var y=C(()=>(t.description??"").length>80);return()=>y()?(t.description??"").slice(0,80)+"...":t.description})()),o}}),null),q(o=>{var y=`dropdown-item ${d()?"dropdown-item-highlight":""}`,h=d();return y!==o.e&&A(c,o.e=y),h!==o.t&&E(c,"data-picker-selected",o.t=h),o},{e:void 0,t:void 0}),c})()}})]}}),null),l(s,m(v,{get when(){return C(()=>a()==="mention")()&&(Se()>0||n.searchQuery==="."||n.searchQuery==="./")},get children(){return[(()=>{var t=G();return l(t,()=>u("unifiedPicker.sections.files")),t})(),m(v,{get when(){return n.searchQuery==="."||n.searchQuery==="./"},get children(){var t=Oe(),g=t.firstChild,d=g.firstChild,c=d.nextSibling;return c.firstChild,t.$$click=()=>{const f={path:".",relativePath:".",isDirectory:!0,isGitFile:!1};n.onSelect({type:"file",file:f},"click")},l(c,()=>u("unifiedPicker.sections.workspaceRoot"),null),q(f=>{var $=`dropdown-item py-1.5 ${x()===0?"dropdown-item-highlight":""}`,k=x()===0;return $!==f.e&&A(t,f.e=$),k!==f.t&&E(t,"data-picker-selected",f.t=k),f},{e:void 0,t:void 0}),t}}),m(K,{get each(){return Q()},children:t=>{const g=()=>U().findIndex(f=>f.type==="file"&&f.file.relativePath===t.relativePath),d=t.isDirectory,c=Ke(t.path);return(()=>{var f=tt(),$=f.firstChild,k=$.firstChild,F=k.firstChild,o=F.nextSibling,y=o.firstChild;return f.$$click=()=>n.onSelect({type:"file",file:t},"click"),l($,m(v,{when:d,get fallback(){return nt()},get children(){return Ye()}}),k),l(F,()=>t.path),l(y,()=>c.name),l(o,m(v,{get when(){return c.parent},get children(){var h=Ze(),H=h.firstChild;return l(h,()=>c.parent,H),h}}),null),l(o,m(v,{get when(){return C(()=>!!c.directory)()&&c.directory!==c.parent},get children(){var h=et();return l(h,()=>c.directory),h}}),null),q(h=>{var H=`dropdown-item py-1.5 ${g()===x()?"dropdown-item-highlight":""}`,be=g()===x(),Pe=t.path;return H!==h.e&&A(f,h.e=H),be!==h.t&&E(f,"data-picker-selected",h.t=be),Pe!==h.a&&E(k,"title",h.a=Pe),h},{e:void 0,t:void 0,a:void 0}),f})()}})]}}),null),l(s,m(v,{get when(){return C(()=>a()==="mention"&&xe()>0)()&&!(n.searchQuery==="."||n.searchQuery==="./")},get children(){return[(()=>{var t=G();return l(t,()=>u("unifiedPicker.sections.agents")),t})(),m(K,{get each(){return N()},children:t=>{const g=()=>U().findIndex(d=>d.type==="agent"&&d.agent.name===t.name);return(()=>{var d=it(),c=d.firstChild,f=c.firstChild,$=f.nextSibling,k=$.firstChild,F=k.firstChild;return d.$$click=()=>n.onSelect({type:"agent",agent:t},"click"),l(F,()=>t.name),l(k,m(v,{get when(){return t.mode==="subagent"},get children(){var o=rt();return l(o,()=>u("unifiedPicker.badge.subagent")),o}}),null),l($,m(v,{get when(){return t.description},get children(){var o=de();return l(o,(()=>{var y=C(()=>!!(t.description&&t.description.length>80));return()=>y()?t.description.slice(0,80)+"...":t.description})()),o}}),null),q(o=>{var y=`dropdown-item ${g()===x()?"dropdown-item-highlight":""}`,h=g()===x();return y!==o.e&&A(d,o.e=y),h!==o.t&&E(d,"data-picker-selected",o.t=h),o},{e:void 0,t:void 0}),d})()}})]}}),null),l(s,m(v,{get when(){return C(()=>a()==="mention"&&Ce()>0)()&&!(n.searchQuery==="."||n.searchQuery==="./")},get children(){return[(()=>{var t=G();return l(t,()=>u("unifiedPicker.sections.skills")),t})(),m(K,{get each(){return oe()},children:t=>{const g=()=>U().findIndex(d=>d.type==="skill"&&d.skill.id===t.id);return(()=>{var d=lt(),c=d.firstChild,f=c.firstChild,$=f.nextSibling,k=$.firstChild,F=k.firstChild;return d.$$click=()=>n.onSelect({type:"skill",skill:t},"click"),l(F,()=>t.name),l($,m(v,{get when(){return t.description},get children(){var o=de();return l(o,(()=>{var y=C(()=>!!(t.description&&t.description.length>100));return()=>y()?t.description.slice(0,100)+"...":t.description})()),o}}),null),q(o=>{var y=`dropdown-item ${g()===x()?"dropdown-item-highlight":""}`,h=g()===x();return y!==o.e&&A(d,o.e=y),h!==o.t&&E(d,"data-picker-selected",o.t=h),o},{e:void 0,t:void 0}),d})()}})]}}),null),e}})};Ve(["click"]);export{pt as default};
|
|
2
|
+
//# sourceMappingURL=unified-picker-DOP29DIt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-picker-Dpt39UfN.js","sources":["../../../components/unified-picker-path.ts","../../../components/unified-picker.tsx"],"sourcesContent":["export function splitDisplayPath(path: string) {\n const isDirectory = path.endsWith(\"/\")\n const parts = path.split(\"/\").filter(Boolean)\n const folders = parts.slice(0, -1)\n return {\n name: parts.length > 0 ? `${parts[parts.length - 1]}${isDirectory ? \"/\" : \"\"}` : path,\n parent: folders[folders.length - 1] ?? \"\",\n directory: folders.join(\"/\"),\n }\n}\n","import { Component, createSignal, createEffect, createMemo, For, Show, onCleanup } from \"solid-js\"\nimport type { Agent } from \"../types/session\"\nimport type { CommandInfo, SkillInfo } from \"@opencode/client\"\nimport { serverApi } from \"../lib/api-client\"\nimport { useI18n } from \"../lib/i18n\"\nimport { getLogger } from \"../lib/logger\"\nimport { serverEvents } from \"../lib/server-events\"\nimport { getRootClient } from \"../stores/opencode-client\"\nimport { splitDisplayPath } from \"./unified-picker-path\"\nconst log = getLogger(\"actions\")\n\n\nconst SEARCH_RESULT_LIMIT = 100\nconst SEARCH_DEBOUNCE_MS = 200\n\ntype LoadingState = \"idle\" | \"listing\" | \"search\"\n\ninterface FileItem {\n path: string\n relativePath: string\n added?: number\n removed?: number\n isGitFile: boolean\n isDirectory: boolean\n}\n\nfunction formatDisplayPath(basePath: string, isDirectory: boolean) {\n if (!isDirectory) {\n return basePath\n }\n const trimmed = basePath.replace(/\\/+$/, \"\")\n return trimmed.length > 0 ? `${trimmed}/` : \"./\"\n}\n\nfunction isRootPath(value: string) {\n return value === \".\" || value === \"./\" || value === \"/\"\n}\n\nfunction normalizeRelativePath(basePath: string, isDirectory: boolean) {\n if (isRootPath(basePath)) {\n return \".\"\n }\n const withoutPrefix = basePath.replace(/^\\.\\/+/, \"\")\n if (isDirectory) {\n const trimmed = withoutPrefix.replace(/\\/+$/, \"\")\n return trimmed || \".\"\n }\n return withoutPrefix\n}\n\nfunction normalizeQuery(rawQuery: string) {\n const trimmed = rawQuery.trim()\n if (!trimmed) {\n return \"\"\n }\n // Don't normalize \".\" - it's used for workspace root\n return trimmed.replace(/^(\\.\\/)+/, \"\").replace(/^\\/+/, \"\")\n}\n\nfunction mapEntriesToFileItems(entries: { path: string; type: \"file\" | \"directory\" }[]): FileItem[] {\n return entries.map((entry) => {\n const isDirectory = entry.type === \"directory\"\n return {\n path: formatDisplayPath(entry.path, isDirectory),\n relativePath: normalizeRelativePath(entry.path, isDirectory),\n isDirectory,\n isGitFile: false,\n }\n })\n}\n\ntype PickerItem =\n | { type: \"agent\"; agent: Agent }\n | { type: \"skill\"; skill: SkillSummary }\n | { type: \"file\"; file: FileItem }\n | { type: \"command\"; command: CommandInfo }\n\ntype SkillSummary = Pick<SkillInfo, \"id\" | \"name\" | \"description\">\n\nexport type PickerSelectAction = \"click\" | \"tab\" | \"enter\" | \"shiftEnter\"\n\ninterface UnifiedPickerProps {\n open: boolean\n mode?: \"mention\" | \"command\"\n onSelect: (item: PickerItem, action: PickerSelectAction) => void\n onClose: () => void\n agents: Agent[]\n commands?: CommandInfo[]\n searchQuery: string\n textareaRef?: HTMLTextAreaElement\n workspaceId: string\n directory?: string\n}\n\nconst UnifiedPicker: Component<UnifiedPickerProps> = (props) => {\n const { t } = useI18n()\n const mode = () => props.mode ?? \"mention\"\n\n const [files, setFiles] = createSignal<FileItem[]>([])\n const [filteredAgents, setFilteredAgents] = createSignal<Agent[]>([])\n const [skills, setSkills] = createSignal<SkillSummary[]>([])\n const [skillsLoading, setSkillsLoading] = createSignal(false)\n const [skillsError, setSkillsError] = createSignal(false)\n const [selectedIndex, setSelectedIndex] = createSignal(0)\n const [loadingState, setLoadingState] = createSignal<LoadingState>(\"idle\")\n const [allFiles, setAllFiles] = createSignal<FileItem[]>([])\n const [isInitialized, setIsInitialized] = createSignal(false)\n const [cachedWorkspaceId, setCachedWorkspaceId] = createSignal<string | null>(null)\n \n let containerRef: HTMLDivElement | undefined\n let scrollContainerRef: HTMLDivElement | undefined\n let lastWorkspaceId: string | null = null\n let lastQuery = \"\"\n let lastCommandQuery = \"\"\n let inflightWorkspaceId: string | null = null\n let inflightSnapshotPromise: Promise<FileItem[]> | null = null\n let activeRequestId = 0\n let queryDebounceTimer: ReturnType<typeof setTimeout> | null = null\n \n function resetScrollPosition() {\n setTimeout(() => {\n if (scrollContainerRef) {\n scrollContainerRef.scrollTop = 0\n scrollContainerRef.scrollLeft = 0\n }\n }, 0)\n }\n \n function applyFileResults(nextFiles: FileItem[]) {\n setFiles(nextFiles)\n setSelectedIndex(0)\n resetScrollPosition()\n }\n \n async function fetchWorkspaceSnapshot(workspaceId: string): Promise<FileItem[]> {\n if (inflightWorkspaceId === workspaceId && inflightSnapshotPromise) {\n return inflightSnapshotPromise\n }\n \n inflightWorkspaceId = workspaceId\n inflightSnapshotPromise = serverApi\n .listWorkspaceFiles(workspaceId, \".\", props.directory)\n .then((entries) => mapEntriesToFileItems(entries))\n .then((snapshot) => {\n setAllFiles(snapshot)\n setCachedWorkspaceId(workspaceId)\n return snapshot\n })\n .catch((error) => {\n log.error(`[UnifiedPicker] Failed to load workspace files:`, error)\n setAllFiles([])\n setCachedWorkspaceId(null)\n throw error\n })\n .finally(() => {\n if (inflightWorkspaceId === workspaceId) {\n inflightWorkspaceId = null\n inflightSnapshotPromise = null\n }\n })\n \n return inflightSnapshotPromise\n }\n \n async function ensureWorkspaceSnapshot(workspaceId: string) {\n if (cachedWorkspaceId() === workspaceId && allFiles().length > 0) {\n return allFiles()\n }\n \n return fetchWorkspaceSnapshot(workspaceId)\n }\n \n let searchController: AbortController | undefined\n\n async function loadFilesForQuery(rawQuery: string, workspaceId: string) {\n searchController?.abort()\n const controller = new AbortController()\n searchController = controller\n const normalizedQuery = normalizeQuery(rawQuery)\n const requestId = ++activeRequestId\n const hasCachedSnapshot =\n !normalizedQuery && cachedWorkspaceId() === workspaceId && allFiles().length > 0\n const mode: LoadingState = normalizedQuery ? \"search\" : hasCachedSnapshot ? \"idle\" : \"listing\"\n if (mode !== \"idle\") {\n setLoadingState(mode)\n } else {\n setLoadingState(\"idle\")\n }\n\n try {\n if (!normalizedQuery) {\n const snapshot = await ensureWorkspaceSnapshot(workspaceId)\n if (!shouldApplyResults(requestId, workspaceId)) {\n return\n }\n applyFileResults(snapshot)\n return\n }\n\n const results = await serverApi.searchWorkspaceFiles(workspaceId, normalizedQuery, {\n limit: SEARCH_RESULT_LIMIT,\n signal: controller.signal,\n directory: props.directory,\n })\n if (!shouldApplyResults(requestId, workspaceId)) {\n return\n }\n applyFileResults(mapEntriesToFileItems(results))\n } catch (error) {\n if (controller.signal.aborted) return\n if (workspaceId === props.workspaceId) {\n log.error(`[UnifiedPicker] Failed to fetch files:`, error)\n if (shouldApplyResults(requestId, workspaceId)) {\n applyFileResults([])\n }\n }\n } finally {\n if (shouldFinalizeRequest(requestId, workspaceId)) {\n setLoadingState(\"idle\")\n }\n }\n }\n\n function clearQueryDebounce() {\n if (queryDebounceTimer) {\n clearTimeout(queryDebounceTimer)\n queryDebounceTimer = null\n }\n }\n\n function scheduleLoadFilesForQuery(rawQuery: string, workspaceId: string, immediate = false) {\n searchController?.abort()\n activeRequestId += 1\n clearQueryDebounce()\n const normalizedQuery = normalizeQuery(rawQuery)\n const shouldDebounce = !immediate && normalizedQuery.length > 0\n if (shouldDebounce) {\n queryDebounceTimer = setTimeout(() => {\n queryDebounceTimer = null\n void loadFilesForQuery(rawQuery, workspaceId)\n }, SEARCH_DEBOUNCE_MS)\n return\n }\n void loadFilesForQuery(rawQuery, workspaceId)\n }\n\n function shouldApplyResults(requestId: number, workspaceId: string) {\n return props.open && workspaceId === props.workspaceId && requestId === activeRequestId\n }\n\n \n function shouldFinalizeRequest(requestId: number, workspaceId: string) {\n return workspaceId === props.workspaceId && requestId === activeRequestId\n }\n \n function resetPickerState() {\n searchController?.abort()\n clearQueryDebounce()\n setFiles([])\n setAllFiles([])\n setFilteredAgents([])\n setSkills([])\n setSkillsLoading(false)\n setSkillsError(false)\n setCachedWorkspaceId(null)\n setIsInitialized(false)\n setSelectedIndex(0)\n setLoadingState(\"idle\")\n lastWorkspaceId = null\n lastQuery = \"\"\n lastCommandQuery = \"\"\n activeRequestId += 1\n }\n\n onCleanup(() => {\n searchController?.abort()\n clearQueryDebounce()\n })\n\n createEffect(() => {\n if (!props.open) {\n resetPickerState()\n return\n }\n\n if (mode() !== \"mention\") {\n // Command mode doesn't use file snapshots.\n return\n }\n\n const workspaceChanged = lastWorkspaceId !== props.workspaceId\n const queryChanged = lastQuery !== props.searchQuery\n\n if (queryChanged) {\n // Reset selectedIndex to 0 when query changes to avoid ghost state\n // This ensures proper highlighting when navigating back to root or changing queries\n setSelectedIndex(0)\n resetScrollPosition()\n }\n\n if (!isInitialized() || workspaceChanged || queryChanged) {\n setIsInitialized(true)\n lastWorkspaceId = props.workspaceId\n lastQuery = props.searchQuery\n const shouldSkipDebounce = workspaceChanged || normalizeQuery(props.searchQuery).length === 0\n scheduleLoadFilesForQuery(props.searchQuery, props.workspaceId, shouldSkipDebounce)\n }\n })\n\n // Skills come from the owning native Location. The list is fetched when the\n // @ menu opens and refreshed on skill/config updates while it stays open,\n // with concurrent refreshes coalesced and late responses fenced.\n createEffect(() => {\n if (!props.open || mode() !== \"mention\") return\n const workspaceId = props.workspaceId\n const directory = props.directory ?? \"\"\n if (!workspaceId || !directory) return\n let disposed = false, inFlight = false, trailing = false\n setSkills([])\n setSkillsError(false)\n setSkillsLoading(true)\n const load = () => {\n if (disposed) return\n if (inFlight) { trailing = true; return }\n inFlight = true\n setSkillsLoading(true)\n void getRootClient(workspaceId).skill.list({ location: { directory } }).then(\n (response) => {\n if (disposed) return\n if (trailing) { inFlight = false; trailing = false; load(); return }\n setSkills((response.data ?? []).map(({ id, name, description }) => ({ id, name, description })))\n setSkillsError(false)\n inFlight = false\n setSkillsLoading(false)\n },\n (error) => {\n if (disposed) return\n if (trailing) { inFlight = false; trailing = false; load(); return }\n log.error(`[UnifiedPicker] Failed to load skills:`, error)\n setSkillsError(true)\n inFlight = false\n setSkillsLoading(false)\n },\n )\n }\n const unsubscribe = serverEvents.on(\"instance.event\", payload => {\n if (payload.type !== \"instance.event\" || payload.instanceId !== workspaceId) return\n if ([\"skill.updated\", \"config.updated\"].includes(payload.event.type)) load()\n })\n const status = serverEvents.on(\"instance.eventStatus\", payload => {\n if (payload.type === \"instance.eventStatus\" && payload.instanceId === workspaceId && payload.status === \"connected\") load()\n })\n const reconnect = serverEvents.onOpen(() => load())\n onCleanup(() => { disposed = true; unsubscribe(); status(); reconnect() })\n load()\n })\n\n const filteredSkills = createMemo(() => {\n if (mode() !== \"mention\") return []\n const query = props.searchQuery.trim().toLowerCase()\n if (!query) return skills()\n return skills().filter((skill) =>\n skill.name.toLowerCase().includes(query) ||\n (skill.description ?? \"\").toLowerCase().includes(query),\n )\n })\n\n createEffect(() => {\n if (!props.open) return\n if (mode() !== \"mention\") return\n\n const query = props.searchQuery.toLowerCase()\n const visibleAgents = props.agents.filter((agent) => !agent.hidden)\n const filtered = query\n ? visibleAgents.filter(\n (agent) =>\n agent.name.toLowerCase().includes(query) ||\n (agent.description && agent.description.toLowerCase().includes(query)),\n )\n : visibleAgents\n\n setFilteredAgents(filtered)\n })\n\n const filteredCommands = createMemo(() => {\n if (mode() !== \"command\") return []\n const q = props.searchQuery.trim().toLowerCase()\n const source = props.commands ?? []\n if (!q) return source\n return source.filter((cmd) => {\n const nameMatch = cmd.name.toLowerCase().includes(q)\n const descMatch = (cmd.description ?? \"\").toLowerCase().includes(q)\n return nameMatch || descMatch\n })\n })\n\n createEffect(() => {\n if (!props.open) return\n if (mode() !== \"command\") return\n\n const query = props.searchQuery\n const count = filteredCommands().length\n\n if (query !== lastCommandQuery) {\n lastCommandQuery = query\n setSelectedIndex(0)\n resetScrollPosition()\n return\n }\n\n if (count <= 0) {\n if (selectedIndex() !== 0) {\n setSelectedIndex(0)\n }\n return\n }\n\n const current = selectedIndex()\n if (current < 0) {\n setSelectedIndex(0)\n return\n }\n if (current >= count) {\n setSelectedIndex(count - 1)\n }\n })\n\n const allItems = (): PickerItem[] => {\n const items: PickerItem[] = []\n if (mode() === \"command\") {\n filteredCommands().forEach((command) => items.push({ type: \"command\", command }))\n return items\n }\n\n // Add root directory as first item only when query is EXACTLY \".\" or \"./\" (not \"./docs/\")\n const isExactRootQuery = props.searchQuery === \".\" || props.searchQuery === \"./\"\n if (mode() === \"mention\" && isExactRootQuery) {\n const rootFile: FileItem = {\n path: \".\",\n relativePath: \".\",\n isDirectory: true,\n isGitFile: false,\n }\n items.push({ type: \"file\", file: rootFile })\n }\n\n // Match the placeholder and the rendered groups: files, agents, then skills.\n files().forEach((file) => items.push({ type: \"file\", file }))\n // Don't show agents or skills for exact root path queries\n if (!isExactRootQuery) {\n filteredAgents().forEach((agent) => items.push({ type: \"agent\", agent }))\n filteredSkills().forEach((skill) => items.push({ type: \"skill\", skill }))\n }\n return items\n }\n\n function scrollToSelected() {\n setTimeout(() => {\n const selectedElement = containerRef?.querySelector('[data-picker-selected=\"true\"]')\n if (selectedElement) {\n selectedElement.scrollIntoView({ block: \"nearest\", behavior: \"smooth\" })\n }\n }, 0)\n }\n\n function handleSelect(item: PickerItem) {\n props.onSelect(item, \"click\")\n }\n\n function handleKeyDown(e: KeyboardEvent) {\n if (!props.open) return\n\n const items = allItems()\n\n if (e.key === \"ArrowDown\") {\n e.preventDefault()\n e.stopPropagation()\n setSelectedIndex((prev) => Math.min(prev + 1, items.length - 1))\n scrollToSelected()\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault()\n e.stopPropagation()\n setSelectedIndex((prev) => Math.max(prev - 1, 0))\n scrollToSelected()\n } else if (e.key === \"Enter\" || e.key === \"Tab\") {\n e.preventDefault()\n e.stopPropagation()\n // Solid delegates textarea key handlers at document too, so propagation\n // alone cannot keep modified submit shortcuts out of this listener.\n if (e.key === \"Enter\" && (e.ctrlKey || e.metaKey)) return\n const selected = items[selectedIndex()]\n if (selected) {\n const action: PickerSelectAction = e.key === \"Tab\" ? \"tab\" : e.shiftKey ? \"shiftEnter\" : \"enter\"\n props.onSelect(selected, action)\n }\n } else if (e.key === \"Escape\") {\n e.preventDefault()\n e.stopPropagation()\n props.onClose()\n }\n }\n\n createEffect(() => {\n if (props.open) {\n document.addEventListener(\"keydown\", handleKeyDown)\n onCleanup(() => {\n document.removeEventListener(\"keydown\", handleKeyDown)\n })\n }\n })\n\n const commandCount = () => filteredCommands().length\n const agentCount = () => filteredAgents().length\n const skillCount = () => filteredSkills().length\n const fileCount = () => files().length\n const isLoading = () => mode() === \"mention\" && loadingState() !== \"idle\"\n const loadingMessage = () => {\n if (loadingState() === \"search\") {\n return t(\"unifiedPicker.loading.searching\")\n }\n if (loadingState() === \"listing\") {\n return t(\"unifiedPicker.loading.loadingWorkspace\")\n }\n return \"\"\n }\n \n return (\n\n <Show when={props.open}>\n <div\n ref={containerRef}\n class=\"dropdown-surface bottom-full left-0 mb-1\"\n >\n <div class=\"dropdown-header\">\n <div class=\"dropdown-header-title\">\n <Show when={mode() === \"command\"} fallback={t(\"unifiedPicker.title.mention\")}>\n {t(\"unifiedPicker.title.command\")}\n </Show>\n <Show when={isLoading()}>\n <span class=\"ml-2\">{loadingMessage()}</span>\n </Show>\n </div>\n </div>\n\n <div ref={scrollContainerRef} class=\"dropdown-content max-h-60 overflow-x-auto\">\n <Show when={(mode() === \"command\" ? commandCount() === 0 : agentCount() === 0 && skillCount() === 0 && fileCount() === 0 && !skillsLoading())}>\n <div class=\"dropdown-empty\">{t(\"unifiedPicker.empty\")}</div>\n </Show>\n <Show when={mode() === \"mention\" && skillsLoading()}>\n <div class=\"dropdown-empty\">{t(\"promptInput.skills.loading\")}</div>\n </Show>\n <Show when={mode() === \"mention\" && skillsError()}>\n <div class=\"dropdown-empty\" role=\"alert\">{t(\"promptInput.skills.error\")}</div>\n </Show>\n\n <Show when={mode() === \"command\" && commandCount() > 0}>\n <div class=\"dropdown-section-header\">{t(\"unifiedPicker.sections.commands\")}</div>\n <For each={filteredCommands()}>\n {(command, index) => {\n const isSelected = () => index() === selectedIndex()\n return (\n <div\n class={`dropdown-item ${isSelected() ? \"dropdown-item-highlight\" : \"\"}`}\n data-picker-selected={isSelected()}\n onClick={() => props.onSelect({ type: \"command\", command }, \"click\")}\n >\n <div class=\"flex items-start gap-2\">\n <svg class=\"dropdown-icon-accent h-4 w-4 mt-0.5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 6h16M4 12h16M4 18h16\" />\n </svg>\n <div class=\"flex-1\">\n <div class=\"text-sm font-medium\">/{command.name}</div>\n <Show when={command.description}>\n <div class=\"mt-0.5 text-xs\" style=\"color: var(--text-muted)\">\n {(command.description ?? \"\").length > 80 ? (command.description ?? \"\").slice(0, 80) + \"...\" : command.description}\n </div>\n </Show>\n </div>\n </div>\n </div>\n )\n }}\n </For>\n </Show>\n\n <Show when={mode() === \"mention\" && (fileCount() > 0 || props.searchQuery === \".\" || props.searchQuery === \"./\")}>\n <div class=\"dropdown-section-header\">\n {t(\"unifiedPicker.sections.files\")}\n </div>\n <Show when={props.searchQuery === \".\" || props.searchQuery === \"./\"}>\n <div\n class={`dropdown-item py-1.5 ${\n selectedIndex() === 0 ? \"dropdown-item-highlight\" : \"\"\n }`}\n data-picker-selected={selectedIndex() === 0}\n onClick={() => {\n const rootFile: FileItem = {\n path: \".\",\n relativePath: \".\",\n isDirectory: true,\n isGitFile: false,\n }\n props.onSelect({ type: \"file\", file: rootFile }, \"click\")\n }}\n >\n <div class=\"flex items-center gap-2 text-sm\">\n <svg class=\"dropdown-icon h-4 w-4 text-blue-500\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z\"\n />\n </svg>\n <span class=\"font-mono\">. {t(\"unifiedPicker.sections.workspaceRoot\")}</span>\n </div>\n </div>\n </Show>\n <For each={files()}>\n {(file) => {\n const itemIndex = () => allItems().findIndex(\n (item) => item.type === \"file\" && item.file.relativePath === file.relativePath,\n )\n const isFolder = file.isDirectory\n const displayPath = splitDisplayPath(file.path)\n return (\n <div\n class={`dropdown-item py-1.5 ${\n itemIndex() === selectedIndex() ? \"dropdown-item-highlight\" : \"\"\n }`}\n data-picker-selected={itemIndex() === selectedIndex()}\n onClick={() => props.onSelect({ type: \"file\", file }, \"click\")}\n >\n <div class=\"flex min-w-full w-max items-center gap-2 text-sm\">\n <Show\n when={isFolder}\n fallback={\n <svg class=\"dropdown-icon h-4 w-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"\n />\n </svg>\n }\n >\n <svg class=\"dropdown-icon-accent h-4 w-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z\"\n />\n </svg>\n </Show>\n <span class=\"min-w-0 flex-1\" title={file.path}>\n <span class=\"sr-only\">{file.path}</span>\n <span aria-hidden=\"true\">\n <span class=\"block whitespace-nowrap\">\n {displayPath.name}\n </span>\n <Show when={displayPath.parent}>\n <span class=\"block whitespace-nowrap text-[11px]\" style=\"color: var(--text-muted)\">{displayPath.parent}/</span>\n </Show>\n <Show when={displayPath.directory && displayPath.directory !== displayPath.parent}>\n <span class=\"block whitespace-nowrap text-[10px]\" style=\"color: var(--text-muted)\">{displayPath.directory}</span>\n </Show>\n </span>\n </span>\n </div>\n </div>\n )\n }}\n </For>\n </Show>\n <Show when={mode() === \"mention\" && agentCount() > 0 && !(props.searchQuery === \".\" || props.searchQuery === \"./\")}>\n <div class=\"dropdown-section-header\">\n {t(\"unifiedPicker.sections.agents\")}\n </div>\n <For each={filteredAgents()}>\n {(agent) => {\n const itemIndex = () => allItems().findIndex(\n (item) => item.type === \"agent\" && item.agent.name === agent.name,\n )\n return (\n <div\n class={`dropdown-item ${\n itemIndex() === selectedIndex() ? \"dropdown-item-highlight\" : \"\"\n }`}\n data-picker-selected={itemIndex() === selectedIndex()}\n onClick={() => props.onSelect({ type: \"agent\", agent }, \"click\")}\n >\n <div class=\"flex items-start gap-2\">\n <svg\n class=\"dropdown-icon-accent h-4 w-4 mt-0.5\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z\"\n />\n </svg>\n <div class=\"flex-1\">\n <div class=\"flex items-center gap-2\">\n <span class=\"text-sm font-medium\">{agent.name}</span>\n <Show when={agent.mode === \"subagent\"}>\n <span class=\"dropdown-badge\">\n {t(\"unifiedPicker.badge.subagent\")}\n </span>\n </Show>\n </div>\n <Show when={agent.description}>\n <div class=\"mt-0.5 text-xs\" style=\"color: var(--text-muted)\">\n {agent.description && agent.description.length > 80\n ? agent.description.slice(0, 80) + \"...\"\n : agent.description}\n </div>\n </Show>\n </div>\n </div>\n </div>\n )\n }}\n </For>\n </Show>\n\n <Show when={mode() === \"mention\" && skillCount() > 0 && !(props.searchQuery === \".\" || props.searchQuery === \"./\")}>\n <div class=\"dropdown-section-header\">\n {t(\"unifiedPicker.sections.skills\")}\n </div>\n <For each={filteredSkills()}>\n {(skill) => {\n const itemIndex = () => allItems().findIndex(\n (item) => item.type === \"skill\" && item.skill.id === skill.id,\n )\n return (\n <div\n class={`dropdown-item ${\n itemIndex() === selectedIndex() ? \"dropdown-item-highlight\" : \"\"\n }`}\n data-picker-selected={itemIndex() === selectedIndex()}\n onClick={() => props.onSelect({ type: \"skill\", skill }, \"click\")}\n >\n <div class=\"flex items-start gap-2\">\n <svg\n class=\"dropdown-icon-accent h-4 w-4 mt-0.5\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4\"\n />\n </svg>\n <div class=\"flex-1\">\n <div class=\"flex items-center gap-2\">\n <span class=\"text-sm font-medium\">{skill.name}</span>\n </div>\n <Show when={skill.description}>\n <div class=\"mt-0.5 text-xs\" style=\"color: var(--text-muted)\">\n {skill.description && skill.description.length > 100\n ? skill.description.slice(0, 100) + \"...\"\n : skill.description}\n </div>\n </Show>\n </div>\n </div>\n </div>\n )\n }}\n </For>\n </Show>\n </div>\n\n </div>\n </Show>\n )\n}\n\nexport default UnifiedPicker\n"],"names":["splitDisplayPath","path","isDirectory","parts","folders","log","getLogger","SEARCH_RESULT_LIMIT","SEARCH_DEBOUNCE_MS","formatDisplayPath","basePath","trimmed","replace","length","isRootPath","value","normalizeRelativePath","withoutPrefix","normalizeQuery","rawQuery","trim","mapEntriesToFileItems","entries","map","entry","type","relativePath","isGitFile","UnifiedPicker","props","t","useI18n","mode","files","setFiles","createSignal","filteredAgents","setFilteredAgents","skills","setSkills","skillsLoading","setSkillsLoading","skillsError","setSkillsError","selectedIndex","setSelectedIndex","loadingState","setLoadingState","allFiles","setAllFiles","isInitialized","setIsInitialized","cachedWorkspaceId","setCachedWorkspaceId","containerRef","scrollContainerRef","lastWorkspaceId","lastQuery","lastCommandQuery","inflightWorkspaceId","inflightSnapshotPromise","activeRequestId","queryDebounceTimer","resetScrollPosition","setTimeout","scrollTop","scrollLeft","applyFileResults","nextFiles","fetchWorkspaceSnapshot","workspaceId","serverApi","listWorkspaceFiles","directory","then","snapshot","catch","error","finally","ensureWorkspaceSnapshot","searchController","loadFilesForQuery","abort","controller","AbortController","normalizedQuery","requestId","hasCachedSnapshot","shouldApplyResults","results","searchWorkspaceFiles","limit","signal","aborted","shouldFinalizeRequest","clearQueryDebounce","clearTimeout","scheduleLoadFilesForQuery","immediate","open","resetPickerState","onCleanup","createEffect","workspaceChanged","queryChanged","searchQuery","shouldSkipDebounce","disposed","inFlight","trailing","load","getRootClient","skill","list","location","response","data","id","name","description","unsubscribe","serverEvents","on","payload","instanceId","includes","event","status","reconnect","onOpen","filteredSkills","createMemo","query","toLowerCase","filter","visibleAgents","agents","agent","hidden","filtered","filteredCommands","q","source","commands","cmd","nameMatch","descMatch","count","current","allItems","items","forEach","command","push","isExactRootQuery","rootFile","file","scrollToSelected","selectedElement","querySelector","scrollIntoView","block","behavior","handleKeyDown","e","key","preventDefault","stopPropagation","prev","Math","min","max","ctrlKey","metaKey","selected","action","shiftKey","onSelect","onClose","document","addEventListener","removeEventListener","commandCount","agentCount","skillCount","fileCount","isLoading","loadingMessage","_$createComponent","Show","when","children","_el$","_tmpl$6","_el$2","firstChild","_el$3","_el$5","nextSibling","_ref$","_$use","_$insert","fallback","_el$4","_tmpl$","_ref$2","_$memo","_el$6","_tmpl$2","_el$7","_el$8","_tmpl$3","_el$9","_tmpl$4","For","each","index","isSelected","_el$16","_tmpl$8","_el$17","_el$18","_el$19","_el$20","$$click","_el$22","_tmpl$7","_c$","slice","_$effect","_p$","_v$3","_v$4","_$className","_$setAttribute","undefined","_el$0","_el$1","_tmpl$5","_el$10","_el$11","_el$12","_v$","_v$2","itemIndex","findIndex","item","isFolder","displayPath","_el$23","_tmpl$10","_el$24","_el$26","_el$27","_el$28","_el$29","_tmpl$11","_tmpl$9","parent","_el$30","_tmpl$0","_el$31","_el$32","_tmpl$1","_v$5","_v$6","_v$7","a","_el$14","_el$34","_tmpl$13","_el$35","_el$36","_el$37","_el$38","_el$39","_el$40","_tmpl$12","_el$41","_c$2","_v$8","_v$9","_el$15","_el$42","_tmpl$14","_el$43","_el$44","_el$45","_el$46","_el$47","_el$48","_c$3","_v$0","_v$1","_$delegateEvents"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unified-picker-DOP29DIt.js","sources":["../../../components/unified-picker-path.ts","../../../components/unified-picker.tsx"],"sourcesContent":["export function splitDisplayPath(path: string) {\n const isDirectory = path.endsWith(\"/\")\n const parts = path.split(\"/\").filter(Boolean)\n const folders = parts.slice(0, -1)\n return {\n name: parts.length > 0 ? `${parts[parts.length - 1]}${isDirectory ? \"/\" : \"\"}` : path,\n parent: folders[folders.length - 1] ?? \"\",\n directory: folders.join(\"/\"),\n }\n}\n","import { Component, createSignal, createEffect, createMemo, For, Show, onCleanup } from \"solid-js\"\nimport type { Agent } from \"../types/session\"\nimport type { CommandInfo, SkillInfo } from \"@opencode/client\"\nimport { serverApi } from \"../lib/api-client\"\nimport { useI18n } from \"../lib/i18n\"\nimport { getLogger } from \"../lib/logger\"\nimport { serverEvents } from \"../lib/server-events\"\nimport { getRootClient } from \"../stores/opencode-client\"\nimport { splitDisplayPath } from \"./unified-picker-path\"\nconst log = getLogger(\"actions\")\n\n\nconst SEARCH_RESULT_LIMIT = 100\nconst SEARCH_DEBOUNCE_MS = 200\n\ntype LoadingState = \"idle\" | \"listing\" | \"search\"\n\ninterface FileItem {\n path: string\n relativePath: string\n added?: number\n removed?: number\n isGitFile: boolean\n isDirectory: boolean\n}\n\nfunction formatDisplayPath(basePath: string, isDirectory: boolean) {\n if (!isDirectory) {\n return basePath\n }\n const trimmed = basePath.replace(/\\/+$/, \"\")\n return trimmed.length > 0 ? `${trimmed}/` : \"./\"\n}\n\nfunction isRootPath(value: string) {\n return value === \".\" || value === \"./\" || value === \"/\"\n}\n\nfunction normalizeRelativePath(basePath: string, isDirectory: boolean) {\n if (isRootPath(basePath)) {\n return \".\"\n }\n const withoutPrefix = basePath.replace(/^\\.\\/+/, \"\")\n if (isDirectory) {\n const trimmed = withoutPrefix.replace(/\\/+$/, \"\")\n return trimmed || \".\"\n }\n return withoutPrefix\n}\n\nfunction normalizeQuery(rawQuery: string) {\n const trimmed = rawQuery.trim()\n if (!trimmed) {\n return \"\"\n }\n // Don't normalize \".\" - it's used for workspace root\n return trimmed.replace(/^(\\.\\/)+/, \"\").replace(/^\\/+/, \"\")\n}\n\nfunction mapEntriesToFileItems(entries: { path: string; type: \"file\" | \"directory\" }[]): FileItem[] {\n return entries.map((entry) => {\n const isDirectory = entry.type === \"directory\"\n return {\n path: formatDisplayPath(entry.path, isDirectory),\n relativePath: normalizeRelativePath(entry.path, isDirectory),\n isDirectory,\n isGitFile: false,\n }\n })\n}\n\ntype PickerItem =\n | { type: \"agent\"; agent: Agent }\n | { type: \"skill\"; skill: SkillSummary }\n | { type: \"file\"; file: FileItem }\n | { type: \"command\"; command: CommandInfo }\n\ntype SkillSummary = Pick<SkillInfo, \"id\" | \"name\" | \"description\">\n\nexport type PickerSelectAction = \"click\" | \"tab\" | \"enter\" | \"shiftEnter\"\n\ninterface UnifiedPickerProps {\n open: boolean\n mode?: \"mention\" | \"command\"\n onSelect: (item: PickerItem, action: PickerSelectAction) => void\n onClose: () => void\n agents: Agent[]\n commands?: CommandInfo[]\n searchQuery: string\n textareaRef?: HTMLTextAreaElement\n workspaceId: string\n directory?: string\n}\n\nconst UnifiedPicker: Component<UnifiedPickerProps> = (props) => {\n const { t } = useI18n()\n const mode = () => props.mode ?? \"mention\"\n\n const [files, setFiles] = createSignal<FileItem[]>([])\n const [filteredAgents, setFilteredAgents] = createSignal<Agent[]>([])\n const [skills, setSkills] = createSignal<SkillSummary[]>([])\n const [skillsLoading, setSkillsLoading] = createSignal(false)\n const [skillsError, setSkillsError] = createSignal(false)\n const [selectedIndex, setSelectedIndex] = createSignal(0)\n const [loadingState, setLoadingState] = createSignal<LoadingState>(\"idle\")\n const [allFiles, setAllFiles] = createSignal<FileItem[]>([])\n const [isInitialized, setIsInitialized] = createSignal(false)\n const [cachedWorkspaceId, setCachedWorkspaceId] = createSignal<string | null>(null)\n \n let containerRef: HTMLDivElement | undefined\n let scrollContainerRef: HTMLDivElement | undefined\n let lastWorkspaceId: string | null = null\n let lastQuery = \"\"\n let lastCommandQuery = \"\"\n let inflightWorkspaceId: string | null = null\n let inflightSnapshotPromise: Promise<FileItem[]> | null = null\n let activeRequestId = 0\n let queryDebounceTimer: ReturnType<typeof setTimeout> | null = null\n \n function resetScrollPosition() {\n setTimeout(() => {\n if (scrollContainerRef) {\n scrollContainerRef.scrollTop = 0\n scrollContainerRef.scrollLeft = 0\n }\n }, 0)\n }\n \n function applyFileResults(nextFiles: FileItem[]) {\n setFiles(nextFiles)\n setSelectedIndex(0)\n resetScrollPosition()\n }\n \n async function fetchWorkspaceSnapshot(workspaceId: string): Promise<FileItem[]> {\n if (inflightWorkspaceId === workspaceId && inflightSnapshotPromise) {\n return inflightSnapshotPromise\n }\n \n inflightWorkspaceId = workspaceId\n inflightSnapshotPromise = serverApi\n .listWorkspaceFiles(workspaceId, \".\", props.directory)\n .then((entries) => mapEntriesToFileItems(entries))\n .then((snapshot) => {\n setAllFiles(snapshot)\n setCachedWorkspaceId(workspaceId)\n return snapshot\n })\n .catch((error) => {\n log.error(`[UnifiedPicker] Failed to load workspace files:`, error)\n setAllFiles([])\n setCachedWorkspaceId(null)\n throw error\n })\n .finally(() => {\n if (inflightWorkspaceId === workspaceId) {\n inflightWorkspaceId = null\n inflightSnapshotPromise = null\n }\n })\n \n return inflightSnapshotPromise\n }\n \n async function ensureWorkspaceSnapshot(workspaceId: string) {\n if (cachedWorkspaceId() === workspaceId && allFiles().length > 0) {\n return allFiles()\n }\n \n return fetchWorkspaceSnapshot(workspaceId)\n }\n \n let searchController: AbortController | undefined\n\n async function loadFilesForQuery(rawQuery: string, workspaceId: string) {\n searchController?.abort()\n const controller = new AbortController()\n searchController = controller\n const normalizedQuery = normalizeQuery(rawQuery)\n const requestId = ++activeRequestId\n const hasCachedSnapshot =\n !normalizedQuery && cachedWorkspaceId() === workspaceId && allFiles().length > 0\n const mode: LoadingState = normalizedQuery ? \"search\" : hasCachedSnapshot ? \"idle\" : \"listing\"\n if (mode !== \"idle\") {\n setLoadingState(mode)\n } else {\n setLoadingState(\"idle\")\n }\n\n try {\n if (!normalizedQuery) {\n const snapshot = await ensureWorkspaceSnapshot(workspaceId)\n if (!shouldApplyResults(requestId, workspaceId)) {\n return\n }\n applyFileResults(snapshot)\n return\n }\n\n const results = await serverApi.searchWorkspaceFiles(workspaceId, normalizedQuery, {\n limit: SEARCH_RESULT_LIMIT,\n signal: controller.signal,\n directory: props.directory,\n })\n if (!shouldApplyResults(requestId, workspaceId)) {\n return\n }\n applyFileResults(mapEntriesToFileItems(results))\n } catch (error) {\n if (controller.signal.aborted) return\n if (workspaceId === props.workspaceId) {\n log.error(`[UnifiedPicker] Failed to fetch files:`, error)\n if (shouldApplyResults(requestId, workspaceId)) {\n applyFileResults([])\n }\n }\n } finally {\n if (shouldFinalizeRequest(requestId, workspaceId)) {\n setLoadingState(\"idle\")\n }\n }\n }\n\n function clearQueryDebounce() {\n if (queryDebounceTimer) {\n clearTimeout(queryDebounceTimer)\n queryDebounceTimer = null\n }\n }\n\n function scheduleLoadFilesForQuery(rawQuery: string, workspaceId: string, immediate = false) {\n searchController?.abort()\n activeRequestId += 1\n clearQueryDebounce()\n const normalizedQuery = normalizeQuery(rawQuery)\n const shouldDebounce = !immediate && normalizedQuery.length > 0\n if (shouldDebounce) {\n queryDebounceTimer = setTimeout(() => {\n queryDebounceTimer = null\n void loadFilesForQuery(rawQuery, workspaceId)\n }, SEARCH_DEBOUNCE_MS)\n return\n }\n void loadFilesForQuery(rawQuery, workspaceId)\n }\n\n function shouldApplyResults(requestId: number, workspaceId: string) {\n return props.open && workspaceId === props.workspaceId && requestId === activeRequestId\n }\n\n \n function shouldFinalizeRequest(requestId: number, workspaceId: string) {\n return workspaceId === props.workspaceId && requestId === activeRequestId\n }\n \n function resetPickerState() {\n searchController?.abort()\n clearQueryDebounce()\n setFiles([])\n setAllFiles([])\n setFilteredAgents([])\n setSkills([])\n setSkillsLoading(false)\n setSkillsError(false)\n setCachedWorkspaceId(null)\n setIsInitialized(false)\n setSelectedIndex(0)\n setLoadingState(\"idle\")\n lastWorkspaceId = null\n lastQuery = \"\"\n lastCommandQuery = \"\"\n activeRequestId += 1\n }\n\n onCleanup(() => {\n searchController?.abort()\n clearQueryDebounce()\n })\n\n createEffect(() => {\n if (!props.open) {\n resetPickerState()\n return\n }\n\n if (mode() !== \"mention\") {\n // Command mode doesn't use file snapshots.\n return\n }\n\n const workspaceChanged = lastWorkspaceId !== props.workspaceId\n const queryChanged = lastQuery !== props.searchQuery\n\n if (queryChanged) {\n // Reset selectedIndex to 0 when query changes to avoid ghost state\n // This ensures proper highlighting when navigating back to root or changing queries\n setSelectedIndex(0)\n resetScrollPosition()\n }\n\n if (!isInitialized() || workspaceChanged || queryChanged) {\n setIsInitialized(true)\n lastWorkspaceId = props.workspaceId\n lastQuery = props.searchQuery\n const shouldSkipDebounce = workspaceChanged || normalizeQuery(props.searchQuery).length === 0\n scheduleLoadFilesForQuery(props.searchQuery, props.workspaceId, shouldSkipDebounce)\n }\n })\n\n // Skills come from the owning native Location. The list is fetched when the\n // @ menu opens and refreshed on skill/config updates while it stays open,\n // with concurrent refreshes coalesced and late responses fenced.\n createEffect(() => {\n if (!props.open || mode() !== \"mention\") return\n const workspaceId = props.workspaceId\n const directory = props.directory ?? \"\"\n if (!workspaceId || !directory) return\n let disposed = false, inFlight = false, trailing = false\n setSkills([])\n setSkillsError(false)\n setSkillsLoading(true)\n const load = () => {\n if (disposed) return\n if (inFlight) { trailing = true; return }\n inFlight = true\n setSkillsLoading(true)\n void getRootClient(workspaceId).skill.list({ location: { directory } }).then(\n (response) => {\n if (disposed) return\n if (trailing) { inFlight = false; trailing = false; load(); return }\n setSkills((response.data ?? []).map(({ id, name, description }) => ({ id, name, description })))\n setSkillsError(false)\n inFlight = false\n setSkillsLoading(false)\n },\n (error) => {\n if (disposed) return\n if (trailing) { inFlight = false; trailing = false; load(); return }\n log.error(`[UnifiedPicker] Failed to load skills:`, error)\n setSkillsError(true)\n inFlight = false\n setSkillsLoading(false)\n },\n )\n }\n const unsubscribe = serverEvents.on(\"instance.event\", payload => {\n if (payload.type !== \"instance.event\" || payload.instanceId !== workspaceId) return\n if ([\"skill.updated\", \"config.updated\"].includes(payload.event.type)) load()\n })\n const status = serverEvents.on(\"instance.eventStatus\", payload => {\n if (payload.type === \"instance.eventStatus\" && payload.instanceId === workspaceId && payload.status === \"connected\") load()\n })\n const reconnect = serverEvents.onOpen(() => load())\n onCleanup(() => { disposed = true; unsubscribe(); status(); reconnect() })\n load()\n })\n\n const filteredSkills = createMemo(() => {\n if (mode() !== \"mention\") return []\n const query = props.searchQuery.trim().toLowerCase()\n if (!query) return skills()\n return skills().filter((skill) =>\n skill.name.toLowerCase().includes(query) ||\n (skill.description ?? \"\").toLowerCase().includes(query),\n )\n })\n\n createEffect(() => {\n if (!props.open) return\n if (mode() !== \"mention\") return\n\n const query = props.searchQuery.toLowerCase()\n const visibleAgents = props.agents.filter((agent) => !agent.hidden)\n const filtered = query\n ? visibleAgents.filter(\n (agent) =>\n agent.name.toLowerCase().includes(query) ||\n (agent.description && agent.description.toLowerCase().includes(query)),\n )\n : visibleAgents\n\n setFilteredAgents(filtered)\n })\n\n const filteredCommands = createMemo(() => {\n if (mode() !== \"command\") return []\n const q = props.searchQuery.trim().toLowerCase()\n const source = props.commands ?? []\n if (!q) return source\n return source.filter((cmd) => {\n const nameMatch = cmd.name.toLowerCase().includes(q)\n const descMatch = (cmd.description ?? \"\").toLowerCase().includes(q)\n return nameMatch || descMatch\n })\n })\n\n createEffect(() => {\n if (!props.open) return\n if (mode() !== \"command\") return\n\n const query = props.searchQuery\n const count = filteredCommands().length\n\n if (query !== lastCommandQuery) {\n lastCommandQuery = query\n setSelectedIndex(0)\n resetScrollPosition()\n return\n }\n\n if (count <= 0) {\n if (selectedIndex() !== 0) {\n setSelectedIndex(0)\n }\n return\n }\n\n const current = selectedIndex()\n if (current < 0) {\n setSelectedIndex(0)\n return\n }\n if (current >= count) {\n setSelectedIndex(count - 1)\n }\n })\n\n const allItems = (): PickerItem[] => {\n const items: PickerItem[] = []\n if (mode() === \"command\") {\n filteredCommands().forEach((command) => items.push({ type: \"command\", command }))\n return items\n }\n\n // Add root directory as first item only when query is EXACTLY \".\" or \"./\" (not \"./docs/\")\n const isExactRootQuery = props.searchQuery === \".\" || props.searchQuery === \"./\"\n if (mode() === \"mention\" && isExactRootQuery) {\n const rootFile: FileItem = {\n path: \".\",\n relativePath: \".\",\n isDirectory: true,\n isGitFile: false,\n }\n items.push({ type: \"file\", file: rootFile })\n }\n\n // Match the placeholder and the rendered groups: files, agents, then skills.\n files().forEach((file) => items.push({ type: \"file\", file }))\n // Don't show agents or skills for exact root path queries\n if (!isExactRootQuery) {\n filteredAgents().forEach((agent) => items.push({ type: \"agent\", agent }))\n filteredSkills().forEach((skill) => items.push({ type: \"skill\", skill }))\n }\n return items\n }\n\n function scrollToSelected() {\n setTimeout(() => {\n const selectedElement = containerRef?.querySelector('[data-picker-selected=\"true\"]')\n if (selectedElement) {\n selectedElement.scrollIntoView({ block: \"nearest\", behavior: \"smooth\" })\n }\n }, 0)\n }\n\n function handleSelect(item: PickerItem) {\n props.onSelect(item, \"click\")\n }\n\n function handleKeyDown(e: KeyboardEvent) {\n if (!props.open) return\n\n const items = allItems()\n\n if (e.key === \"ArrowDown\") {\n e.preventDefault()\n e.stopPropagation()\n setSelectedIndex((prev) => Math.min(prev + 1, items.length - 1))\n scrollToSelected()\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault()\n e.stopPropagation()\n setSelectedIndex((prev) => Math.max(prev - 1, 0))\n scrollToSelected()\n } else if (e.key === \"Enter\" || e.key === \"Tab\") {\n e.preventDefault()\n e.stopPropagation()\n // Solid delegates textarea key handlers at document too, so propagation\n // alone cannot keep modified submit shortcuts out of this listener.\n if (e.key === \"Enter\" && (e.ctrlKey || e.metaKey)) return\n const selected = items[selectedIndex()]\n if (selected) {\n const action: PickerSelectAction = e.key === \"Tab\" ? \"tab\" : e.shiftKey ? \"shiftEnter\" : \"enter\"\n props.onSelect(selected, action)\n }\n } else if (e.key === \"Escape\") {\n e.preventDefault()\n e.stopPropagation()\n props.onClose()\n }\n }\n\n createEffect(() => {\n if (props.open) {\n document.addEventListener(\"keydown\", handleKeyDown)\n onCleanup(() => {\n document.removeEventListener(\"keydown\", handleKeyDown)\n })\n }\n })\n\n const commandCount = () => filteredCommands().length\n const agentCount = () => filteredAgents().length\n const skillCount = () => filteredSkills().length\n const fileCount = () => files().length\n const isLoading = () => mode() === \"mention\" && loadingState() !== \"idle\"\n const loadingMessage = () => {\n if (loadingState() === \"search\") {\n return t(\"unifiedPicker.loading.searching\")\n }\n if (loadingState() === \"listing\") {\n return t(\"unifiedPicker.loading.loadingWorkspace\")\n }\n return \"\"\n }\n \n return (\n\n <Show when={props.open}>\n <div\n ref={containerRef}\n class=\"dropdown-surface bottom-full left-0 mb-1\"\n >\n <div class=\"dropdown-header\">\n <div class=\"dropdown-header-title\">\n <Show when={mode() === \"command\"} fallback={t(\"unifiedPicker.title.mention\")}>\n {t(\"unifiedPicker.title.command\")}\n </Show>\n <Show when={isLoading()}>\n <span class=\"ml-2\">{loadingMessage()}</span>\n </Show>\n </div>\n </div>\n\n <div ref={scrollContainerRef} class=\"dropdown-content max-h-60 overflow-x-auto\">\n <Show when={(mode() === \"command\" ? commandCount() === 0 : agentCount() === 0 && skillCount() === 0 && fileCount() === 0 && !skillsLoading())}>\n <div class=\"dropdown-empty\">{t(\"unifiedPicker.empty\")}</div>\n </Show>\n <Show when={mode() === \"mention\" && skillsLoading()}>\n <div class=\"dropdown-empty\">{t(\"promptInput.skills.loading\")}</div>\n </Show>\n <Show when={mode() === \"mention\" && skillsError()}>\n <div class=\"dropdown-empty\" role=\"alert\">{t(\"promptInput.skills.error\")}</div>\n </Show>\n\n <Show when={mode() === \"command\" && commandCount() > 0}>\n <div class=\"dropdown-section-header\">{t(\"unifiedPicker.sections.commands\")}</div>\n <For each={filteredCommands()}>\n {(command, index) => {\n const isSelected = () => index() === selectedIndex()\n return (\n <div\n class={`dropdown-item ${isSelected() ? \"dropdown-item-highlight\" : \"\"}`}\n data-picker-selected={isSelected()}\n onClick={() => props.onSelect({ type: \"command\", command }, \"click\")}\n >\n <div class=\"flex items-start gap-2\">\n <svg class=\"dropdown-icon-accent h-4 w-4 mt-0.5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 6h16M4 12h16M4 18h16\" />\n </svg>\n <div class=\"flex-1\">\n <div class=\"text-sm font-medium\">/{command.name}</div>\n <Show when={command.description}>\n <div class=\"mt-0.5 text-xs\" style=\"color: var(--text-muted)\">\n {(command.description ?? \"\").length > 80 ? (command.description ?? \"\").slice(0, 80) + \"...\" : command.description}\n </div>\n </Show>\n </div>\n </div>\n </div>\n )\n }}\n </For>\n </Show>\n\n <Show when={mode() === \"mention\" && (fileCount() > 0 || props.searchQuery === \".\" || props.searchQuery === \"./\")}>\n <div class=\"dropdown-section-header\">\n {t(\"unifiedPicker.sections.files\")}\n </div>\n <Show when={props.searchQuery === \".\" || props.searchQuery === \"./\"}>\n <div\n class={`dropdown-item py-1.5 ${\n selectedIndex() === 0 ? \"dropdown-item-highlight\" : \"\"\n }`}\n data-picker-selected={selectedIndex() === 0}\n onClick={() => {\n const rootFile: FileItem = {\n path: \".\",\n relativePath: \".\",\n isDirectory: true,\n isGitFile: false,\n }\n props.onSelect({ type: \"file\", file: rootFile }, \"click\")\n }}\n >\n <div class=\"flex items-center gap-2 text-sm\">\n <svg class=\"dropdown-icon h-4 w-4 text-blue-500\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z\"\n />\n </svg>\n <span class=\"font-mono\">. {t(\"unifiedPicker.sections.workspaceRoot\")}</span>\n </div>\n </div>\n </Show>\n <For each={files()}>\n {(file) => {\n const itemIndex = () => allItems().findIndex(\n (item) => item.type === \"file\" && item.file.relativePath === file.relativePath,\n )\n const isFolder = file.isDirectory\n const displayPath = splitDisplayPath(file.path)\n return (\n <div\n class={`dropdown-item py-1.5 ${\n itemIndex() === selectedIndex() ? \"dropdown-item-highlight\" : \"\"\n }`}\n data-picker-selected={itemIndex() === selectedIndex()}\n onClick={() => props.onSelect({ type: \"file\", file }, \"click\")}\n >\n <div class=\"flex min-w-full w-max items-center gap-2 text-sm\">\n <Show\n when={isFolder}\n fallback={\n <svg class=\"dropdown-icon h-4 w-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"\n />\n </svg>\n }\n >\n <svg class=\"dropdown-icon-accent h-4 w-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z\"\n />\n </svg>\n </Show>\n <span class=\"min-w-0 flex-1\" title={file.path}>\n <span class=\"sr-only\">{file.path}</span>\n <span aria-hidden=\"true\">\n <span class=\"block whitespace-nowrap\">\n {displayPath.name}\n </span>\n <Show when={displayPath.parent}>\n <span class=\"block whitespace-nowrap text-[11px]\" style=\"color: var(--text-muted)\">{displayPath.parent}/</span>\n </Show>\n <Show when={displayPath.directory && displayPath.directory !== displayPath.parent}>\n <span class=\"block whitespace-nowrap text-[10px]\" style=\"color: var(--text-muted)\">{displayPath.directory}</span>\n </Show>\n </span>\n </span>\n </div>\n </div>\n )\n }}\n </For>\n </Show>\n <Show when={mode() === \"mention\" && agentCount() > 0 && !(props.searchQuery === \".\" || props.searchQuery === \"./\")}>\n <div class=\"dropdown-section-header\">\n {t(\"unifiedPicker.sections.agents\")}\n </div>\n <For each={filteredAgents()}>\n {(agent) => {\n const itemIndex = () => allItems().findIndex(\n (item) => item.type === \"agent\" && item.agent.name === agent.name,\n )\n return (\n <div\n class={`dropdown-item ${\n itemIndex() === selectedIndex() ? \"dropdown-item-highlight\" : \"\"\n }`}\n data-picker-selected={itemIndex() === selectedIndex()}\n onClick={() => props.onSelect({ type: \"agent\", agent }, \"click\")}\n >\n <div class=\"flex items-start gap-2\">\n <svg\n class=\"dropdown-icon-accent h-4 w-4 mt-0.5\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z\"\n />\n </svg>\n <div class=\"flex-1\">\n <div class=\"flex items-center gap-2\">\n <span class=\"text-sm font-medium\">{agent.name}</span>\n <Show when={agent.mode === \"subagent\"}>\n <span class=\"dropdown-badge\">\n {t(\"unifiedPicker.badge.subagent\")}\n </span>\n </Show>\n </div>\n <Show when={agent.description}>\n <div class=\"mt-0.5 text-xs\" style=\"color: var(--text-muted)\">\n {agent.description && agent.description.length > 80\n ? agent.description.slice(0, 80) + \"...\"\n : agent.description}\n </div>\n </Show>\n </div>\n </div>\n </div>\n )\n }}\n </For>\n </Show>\n\n <Show when={mode() === \"mention\" && skillCount() > 0 && !(props.searchQuery === \".\" || props.searchQuery === \"./\")}>\n <div class=\"dropdown-section-header\">\n {t(\"unifiedPicker.sections.skills\")}\n </div>\n <For each={filteredSkills()}>\n {(skill) => {\n const itemIndex = () => allItems().findIndex(\n (item) => item.type === \"skill\" && item.skill.id === skill.id,\n )\n return (\n <div\n class={`dropdown-item ${\n itemIndex() === selectedIndex() ? \"dropdown-item-highlight\" : \"\"\n }`}\n data-picker-selected={itemIndex() === selectedIndex()}\n onClick={() => props.onSelect({ type: \"skill\", skill }, \"click\")}\n >\n <div class=\"flex items-start gap-2\">\n <svg\n class=\"dropdown-icon-accent h-4 w-4 mt-0.5\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4\"\n />\n </svg>\n <div class=\"flex-1\">\n <div class=\"flex items-center gap-2\">\n <span class=\"text-sm font-medium\">{skill.name}</span>\n </div>\n <Show when={skill.description}>\n <div class=\"mt-0.5 text-xs\" style=\"color: var(--text-muted)\">\n {skill.description && skill.description.length > 100\n ? skill.description.slice(0, 100) + \"...\"\n : skill.description}\n </div>\n </Show>\n </div>\n </div>\n </div>\n )\n }}\n </For>\n </Show>\n </div>\n\n </div>\n </Show>\n )\n}\n\nexport default UnifiedPicker\n"],"names":["splitDisplayPath","path","isDirectory","parts","folders","log","getLogger","SEARCH_RESULT_LIMIT","SEARCH_DEBOUNCE_MS","formatDisplayPath","basePath","trimmed","replace","length","isRootPath","value","normalizeRelativePath","withoutPrefix","normalizeQuery","rawQuery","trim","mapEntriesToFileItems","entries","map","entry","type","relativePath","isGitFile","UnifiedPicker","props","t","useI18n","mode","files","setFiles","createSignal","filteredAgents","setFilteredAgents","skills","setSkills","skillsLoading","setSkillsLoading","skillsError","setSkillsError","selectedIndex","setSelectedIndex","loadingState","setLoadingState","allFiles","setAllFiles","isInitialized","setIsInitialized","cachedWorkspaceId","setCachedWorkspaceId","containerRef","scrollContainerRef","lastWorkspaceId","lastQuery","lastCommandQuery","inflightWorkspaceId","inflightSnapshotPromise","activeRequestId","queryDebounceTimer","resetScrollPosition","setTimeout","scrollTop","scrollLeft","applyFileResults","nextFiles","fetchWorkspaceSnapshot","workspaceId","serverApi","listWorkspaceFiles","directory","then","snapshot","catch","error","finally","ensureWorkspaceSnapshot","searchController","loadFilesForQuery","abort","controller","AbortController","normalizedQuery","requestId","hasCachedSnapshot","shouldApplyResults","results","searchWorkspaceFiles","limit","signal","aborted","shouldFinalizeRequest","clearQueryDebounce","clearTimeout","scheduleLoadFilesForQuery","immediate","open","resetPickerState","onCleanup","createEffect","workspaceChanged","queryChanged","searchQuery","shouldSkipDebounce","disposed","inFlight","trailing","load","getRootClient","skill","list","location","response","data","id","name","description","unsubscribe","serverEvents","on","payload","instanceId","includes","event","status","reconnect","onOpen","filteredSkills","createMemo","query","toLowerCase","filter","visibleAgents","agents","agent","hidden","filtered","filteredCommands","q","source","commands","cmd","nameMatch","descMatch","count","current","allItems","items","forEach","command","push","isExactRootQuery","rootFile","file","scrollToSelected","selectedElement","querySelector","scrollIntoView","block","behavior","handleKeyDown","e","key","preventDefault","stopPropagation","prev","Math","min","max","ctrlKey","metaKey","selected","action","shiftKey","onSelect","onClose","document","addEventListener","removeEventListener","commandCount","agentCount","skillCount","fileCount","isLoading","loadingMessage","_$createComponent","Show","when","children","_el$","_tmpl$6","_el$2","firstChild","_el$3","_el$5","nextSibling","_ref$","_$use","_$insert","fallback","_el$4","_tmpl$","_ref$2","_$memo","_el$6","_tmpl$2","_el$7","_el$8","_tmpl$3","_el$9","_tmpl$4","For","each","index","isSelected","_el$16","_tmpl$8","_el$17","_el$18","_el$19","_el$20","$$click","_el$22","_tmpl$7","_c$","slice","_$effect","_p$","_v$3","_v$4","_$className","_$setAttribute","undefined","_el$0","_el$1","_tmpl$5","_el$10","_el$11","_el$12","_v$","_v$2","itemIndex","findIndex","item","isFolder","displayPath","_el$23","_tmpl$10","_el$24","_el$26","_el$27","_el$28","_el$29","_tmpl$11","_tmpl$9","parent","_el$30","_tmpl$0","_el$31","_el$32","_tmpl$1","_v$5","_v$6","_v$7","a","_el$14","_el$34","_tmpl$13","_el$35","_el$36","_el$37","_el$38","_el$39","_el$40","_tmpl$12","_el$41","_c$2","_v$8","_v$9","_el$15","_el$42","_tmpl$14","_el$43","_el$44","_el$45","_el$46","_el$47","_el$48","_c$3","_v$0","_v$1","_$delegateEvents"],"mappings":"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"}
|
package/public/index.html
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
}
|
|
25
25
|
})()
|
|
26
26
|
</script>
|
|
27
|
-
<script type="module" crossorigin src="/assets/main-
|
|
27
|
+
<script type="module" crossorigin src="/assets/main-B0L3f7sD.js"></script>
|
|
28
28
|
<link rel="modulepreload" crossorigin href="/assets/fast-diff-vendor-DgdwVvTQ.js">
|
|
29
29
|
<link rel="modulepreload" crossorigin href="/assets/highlight-vendor-8FKMu9os.js">
|
|
30
30
|
<link rel="modulepreload" crossorigin href="/assets/git-diff-vendor-CINvIzmQ.js">
|
package/public/sw.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
if(!self.define){let s,l={};const e=(e,i)=>(e=new URL(e+".js",i).href,l[e]||new Promise(l=>{if("document"in self){const s=document.createElement("script");s.src=e,s.onload=l,document.head.appendChild(s)}else s=e,importScripts(e),l()}).then(()=>{let s=l[e];if(!s)throw new Error(`Module ${e} didn’t register its module`);return s}));self.define=(i,r)=>{const n=s||("document"in self?document.currentScript.src:"")||location.href;if(l[n])return;let u={};const a=s=>e(s,n),t={module:{uri:n},exports:u,require:a};l[n]=Promise.all(i.map(s=>t[s]||a(s))).then(s=>(r(...s),u))}}define(["./workbox-60d14903"],function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"ui-version.json",revision:"2e5e4160bf242bdb8c80188033300194"},{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"pwa-64x64.png",revision:"55fc93ef82eddd32757c324c67f4d8f1"},{url:"pwa-512x512.png",revision:"d8a4783526b318a4a52001e9c9211042"},{url:"pwa-192x192.png",revision:"7d5867127ea8948a52f4eb886da6fca9"},{url:"monaco.worker.js",revision:"47d7f51fe40cc40367130f6c0e059886"},{url:"maskable-icon-512x512.png",revision:"976548c7ab2d6651e02451cffe3439ec"},{url:"manifest.webmanifest",revision:"3587c37712635a9f01cc4906c536d9a9"},{url:"logo.png",revision:"c88fc77a366f290821abc617e67e6674"},{url:"favicon.ico",revision:"62e8e3f28a97401e2932f62503cbdd6b"},{url:"apple-touch-icon-180x180.png",revision:"8252a341f68ec24937e6aaa5d422f87e"},{url:"assets/zig-VOosw3JB.js",revision:null},{url:"assets/zenscript-DVFEvuxE.js",revision:null},{url:"assets/yaml-Buea-lGh.js",revision:null},{url:"assets/xsl-CtQFsRM5.js",revision:null},{url:"assets/xml-sdJ4AIDG.js",revision:null},{url:"assets/wolfram-lXgVvXCa.js",revision:null},{url:"assets/wit-5i3qLPDT.js",revision:null},{url:"assets/wikitext-BhOHFoWU.js",revision:null},{url:"assets/wgsl-Dx-B1_4e.js",revision:null},{url:"assets/wenyan-BV7otONQ.js",revision:null},{url:"assets/wasm-MzD3tlZU.js",revision:null},{url:"assets/wasm-CG6Dc4jp.js",revision:null},{url:"assets/vyper-CDx5xZoG.js",revision:null},{url:"assets/vue-vine-_Ih-lPRR.js",revision:null},{url:"assets/vue-html-DAAvJJDi.js",revision:null},{url:"assets/vue-CCoi5OLL.js",revision:null},{url:"assets/vitesse-light-CVO1_9PV.js",revision:null},{url:"assets/vitesse-dark-D0r3Knsf.js",revision:null},{url:"assets/vitesse-black-Bkuqu6BP.js",revision:null},{url:"assets/viml-CJc9bBzg.js",revision:null},{url:"assets/vhdl-CeAyd5Ju.js",revision:null},{url:"assets/vesper-DU1UobuO.js",revision:null},{url:"assets/verilog-BQ8w6xss.js",revision:null},{url:"assets/vb-D17OF-Vu.js",revision:null},{url:"assets/vala-CsfeWuGM.js",revision:null},{url:"assets/v-BcVCzyr7.js",revision:null},{url:"assets/unified-picker-Dpt39UfN.js",revision:null},{url:"assets/typst-DHCkPAjA.js",revision:null},{url:"assets/typespec-Df68jz8_.js",revision:null},{url:"assets/typescript-BPQ3VLAy.js",revision:null},{url:"assets/twig-CO9l9SDP.js",revision:null},{url:"assets/turtle-BsS91CYL.js",revision:null},{url:"assets/tsx-COt5Ahok.js",revision:null},{url:"assets/tsv-B_m7g4N7.js",revision:null},{url:"assets/ts-tags-zn1MmPIZ.js",revision:null},{url:"assets/tool-call-DPmRZgHK.js",revision:null},{url:"assets/toml-vGWfd6FD.js",revision:null},{url:"assets/tokyo-night-hegEt444.js",revision:null},{url:"assets/tex-Cppo0RY3.js",revision:null},{url:"assets/terraform-BETggiCN.js",revision:null},{url:"assets/terminal-square-DeHY-xG8.js",revision:null},{url:"assets/templ-W15q3VgB.js",revision:null},{url:"assets/tcl-dwOrl1Do.js",revision:null},{url:"assets/tasl-QIJgUcNo.js",revision:null},{url:"assets/talonscript-CkByrt1z.js",revision:null},{url:"assets/systemd-4A_iFExJ.js",revision:null},{url:"assets/system-verilog-CnnmHF94.js",revision:null},{url:"assets/synthwave-84-CbfX1IO0.js",revision:null},{url:"assets/swift-Dg5xB15N.js",revision:null},{url:"assets/svelte-3Dk4HxPD.js",revision:null},{url:"assets/stylus-BEDo0Tqx.js",revision:null},{url:"assets/stata-BH5u7GGu.js",revision:null},{url:"assets/startup-state-settings-view-CQ6mkdWM.js",revision:null},{url:"assets/startup-state-settings-card-DAkduiFk.js",revision:null},{url:"assets/ssh-config-_ykCGR6B.js",revision:null},{url:"assets/sql-BLtJtn59.js",revision:null},{url:"assets/splunk-BtCnVYZw.js",revision:null},{url:"assets/sparql-rVzFXLq3.js",revision:null},{url:"assets/soy-Brmx7dQM.js",revision:null},{url:"assets/solidity-BbcW6ACK.js",revision:null},{url:"assets/solarized-light-L9t79GZl.js",revision:null},{url:"assets/solarized-dark-DXbdFlpD.js",revision:null},{url:"assets/snazzy-light-Bw305WKR.js",revision:null},{url:"assets/smalltalk-BERRCDM3.js",revision:null},{url:"assets/slack-ochin-DqwNpetd.js",revision:null},{url:"assets/slack-dark-BthQWCQV.js",revision:null},{url:"assets/shellsession-BADoaaVG.js",revision:null},{url:"assets/shellscript-Yzrsuije.js",revision:null},{url:"assets/shaderlab-Dg9Lc6iA.js",revision:null},{url:"assets/sdbl-DVxCFoDh.js",revision:null},{url:"assets/scss-OYdSNvt2.js",revision:null},{url:"assets/scheme-C98Dy4si.js",revision:null},{url:"assets/scala-C151Ov-r.js",revision:null},{url:"assets/sass-Cj5Yp3dK.js",revision:null},{url:"assets/sas-cz2c8ADy.js",revision:null},{url:"assets/rust-B1yitclQ.js",revision:null},{url:"assets/ruby-BvKwtOVI.js",revision:null},{url:"assets/rst-B0xPkSld.js",revision:null},{url:"assets/rosmsg-BJDFO7_C.js",revision:null},{url:"assets/rose-pine-moon-NleAzG8P.js",revision:null},{url:"assets/rose-pine-dawn-CnK8MTSM.js",revision:null},{url:"assets/rose-pine-BHrmToEH.js",revision:null},{url:"assets/riscv-BM1_JUlF.js",revision:null},{url:"assets/rel-C3B-1QV4.js",revision:null},{url:"assets/regexp-CDVJQ6XC.js",revision:null},{url:"assets/reg-C-SQnVFl.js",revision:null},{url:"assets/red-bN70gL4F.js",revision:null},{url:"assets/razor-WgofotgN.js",revision:null},{url:"assets/raku-DXvB9xmW.js",revision:null},{url:"assets/racket-BqYA7rlc.js",revision:null},{url:"assets/r-DiinP2Uv.js",revision:null},{url:"assets/qss-IeuSbFQv.js",revision:null},{url:"assets/qmldir-C8lEn-DE.js",revision:null},{url:"assets/qml-3beO22l8.js",revision:null},{url:"assets/python-B6aJPvgy.js",revision:null},{url:"assets/purescript-CklMAg4u.js",revision:null},{url:"assets/puppet-BMWR74SV.js",revision:null},{url:"assets/pug-CGlum2m_.js",revision:null},{url:"assets/proto-DyJlTyXw.js",revision:null},{url:"assets/prolog-CbFg5uaA.js",revision:null},{url:"assets/prisma-Dd19v3D-.js",revision:null},{url:"assets/powershell-Dpen1YoG.js",revision:null},{url:"assets/powerquery-CEu0bR-o.js",revision:null},{url:"assets/postcss-CXtECtnM.js",revision:null},{url:"assets/polar-C0HS_06l.js",revision:null},{url:"assets/poimandres-CS3Unz2-.js",revision:null},{url:"assets/po-BTJTHyun.js",revision:null},{url:"assets/plsql-ChMvpjG-.js",revision:null},{url:"assets/plastic-3e1v2bzS.js",revision:null},{url:"assets/pkl-u5AG7uiY.js",revision:null},{url:"assets/php-CDn_0X-4.js",revision:null},{url:"assets/perl-C0TMdlhV.js",revision:null},{url:"assets/pascal-D93ZcfNL.js",revision:null},{url:"assets/opener-startup-state-settings-card-Bj8IDBCX.js",revision:null},{url:"assets/one-light-PoHY5YXO.js",revision:null},{url:"assets/one-dark-pro-DVMEJ2y_.js",revision:null},{url:"assets/ocaml-C0hk2d4L.js",revision:null},{url:"assets/objective-cpp-CLxacb5B.js",revision:null},{url:"assets/objective-c-DXmwc3jG.js",revision:null},{url:"assets/nushell-C-sUppwS.js",revision:null},{url:"assets/nord-Ddv68eIx.js",revision:null},{url:"assets/nix-BbRYJGeE.js",revision:null},{url:"assets/nim-CVrawwO9.js",revision:null},{url:"assets/night-owl-C39BiMTA.js",revision:null},{url:"assets/nginx-DknmC5AR.js",revision:null},{url:"assets/nextflow-CUEJCptM.js",revision:null},{url:"assets/narrat-DRg8JJMk.js",revision:null},{url:"assets/move-Bu9oaDYs.js",revision:null},{url:"assets/monokai-D4h5O-jR.js",revision:null},{url:"assets/monaco-viewer-CtxFhd10.js",revision:null},{url:"assets/mojo-1DNp92w6.js",revision:null},{url:"assets/mipsasm-CKIfxQSi.js",revision:null},{url:"assets/min-light-CTRr51gU.js",revision:null},{url:"assets/min-dark-CafNBF8u.js",revision:null},{url:"assets/mermaid-DKYwYmdq.js",revision:null},{url:"assets/mdx-Cmh6b_Ma.js",revision:null},{url:"assets/mdc-DUICxH0z.js",revision:null},{url:"assets/matlab-D7o27uSR.js",revision:null},{url:"assets/material-theme-palenight-Csfq5Kiy.js",revision:null},{url:"assets/material-theme-ocean-CyktbL80.js",revision:null},{url:"assets/material-theme-lighter-B0m2ddpp.js",revision:null},{url:"assets/material-theme-darker-BfHTSMKl.js",revision:null},{url:"assets/material-theme-D5KoaKCx.js",revision:null},{url:"assets/marko-CPi9NSCl.js",revision:null},{url:"assets/markdown-Cvjx9yec.js",revision:null},{url:"assets/markdown-B2vmXRgM.js",revision:null},{url:"assets/make-CHLpvVh8.js",revision:null},{url:"assets/main-2ULMhXOZ.js",revision:null},{url:"assets/luau-CXu1NL6O.js",revision:null},{url:"assets/lua-BbnMAYS6.js",revision:null},{url:"assets/logo-BtOb2qkB.js",revision:null},{url:"assets/log-2UxHyX5q.js",revision:null},{url:"assets/loading-CdhHiSED.css",revision:null},{url:"assets/loading-Bc4XPEPt.js",revision:null},{url:"assets/llvm-BtvRca6l.js",revision:null},{url:"assets/liquid-DYVedYrR.js",revision:null},{url:"assets/light-plus-B7mTdjB0.js",revision:null},{url:"assets/less-B1dDrJ26.js",revision:null},{url:"assets/lean-DP1Csr6i.js",revision:null},{url:"assets/latex-BUKiar2Z.js",revision:null},{url:"assets/laserwave-DUszq2jm.js",revision:null},{url:"assets/kusto-BvAqAH-y.js",revision:null},{url:"assets/kotlin-BdnUsdx6.js",revision:null},{url:"assets/kdl-DV7GczEv.js",revision:null},{url:"assets/kanagawa-wave-DWedfzmr.js",revision:null},{url:"assets/kanagawa-lotus-CfQXZHmo.js",revision:null},{url:"assets/kanagawa-dragon-CkXjmgJE.js",revision:null},{url:"assets/julia-C8NyazO9.js",revision:null},{url:"assets/jsx-g9-lgVsj.js",revision:null},{url:"assets/jssm-C2t-YnRu.js",revision:null},{url:"assets/jsonnet-DFQXde-d.js",revision:null},{url:"assets/jsonl-DcaNXYhu.js",revision:null},{url:"assets/jsonc-Des-eS-w.js",revision:null},{url:"assets/json5-C9tS-k6U.js",revision:null},{url:"assets/json-Cp-IABpG.js",revision:null},{url:"assets/jison-wvAkD_A8.js",revision:null},{url:"assets/jinja-4LBKfQ-Z.js",revision:null},{url:"assets/javascript-wDzz0qaB.js",revision:null},{url:"assets/java-CylS5w8V.js",revision:null},{url:"assets/ini-BEwlwnbL.js",revision:null},{url:"assets/index-leISNUGz.js",revision:null},{url:"assets/index-fw3mObxL.js",revision:null},{url:"assets/index-W7CD-32W.js",revision:null},{url:"assets/index-UFXzMdC4.js",revision:null},{url:"assets/index-DJv2w6ZU.js",revision:null},{url:"assets/index-CeWfgqy9.js",revision:null},{url:"assets/index-CeTEq_Yi.js",revision:null},{url:"assets/index-CV6OL4M7.js",revision:null},{url:"assets/index-C-Dx8oor.css",revision:null},{url:"assets/index-Bu7bg7jf.js",revision:null},{url:"assets/index-BHheshRD.js",revision:null},{url:"assets/index-BHE4LKbH.js",revision:null},{url:"assets/index-BB2Eo5pO.js",revision:null},{url:"assets/imba-DGztddWO.js",revision:null},{url:"assets/hy-DFXneXwc.js",revision:null},{url:"assets/hxml-Bvhsp5Yf.js",revision:null},{url:"assets/hurl-irOxFIW8.js",revision:null},{url:"assets/http-jrhK8wxY.js",revision:null},{url:"assets/html-derivative-BFtXZ54Q.js",revision:null},{url:"assets/html-GMplVEZG.js",revision:null},{url:"assets/houston-DnULxvSX.js",revision:null},{url:"assets/hlsl-D3lLCCz7.js",revision:null},{url:"assets/hjson-D5-asLiD.js",revision:null},{url:"assets/highlight-vendor-8FKMu9os.js",revision:null},{url:"assets/hcl-BWvSN4gD.js",revision:null},{url:"assets/haxe-CzTSHFRz.js",revision:null},{url:"assets/haskell-Df6bDoY_.js",revision:null},{url:"assets/handlebars-BL8al0AC.js",revision:null},{url:"assets/haml-B8DHNrY2.js",revision:null},{url:"assets/hack-CaT9iCJl.js",revision:null},{url:"assets/gruvbox-light-soft-hJgmCMqR.js",revision:null},{url:"assets/gruvbox-light-medium-DRw_LuNl.js",revision:null},{url:"assets/gruvbox-light-hard-CH1njM8p.js",revision:null},{url:"assets/gruvbox-dark-soft-CVdnzihN.js",revision:null},{url:"assets/gruvbox-dark-medium-GsRaNv29.js",revision:null},{url:"assets/gruvbox-dark-hard-CFHQjOhq.js",revision:null},{url:"assets/groovy-gcz8RCvz.js",revision:null},{url:"assets/graphql-ChdNCCLP.js",revision:null},{url:"assets/go-Dn2_MT6a.js",revision:null},{url:"assets/gnuplot-DdkO51Og.js",revision:null},{url:"assets/glsl-DplSGwfg.js",revision:null},{url:"assets/glimmer-ts-U6CK756n.js",revision:null},{url:"assets/glimmer-js-Rg0-pVw9.js",revision:null},{url:"assets/gleam-BspZqrRM.js",revision:null},{url:"assets/github-light-high-contrast-BfjtVDDH.js",revision:null},{url:"assets/github-light-default-D7oLnXFd.js",revision:null},{url:"assets/github-light-DAi9KRSo.js",revision:null},{url:"assets/github-dark-high-contrast-E3gJ1_iC.js",revision:null},{url:"assets/github-dark-dimmed-DH5Ifo-i.js",revision:null},{url:"assets/github-dark-default-Cuk6v7N8.js",revision:null},{url:"assets/github-dark-DHJKELXO.js",revision:null},{url:"assets/git-rebase-r7XF79zn.js",revision:null},{url:"assets/git-diff-vendor-HAZkIolJ.css",revision:null},{url:"assets/git-diff-vendor-CINvIzmQ.js",revision:null},{url:"assets/git-commit-F4YmCXRG.js",revision:null},{url:"assets/gherkin-DyxjwDmM.js",revision:null},{url:"assets/genie-D0YGMca9.js",revision:null},{url:"assets/gdshader-DkwncUOv.js",revision:null},{url:"assets/gdscript-DTMYz4Jt.js",revision:null},{url:"assets/gdresource-B7Tvp0Sc.js",revision:null},{url:"assets/fsharp-CXgrBDvD.js",revision:null},{url:"assets/fortran-free-form-D22FLkUw.js",revision:null},{url:"assets/fortran-fixed-form-BZjJHVRy.js",revision:null},{url:"assets/fluent-C4IJs8-o.js",revision:null},{url:"assets/fish-BvzEVeQv.js",revision:null},{url:"assets/fennel-BYunw83y.js",revision:null},{url:"assets/fast-diff-vendor-DgdwVvTQ.js",revision:null},{url:"assets/everforest-light-C8M2exoo.js",revision:null},{url:"assets/everforest-dark-BgDCqdQA.js",revision:null},{url:"assets/erlang-DsQrWhSR.js",revision:null},{url:"assets/erb-BOJIQeun.js",revision:null},{url:"assets/emacs-lisp-C9XAeP06.js",revision:null},{url:"assets/elm-DbKCFpqz.js",revision:null},{url:"assets/elixir-CDX3lj18.js",revision:null},{url:"assets/edge-BkV0erSs.js",revision:null},{url:"assets/dream-maker-BtqSS_iP.js",revision:null},{url:"assets/dracula-soft-BXkSAIEj.js",revision:null},{url:"assets/dracula-BzJJZx-M.js",revision:null},{url:"assets/dotenv-Da5cRb03.js",revision:null},{url:"assets/docker-BcOcwvcX.js",revision:null},{url:"assets/diff-viewer-DidBGGSg.js",revision:null},{url:"assets/diff-D97Zzqfu.js",revision:null},{url:"assets/desktop-BmXAJ9_W.js",revision:null},{url:"assets/dax-CEL-wOlO.js",revision:null},{url:"assets/dart-CF10PKvl.js",revision:null},{url:"assets/dark-plus-eOWES_5F.js",revision:null},{url:"assets/d-85-TOEBH.js",revision:null},{url:"assets/cypher-COkxafJQ.js",revision:null},{url:"assets/cue-D82EKSYY.js",revision:null},{url:"assets/csv-fuZLfV_i.js",revision:null},{url:"assets/css-DPfMkruS.js",revision:null},{url:"assets/csharp-CX12Zw3r.js",revision:null},{url:"assets/crystal-tKQVLTB8.js",revision:null},{url:"assets/cpp-CofmeUqb.js",revision:null},{url:"assets/coq-DkFqJrB1.js",revision:null},{url:"assets/common-lisp-Cg-RD9OK.js",revision:null},{url:"assets/coffee-Ch7k5sss.js",revision:null},{url:"assets/codeql-DsOJ9woJ.js",revision:null},{url:"assets/codeowners-Bp6g37R7.js",revision:null},{url:"assets/cobol-nwyudZeR.js",revision:null},{url:"assets/cmake-D1j8_8rp.js",revision:null},{url:"assets/clojure-P80f7IUj.js",revision:null},{url:"assets/client-state-owner-commands-CNRMpxmP.js",revision:null},{url:"assets/client-state-Dy45bMLT.js",revision:null},{url:"assets/client-state-CdvbHQef.js",revision:null},{url:"assets/clarity-D53aC0YG.js",revision:null},{url:"assets/catppuccin-mocha-D87Tk5Gz.js",revision:null},{url:"assets/catppuccin-macchiato-DQyhUUbL.js",revision:null},{url:"assets/catppuccin-latte-C9dUb6Cb.js",revision:null},{url:"assets/catppuccin-frappe-DFWUc33u.js",revision:null},{url:"assets/cairo-KRGpt6FW.js",revision:null},{url:"assets/cadence-Bv_4Rxtq.js",revision:null},{url:"assets/c-BIGW1oBm.js",revision:null},{url:"assets/bundle-full-CZ4RMwbE.js",revision:null},{url:"assets/bsl-BO_Y6i37.js",revision:null},{url:"assets/blade-DVc8C-J4.js",revision:null},{url:"assets/bicep-Bmn6On1c.js",revision:null},{url:"assets/bibtex-CHM0blh-.js",revision:null},{url:"assets/berry-D08WgyRC.js",revision:null},{url:"assets/beancount-k_qm7-4y.js",revision:null},{url:"assets/bat-BkioyH1T.js",revision:null},{url:"assets/ballerina-BFfxhgS-.js",revision:null},{url:"assets/ayu-dark-Cv9koXgw.js",revision:null},{url:"assets/awk-DMzUqQB5.js",revision:null},{url:"assets/aurora-x-D-2ljcwZ.js",revision:null},{url:"assets/astro-CbQHKStN.js",revision:null},{url:"assets/asm-D_Q5rh1f.js",revision:null},{url:"assets/asciidoc-Dv7Oe6Be.js",revision:null},{url:"assets/ara-BRHolxvo.js",revision:null},{url:"assets/applescript-Co6uUVPk.js",revision:null},{url:"assets/apl-dKokRX4l.js",revision:null},{url:"assets/apex-DhZLUxFE.js",revision:null},{url:"assets/apache-Pmp26Uib.js",revision:null},{url:"assets/ansi-Bn1IjLoh.js",revision:null},{url:"assets/angular-ts-BwZT4LLn.js",revision:null},{url:"assets/angular-html-CU67Zn6k.js",revision:null},{url:"assets/andromeeda-C-Jbm3Hp.js",revision:null},{url:"assets/ada-bCR0ucgS.js",revision:null},{url:"assets/actionscript-3-CfeIJUat.js",revision:null},{url:"assets/abap-BdImnpbu.js",revision:null},{url:"assets/StatusTab-7nJ4mv4I.js",revision:null},{url:"assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf",revision:null},{url:"assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2",revision:null},{url:"assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff",revision:null},{url:"assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2",revision:null},{url:"assets/KaTeX_Size4-Regular-DWFBv043.ttf",revision:null},{url:"assets/KaTeX_Size4-Regular-BF-4gkZK.woff",revision:null},{url:"assets/KaTeX_Size3-Regular-DgpXs0kz.ttf",revision:null},{url:"assets/KaTeX_Size3-Regular-CTq5MqoE.woff",revision:null},{url:"assets/KaTeX_Size2-Regular-oD1tc_U0.woff",revision:null},{url:"assets/KaTeX_Size2-Regular-Dy4dx90m.woff2",revision:null},{url:"assets/KaTeX_Size2-Regular-B7gKUWhC.ttf",revision:null},{url:"assets/KaTeX_Size1-Regular-mCD8mA8B.woff2",revision:null},{url:"assets/KaTeX_Size1-Regular-Dbsnue_I.ttf",revision:null},{url:"assets/KaTeX_Size1-Regular-C195tn64.woff",revision:null},{url:"assets/KaTeX_Script-Regular-D5yQViql.woff",revision:null},{url:"assets/KaTeX_Script-Regular-D3wIWfF6.woff2",revision:null},{url:"assets/KaTeX_Script-Regular-C5JkGWo-.ttf",revision:null},{url:"assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2",revision:null},{url:"assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff",revision:null},{url:"assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf",revision:null},{url:"assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf",revision:null},{url:"assets/KaTeX_SansSerif-Italic-DN2j7dab.woff",revision:null},{url:"assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2",revision:null},{url:"assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff",revision:null},{url:"assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2",revision:null},{url:"assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf",revision:null},{url:"assets/KaTeX_Math-Italic-t53AETM-.woff2",revision:null},{url:"assets/KaTeX_Math-Italic-flOr_0UB.ttf",revision:null},{url:"assets/KaTeX_Math-Italic-DA0__PXp.woff",revision:null},{url:"assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff",revision:null},{url:"assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2",revision:null},{url:"assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf",revision:null},{url:"assets/KaTeX_Main-Regular-ypZvNtVU.ttf",revision:null},{url:"assets/KaTeX_Main-Regular-Dr94JaBh.woff",revision:null},{url:"assets/KaTeX_Main-Regular-B22Nviop.woff2",revision:null},{url:"assets/KaTeX_Main-Italic-NWA7e6Wa.woff2",revision:null},{url:"assets/KaTeX_Main-Italic-BMLOBm91.woff",revision:null},{url:"assets/KaTeX_Main-Italic-3WenGoN9.ttf",revision:null},{url:"assets/KaTeX_Main-BoldItalic-SpSLRI95.woff",revision:null},{url:"assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf",revision:null},{url:"assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2",revision:null},{url:"assets/KaTeX_Main-Bold-waoOVXN0.ttf",revision:null},{url:"assets/KaTeX_Main-Bold-Jm3AIy58.woff",revision:null},{url:"assets/KaTeX_Main-Bold-Cx986IdX.woff2",revision:null},{url:"assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff",revision:null},{url:"assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2",revision:null},{url:"assets/KaTeX_Fraktur-Regular-CB_wures.ttf",revision:null},{url:"assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2",revision:null},{url:"assets/KaTeX_Fraktur-Bold-BsDP51OF.woff",revision:null},{url:"assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf",revision:null},{url:"assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf",revision:null},{url:"assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2",revision:null},{url:"assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff",revision:null},{url:"assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2",revision:null},{url:"assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff",revision:null},{url:"assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf",revision:null},{url:"assets/KaTeX_AMS-Regular-DRggAlZN.ttf",revision:null},{url:"assets/KaTeX_AMS-Regular-DMm9YOAa.woff",revision:null},{url:"assets/KaTeX_AMS-Regular-BQhdFMY1.woff2",revision:null},{url:"assets/FilesPanel-BR_6pmtI.js",revision:null},{url:"assets/CodeNomad-Icon-bmTWNPXy.png",revision:null},{url:"assets/CodeNomad-Icon-DTDWwXip.js",revision:null},{url:"assets/App-z4rDGruy.js",revision:null},{url:"manifest.webmanifest",revision:"4f4aaad9542bc67e284999ba91ccc883"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(({url:s,request:l})=>!s.pathname.startsWith("/api/")&&("document"!==l.destination&&["script","style","image","font"].includes(l.destination)),new s.CacheFirst({cacheName:"asset-cache",plugins:[new s.ExpirationPlugin({maxEntries:200,maxAgeSeconds:2592e3}),new s.CacheableResponsePlugin({statuses:[0,200]})]}),"GET")});
|
|
1
|
+
if(!self.define){let s,l={};const e=(e,i)=>(e=new URL(e+".js",i).href,l[e]||new Promise(l=>{if("document"in self){const s=document.createElement("script");s.src=e,s.onload=l,document.head.appendChild(s)}else s=e,importScripts(e),l()}).then(()=>{let s=l[e];if(!s)throw new Error(`Module ${e} didn’t register its module`);return s}));self.define=(i,r)=>{const n=s||("document"in self?document.currentScript.src:"")||location.href;if(l[n])return;let u={};const a=s=>e(s,n),t={module:{uri:n},exports:u,require:a};l[n]=Promise.all(i.map(s=>t[s]||a(s))).then(s=>(r(...s),u))}}define(["./workbox-60d14903"],function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"ui-version.json",revision:"2e5e4160bf242bdb8c80188033300194"},{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"pwa-64x64.png",revision:"55fc93ef82eddd32757c324c67f4d8f1"},{url:"pwa-512x512.png",revision:"d8a4783526b318a4a52001e9c9211042"},{url:"pwa-192x192.png",revision:"7d5867127ea8948a52f4eb886da6fca9"},{url:"monaco.worker.js",revision:"47d7f51fe40cc40367130f6c0e059886"},{url:"maskable-icon-512x512.png",revision:"976548c7ab2d6651e02451cffe3439ec"},{url:"manifest.webmanifest",revision:"3587c37712635a9f01cc4906c536d9a9"},{url:"logo.png",revision:"c88fc77a366f290821abc617e67e6674"},{url:"favicon.ico",revision:"62e8e3f28a97401e2932f62503cbdd6b"},{url:"apple-touch-icon-180x180.png",revision:"8252a341f68ec24937e6aaa5d422f87e"},{url:"assets/zig-VOosw3JB.js",revision:null},{url:"assets/zenscript-DVFEvuxE.js",revision:null},{url:"assets/yaml-Buea-lGh.js",revision:null},{url:"assets/xsl-CtQFsRM5.js",revision:null},{url:"assets/xml-sdJ4AIDG.js",revision:null},{url:"assets/wolfram-lXgVvXCa.js",revision:null},{url:"assets/wit-5i3qLPDT.js",revision:null},{url:"assets/wikitext-BhOHFoWU.js",revision:null},{url:"assets/wgsl-Dx-B1_4e.js",revision:null},{url:"assets/wenyan-BV7otONQ.js",revision:null},{url:"assets/wasm-MzD3tlZU.js",revision:null},{url:"assets/wasm-CG6Dc4jp.js",revision:null},{url:"assets/vyper-CDx5xZoG.js",revision:null},{url:"assets/vue-vine-_Ih-lPRR.js",revision:null},{url:"assets/vue-html-DAAvJJDi.js",revision:null},{url:"assets/vue-CCoi5OLL.js",revision:null},{url:"assets/vitesse-light-CVO1_9PV.js",revision:null},{url:"assets/vitesse-dark-D0r3Knsf.js",revision:null},{url:"assets/vitesse-black-Bkuqu6BP.js",revision:null},{url:"assets/viml-CJc9bBzg.js",revision:null},{url:"assets/vhdl-CeAyd5Ju.js",revision:null},{url:"assets/vesper-DU1UobuO.js",revision:null},{url:"assets/verilog-BQ8w6xss.js",revision:null},{url:"assets/vb-D17OF-Vu.js",revision:null},{url:"assets/vala-CsfeWuGM.js",revision:null},{url:"assets/v-BcVCzyr7.js",revision:null},{url:"assets/unified-picker-DOP29DIt.js",revision:null},{url:"assets/typst-DHCkPAjA.js",revision:null},{url:"assets/typespec-Df68jz8_.js",revision:null},{url:"assets/typescript-BPQ3VLAy.js",revision:null},{url:"assets/twig-CO9l9SDP.js",revision:null},{url:"assets/turtle-BsS91CYL.js",revision:null},{url:"assets/tsx-COt5Ahok.js",revision:null},{url:"assets/tsv-B_m7g4N7.js",revision:null},{url:"assets/ts-tags-zn1MmPIZ.js",revision:null},{url:"assets/tool-call-C9ux0znU.js",revision:null},{url:"assets/toml-vGWfd6FD.js",revision:null},{url:"assets/tokyo-night-hegEt444.js",revision:null},{url:"assets/tex-Cppo0RY3.js",revision:null},{url:"assets/terraform-BETggiCN.js",revision:null},{url:"assets/terminal-square-CdJ4Gt6Y.js",revision:null},{url:"assets/templ-W15q3VgB.js",revision:null},{url:"assets/tcl-dwOrl1Do.js",revision:null},{url:"assets/tasl-QIJgUcNo.js",revision:null},{url:"assets/talonscript-CkByrt1z.js",revision:null},{url:"assets/systemd-4A_iFExJ.js",revision:null},{url:"assets/system-verilog-CnnmHF94.js",revision:null},{url:"assets/synthwave-84-CbfX1IO0.js",revision:null},{url:"assets/swift-Dg5xB15N.js",revision:null},{url:"assets/svelte-3Dk4HxPD.js",revision:null},{url:"assets/stylus-BEDo0Tqx.js",revision:null},{url:"assets/stata-BH5u7GGu.js",revision:null},{url:"assets/startup-state-settings-view-nZNbhUhQ.js",revision:null},{url:"assets/startup-state-settings-card-B1UMzsQK.js",revision:null},{url:"assets/ssh-config-_ykCGR6B.js",revision:null},{url:"assets/sql-BLtJtn59.js",revision:null},{url:"assets/splunk-BtCnVYZw.js",revision:null},{url:"assets/sparql-rVzFXLq3.js",revision:null},{url:"assets/soy-Brmx7dQM.js",revision:null},{url:"assets/solidity-BbcW6ACK.js",revision:null},{url:"assets/solarized-light-L9t79GZl.js",revision:null},{url:"assets/solarized-dark-DXbdFlpD.js",revision:null},{url:"assets/snazzy-light-Bw305WKR.js",revision:null},{url:"assets/smalltalk-BERRCDM3.js",revision:null},{url:"assets/slack-ochin-DqwNpetd.js",revision:null},{url:"assets/slack-dark-BthQWCQV.js",revision:null},{url:"assets/shellsession-BADoaaVG.js",revision:null},{url:"assets/shellscript-Yzrsuije.js",revision:null},{url:"assets/shaderlab-Dg9Lc6iA.js",revision:null},{url:"assets/sdbl-DVxCFoDh.js",revision:null},{url:"assets/scss-OYdSNvt2.js",revision:null},{url:"assets/scheme-C98Dy4si.js",revision:null},{url:"assets/scala-C151Ov-r.js",revision:null},{url:"assets/sass-Cj5Yp3dK.js",revision:null},{url:"assets/sas-cz2c8ADy.js",revision:null},{url:"assets/rust-B1yitclQ.js",revision:null},{url:"assets/ruby-BvKwtOVI.js",revision:null},{url:"assets/rst-B0xPkSld.js",revision:null},{url:"assets/rosmsg-BJDFO7_C.js",revision:null},{url:"assets/rose-pine-moon-NleAzG8P.js",revision:null},{url:"assets/rose-pine-dawn-CnK8MTSM.js",revision:null},{url:"assets/rose-pine-BHrmToEH.js",revision:null},{url:"assets/riscv-BM1_JUlF.js",revision:null},{url:"assets/rel-C3B-1QV4.js",revision:null},{url:"assets/regexp-CDVJQ6XC.js",revision:null},{url:"assets/reg-C-SQnVFl.js",revision:null},{url:"assets/red-bN70gL4F.js",revision:null},{url:"assets/razor-WgofotgN.js",revision:null},{url:"assets/raku-DXvB9xmW.js",revision:null},{url:"assets/racket-BqYA7rlc.js",revision:null},{url:"assets/r-DiinP2Uv.js",revision:null},{url:"assets/qss-IeuSbFQv.js",revision:null},{url:"assets/qmldir-C8lEn-DE.js",revision:null},{url:"assets/qml-3beO22l8.js",revision:null},{url:"assets/python-B6aJPvgy.js",revision:null},{url:"assets/purescript-CklMAg4u.js",revision:null},{url:"assets/puppet-BMWR74SV.js",revision:null},{url:"assets/pug-CGlum2m_.js",revision:null},{url:"assets/proto-DyJlTyXw.js",revision:null},{url:"assets/prolog-CbFg5uaA.js",revision:null},{url:"assets/prisma-Dd19v3D-.js",revision:null},{url:"assets/powershell-Dpen1YoG.js",revision:null},{url:"assets/powerquery-CEu0bR-o.js",revision:null},{url:"assets/postcss-CXtECtnM.js",revision:null},{url:"assets/polar-C0HS_06l.js",revision:null},{url:"assets/poimandres-CS3Unz2-.js",revision:null},{url:"assets/po-BTJTHyun.js",revision:null},{url:"assets/plsql-ChMvpjG-.js",revision:null},{url:"assets/plastic-3e1v2bzS.js",revision:null},{url:"assets/pkl-u5AG7uiY.js",revision:null},{url:"assets/php-CDn_0X-4.js",revision:null},{url:"assets/perl-C0TMdlhV.js",revision:null},{url:"assets/pascal-D93ZcfNL.js",revision:null},{url:"assets/opener-startup-state-settings-card-mzh22bq8.js",revision:null},{url:"assets/one-light-PoHY5YXO.js",revision:null},{url:"assets/one-dark-pro-DVMEJ2y_.js",revision:null},{url:"assets/ocaml-C0hk2d4L.js",revision:null},{url:"assets/objective-cpp-CLxacb5B.js",revision:null},{url:"assets/objective-c-DXmwc3jG.js",revision:null},{url:"assets/nushell-C-sUppwS.js",revision:null},{url:"assets/nord-Ddv68eIx.js",revision:null},{url:"assets/nix-BbRYJGeE.js",revision:null},{url:"assets/nim-CVrawwO9.js",revision:null},{url:"assets/night-owl-C39BiMTA.js",revision:null},{url:"assets/nginx-DknmC5AR.js",revision:null},{url:"assets/nextflow-CUEJCptM.js",revision:null},{url:"assets/narrat-DRg8JJMk.js",revision:null},{url:"assets/move-Bu9oaDYs.js",revision:null},{url:"assets/monokai-D4h5O-jR.js",revision:null},{url:"assets/monaco-viewer-CtxFhd10.js",revision:null},{url:"assets/mojo-1DNp92w6.js",revision:null},{url:"assets/mipsasm-CKIfxQSi.js",revision:null},{url:"assets/min-light-CTRr51gU.js",revision:null},{url:"assets/min-dark-CafNBF8u.js",revision:null},{url:"assets/mermaid-DKYwYmdq.js",revision:null},{url:"assets/mdx-Cmh6b_Ma.js",revision:null},{url:"assets/mdc-DUICxH0z.js",revision:null},{url:"assets/matlab-D7o27uSR.js",revision:null},{url:"assets/material-theme-palenight-Csfq5Kiy.js",revision:null},{url:"assets/material-theme-ocean-CyktbL80.js",revision:null},{url:"assets/material-theme-lighter-B0m2ddpp.js",revision:null},{url:"assets/material-theme-darker-BfHTSMKl.js",revision:null},{url:"assets/material-theme-D5KoaKCx.js",revision:null},{url:"assets/marko-CPi9NSCl.js",revision:null},{url:"assets/markdown-Cvjx9yec.js",revision:null},{url:"assets/markdown-Bh1QlJgA.js",revision:null},{url:"assets/make-CHLpvVh8.js",revision:null},{url:"assets/main-B0L3f7sD.js",revision:null},{url:"assets/luau-CXu1NL6O.js",revision:null},{url:"assets/lua-BbnMAYS6.js",revision:null},{url:"assets/logo-BtOb2qkB.js",revision:null},{url:"assets/log-2UxHyX5q.js",revision:null},{url:"assets/loading-CdhHiSED.css",revision:null},{url:"assets/loading-Bc4XPEPt.js",revision:null},{url:"assets/llvm-BtvRca6l.js",revision:null},{url:"assets/liquid-DYVedYrR.js",revision:null},{url:"assets/light-plus-B7mTdjB0.js",revision:null},{url:"assets/less-B1dDrJ26.js",revision:null},{url:"assets/lean-DP1Csr6i.js",revision:null},{url:"assets/latex-BUKiar2Z.js",revision:null},{url:"assets/laserwave-DUszq2jm.js",revision:null},{url:"assets/kusto-BvAqAH-y.js",revision:null},{url:"assets/kotlin-BdnUsdx6.js",revision:null},{url:"assets/kdl-DV7GczEv.js",revision:null},{url:"assets/kanagawa-wave-DWedfzmr.js",revision:null},{url:"assets/kanagawa-lotus-CfQXZHmo.js",revision:null},{url:"assets/kanagawa-dragon-CkXjmgJE.js",revision:null},{url:"assets/julia-C8NyazO9.js",revision:null},{url:"assets/jsx-g9-lgVsj.js",revision:null},{url:"assets/jssm-C2t-YnRu.js",revision:null},{url:"assets/jsonnet-DFQXde-d.js",revision:null},{url:"assets/jsonl-DcaNXYhu.js",revision:null},{url:"assets/jsonc-Des-eS-w.js",revision:null},{url:"assets/json5-C9tS-k6U.js",revision:null},{url:"assets/json-Cp-IABpG.js",revision:null},{url:"assets/jison-wvAkD_A8.js",revision:null},{url:"assets/jinja-4LBKfQ-Z.js",revision:null},{url:"assets/javascript-wDzz0qaB.js",revision:null},{url:"assets/java-CylS5w8V.js",revision:null},{url:"assets/ini-BEwlwnbL.js",revision:null},{url:"assets/index-leISNUGz.js",revision:null},{url:"assets/index-fw3mObxL.js",revision:null},{url:"assets/index-W7CD-32W.js",revision:null},{url:"assets/index-UFXzMdC4.js",revision:null},{url:"assets/index-DJv2w6ZU.js",revision:null},{url:"assets/index-CeWfgqy9.js",revision:null},{url:"assets/index-CeTEq_Yi.js",revision:null},{url:"assets/index-CV6OL4M7.js",revision:null},{url:"assets/index-C-Dx8oor.css",revision:null},{url:"assets/index-Bu7bg7jf.js",revision:null},{url:"assets/index-BHheshRD.js",revision:null},{url:"assets/index-BHE4LKbH.js",revision:null},{url:"assets/index-BB2Eo5pO.js",revision:null},{url:"assets/imba-DGztddWO.js",revision:null},{url:"assets/hy-DFXneXwc.js",revision:null},{url:"assets/hxml-Bvhsp5Yf.js",revision:null},{url:"assets/hurl-irOxFIW8.js",revision:null},{url:"assets/http-jrhK8wxY.js",revision:null},{url:"assets/html-derivative-BFtXZ54Q.js",revision:null},{url:"assets/html-GMplVEZG.js",revision:null},{url:"assets/houston-DnULxvSX.js",revision:null},{url:"assets/hlsl-D3lLCCz7.js",revision:null},{url:"assets/hjson-D5-asLiD.js",revision:null},{url:"assets/highlight-vendor-8FKMu9os.js",revision:null},{url:"assets/hcl-BWvSN4gD.js",revision:null},{url:"assets/haxe-CzTSHFRz.js",revision:null},{url:"assets/haskell-Df6bDoY_.js",revision:null},{url:"assets/handlebars-BL8al0AC.js",revision:null},{url:"assets/haml-B8DHNrY2.js",revision:null},{url:"assets/hack-CaT9iCJl.js",revision:null},{url:"assets/gruvbox-light-soft-hJgmCMqR.js",revision:null},{url:"assets/gruvbox-light-medium-DRw_LuNl.js",revision:null},{url:"assets/gruvbox-light-hard-CH1njM8p.js",revision:null},{url:"assets/gruvbox-dark-soft-CVdnzihN.js",revision:null},{url:"assets/gruvbox-dark-medium-GsRaNv29.js",revision:null},{url:"assets/gruvbox-dark-hard-CFHQjOhq.js",revision:null},{url:"assets/groovy-gcz8RCvz.js",revision:null},{url:"assets/graphql-ChdNCCLP.js",revision:null},{url:"assets/go-Dn2_MT6a.js",revision:null},{url:"assets/gnuplot-DdkO51Og.js",revision:null},{url:"assets/glsl-DplSGwfg.js",revision:null},{url:"assets/glimmer-ts-U6CK756n.js",revision:null},{url:"assets/glimmer-js-Rg0-pVw9.js",revision:null},{url:"assets/gleam-BspZqrRM.js",revision:null},{url:"assets/github-light-high-contrast-BfjtVDDH.js",revision:null},{url:"assets/github-light-default-D7oLnXFd.js",revision:null},{url:"assets/github-light-DAi9KRSo.js",revision:null},{url:"assets/github-dark-high-contrast-E3gJ1_iC.js",revision:null},{url:"assets/github-dark-dimmed-DH5Ifo-i.js",revision:null},{url:"assets/github-dark-default-Cuk6v7N8.js",revision:null},{url:"assets/github-dark-DHJKELXO.js",revision:null},{url:"assets/git-rebase-r7XF79zn.js",revision:null},{url:"assets/git-diff-vendor-HAZkIolJ.css",revision:null},{url:"assets/git-diff-vendor-CINvIzmQ.js",revision:null},{url:"assets/git-commit-F4YmCXRG.js",revision:null},{url:"assets/gherkin-DyxjwDmM.js",revision:null},{url:"assets/genie-D0YGMca9.js",revision:null},{url:"assets/gdshader-DkwncUOv.js",revision:null},{url:"assets/gdscript-DTMYz4Jt.js",revision:null},{url:"assets/gdresource-B7Tvp0Sc.js",revision:null},{url:"assets/fsharp-CXgrBDvD.js",revision:null},{url:"assets/fortran-free-form-D22FLkUw.js",revision:null},{url:"assets/fortran-fixed-form-BZjJHVRy.js",revision:null},{url:"assets/fluent-C4IJs8-o.js",revision:null},{url:"assets/fish-BvzEVeQv.js",revision:null},{url:"assets/fennel-BYunw83y.js",revision:null},{url:"assets/fast-diff-vendor-DgdwVvTQ.js",revision:null},{url:"assets/everforest-light-C8M2exoo.js",revision:null},{url:"assets/everforest-dark-BgDCqdQA.js",revision:null},{url:"assets/erlang-DsQrWhSR.js",revision:null},{url:"assets/erb-BOJIQeun.js",revision:null},{url:"assets/emacs-lisp-C9XAeP06.js",revision:null},{url:"assets/elm-DbKCFpqz.js",revision:null},{url:"assets/elixir-CDX3lj18.js",revision:null},{url:"assets/edge-BkV0erSs.js",revision:null},{url:"assets/dream-maker-BtqSS_iP.js",revision:null},{url:"assets/dracula-soft-BXkSAIEj.js",revision:null},{url:"assets/dracula-BzJJZx-M.js",revision:null},{url:"assets/dotenv-Da5cRb03.js",revision:null},{url:"assets/docker-BcOcwvcX.js",revision:null},{url:"assets/diff-viewer-iFIylM56.js",revision:null},{url:"assets/diff-D97Zzqfu.js",revision:null},{url:"assets/desktop-BmXAJ9_W.js",revision:null},{url:"assets/dax-CEL-wOlO.js",revision:null},{url:"assets/dart-CF10PKvl.js",revision:null},{url:"assets/dark-plus-eOWES_5F.js",revision:null},{url:"assets/d-85-TOEBH.js",revision:null},{url:"assets/cypher-COkxafJQ.js",revision:null},{url:"assets/cue-D82EKSYY.js",revision:null},{url:"assets/csv-fuZLfV_i.js",revision:null},{url:"assets/css-DPfMkruS.js",revision:null},{url:"assets/csharp-CX12Zw3r.js",revision:null},{url:"assets/crystal-tKQVLTB8.js",revision:null},{url:"assets/cpp-CofmeUqb.js",revision:null},{url:"assets/coq-DkFqJrB1.js",revision:null},{url:"assets/common-lisp-Cg-RD9OK.js",revision:null},{url:"assets/coffee-Ch7k5sss.js",revision:null},{url:"assets/codeql-DsOJ9woJ.js",revision:null},{url:"assets/codeowners-Bp6g37R7.js",revision:null},{url:"assets/cobol-nwyudZeR.js",revision:null},{url:"assets/cmake-D1j8_8rp.js",revision:null},{url:"assets/clojure-P80f7IUj.js",revision:null},{url:"assets/client-state-owner-commands-BMJJQYT-.js",revision:null},{url:"assets/client-state-kpF1cbUu.js",revision:null},{url:"assets/client-state-DikXRKzG.js",revision:null},{url:"assets/clarity-D53aC0YG.js",revision:null},{url:"assets/catppuccin-mocha-D87Tk5Gz.js",revision:null},{url:"assets/catppuccin-macchiato-DQyhUUbL.js",revision:null},{url:"assets/catppuccin-latte-C9dUb6Cb.js",revision:null},{url:"assets/catppuccin-frappe-DFWUc33u.js",revision:null},{url:"assets/cairo-KRGpt6FW.js",revision:null},{url:"assets/cadence-Bv_4Rxtq.js",revision:null},{url:"assets/c-BIGW1oBm.js",revision:null},{url:"assets/bundle-full-CZ4RMwbE.js",revision:null},{url:"assets/bsl-BO_Y6i37.js",revision:null},{url:"assets/blade-DVc8C-J4.js",revision:null},{url:"assets/bicep-Bmn6On1c.js",revision:null},{url:"assets/bibtex-CHM0blh-.js",revision:null},{url:"assets/berry-D08WgyRC.js",revision:null},{url:"assets/beancount-k_qm7-4y.js",revision:null},{url:"assets/bat-BkioyH1T.js",revision:null},{url:"assets/ballerina-BFfxhgS-.js",revision:null},{url:"assets/ayu-dark-Cv9koXgw.js",revision:null},{url:"assets/awk-DMzUqQB5.js",revision:null},{url:"assets/aurora-x-D-2ljcwZ.js",revision:null},{url:"assets/astro-CbQHKStN.js",revision:null},{url:"assets/asm-D_Q5rh1f.js",revision:null},{url:"assets/asciidoc-Dv7Oe6Be.js",revision:null},{url:"assets/ara-BRHolxvo.js",revision:null},{url:"assets/applescript-Co6uUVPk.js",revision:null},{url:"assets/apl-dKokRX4l.js",revision:null},{url:"assets/apex-DhZLUxFE.js",revision:null},{url:"assets/apache-Pmp26Uib.js",revision:null},{url:"assets/ansi-Bn1IjLoh.js",revision:null},{url:"assets/angular-ts-BwZT4LLn.js",revision:null},{url:"assets/angular-html-CU67Zn6k.js",revision:null},{url:"assets/andromeeda-C-Jbm3Hp.js",revision:null},{url:"assets/ada-bCR0ucgS.js",revision:null},{url:"assets/actionscript-3-CfeIJUat.js",revision:null},{url:"assets/abap-BdImnpbu.js",revision:null},{url:"assets/StatusTab-CaQz8RwN.js",revision:null},{url:"assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf",revision:null},{url:"assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2",revision:null},{url:"assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff",revision:null},{url:"assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2",revision:null},{url:"assets/KaTeX_Size4-Regular-DWFBv043.ttf",revision:null},{url:"assets/KaTeX_Size4-Regular-BF-4gkZK.woff",revision:null},{url:"assets/KaTeX_Size3-Regular-DgpXs0kz.ttf",revision:null},{url:"assets/KaTeX_Size3-Regular-CTq5MqoE.woff",revision:null},{url:"assets/KaTeX_Size2-Regular-oD1tc_U0.woff",revision:null},{url:"assets/KaTeX_Size2-Regular-Dy4dx90m.woff2",revision:null},{url:"assets/KaTeX_Size2-Regular-B7gKUWhC.ttf",revision:null},{url:"assets/KaTeX_Size1-Regular-mCD8mA8B.woff2",revision:null},{url:"assets/KaTeX_Size1-Regular-Dbsnue_I.ttf",revision:null},{url:"assets/KaTeX_Size1-Regular-C195tn64.woff",revision:null},{url:"assets/KaTeX_Script-Regular-D5yQViql.woff",revision:null},{url:"assets/KaTeX_Script-Regular-D3wIWfF6.woff2",revision:null},{url:"assets/KaTeX_Script-Regular-C5JkGWo-.ttf",revision:null},{url:"assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2",revision:null},{url:"assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff",revision:null},{url:"assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf",revision:null},{url:"assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf",revision:null},{url:"assets/KaTeX_SansSerif-Italic-DN2j7dab.woff",revision:null},{url:"assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2",revision:null},{url:"assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff",revision:null},{url:"assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2",revision:null},{url:"assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf",revision:null},{url:"assets/KaTeX_Math-Italic-t53AETM-.woff2",revision:null},{url:"assets/KaTeX_Math-Italic-flOr_0UB.ttf",revision:null},{url:"assets/KaTeX_Math-Italic-DA0__PXp.woff",revision:null},{url:"assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff",revision:null},{url:"assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2",revision:null},{url:"assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf",revision:null},{url:"assets/KaTeX_Main-Regular-ypZvNtVU.ttf",revision:null},{url:"assets/KaTeX_Main-Regular-Dr94JaBh.woff",revision:null},{url:"assets/KaTeX_Main-Regular-B22Nviop.woff2",revision:null},{url:"assets/KaTeX_Main-Italic-NWA7e6Wa.woff2",revision:null},{url:"assets/KaTeX_Main-Italic-BMLOBm91.woff",revision:null},{url:"assets/KaTeX_Main-Italic-3WenGoN9.ttf",revision:null},{url:"assets/KaTeX_Main-BoldItalic-SpSLRI95.woff",revision:null},{url:"assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf",revision:null},{url:"assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2",revision:null},{url:"assets/KaTeX_Main-Bold-waoOVXN0.ttf",revision:null},{url:"assets/KaTeX_Main-Bold-Jm3AIy58.woff",revision:null},{url:"assets/KaTeX_Main-Bold-Cx986IdX.woff2",revision:null},{url:"assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff",revision:null},{url:"assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2",revision:null},{url:"assets/KaTeX_Fraktur-Regular-CB_wures.ttf",revision:null},{url:"assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2",revision:null},{url:"assets/KaTeX_Fraktur-Bold-BsDP51OF.woff",revision:null},{url:"assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf",revision:null},{url:"assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf",revision:null},{url:"assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2",revision:null},{url:"assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff",revision:null},{url:"assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2",revision:null},{url:"assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff",revision:null},{url:"assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf",revision:null},{url:"assets/KaTeX_AMS-Regular-DRggAlZN.ttf",revision:null},{url:"assets/KaTeX_AMS-Regular-DMm9YOAa.woff",revision:null},{url:"assets/KaTeX_AMS-Regular-BQhdFMY1.woff2",revision:null},{url:"assets/FilesPanel-CgFgL4q7.js",revision:null},{url:"assets/CodeNomad-Icon-bmTWNPXy.png",revision:null},{url:"assets/CodeNomad-Icon-DTDWwXip.js",revision:null},{url:"assets/App-DZMdkLQJ.js",revision:null},{url:"manifest.webmanifest",revision:"4f4aaad9542bc67e284999ba91ccc883"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(({url:s,request:l})=>!s.pathname.startsWith("/api/")&&("document"!==l.destination&&["script","style","image","font"].includes(l.destination)),new s.CacheFirst({cacheName:"asset-cache",plugins:[new s.ExpirationPlugin({maxEntries:200,maxAgeSeconds:2592e3}),new s.CacheableResponsePlugin({statuses:[0,200]})]}),"GET")});
|
|
2
2
|
//# sourceMappingURL=sw.js.map
|