@neuralnomads/codenomad-dev 0.20.0-dev-20260922-e68ac524 → 0.20.0-dev-20260922-0a31a8b3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/dist/opencode/compatibility/location.js +11 -0
  2. package/dist/opencode/compatibility/location.js.map +1 -1
  3. package/dist/opencode/compatibility/location.test.js +21 -0
  4. package/dist/opencode/compatibility/location.test.js.map +1 -1
  5. package/dist/server/__tests__/instance-proxy.test.js +27 -0
  6. package/dist/server/__tests__/instance-proxy.test.js.map +1 -1
  7. package/dist/server/http-server.js +1 -0
  8. package/dist/server/http-server.js.map +1 -1
  9. package/dist/workspaces/__tests__/git-common-directory.test.js +11 -0
  10. package/dist/workspaces/__tests__/git-common-directory.test.js.map +1 -1
  11. package/dist/workspaces/git-process.js +16 -6
  12. package/dist/workspaces/git-process.js.map +1 -1
  13. package/dist/workspaces/git-status.js +32 -38
  14. package/dist/workspaces/git-status.js.map +1 -1
  15. package/dist/workspaces/git-status.test.js +28 -1
  16. package/dist/workspaces/git-status.test.js.map +1 -1
  17. package/package.json +1 -1
  18. package/public/assets/App-CkXPZUpS.js +51 -0
  19. package/public/assets/App-CkXPZUpS.js.map +1 -0
  20. package/public/assets/{FilesTab-CznSFRW_.js → FilesTab-C4o3_OHJ.js} +3 -3
  21. package/public/assets/{FilesTab-CznSFRW_.js.map → FilesTab-C4o3_OHJ.js.map} +1 -1
  22. package/public/assets/{GitChangesTab-DLtyzpX0.js → GitChangesTab-ClsL5QrZ.js} +3 -3
  23. package/public/assets/{GitChangesTab-DLtyzpX0.js.map → GitChangesTab-ClsL5QrZ.js.map} +1 -1
  24. package/public/assets/{SplitFilePanel-BHkyIER4.js → SplitFilePanel-C_dI-kjb.js} +2 -2
  25. package/public/assets/{SplitFilePanel-BHkyIER4.js.map → SplitFilePanel-C_dI-kjb.js.map} +1 -1
  26. package/public/assets/{StatusTab-BB3L4UEF.js → StatusTab-_gvxV-qq.js} +2 -2
  27. package/public/assets/{StatusTab-BB3L4UEF.js.map → StatusTab-_gvxV-qq.js.map} +1 -1
  28. package/public/assets/{align-justify-BGcr8Y3G.js → align-justify-CboH-c3n.js} +2 -2
  29. package/public/assets/{align-justify-BGcr8Y3G.js.map → align-justify-CboH-c3n.js.map} +1 -1
  30. package/public/assets/{bundle-full-CwHbX2Tz.js → bundle-full-CL2fEEcE.js} +2 -2
  31. package/public/assets/{bundle-full-CwHbX2Tz.js.map → bundle-full-CL2fEEcE.js.map} +1 -1
  32. package/public/assets/{client-state-CjVIIkWh.js → client-state-BB0go4Xe.js} +2 -2
  33. package/public/assets/{client-state-CjVIIkWh.js.map → client-state-BB0go4Xe.js.map} +1 -1
  34. package/public/assets/{diff-viewer-FNBCogHl.js → diff-viewer-C-B3vwne.js} +2 -2
  35. package/public/assets/{diff-viewer-FNBCogHl.js.map → diff-viewer-C-B3vwne.js.map} +1 -1
  36. package/public/assets/index-4LEntpq0.js +2 -0
  37. package/public/assets/index-4LEntpq0.js.map +1 -0
  38. package/public/assets/index-4mzZPz2j.css +1 -0
  39. package/public/assets/index-B2wje_CF.js +2 -0
  40. package/public/assets/index-B2wje_CF.js.map +1 -0
  41. package/public/assets/index-BDbkD8FO.js +2 -0
  42. package/public/assets/index-BDbkD8FO.js.map +1 -0
  43. package/public/assets/index-BbUJLdzG.js +2 -0
  44. package/public/assets/index-BbUJLdzG.js.map +1 -0
  45. package/public/assets/index-Bdh_-CtJ.js +2 -0
  46. package/public/assets/index-Bdh_-CtJ.js.map +1 -0
  47. package/public/assets/index-C9Jqb-tF.js +2 -0
  48. package/public/assets/index-C9Jqb-tF.js.map +1 -0
  49. package/public/assets/index-CIT8ANJK.js +3 -0
  50. package/public/assets/index-CIT8ANJK.js.map +1 -0
  51. package/public/assets/index-CheaKG9m.js +2 -0
  52. package/public/assets/{index-C2jBtFkI.js.map → index-CheaKG9m.js.map} +1 -1
  53. package/public/assets/index-DbnGqvtc.js +2 -0
  54. package/public/assets/index-DbnGqvtc.js.map +1 -0
  55. package/public/assets/index-DhOvQD1j.js +2 -0
  56. package/public/assets/index-DhOvQD1j.js.map +1 -0
  57. package/public/assets/{index-CLgpBTF6.js → index-DrTKEExa.js} +2 -2
  58. package/public/assets/{index-CLgpBTF6.js.map → index-DrTKEExa.js.map} +1 -1
  59. package/public/assets/index-Gk3Kwcb2.js +2 -0
  60. package/public/assets/index-Gk3Kwcb2.js.map +1 -0
  61. package/public/assets/{loading-D8BcUQaM.js → loading-Cs2CSqHx.js} +2 -2
  62. package/public/assets/{loading-D8BcUQaM.js.map → loading-Cs2CSqHx.js.map} +1 -1
  63. package/public/assets/main-DAwgVcRN.js +42 -0
  64. package/public/assets/main-DAwgVcRN.js.map +1 -0
  65. package/public/assets/{markdown-CRPEbAqL.js → markdown-DheZTu4V.js} +4 -4
  66. package/public/assets/{markdown-CRPEbAqL.js.map → markdown-DheZTu4V.js.map} +1 -1
  67. package/public/assets/monaco-viewer-BtzCmjFO.js +27 -0
  68. package/public/assets/monaco-viewer-BtzCmjFO.js.map +1 -0
  69. package/public/assets/{startup-state-settings-card-CHqS2Pmg.js → startup-state-settings-card-CmMXcnR-.js} +2 -2
  70. package/public/assets/{startup-state-settings-card-CHqS2Pmg.js.map → startup-state-settings-card-CmMXcnR-.js.map} +1 -1
  71. package/public/assets/{terminal-square-DhmNJqNG.js → terminal-square-ypyAq6Ni.js} +2 -2
  72. package/public/assets/{terminal-square-DhmNJqNG.js.map → terminal-square-ypyAq6Ni.js.map} +1 -1
  73. package/public/assets/{todo-DXJ5kP_Z.js → todo-Cgy3-kyM.js} +2 -2
  74. package/public/assets/{todo-DXJ5kP_Z.js.map → todo-Cgy3-kyM.js.map} +1 -1
  75. package/public/assets/{tool-call-Bjo9DalZ.js → tool-call-0UMa6igS.js} +17 -17
  76. package/public/assets/{tool-call-Bjo9DalZ.js.map → tool-call-0UMa6igS.js.map} +1 -1
  77. package/public/assets/{unified-picker-CxrTM_tY.js → unified-picker-C-lhbMQ0.js} +2 -2
  78. package/public/assets/{unified-picker-CxrTM_tY.js.map → unified-picker-C-lhbMQ0.js.map} +1 -1
  79. package/public/assets/{wrap-text-BznZeD4J.js → wrap-text-BjODGwnM.js} +2 -2
  80. package/public/assets/{wrap-text-BznZeD4J.js.map → wrap-text-BjODGwnM.js.map} +1 -1
  81. package/public/index.html +4 -4
  82. package/public/loading.html +4 -4
  83. package/public/sw.js +1 -1
  84. package/public/sw.js.map +1 -1
  85. package/public/assets/App-BSkmbNUC.js +0 -51
  86. package/public/assets/App-BSkmbNUC.js.map +0 -1
  87. package/public/assets/index-AeE49W2c.js +0 -2
  88. package/public/assets/index-AeE49W2c.js.map +0 -1
  89. package/public/assets/index-B875QQLi.js +0 -2
  90. package/public/assets/index-B875QQLi.js.map +0 -1
  91. package/public/assets/index-BhInW6hR.js +0 -3
  92. package/public/assets/index-BhInW6hR.js.map +0 -1
  93. package/public/assets/index-C2jBtFkI.js +0 -2
  94. package/public/assets/index-C8zCyB6Z.js +0 -2
  95. package/public/assets/index-C8zCyB6Z.js.map +0 -1
  96. package/public/assets/index-C9vJvaFa.js +0 -2
  97. package/public/assets/index-C9vJvaFa.js.map +0 -1
  98. package/public/assets/index-CLdQSSfU.js +0 -2
  99. package/public/assets/index-CLdQSSfU.js.map +0 -1
  100. package/public/assets/index-CaYFZAN4.js +0 -2
  101. package/public/assets/index-CaYFZAN4.js.map +0 -1
  102. package/public/assets/index-ChudAs0f.js +0 -2
  103. package/public/assets/index-ChudAs0f.js.map +0 -1
  104. package/public/assets/index-D292-iMl.js +0 -2
  105. package/public/assets/index-D292-iMl.js.map +0 -1
  106. package/public/assets/index-DYBqUC9X.css +0 -1
  107. package/public/assets/index-Dk3HFhZs.js +0 -2
  108. package/public/assets/index-Dk3HFhZs.js.map +0 -1
  109. package/public/assets/main-DRbjgAo8.js +0 -42
  110. package/public/assets/main-DRbjgAo8.js.map +0 -1
  111. package/public/assets/monaco-viewer-CG0aPZ-r.js +0 -27
  112. package/public/assets/monaco-viewer-CG0aPZ-r.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{t as v,i as r,m as C,a as U,d as z,u as _e,j as xe,g as Be,e as Ue}from"./monaco-viewer-CG0aPZ-r.js";import{e as F,o as be,d as H,c as He,k as f,S as g,F as le,a as V}from"./git-diff-vendor-CT8HfOQw.js";import{u as Ve}from"./index-BhInW6hR.js";import"./fast-diff-vendor-DgdwVvTQ.js";import"./highlight-vendor-8FKMu9os.js";function Ge(t){const a=t.endsWith("/"),s=t.split("/").filter(Boolean),S=s.slice(0,-1);return{name:s.length>0?`${s[s.length-1]}${a?"/":""}`:t,parent:S[S.length-1]??"",directory:S.join("/")}}var Ke=v("<span class=ml-2>"),Ne=v("<div class=dropdown-empty>"),oe=v("<div class=dropdown-section-header>"),Oe=v('<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=v('<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"></div><div class=dropdown-footer><div><span class=font-medium>↑↓</span> <!> • <span class=font-medium>Tab/Enter</span> <!> • <span class=font-medium>Esc</span> '),Se=v('<div class="mt-0.5 text-xs"style=color:var(--text-muted)>'),Xe=v('<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=v("<span class=dropdown-badge>"),Ze=v('<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">'),et=v('<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">'),tt=v('<span class="block whitespace-nowrap text-[11px]"style=color:var(--text-muted)>/'),nt=v('<span class="block whitespace-nowrap text-[10px]"style=color:var(--text-muted)>'),it=v('<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">'),rt=v('<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">');const Ce=Be("actions"),lt=100,ot=200;function st(t,a){if(!a)return t;const s=t.replace(/\/+$/,"");return s.length>0?`${s}/`:"./"}function at(t){return t==="."||t==="./"||t==="/"}function ct(t,a){if(at(t))return".";const s=t.replace(/^\.\/+/,"");return a?s.replace(/\/+$/,"")||".":s}function se(t){const a=t.trim();return a?a.replace(/^(\.\/)+/,"").replace(/^\/+/,""):""}function Pe(t){return t.map(a=>{const s=a.type==="directory";return{path:st(a.path,s),relativePath:ct(a.path,s),isDirectory:s,isGitFile:!1}})}const gt=t=>{const{t:a}=Ve(),s=()=>t.mode??"mention",[S,ae]=F([]),[G,Fe]=F([]),[$,x]=F(0),[K,A]=F("idle"),[N,O]=F([]),[Ee,ce]=F(!1),[de,J]=F(null);let Q,D,X=null,Y="",Z="",R=null,M=null,L=0,I=null;function ee(){setTimeout(()=>{D&&(D.scrollTop=0,D.scrollLeft=0)},0)}function te(e){ae(e),x(0),ee()}async function Qe(e){return R===e&&M||(R=e,M=xe.listWorkspaceFiles(e).then(n=>Pe(n)).then(n=>(O(n),J(e),n)).catch(n=>{throw Ce.error("[UnifiedPicker] Failed to load workspace files:",n),O([]),J(null),n}).finally(()=>{R===e&&(R=null,M=null)})),M}async function De(e){return de()===e&&N().length>0?N():Qe(e)}let p;async function ue(e,n){p==null||p.abort();const l=new AbortController;p=l;const o=se(e),k=++L,E=!o&&de()===n&&N().length>0,q=o?"search":E?"idle":"listing";A(q!=="idle"?q:"idle");try{if(!o){const j=await De(n);if(!ie(k,n))return;te(j);return}const T=await xe.searchWorkspaceFiles(n,o,{limit:lt,signal:l.signal});if(!ie(k,n))return;te(Pe(T))}catch(T){if(l.signal.aborted)return;n===t.workspaceId&&(Ce.error("[UnifiedPicker] Failed to fetch files:",T),ie(k,n)&&te([]))}finally{Le(k,n)&&A("idle")}}function ne(){I&&(clearTimeout(I),I=null)}function Me(e,n,l=!1){p==null||p.abort(),L+=1,ne();const o=se(e);if(!l&&o.length>0){I=setTimeout(()=>{I=null,ue(e,n)},ot);return}ue(e,n)}function ie(e,n){return t.open&&n===t.workspaceId&&e===L}function Le(e,n){return n===t.workspaceId&&e===L}function Ie(){p==null||p.abort(),ne(),ae([]),O([]),J(null),ce(!1),x(0),A("idle"),X=null,Y="",Z="",L+=1}be(()=>{p==null||p.abort(),ne()}),H(()=>{if(!t.open){Ie();return}if(s()!=="mention")return;const e=X!==t.workspaceId,n=Y!==t.searchQuery;if(n&&(x(0),ee()),!Ee()||e||n){ce(!0),X=t.workspaceId,Y=t.searchQuery;const l=e||se(t.searchQuery).length===0;Me(t.searchQuery,t.workspaceId,l)}}),H(()=>{if(!t.open||s()!=="mention")return;const e=t.searchQuery.toLowerCase(),n=t.agents.filter(o=>!o.hidden),l=e?n.filter(o=>o.name.toLowerCase().includes(e)||o.description&&o.description.toLowerCase().includes(e)):n;Fe(l)});const W=He(()=>{if(s()!=="command")return[];const e=t.searchQuery.trim().toLowerCase(),n=t.commands??[];return e?n.filter(l=>{const o=l.name.toLowerCase().includes(e),k=(l.description??"").toLowerCase().includes(e);return o||k}):n});H(()=>{if(!t.open||s()!=="command")return;const e=t.searchQuery,n=W().length;if(e!==Z){Z=e,x(0),ee();return}if(n<=0){$()!==0&&x(0);return}const l=$();if(l<0){x(0);return}l>=n&&x(n-1)});const re=()=>{const e=[];if(s()==="command")return W().forEach(l=>e.push({type:"command",command:l})),e;const n=t.searchQuery==="."||t.searchQuery==="./";if(s()==="mention"&&n){const l={path:".",relativePath:".",isDirectory:!0,isGitFile:!1};e.push({type:"file",file:l})}return n||G().forEach(l=>e.push({type:"agent",agent:l})),S().forEach(l=>e.push({type:"file",file:l})),e};function he(){setTimeout(()=>{const e=Q==null?void 0:Q.querySelector('[data-picker-selected="true"]');e&&e.scrollIntoView({block:"nearest",behavior:"smooth"})},0)}function fe(e){var l;if(!t.open)return;const n=re();if(e.key==="ArrowDown")e.preventDefault(),e.stopPropagation(),x(o=>Math.min(o+1,n.length-1)),he();else if(e.key==="ArrowUp")e.preventDefault(),e.stopPropagation(),x(o=>Math.max(o-1,0)),he();else if(e.key==="Enter"||e.key==="Tab"){e.preventDefault(),e.stopPropagation();const o=n[$()];if(o){const k=e.key==="Tab"?"tab":e.shiftKey?"shiftEnter":"enter";t.onSelect(o,k)}else e.key==="Enter"&&s()==="mention"&&((l=t.onSubmitWithoutSelection)==null||l.call(t))}else e.key==="Escape"&&(e.preventDefault(),e.stopPropagation(),t.onClose())}H(()=>{t.open&&(document.addEventListener("keydown",fe),be(()=>{document.removeEventListener("keydown",fe)}))});const me=()=>W().length,ge=()=>G().length,ve=()=>S().length,Te=()=>s()==="mention"&&K()!=="idle",ze=()=>K()==="search"?a("unifiedPicker.loading.searching"):K()==="listing"?a("unifiedPicker.loading.loadingWorkspace"):"";return f(g,{get when(){return t.open},get children(){var e=Je(),n=e.firstChild,l=n.firstChild,o=n.nextSibling,k=o.nextSibling,E=k.firstChild,q=E.firstChild,T=q.nextSibling,j=T.nextSibling,Ae=j.nextSibling,Re=Ae.nextSibling,We=Re.nextSibling,pe=We.nextSibling,qe=pe.nextSibling,je=qe.nextSibling;je.nextSibling;var ye=Q;typeof ye=="function"?_e(ye,e):Q=e,r(l,f(g,{get when(){return s()==="command"},get fallback(){return a("unifiedPicker.title.mention")},get children(){return a("unifiedPicker.title.command")}}),null),r(l,f(g,{get when(){return Te()},get children(){var i=Ke();return r(i,ze),i}}),null);var ke=D;return typeof ke=="function"?_e(ke,o):D=o,r(o,f(g,{get when(){return C(()=>s()==="command")()?me()===0:C(()=>ge()===0)()&&ve()===0},get children(){var i=Ne();return r(i,()=>a("unifiedPicker.empty")),i}}),null),r(o,f(g,{get when(){return C(()=>s()==="command")()&&me()>0},get children(){return[(()=>{var i=oe();return r(i,()=>a("unifiedPicker.sections.commands")),i})(),f(le,{get each(){return W()},children:(i,b)=>{const m=()=>b()===$();return(()=>{var h=Xe(),d=h.firstChild,_=d.firstChild,y=_.nextSibling,P=y.firstChild;return P.firstChild,h.$$click=()=>t.onSelect({type:"command",command:i},"click"),r(P,()=>i.name,null),r(y,f(g,{get when(){return i.description},get children(){var c=Se();return r(c,(()=>{var w=C(()=>(i.description??"").length>80);return()=>w()?(i.description??"").slice(0,80)+"...":i.description})()),c}}),null),V(c=>{var w=`dropdown-item ${m()?"dropdown-item-highlight":""}`,u=m();return w!==c.e&&U(h,c.e=w),u!==c.t&&z(h,"data-picker-selected",c.t=u),c},{e:void 0,t:void 0}),h})()}})]}}),null),r(o,f(g,{get when(){return C(()=>s()==="mention"&&ge()>0)()&&!(t.searchQuery==="."||t.searchQuery==="./")},get children(){return[(()=>{var i=oe();return r(i,()=>a("unifiedPicker.sections.agents")),i})(),f(le,{get each(){return G()},children:i=>{const b=re().findIndex(m=>m.type==="agent"&&m.agent.name===i.name);return(()=>{var m=Ze(),h=m.firstChild,d=h.firstChild,_=d.nextSibling,y=_.firstChild,P=y.firstChild;return m.$$click=()=>t.onSelect({type:"agent",agent:i},"click"),r(P,()=>i.name),r(y,f(g,{get when(){return i.mode==="subagent"},get children(){var c=Ye();return r(c,()=>a("unifiedPicker.badge.subagent")),c}}),null),r(_,f(g,{get when(){return i.description},get children(){var c=Se();return r(c,(()=>{var w=C(()=>!!(i.description&&i.description.length>80));return()=>w()?i.description.slice(0,80)+"...":i.description})()),c}}),null),V(c=>{var w=`dropdown-item ${b===$()?"dropdown-item-highlight":""}`,u=b===$();return w!==c.e&&U(m,c.e=w),u!==c.t&&z(m,"data-picker-selected",c.t=u),c},{e:void 0,t:void 0}),m})()}})]}}),null),r(o,f(g,{get when(){return C(()=>s()==="mention")()&&(ve()>0||t.searchQuery==="."||t.searchQuery==="./")},get children(){return[(()=>{var i=oe();return r(i,()=>a("unifiedPicker.sections.files")),i})(),f(g,{get when(){return t.searchQuery==="."||t.searchQuery==="./"},get children(){var i=Oe(),b=i.firstChild,m=b.firstChild,h=m.nextSibling;return h.firstChild,i.$$click=()=>{const d={path:".",relativePath:".",isDirectory:!0,isGitFile:!1};t.onSelect({type:"file",file:d},"click")},r(h,()=>a("unifiedPicker.sections.workspaceRoot"),null),V(d=>{var _=`dropdown-item py-1.5 ${$()===0?"dropdown-item-highlight":""}`,y=$()===0;return _!==d.e&&U(i,d.e=_),y!==d.t&&z(i,"data-picker-selected",d.t=y),d},{e:void 0,t:void 0}),i}}),f(le,{get each(){return S()},children:i=>{const b=re().findIndex(d=>d.type==="file"&&d.file.relativePath===i.relativePath),m=i.isDirectory,h=Ge(i.path);return(()=>{var d=it(),_=d.firstChild,y=_.firstChild,P=y.firstChild,c=P.nextSibling,w=c.firstChild;return d.$$click=()=>t.onSelect({type:"file",file:i},"click"),r(_,f(g,{when:m,get fallback(){return rt()},get children(){return et()}}),y),r(P,()=>i.path),r(w,()=>h.name),r(c,f(g,{get when(){return h.parent},get children(){var u=tt(),B=u.firstChild;return r(u,()=>h.parent,B),u}}),null),r(c,f(g,{get when(){return C(()=>!!h.directory)()&&h.directory!==h.parent},get children(){var u=nt();return r(u,()=>h.directory),u}}),null),V(u=>{var B=`dropdown-item py-1.5 ${b===$()?"dropdown-item-highlight":""}`,we=b===$(),$e=i.path;return B!==u.e&&U(d,u.e=B),we!==u.t&&z(d,"data-picker-selected",u.t=we),$e!==u.a&&z(y,"title",u.a=$e),u},{e:void 0,t:void 0,a:void 0}),d})()}})]}}),null),r(E,()=>a("unifiedPicker.footer.navigate"),j),r(E,()=>a("unifiedPicker.footer.select"),pe),r(E,()=>a("unifiedPicker.footer.close"),null),e}})};Ue(["click"]);export{gt as default};
2
- //# sourceMappingURL=unified-picker-CxrTM_tY.js.map
1
+ import{t as v,i as r,m as C,a as U,d as z,u as _e,k as xe,h as je,e as Ue}from"./monaco-viewer-BtzCmjFO.js";import{e as F,o as be,d as H,c as He,k as f,S as g,F as le,a as V}from"./git-diff-vendor-CT8HfOQw.js";import{u as Ve}from"./index-CIT8ANJK.js";import"./fast-diff-vendor-DgdwVvTQ.js";import"./highlight-vendor-8FKMu9os.js";function Ge(t){const a=t.endsWith("/"),s=t.split("/").filter(Boolean),S=s.slice(0,-1);return{name:s.length>0?`${s[s.length-1]}${a?"/":""}`:t,parent:S[S.length-1]??"",directory:S.join("/")}}var Ke=v("<span class=ml-2>"),Ne=v("<div class=dropdown-empty>"),oe=v("<div class=dropdown-section-header>"),Oe=v('<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=v('<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"></div><div class=dropdown-footer><div><span class=font-medium>↑↓</span> <!> • <span class=font-medium>Tab/Enter</span> <!> • <span class=font-medium>Esc</span> '),Se=v('<div class="mt-0.5 text-xs"style=color:var(--text-muted)>'),Xe=v('<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=v("<span class=dropdown-badge>"),Ze=v('<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">'),et=v('<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">'),tt=v('<span class="block whitespace-nowrap text-[11px]"style=color:var(--text-muted)>/'),nt=v('<span class="block whitespace-nowrap text-[10px]"style=color:var(--text-muted)>'),it=v('<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">'),rt=v('<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">');const Ce=je("actions"),lt=100,ot=200;function st(t,a){if(!a)return t;const s=t.replace(/\/+$/,"");return s.length>0?`${s}/`:"./"}function at(t){return t==="."||t==="./"||t==="/"}function ct(t,a){if(at(t))return".";const s=t.replace(/^\.\/+/,"");return a?s.replace(/\/+$/,"")||".":s}function se(t){const a=t.trim();return a?a.replace(/^(\.\/)+/,"").replace(/^\/+/,""):""}function Pe(t){return t.map(a=>{const s=a.type==="directory";return{path:st(a.path,s),relativePath:ct(a.path,s),isDirectory:s,isGitFile:!1}})}const gt=t=>{const{t:a}=Ve(),s=()=>t.mode??"mention",[S,ae]=F([]),[G,Fe]=F([]),[$,x]=F(0),[K,A]=F("idle"),[N,O]=F([]),[Ee,ce]=F(!1),[de,J]=F(null);let Q,D,X=null,Y="",Z="",R=null,M=null,L=0,I=null;function ee(){setTimeout(()=>{D&&(D.scrollTop=0,D.scrollLeft=0)},0)}function te(e){ae(e),x(0),ee()}async function Qe(e){return R===e&&M||(R=e,M=xe.listWorkspaceFiles(e).then(n=>Pe(n)).then(n=>(O(n),J(e),n)).catch(n=>{throw Ce.error("[UnifiedPicker] Failed to load workspace files:",n),O([]),J(null),n}).finally(()=>{R===e&&(R=null,M=null)})),M}async function De(e){return de()===e&&N().length>0?N():Qe(e)}let p;async function ue(e,n){p==null||p.abort();const l=new AbortController;p=l;const o=se(e),k=++L,E=!o&&de()===n&&N().length>0,q=o?"search":E?"idle":"listing";A(q!=="idle"?q:"idle");try{if(!o){const B=await De(n);if(!ie(k,n))return;te(B);return}const T=await xe.searchWorkspaceFiles(n,o,{limit:lt,signal:l.signal});if(!ie(k,n))return;te(Pe(T))}catch(T){if(l.signal.aborted)return;n===t.workspaceId&&(Ce.error("[UnifiedPicker] Failed to fetch files:",T),ie(k,n)&&te([]))}finally{Le(k,n)&&A("idle")}}function ne(){I&&(clearTimeout(I),I=null)}function Me(e,n,l=!1){p==null||p.abort(),L+=1,ne();const o=se(e);if(!l&&o.length>0){I=setTimeout(()=>{I=null,ue(e,n)},ot);return}ue(e,n)}function ie(e,n){return t.open&&n===t.workspaceId&&e===L}function Le(e,n){return n===t.workspaceId&&e===L}function Ie(){p==null||p.abort(),ne(),ae([]),O([]),J(null),ce(!1),x(0),A("idle"),X=null,Y="",Z="",L+=1}be(()=>{p==null||p.abort(),ne()}),H(()=>{if(!t.open){Ie();return}if(s()!=="mention")return;const e=X!==t.workspaceId,n=Y!==t.searchQuery;if(n&&(x(0),ee()),!Ee()||e||n){ce(!0),X=t.workspaceId,Y=t.searchQuery;const l=e||se(t.searchQuery).length===0;Me(t.searchQuery,t.workspaceId,l)}}),H(()=>{if(!t.open||s()!=="mention")return;const e=t.searchQuery.toLowerCase(),n=t.agents.filter(o=>!o.hidden),l=e?n.filter(o=>o.name.toLowerCase().includes(e)||o.description&&o.description.toLowerCase().includes(e)):n;Fe(l)});const W=He(()=>{if(s()!=="command")return[];const e=t.searchQuery.trim().toLowerCase(),n=t.commands??[];return e?n.filter(l=>{const o=l.name.toLowerCase().includes(e),k=(l.description??"").toLowerCase().includes(e);return o||k}):n});H(()=>{if(!t.open||s()!=="command")return;const e=t.searchQuery,n=W().length;if(e!==Z){Z=e,x(0),ee();return}if(n<=0){$()!==0&&x(0);return}const l=$();if(l<0){x(0);return}l>=n&&x(n-1)});const re=()=>{const e=[];if(s()==="command")return W().forEach(l=>e.push({type:"command",command:l})),e;const n=t.searchQuery==="."||t.searchQuery==="./";if(s()==="mention"&&n){const l={path:".",relativePath:".",isDirectory:!0,isGitFile:!1};e.push({type:"file",file:l})}return n||G().forEach(l=>e.push({type:"agent",agent:l})),S().forEach(l=>e.push({type:"file",file:l})),e};function he(){setTimeout(()=>{const e=Q==null?void 0:Q.querySelector('[data-picker-selected="true"]');e&&e.scrollIntoView({block:"nearest",behavior:"smooth"})},0)}function fe(e){var l;if(!t.open)return;const n=re();if(e.key==="ArrowDown")e.preventDefault(),e.stopPropagation(),x(o=>Math.min(o+1,n.length-1)),he();else if(e.key==="ArrowUp")e.preventDefault(),e.stopPropagation(),x(o=>Math.max(o-1,0)),he();else if(e.key==="Enter"||e.key==="Tab"){e.preventDefault(),e.stopPropagation();const o=n[$()];if(o){const k=e.key==="Tab"?"tab":e.shiftKey?"shiftEnter":"enter";t.onSelect(o,k)}else e.key==="Enter"&&s()==="mention"&&((l=t.onSubmitWithoutSelection)==null||l.call(t))}else e.key==="Escape"&&(e.preventDefault(),e.stopPropagation(),t.onClose())}H(()=>{t.open&&(document.addEventListener("keydown",fe),be(()=>{document.removeEventListener("keydown",fe)}))});const me=()=>W().length,ge=()=>G().length,ve=()=>S().length,Te=()=>s()==="mention"&&K()!=="idle",ze=()=>K()==="search"?a("unifiedPicker.loading.searching"):K()==="listing"?a("unifiedPicker.loading.loadingWorkspace"):"";return f(g,{get when(){return t.open},get children(){var e=Je(),n=e.firstChild,l=n.firstChild,o=n.nextSibling,k=o.nextSibling,E=k.firstChild,q=E.firstChild,T=q.nextSibling,B=T.nextSibling,Ae=B.nextSibling,Re=Ae.nextSibling,We=Re.nextSibling,pe=We.nextSibling,qe=pe.nextSibling,Be=qe.nextSibling;Be.nextSibling;var ye=Q;typeof ye=="function"?_e(ye,e):Q=e,r(l,f(g,{get when(){return s()==="command"},get fallback(){return a("unifiedPicker.title.mention")},get children(){return a("unifiedPicker.title.command")}}),null),r(l,f(g,{get when(){return Te()},get children(){var i=Ke();return r(i,ze),i}}),null);var ke=D;return typeof ke=="function"?_e(ke,o):D=o,r(o,f(g,{get when(){return C(()=>s()==="command")()?me()===0:C(()=>ge()===0)()&&ve()===0},get children(){var i=Ne();return r(i,()=>a("unifiedPicker.empty")),i}}),null),r(o,f(g,{get when(){return C(()=>s()==="command")()&&me()>0},get children(){return[(()=>{var i=oe();return r(i,()=>a("unifiedPicker.sections.commands")),i})(),f(le,{get each(){return W()},children:(i,b)=>{const m=()=>b()===$();return(()=>{var h=Xe(),d=h.firstChild,_=d.firstChild,y=_.nextSibling,P=y.firstChild;return P.firstChild,h.$$click=()=>t.onSelect({type:"command",command:i},"click"),r(P,()=>i.name,null),r(y,f(g,{get when(){return i.description},get children(){var c=Se();return r(c,(()=>{var w=C(()=>(i.description??"").length>80);return()=>w()?(i.description??"").slice(0,80)+"...":i.description})()),c}}),null),V(c=>{var w=`dropdown-item ${m()?"dropdown-item-highlight":""}`,u=m();return w!==c.e&&U(h,c.e=w),u!==c.t&&z(h,"data-picker-selected",c.t=u),c},{e:void 0,t:void 0}),h})()}})]}}),null),r(o,f(g,{get when(){return C(()=>s()==="mention"&&ge()>0)()&&!(t.searchQuery==="."||t.searchQuery==="./")},get children(){return[(()=>{var i=oe();return r(i,()=>a("unifiedPicker.sections.agents")),i})(),f(le,{get each(){return G()},children:i=>{const b=re().findIndex(m=>m.type==="agent"&&m.agent.name===i.name);return(()=>{var m=Ze(),h=m.firstChild,d=h.firstChild,_=d.nextSibling,y=_.firstChild,P=y.firstChild;return m.$$click=()=>t.onSelect({type:"agent",agent:i},"click"),r(P,()=>i.name),r(y,f(g,{get when(){return i.mode==="subagent"},get children(){var c=Ye();return r(c,()=>a("unifiedPicker.badge.subagent")),c}}),null),r(_,f(g,{get when(){return i.description},get children(){var c=Se();return r(c,(()=>{var w=C(()=>!!(i.description&&i.description.length>80));return()=>w()?i.description.slice(0,80)+"...":i.description})()),c}}),null),V(c=>{var w=`dropdown-item ${b===$()?"dropdown-item-highlight":""}`,u=b===$();return w!==c.e&&U(m,c.e=w),u!==c.t&&z(m,"data-picker-selected",c.t=u),c},{e:void 0,t:void 0}),m})()}})]}}),null),r(o,f(g,{get when(){return C(()=>s()==="mention")()&&(ve()>0||t.searchQuery==="."||t.searchQuery==="./")},get children(){return[(()=>{var i=oe();return r(i,()=>a("unifiedPicker.sections.files")),i})(),f(g,{get when(){return t.searchQuery==="."||t.searchQuery==="./"},get children(){var i=Oe(),b=i.firstChild,m=b.firstChild,h=m.nextSibling;return h.firstChild,i.$$click=()=>{const d={path:".",relativePath:".",isDirectory:!0,isGitFile:!1};t.onSelect({type:"file",file:d},"click")},r(h,()=>a("unifiedPicker.sections.workspaceRoot"),null),V(d=>{var _=`dropdown-item py-1.5 ${$()===0?"dropdown-item-highlight":""}`,y=$()===0;return _!==d.e&&U(i,d.e=_),y!==d.t&&z(i,"data-picker-selected",d.t=y),d},{e:void 0,t:void 0}),i}}),f(le,{get each(){return S()},children:i=>{const b=re().findIndex(d=>d.type==="file"&&d.file.relativePath===i.relativePath),m=i.isDirectory,h=Ge(i.path);return(()=>{var d=it(),_=d.firstChild,y=_.firstChild,P=y.firstChild,c=P.nextSibling,w=c.firstChild;return d.$$click=()=>t.onSelect({type:"file",file:i},"click"),r(_,f(g,{when:m,get fallback(){return rt()},get children(){return et()}}),y),r(P,()=>i.path),r(w,()=>h.name),r(c,f(g,{get when(){return h.parent},get children(){var u=tt(),j=u.firstChild;return r(u,()=>h.parent,j),u}}),null),r(c,f(g,{get when(){return C(()=>!!h.directory)()&&h.directory!==h.parent},get children(){var u=nt();return r(u,()=>h.directory),u}}),null),V(u=>{var j=`dropdown-item py-1.5 ${b===$()?"dropdown-item-highlight":""}`,we=b===$(),$e=i.path;return j!==u.e&&U(d,u.e=j),we!==u.t&&z(d,"data-picker-selected",u.t=we),$e!==u.a&&z(y,"title",u.a=$e),u},{e:void 0,t:void 0,a:void 0}),d})()}})]}}),null),r(E,()=>a("unifiedPicker.footer.navigate"),B),r(E,()=>a("unifiedPicker.footer.select"),pe),r(E,()=>a("unifiedPicker.footer.close"),null),e}})};Ue(["click"]);export{gt as default};
2
+ //# sourceMappingURL=unified-picker-C-lhbMQ0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unified-picker-CxrTM_tY.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 } from \"@opencode/client\"\nimport { serverApi } from \"../lib/api-client\"\nimport { useI18n } from \"../lib/i18n\"\nimport { getLogger } from \"../lib/logger\"\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: \"file\"; file: FileItem }\n | { type: \"command\"; command: CommandInfo }\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 onSubmitWithoutSelection?: () => void\n agents: Agent[]\n commands?: CommandInfo[]\n searchQuery: string\n textareaRef?: HTMLTextAreaElement\n workspaceId: 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 [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)\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 })\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 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 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 // Don't show agents for exact root path queries\n if (!isExactRootQuery) {\n filteredAgents().forEach((agent) => items.push({ type: \"agent\", agent }))\n }\n files().forEach((file) => items.push({ type: \"file\", file }))\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 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 } else if (e.key === \"Enter\" && mode() === \"mention\") {\n props.onSubmitWithoutSelection?.()\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 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 && fileCount() === 0)}>\n <div class=\"dropdown-empty\">{t(\"unifiedPicker.empty\")}</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\" && 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\" && (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 </div>\n\n <div class=\"dropdown-footer\">\n <div>\n <span class=\"font-medium\">↑↓</span> {t(\"unifiedPicker.footer.navigate\")} • <span class=\"font-medium\">Tab/Enter</span> {t(\"unifiedPicker.footer.select\")} •{\" \"}\n <span class=\"font-medium\">Esc</span> {t(\"unifiedPicker.footer.close\")}\n </div>\n </div>\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","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","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","query","toLowerCase","visibleAgents","agents","filter","agent","hidden","filtered","name","includes","description","filteredCommands","createMemo","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","selected","action","shiftKey","onSelect","onSubmitWithoutSelection","onClose","document","addEventListener","removeEventListener","commandCount","agentCount","fileCount","isLoading","loadingMessage","_$createComponent","Show","when","children","_el$","_tmpl$5","_el$2","firstChild","_el$3","_el$5","nextSibling","_el$13","_el$14","_el$15","_el$16","_el$24","_el$17","_el$18","_el$19","_el$25","_el$20","_el$22","_ref$","_$use","_$insert","fallback","_el$4","_tmpl$","_ref$2","_$memo","_el$6","_tmpl$2","_el$7","_tmpl$3","For","each","index","isSelected","_el$26","_tmpl$7","_el$27","_el$28","_el$29","_el$30","$$click","_el$32","_tmpl$6","_c$","slice","_$effect","_p$","_v$3","_v$4","_$className","_$setAttribute","undefined","_el$8","itemIndex","findIndex","item","_el$33","_tmpl$9","_el$34","_el$35","_el$36","_el$37","_el$38","_el$39","_tmpl$8","_el$40","_c$2","_v$5","_v$6","_el$9","_el$0","_tmpl$4","_el$1","_el$10","_el$11","_v$","_v$2","isFolder","displayPath","_el$41","_tmpl$11","_el$42","_el$44","_el$45","_el$46","_el$47","_tmpl$12","_tmpl$0","parent","_el$48","_tmpl$1","_el$49","directory","_el$50","_tmpl$10","_v$7","_v$8","_v$9","a","_$delegateEvents"],"mappings":"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"}
1
+ {"version":3,"file":"unified-picker-C-lhbMQ0.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 } from \"@opencode/client\"\nimport { serverApi } from \"../lib/api-client\"\nimport { useI18n } from \"../lib/i18n\"\nimport { getLogger } from \"../lib/logger\"\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: \"file\"; file: FileItem }\n | { type: \"command\"; command: CommandInfo }\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 onSubmitWithoutSelection?: () => void\n agents: Agent[]\n commands?: CommandInfo[]\n searchQuery: string\n textareaRef?: HTMLTextAreaElement\n workspaceId: 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 [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)\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 })\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 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 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 // Don't show agents for exact root path queries\n if (!isExactRootQuery) {\n filteredAgents().forEach((agent) => items.push({ type: \"agent\", agent }))\n }\n files().forEach((file) => items.push({ type: \"file\", file }))\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 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 } else if (e.key === \"Enter\" && mode() === \"mention\") {\n props.onSubmitWithoutSelection?.()\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 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 && fileCount() === 0)}>\n <div class=\"dropdown-empty\">{t(\"unifiedPicker.empty\")}</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\" && 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\" && (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 </div>\n\n <div class=\"dropdown-footer\">\n <div>\n <span class=\"font-medium\">↑↓</span> {t(\"unifiedPicker.footer.navigate\")} • <span class=\"font-medium\">Tab/Enter</span> {t(\"unifiedPicker.footer.select\")} •{\" \"}\n <span class=\"font-medium\">Esc</span> {t(\"unifiedPicker.footer.close\")}\n </div>\n </div>\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","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","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","query","toLowerCase","visibleAgents","agents","filter","agent","hidden","filtered","name","includes","description","filteredCommands","createMemo","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","selected","action","shiftKey","onSelect","onSubmitWithoutSelection","onClose","document","addEventListener","removeEventListener","commandCount","agentCount","fileCount","isLoading","loadingMessage","_$createComponent","Show","when","children","_el$","_tmpl$5","_el$2","firstChild","_el$3","_el$5","nextSibling","_el$13","_el$14","_el$15","_el$16","_el$24","_el$17","_el$18","_el$19","_el$25","_el$20","_el$22","_ref$","_$use","_$insert","fallback","_el$4","_tmpl$","_ref$2","_$memo","_el$6","_tmpl$2","_el$7","_tmpl$3","For","each","index","isSelected","_el$26","_tmpl$7","_el$27","_el$28","_el$29","_el$30","$$click","_el$32","_tmpl$6","_c$","slice","_$effect","_p$","_v$3","_v$4","_$className","_$setAttribute","undefined","_el$8","itemIndex","findIndex","item","_el$33","_tmpl$9","_el$34","_el$35","_el$36","_el$37","_el$38","_el$39","_tmpl$8","_el$40","_c$2","_v$5","_v$6","_el$9","_el$0","_tmpl$4","_el$1","_el$10","_el$11","_v$","_v$2","isFolder","displayPath","_el$41","_tmpl$11","_el$42","_el$44","_el$45","_el$46","_el$47","_tmpl$12","_tmpl$0","parent","_el$48","_tmpl$1","_el$49","directory","_el$50","_tmpl$10","_v$7","_v$8","_v$9","a","_$delegateEvents"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{I as o}from"./main-DRbjgAo8.js";import{k as n,p}from"./git-diff-vendor-CT8HfOQw.js";const t=[["line",{x1:"3",x2:"21",y1:"6",y2:"6",key:"4m8b97"}],["path",{d:"M3 12h15a3 3 0 1 1 0 6h-4",key:"1cl7v7"}],["polyline",{points:"16 16 14 18 16 20",key:"1jznyi"}],["line",{x1:"3",x2:"10",y1:"18",y2:"18",key:"1h33wv"}]],y=e=>n(o,p(e,{name:"WrapText",iconNode:t}));export{y as W};
2
- //# sourceMappingURL=wrap-text-BznZeD4J.js.map
1
+ import{I as o}from"./main-DAwgVcRN.js";import{k as n,p}from"./git-diff-vendor-CT8HfOQw.js";const t=[["line",{x1:"3",x2:"21",y1:"6",y2:"6",key:"4m8b97"}],["path",{d:"M3 12h15a3 3 0 1 1 0 6h-4",key:"1cl7v7"}],["polyline",{points:"16 16 14 18 16 20",key:"1jznyi"}],["line",{x1:"3",x2:"10",y1:"18",y2:"18",key:"1h33wv"}]],y=e=>n(o,p(e,{name:"WrapText",iconNode:t}));export{y as W};
2
+ //# sourceMappingURL=wrap-text-BjODGwnM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrap-text-BznZeD4J.js","sources":["../../../../../../node_modules/lucide-solid/dist/source/icons/wrap-text.jsx"],"sourcesContent":["import Icon from '../Icon';\nconst iconNode = [\n ['line', { x1: '3', x2: '21', y1: '6', y2: '6', key: '4m8b97' }],\n ['path', { d: 'M3 12h15a3 3 0 1 1 0 6h-4', key: '1cl7v7' }],\n ['polyline', { points: '16 16 14 18 16 20', key: '1jznyi' }],\n ['line', { x1: '3', x2: '10', y1: '18', y2: '18', key: '1h33wv' }],\n];\nconst WrapText = (props) => <Icon {...props} name=\"WrapText\" iconNode={iconNode}/>;\nexport default WrapText;\n"],"names":["iconNode","x1","x2","y1","y2","key","d","points","WrapText","props","_$createComponent","Icon","_$mergeProps","name"],"mappings":"2FACA,MAAMA,EAAW,CACb,CAAC,OAAQ,CAAEC,GAAI,IAAKC,GAAI,KAAMC,GAAI,IAAKC,GAAI,IAAKC,IAAK,QAAS,CAAC,EAC/D,CAAC,OAAQ,CAAEC,EAAG,4BAA6BD,IAAK,QAAS,CAAC,EAC1D,CAAC,WAAY,CAAEE,OAAQ,oBAAqBF,IAAK,QAAS,CAAC,EAC3D,CAAC,OAAQ,CAAEJ,GAAI,IAAKC,GAAI,KAAMC,GAAI,KAAMC,GAAI,KAAMC,IAAK,QAAS,CAAC,CAAC,EAEhEG,EAAYC,GAAKC,EAAMC,EAAIC,EAAKH,EAAK,CAAEI,KAAI,WAAYb,SAAAA,CAAkB,CAAA,CAAA","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"wrap-text-BjODGwnM.js","sources":["../../../../../../node_modules/lucide-solid/dist/source/icons/wrap-text.jsx"],"sourcesContent":["import Icon from '../Icon';\nconst iconNode = [\n ['line', { x1: '3', x2: '21', y1: '6', y2: '6', key: '4m8b97' }],\n ['path', { d: 'M3 12h15a3 3 0 1 1 0 6h-4', key: '1cl7v7' }],\n ['polyline', { points: '16 16 14 18 16 20', key: '1jznyi' }],\n ['line', { x1: '3', x2: '10', y1: '18', y2: '18', key: '1h33wv' }],\n];\nconst WrapText = (props) => <Icon {...props} name=\"WrapText\" iconNode={iconNode}/>;\nexport default WrapText;\n"],"names":["iconNode","x1","x2","y1","y2","key","d","points","WrapText","props","_$createComponent","Icon","_$mergeProps","name"],"mappings":"2FACA,MAAMA,EAAW,CACb,CAAC,OAAQ,CAAEC,GAAI,IAAKC,GAAI,KAAMC,GAAI,IAAKC,GAAI,IAAKC,IAAK,QAAS,CAAC,EAC/D,CAAC,OAAQ,CAAEC,EAAG,4BAA6BD,IAAK,QAAS,CAAC,EAC1D,CAAC,WAAY,CAAEE,OAAQ,oBAAqBF,IAAK,QAAS,CAAC,EAC3D,CAAC,OAAQ,CAAEJ,GAAI,IAAKC,GAAI,KAAMC,GAAI,KAAMC,GAAI,KAAMC,IAAK,QAAS,CAAC,CAAC,EAEhEG,EAAYC,GAAKC,EAAMC,EAAIC,EAAKH,EAAK,CAAEI,KAAI,WAAYb,SAAAA,CAAkB,CAAA,CAAA","x_google_ignoreList":[0]}
package/public/index.html CHANGED
@@ -24,14 +24,14 @@
24
24
  }
25
25
  })()
26
26
  </script>
27
- <script type="module" crossorigin src="/assets/main-DRbjgAo8.js"></script>
27
+ <script type="module" crossorigin src="/assets/main-DAwgVcRN.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-CT8HfOQw.js">
31
- <link rel="modulepreload" crossorigin href="/assets/monaco-viewer-CG0aPZ-r.js">
32
- <link rel="modulepreload" crossorigin href="/assets/index-BhInW6hR.js">
31
+ <link rel="modulepreload" crossorigin href="/assets/monaco-viewer-BtzCmjFO.js">
32
+ <link rel="modulepreload" crossorigin href="/assets/index-CIT8ANJK.js">
33
33
  <link rel="stylesheet" crossorigin href="/assets/git-diff-vendor-HAZkIolJ.css">
34
- <link rel="stylesheet" crossorigin href="/assets/index-DYBqUC9X.css">
34
+ <link rel="stylesheet" crossorigin href="/assets/index-4mzZPz2j.css">
35
35
  <link rel="manifest" href="/manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script>
36
36
  <meta name="theme-color" content="#1a1a1a">
37
37
  <link rel="icon" href="/favicon.ico" sizes="48x48">
@@ -14,13 +14,13 @@
14
14
  }
15
15
  })()
16
16
  </script>
17
- <script type="module" crossorigin src="/assets/loading-D8BcUQaM.js"></script>
17
+ <script type="module" crossorigin src="/assets/loading-Cs2CSqHx.js"></script>
18
18
  <link rel="modulepreload" crossorigin href="/assets/fast-diff-vendor-DgdwVvTQ.js">
19
19
  <link rel="modulepreload" crossorigin href="/assets/highlight-vendor-8FKMu9os.js">
20
20
  <link rel="modulepreload" crossorigin href="/assets/git-diff-vendor-CT8HfOQw.js">
21
- <link rel="modulepreload" crossorigin href="/assets/monaco-viewer-CG0aPZ-r.js">
22
- <link rel="modulepreload" crossorigin href="/assets/index-BhInW6hR.js">
23
- <link rel="stylesheet" crossorigin href="/assets/index-DYBqUC9X.css">
21
+ <link rel="modulepreload" crossorigin href="/assets/monaco-viewer-BtzCmjFO.js">
22
+ <link rel="modulepreload" crossorigin href="/assets/index-CIT8ANJK.js">
23
+ <link rel="stylesheet" crossorigin href="/assets/index-4mzZPz2j.css">
24
24
  <link rel="stylesheet" crossorigin href="/assets/git-diff-vendor-HAZkIolJ.css">
25
25
  <link rel="stylesheet" crossorigin href="/assets/loading-CdhHiSED.css">
26
26
  <link rel="manifest" href="/manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script>
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:"d0b7dde94c847511c6aa1deba233604a"},{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/wrap-text-BznZeD4J.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-CxrTM_tY.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-Bjo9DalZ.js",revision:null},{url:"assets/toml-vGWfd6FD.js",revision:null},{url:"assets/tokyo-night-hegEt444.js",revision:null},{url:"assets/todo-DXJ5kP_Z.js",revision:null},{url:"assets/tex-Cppo0RY3.js",revision:null},{url:"assets/terraform-BETggiCN.js",revision:null},{url:"assets/terminal-square-DhmNJqNG.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-card-CHqS2Pmg.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/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-CG0aPZ-r.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-CRPEbAqL.js",revision:null},{url:"assets/make-CHLpvVh8.js",revision:null},{url:"assets/main-DRbjgAo8.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-D8BcUQaM.js",revision:null},{url:"assets/loading-CdhHiSED.css",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-Dk3HFhZs.js",revision:null},{url:"assets/index-DYBqUC9X.css",revision:null},{url:"assets/index-D292-iMl.js",revision:null},{url:"assets/index-ChudAs0f.js",revision:null},{url:"assets/index-CaYFZAN4.js",revision:null},{url:"assets/index-CLgpBTF6.js",revision:null},{url:"assets/index-CLdQSSfU.js",revision:null},{url:"assets/index-C9vJvaFa.js",revision:null},{url:"assets/index-C8zCyB6Z.js",revision:null},{url:"assets/index-C2jBtFkI.js",revision:null},{url:"assets/index-BhInW6hR.js",revision:null},{url:"assets/index-B875QQLi.js",revision:null},{url:"assets/index-AeE49W2c.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-CT8HfOQw.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-FNBCogHl.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-CjVIIkWh.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-CwHbX2Tz.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/angular-ts-BwZT4LLn.js",revision:null},{url:"assets/angular-html-CU67Zn6k.js",revision:null},{url:"assets/andromeeda-C-Jbm3Hp.js",revision:null},{url:"assets/align-justify-BGcr8Y3G.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-BB3L4UEF.js",revision:null},{url:"assets/SplitFilePanel-BHkyIER4.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/GitChangesTab-DLtyzpX0.js",revision:null},{url:"assets/FilesTab-CznSFRW_.js",revision:null},{url:"assets/CodeNomad-Icon-bmTWNPXy.png",revision:null},{url:"assets/App-BSkmbNUC.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:"d0b7dde94c847511c6aa1deba233604a"},{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/wrap-text-BjODGwnM.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-C-lhbMQ0.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-0UMa6igS.js",revision:null},{url:"assets/toml-vGWfd6FD.js",revision:null},{url:"assets/tokyo-night-hegEt444.js",revision:null},{url:"assets/todo-Cgy3-kyM.js",revision:null},{url:"assets/tex-Cppo0RY3.js",revision:null},{url:"assets/terraform-BETggiCN.js",revision:null},{url:"assets/terminal-square-ypyAq6Ni.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-card-CmMXcnR-.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/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-BtzCmjFO.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-DheZTu4V.js",revision:null},{url:"assets/markdown-Cvjx9yec.js",revision:null},{url:"assets/make-CHLpvVh8.js",revision:null},{url:"assets/main-DAwgVcRN.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-Cs2CSqHx.js",revision:null},{url:"assets/loading-CdhHiSED.css",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-Gk3Kwcb2.js",revision:null},{url:"assets/index-DrTKEExa.js",revision:null},{url:"assets/index-DhOvQD1j.js",revision:null},{url:"assets/index-DbnGqvtc.js",revision:null},{url:"assets/index-CheaKG9m.js",revision:null},{url:"assets/index-CIT8ANJK.js",revision:null},{url:"assets/index-C9Jqb-tF.js",revision:null},{url:"assets/index-Bdh_-CtJ.js",revision:null},{url:"assets/index-BbUJLdzG.js",revision:null},{url:"assets/index-BDbkD8FO.js",revision:null},{url:"assets/index-B2wje_CF.js",revision:null},{url:"assets/index-4mzZPz2j.css",revision:null},{url:"assets/index-4LEntpq0.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-CT8HfOQw.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-C-B3vwne.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-BB0go4Xe.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-CL2fEEcE.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/angular-ts-BwZT4LLn.js",revision:null},{url:"assets/angular-html-CU67Zn6k.js",revision:null},{url:"assets/andromeeda-C-Jbm3Hp.js",revision:null},{url:"assets/align-justify-CboH-c3n.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-_gvxV-qq.js",revision:null},{url:"assets/SplitFilePanel-C_dI-kjb.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/GitChangesTab-ClsL5QrZ.js",revision:null},{url:"assets/FilesTab-C4o3_OHJ.js",revision:null},{url:"assets/CodeNomad-Icon-bmTWNPXy.png",revision:null},{url:"assets/App-CkXPZUpS.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