@aiworker/web 1.23.1 → 1.23.3

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 (72) hide show
  1. package/dist/assets/{CodeMirrorCommentWidgets-teB3HmBT.js → CodeMirrorCommentWidgets-pFeKzADY.js} +1 -1
  2. package/dist/assets/{DiffView-DC9RX3MF.js → DiffView-BYwAHIlW.js} +3 -3
  3. package/dist/assets/{DirtyBranchSwitchDialog-DwPkzXsS.js → DirtyBranchSwitchDialog-BeyJczAi.js} +1 -1
  4. package/dist/assets/{FilesView-BFZkuu4O.js → FilesView-lrP5OlzK.js} +6 -6
  5. package/dist/assets/{GitView-B_x52MHY.js → GitView-CCUK73JL.js} +4 -4
  6. package/dist/assets/{JsonTreeView-cmAzUTiw.js → JsonTreeView-CqUi8Ytj.js} +1 -1
  7. package/dist/assets/{LinearIssuesView-Dehh5afm.js → LinearIssuesView-C0WwIDQN.js} +1 -1
  8. package/dist/assets/{MarkdownImageGallery-DgNOqqhE.js → MarkdownImageGallery-0NXPad4K.js} +1 -1
  9. package/dist/assets/{MarkdownRendererImpl-DusmMZ_p.js → MarkdownRendererImpl-q-rUxBkU.js} +4 -4
  10. package/dist/assets/{OnboardingScreen-B8fm1H4m.js → OnboardingScreen-Cy6xZ-IQ.js} +1 -1
  11. package/dist/assets/{PatchDiff-BVr7gJU0.js → PatchDiff-DuYWs-7m.js} +1 -1
  12. package/dist/assets/{PierreDiffViewer-DzLt-nel.js → PierreDiffViewer-C51SEtjJ.js} +1 -1
  13. package/dist/assets/{PlanView-BmQUYT_z.js → PlanView-k63mHfFF.js} +1 -1
  14. package/dist/assets/SettingsView-DNJXHPYC.js +28 -0
  15. package/dist/assets/{SettingsWindow-Dy3M6ZB9.js → SettingsWindow-DFMJqIkx.js} +1 -1
  16. package/dist/assets/{ToolOutputDialog-cTl_eLIH.js → ToolOutputDialog-B4kBDjLK.js} +4 -4
  17. package/dist/assets/{ToolPartDiffPreview-C_3iYNJQ.js → ToolPartDiffPreview-DhVBmwis.js} +2 -2
  18. package/dist/assets/{VirtualizedFileDiff-CAWthkoy.js → VirtualizedFileDiff-C-MFNoKo.js} +1 -1
  19. package/dist/assets/{WalkthroughView-C7AHOpCA.js → WalkthroughView-hmnM70S9.js} +1 -1
  20. package/dist/assets/{computeVirtualFileMetrics-BkiDSlTW.js → computeVirtualFileMetrics-Bv64vrxY.js} +1 -1
  21. package/dist/assets/{de-DJsQr-p7.js → de-i-51iOMQ.js} +2 -2
  22. package/dist/assets/{es-BuYMlA9g.js → es-CNkqJISC.js} +3 -3
  23. package/dist/assets/{fr-ePDay33C.js → fr-a9t4bHWo.js} +3 -3
  24. package/dist/assets/index-BvwlOZOg.js +40 -0
  25. package/dist/assets/{index-n6O3hklM.js → index-C-KjDH6t.js} +1 -1
  26. package/dist/assets/index-n5p3SnES.css +1 -0
  27. package/dist/assets/{isDiffPlainText-GMdPz-71.js → isDiffPlainText-B0pMS3gs.js} +1 -1
  28. package/dist/assets/{isFilePlainText-BVuH1zH9.js → isFilePlainText-IXDeiXmH.js} +1 -1
  29. package/dist/assets/{ja-BzR9xOY_.js → ja-C2HQKC-_.js} +3 -3
  30. package/dist/assets/{ko-BEjHAm14.js → ko-CvVt6P_Q.js} +3 -3
  31. package/dist/assets/main-6ZT1mvpO.js +930 -0
  32. package/dist/assets/{main-D3ZDQglc.js → main-BeWvA5d9.js} +2 -2
  33. package/dist/assets/markdownCore-DTW1POUM.js +5 -0
  34. package/dist/assets/{miniChat-d01k801U.js → miniChat-DzMGD1Hv.js} +2 -2
  35. package/dist/assets/{mobile-D7VV-Ufz.js → mobile-CrDSF4dQ.js} +2 -2
  36. package/dist/assets/{patchFileDiff-CdztVMz0.js → patchFileDiff-DHG-znZQ.js} +3 -3
  37. package/dist/assets/{pl-rQmpxNIF.js → pl-CQi2SXLP.js} +3 -3
  38. package/dist/assets/{pt-BR-CorbsSW-.js → pt-BR-FdnmJOe8.js} +3 -3
  39. package/dist/assets/{renderElectronMiniChatApp-BGG9UIlh.js → renderElectronMiniChatApp-BuaS0XYk.js} +2 -2
  40. package/dist/assets/renderMobileApp-hxXJf_Db.js +25 -0
  41. package/dist/assets/runtimeEndpointReset-DB4KI-ED.js +41 -0
  42. package/dist/assets/{scheduledTasksApi-BEuUF_cj.js → scheduledTasksApi-DZaxQ19y.js} +1 -1
  43. package/dist/assets/{shikiHighlight-BzXUjlby.js → shikiHighlight-B1goMnV6.js} +1 -1
  44. package/dist/assets/{tr-CoAMXPtI.js → tr-BwD9HLzh.js} +2 -2
  45. package/dist/assets/{uk-YlAX0rRU.js → uk-BWNCwGJO.js} +3 -3
  46. package/dist/assets/{useAppFontEffects-Cwyhjfl5.js → useAppFontEffects-cYK1WODe.js} +130 -130
  47. package/dist/assets/useGitComparison-DIetwQtj.js +1 -0
  48. package/dist/assets/{useInlineCommentController-DDkpBEU8.js → useInlineCommentController-DscFZWyI.js} +2 -2
  49. package/dist/assets/{useRootScrollLock-CwjoWuC4.js → useRootScrollLock-CE3HJBOu.js} +1 -1
  50. package/dist/assets/{vendor-codemirror-language-data-Cb1YnICj.js → vendor-codemirror-language-data-CsvoASYk.js} +2 -2
  51. package/dist/assets/{vendor-remixicon-react-Dil0zKKT.js → vendor-remixicon-react-BDmGmFCA.js} +1 -1
  52. package/dist/assets/{web-components-LV3vjTxy.js → web-components-HM6S8xyb.js} +1 -1
  53. package/dist/assets/{zh-CN-DDYg0Jl7.js → zh-CN-CH6L_7cX.js} +6 -6
  54. package/dist/assets/{zh-TW-CQKaCayr.js → zh-TW--py9VFnc.js} +3 -3
  55. package/dist/index.html +3 -3
  56. package/dist/mini-chat.html +3 -3
  57. package/dist/mobile.html +3 -3
  58. package/package.json +2 -2
  59. package/server/lib/opencode/DOCUMENTATION.md +14 -0
  60. package/server/lib/opencode/openchamber-routes.js +72 -14
  61. package/server/lib/opencode/openchamber-routes.test.js +71 -3
  62. package/server/lib/opencode/settings-helpers.js +5 -0
  63. package/server/lib/opencode/settings-helpers.test.js +13 -1
  64. package/server/lib/opencode/settings-registry.json +3 -0
  65. package/dist/assets/SettingsView-ChWmAcZT.js +0 -28
  66. package/dist/assets/index-BD8ILbxF.js +0 -40
  67. package/dist/assets/index-zhgg-SDz.css +0 -1
  68. package/dist/assets/main-BydQ1tr_.js +0 -930
  69. package/dist/assets/markdownCore-Cb2MdZnV.js +0 -5
  70. package/dist/assets/renderMobileApp-BRP3J1iv.js +0 -25
  71. package/dist/assets/runtimeEndpointReset-BhT_-c52.js +0 -41
  72. package/dist/assets/useGitComparison-BCZVefdE.js +0 -1
@@ -1 +1 @@
1
- import{q as M,D as j,E as R,dA as L,h as I}from"./index-BD8ILbxF.js";import{c as U}from"./vendor-zustand-BAGL70zf.js";const A=[{id:"finder",label:"Finder",appName:"Finder"},{id:"terminal",label:"Terminal",appName:"Terminal"},{id:"iterm2",label:"iTerm2",appName:"iTerm"},{id:"ghostty",label:"Ghostty",appName:"Ghostty"},{id:"vscode",label:"VS Code",appName:"Visual Studio Code"},{id:"vscode-insiders",label:"VS Code Insiders",appName:"Visual Studio Code - Insiders"},{id:"intellij",label:"IntelliJ",appName:"IntelliJ IDEA"},{id:"visual-studio",label:"Visual Studio",appName:"Visual Studio"},{id:"cursor",label:"Cursor",appName:"Cursor"},{id:"android-studio",label:"Android Studio",appName:"Android Studio"},{id:"pycharm",label:"PyCharm",appName:"PyCharm"},{id:"xcode",label:"Xcode",appName:"Xcode"},{id:"sublime-text",label:"Sublime",appName:"Sublime Text"},{id:"webstorm",label:"WebStorm",appName:"WebStorm"},{id:"rider",label:"Rider",appName:"Rider"},{id:"zed",label:"Zed",appName:"Zed"},{id:"phpstorm",label:"PhpStorm",appName:"PhpStorm"},{id:"eclipse",label:"Eclipse",appName:"Eclipse"},{id:"windsurf",label:"Windsurf",appName:"Windsurf"},{id:"vscodium",label:"VSCodium",appName:"VSCodium"},{id:"rustrover",label:"RustRover",appName:"RustRover"},{id:"kiro",label:"Kiro",appName:"Kiro"},{id:"antigravity",label:"Antigravity",appName:"Antigravity"},{id:"trae",label:"Trae",appName:"Trae"}],_="finder",v=new Set(["finder","terminal"]),D=e=>{if(typeof window>"u")return e;const a=window.__AIWORKER_PLATFORM__;if(e.id==="finder"){if(a==="win32")return{...e,label:"Explorer",appName:"File Explorer"};if(a==="linux")return{...e,label:"File Manager"}}return e},T=e=>{if(!e)return null;const a=A.find(t=>t.id===e)??null;return a?D(a):null},N=()=>A.filter(e=>v.has(e.id)).map(e=>({...D(e)})),V=()=>{if(typeof window>"u")return _;const e=window.localStorage.getItem("openInAppId");return e&&T(e)?e:_};let E=!1,y=!1,m=!1,h=0,S=null;const x=()=>{S&&(clearTimeout(S),S=null)},K=U()((e,a)=>({selectedAppId:V(),availableApps:N(),hasLoadedApps:!1,isCacheStale:!1,isScanning:!1,initialize:()=>{if(E||typeof window>"u")return;E=!0;const t=(o,d=!0)=>{if(!Array.isArray(o)||o.length===0){e({availableApps:N(),hasLoadedApps:d});return}const f=new Set(o.map(l=>l.name)),u=new Map(o.map(l=>[l.name,l.iconDataUrl??void 0])),b=A.filter(l=>f.has(l.appName)||v.has(l.id)).map(l=>({...D(l),iconDataUrl:u.get(l.appName)}));e({availableApps:b,hasLoadedApps:!0})},s=async o=>{if(!j()||!R()||y||a().hasLoadedApps&&!o)return;const f=A.map(u=>u.appName);x(),y=!0,m=!1,e({isScanning:!0});try{const{apps:u,success:r,hasCache:b,isCacheStale:l}=await L(f,o),P=r&&!b&&u.length===0&&h<3;if(e({isCacheStale:b?l:!1}),t(u,r?!P:!1),r){if(P){const k=[800,1600,3200][h]??3200;h+=1,m=!0,S=setTimeout(()=>{s()},k);return}h=0,m=!1;return}if(h<3){const k=[1e3,3e3,7e3][h]??7e3;h+=1,m=!0,S=setTimeout(()=>{s()},k)}}finally{y=!1,m||e({isScanning:!1})}};s();const n=o=>{const d=o.detail?.settings,f=d&&typeof d.openInAppId=="string"&&d.openInAppId.length>0&&T(d.openInAppId)?d.openInAppId:null;f&&(window.localStorage.setItem("openInAppId",f),e({selectedAppId:f}))},i=()=>{s()},p=o=>{const d=o.detail;Array.isArray(d)&&(h=3,m=!1,e({isScanning:!1,isCacheStale:!1}),t(d))};window.addEventListener("aiworker:settings-synced",n),window.addEventListener("aiworker:app-ready",i),window.addEventListener("aiworker:installed-apps-updated",p),window.__aiworkerAppReady&&s(),window.setTimeout(()=>{a().hasLoadedApps||s()},5e3)},loadInstalledApps:async t=>{if(E||a().initialize(),!j()||!R()||y||a().hasLoadedApps&&!t)return;const n=A.map(i=>i.appName);x(),t&&e({hasLoadedApps:!1}),y=!0,m=!1,e({isScanning:!0});try{const{apps:i,hasCache:p,isCacheStale:c}=await L(n,t),o=new Set(i.map(r=>r.name)),d=new Map(i.map(r=>[r.name,r.iconDataUrl??void 0])),u=A.filter(r=>o.has(r.appName)||v.has(r.id)).map(r=>({...r,iconDataUrl:d.get(r.appName)}));e({availableApps:u.length>0?u:N(),hasLoadedApps:u.length>0,isCacheStale:p?c:!1})}finally{y=!1,m||e({isScanning:!1})}},selectApp:async t=>{T(t)&&(e({selectedAppId:t}),typeof window<"u"&&window.localStorage.setItem("openInAppId",t),await M({openInAppId:t}))}}));class q{pending=new Map;has(a){return this.pending.has(a)}clear(){this.pending.clear()}run(a,t,s=!1){const n=this.pending.get(a);if(n&&!s)return n;const i=()=>this.pending.get(a)===p,p=Promise.resolve().then(()=>i()?t(i):void 0).finally(()=>{i()&&this.pending.delete(a)});return this.pending.set(a,p),p}}const z=(e,a)=>e===a||e.length===a.length&&e.every((t,s)=>{const n=a[s];return t.name===n.name&&t.path===n.path&&t.type===n.type&&t.extension===n.extension&&t.relativePath===n.relativePath}),H=e=>{const a=new Map,t=new Map;for(const s of e){a.has(s.path)||a.set(s.path,s.index==="A"||s.working_dir==="?"?"git-added":s.index==="D"?"git-deleted":s.index==="M"||s.working_dir==="M"?"git-modified":null);const n=+(s.index==="M"||s.working_dir==="M"),i=+(s.index==="A"||s.working_dir==="?");if(!n&&!i)continue;const p=[""];for(let c=s.path.indexOf("/");c!==-1;c=s.path.indexOf("/",c+1))p.push(s.path.slice(0,c));for(const c of p){const o=t.get(c)??{modified:0,added:0};o.modified+=n,o.added+=i,t.set(c,o)}}return{statusByPath:a,badgeByDir:t}},C=new Set,J=e=>{const a=e.runtimeKey.trim(),t=Array.from(new Set(e.paths.map(s=>s.trim()).filter(Boolean)));if(!(!a||t.length===0))for(const s of C)s({runtimeKey:a,paths:t})},G=e=>(C.add(e),()=>C.delete(e)),g=async(e,a)=>{try{const t=await e.json();if(t&&typeof t.error=="string"&&t.error.trim().length>0)return t.error}catch{return a}return a},w=e=>{const a=typeof e=="string"?e.trim():"";if(!a)throw new Error("projectId is required");return a},$=async e=>{const a=w(e),t=await I(`/api/projects/${encodeURIComponent(a)}/scheduled-tasks`);if(!t.ok)throw new Error(await g(t,"Failed to load scheduled tasks"));const s=await t.json().catch(()=>null);return!s||!Array.isArray(s.tasks)?[]:s.tasks},X=async(e,a)=>{const t=w(e),s=await I(`/api/projects/${encodeURIComponent(t)}/scheduled-tasks`,{method:"PUT",headers:{"content-type":"application/json",accept:"application/json"},body:JSON.stringify({task:a})});if(!s.ok)throw new Error(await g(s,"Failed to save scheduled task"));const n=await s.json().catch(()=>null);return!n||!Array.isArray(n.tasks)?[]:n.tasks},Z=async(e,a)=>{const t=w(e),s=w(a),n=await I(`/api/projects/${encodeURIComponent(t)}/scheduled-tasks/${encodeURIComponent(s)}`,{method:"DELETE",headers:{accept:"application/json"}});if(!n.ok)throw new Error(await g(n,"Failed to delete scheduled task"));const i=await n.json().catch(()=>null);return!i||!Array.isArray(i.tasks)?[]:i.tasks},F=(e,a)=>{const t=w(e),s=w(a);return`/api/projects/${encodeURIComponent(t)}/scheduled-tasks/${encodeURIComponent(s)}/loop-file`},Y=async(e,a,t)=>{const s=await I(F(e,a),{method:"PATCH",headers:{"content-type":"application/json",accept:"application/json"},body:JSON.stringify({enabled:t})});if(!s.ok)throw new Error(await g(s,"Failed to update loop task"))},Q=async(e,a)=>{const t=await I(F(e,a),{method:"DELETE",headers:{accept:"application/json"}});if(!t.ok)throw new Error(await g(t,"Failed to delete loop file"))},ee=async e=>{await $(e)},te=async(e,a)=>{const t=w(e),s=w(a),n=await I(`/api/projects/${encodeURIComponent(t)}/scheduled-tasks/${encodeURIComponent(s)}/run`,{method:"POST",headers:{accept:"application/json"}});if(!n.ok)throw new Error(await g(n,"Failed to run scheduled task"));const i=await n.json().catch(()=>null);return{sessionId:typeof i?.sessionId=="string"&&i.sessionId.length>0?i.sessionId:void 0,persistError:typeof i?.persistError=="string"&&i.persistError.trim().length>0?i.persistError.trim():void 0}};export{_ as D,A as O,q as a,z as b,X as c,Q as d,Z as e,$ as f,ee as g,G as h,H as i,J as n,te as r,Y as s,K as u};
1
+ import{t as M,E as j,F as R,dC as L,h as I}from"./index-BvwlOZOg.js";import{c as U}from"./vendor-zustand-BAGL70zf.js";const A=[{id:"finder",label:"Finder",appName:"Finder"},{id:"terminal",label:"Terminal",appName:"Terminal"},{id:"iterm2",label:"iTerm2",appName:"iTerm"},{id:"ghostty",label:"Ghostty",appName:"Ghostty"},{id:"vscode",label:"VS Code",appName:"Visual Studio Code"},{id:"vscode-insiders",label:"VS Code Insiders",appName:"Visual Studio Code - Insiders"},{id:"intellij",label:"IntelliJ",appName:"IntelliJ IDEA"},{id:"visual-studio",label:"Visual Studio",appName:"Visual Studio"},{id:"cursor",label:"Cursor",appName:"Cursor"},{id:"android-studio",label:"Android Studio",appName:"Android Studio"},{id:"pycharm",label:"PyCharm",appName:"PyCharm"},{id:"xcode",label:"Xcode",appName:"Xcode"},{id:"sublime-text",label:"Sublime",appName:"Sublime Text"},{id:"webstorm",label:"WebStorm",appName:"WebStorm"},{id:"rider",label:"Rider",appName:"Rider"},{id:"zed",label:"Zed",appName:"Zed"},{id:"phpstorm",label:"PhpStorm",appName:"PhpStorm"},{id:"eclipse",label:"Eclipse",appName:"Eclipse"},{id:"windsurf",label:"Windsurf",appName:"Windsurf"},{id:"vscodium",label:"VSCodium",appName:"VSCodium"},{id:"rustrover",label:"RustRover",appName:"RustRover"},{id:"kiro",label:"Kiro",appName:"Kiro"},{id:"antigravity",label:"Antigravity",appName:"Antigravity"},{id:"trae",label:"Trae",appName:"Trae"}],_="finder",v=new Set(["finder","terminal"]),P=e=>{if(typeof window>"u")return e;const a=window.__AIWORKER_PLATFORM__;if(e.id==="finder"){if(a==="win32")return{...e,label:"Explorer",appName:"File Explorer"};if(a==="linux")return{...e,label:"File Manager"}}return e},T=e=>{if(!e)return null;const a=A.find(t=>t.id===e)??null;return a?P(a):null},N=()=>A.filter(e=>v.has(e.id)).map(e=>({...P(e)})),V=()=>{if(typeof window>"u")return _;const e=window.localStorage.getItem("openInAppId");return e&&T(e)?e:_};let E=!1,y=!1,m=!1,h=0,S=null;const x=()=>{S&&(clearTimeout(S),S=null)},K=U()((e,a)=>({selectedAppId:V(),availableApps:N(),hasLoadedApps:!1,isCacheStale:!1,isScanning:!1,initialize:()=>{if(E||typeof window>"u")return;E=!0;const t=(o,d=!0)=>{if(!Array.isArray(o)||o.length===0){e({availableApps:N(),hasLoadedApps:d});return}const f=new Set(o.map(l=>l.name)),u=new Map(o.map(l=>[l.name,l.iconDataUrl??void 0])),b=A.filter(l=>f.has(l.appName)||v.has(l.id)).map(l=>({...P(l),iconDataUrl:u.get(l.appName)}));e({availableApps:b,hasLoadedApps:!0})},s=async o=>{if(!j()||!R()||y||a().hasLoadedApps&&!o)return;const f=A.map(u=>u.appName);x(),y=!0,m=!1,e({isScanning:!0});try{const{apps:u,success:r,hasCache:b,isCacheStale:l}=await L(f,o),D=r&&!b&&u.length===0&&h<3;if(e({isCacheStale:b?l:!1}),t(u,r?!D:!1),r){if(D){const k=[800,1600,3200][h]??3200;h+=1,m=!0,S=setTimeout(()=>{s()},k);return}h=0,m=!1;return}if(h<3){const k=[1e3,3e3,7e3][h]??7e3;h+=1,m=!0,S=setTimeout(()=>{s()},k)}}finally{y=!1,m||e({isScanning:!1})}};s();const n=o=>{const d=o.detail?.settings,f=d&&typeof d.openInAppId=="string"&&d.openInAppId.length>0&&T(d.openInAppId)?d.openInAppId:null;f&&(window.localStorage.setItem("openInAppId",f),e({selectedAppId:f}))},i=()=>{s()},p=o=>{const d=o.detail;Array.isArray(d)&&(h=3,m=!1,e({isScanning:!1,isCacheStale:!1}),t(d))};window.addEventListener("aiworker:settings-synced",n),window.addEventListener("aiworker:app-ready",i),window.addEventListener("aiworker:installed-apps-updated",p),window.__aiworkerAppReady&&s(),window.setTimeout(()=>{a().hasLoadedApps||s()},5e3)},loadInstalledApps:async t=>{if(E||a().initialize(),!j()||!R()||y||a().hasLoadedApps&&!t)return;const n=A.map(i=>i.appName);x(),t&&e({hasLoadedApps:!1}),y=!0,m=!1,e({isScanning:!0});try{const{apps:i,hasCache:p,isCacheStale:c}=await L(n,t),o=new Set(i.map(r=>r.name)),d=new Map(i.map(r=>[r.name,r.iconDataUrl??void 0])),u=A.filter(r=>o.has(r.appName)||v.has(r.id)).map(r=>({...r,iconDataUrl:d.get(r.appName)}));e({availableApps:u.length>0?u:N(),hasLoadedApps:u.length>0,isCacheStale:p?c:!1})}finally{y=!1,m||e({isScanning:!1})}},selectApp:async t=>{T(t)&&(e({selectedAppId:t}),typeof window<"u"&&window.localStorage.setItem("openInAppId",t),await M({openInAppId:t}))}}));class z{pending=new Map;has(a){return this.pending.has(a)}clear(){this.pending.clear()}run(a,t,s=!1){const n=this.pending.get(a);if(n&&!s)return n;const i=()=>this.pending.get(a)===p,p=Promise.resolve().then(()=>i()?t(i):void 0).finally(()=>{i()&&this.pending.delete(a)});return this.pending.set(a,p),p}}const H=(e,a)=>e===a||e.length===a.length&&e.every((t,s)=>{const n=a[s];return t.name===n.name&&t.path===n.path&&t.type===n.type&&t.extension===n.extension&&t.relativePath===n.relativePath}),J=e=>{const a=new Map,t=new Map;for(const s of e){a.has(s.path)||a.set(s.path,s.index==="A"||s.working_dir==="?"?"git-added":s.index==="D"?"git-deleted":s.index==="M"||s.working_dir==="M"?"git-modified":null);const n=+(s.index==="M"||s.working_dir==="M"),i=+(s.index==="A"||s.working_dir==="?");if(!n&&!i)continue;const p=[""];for(let c=s.path.indexOf("/");c!==-1;c=s.path.indexOf("/",c+1))p.push(s.path.slice(0,c));for(const c of p){const o=t.get(c)??{modified:0,added:0};o.modified+=n,o.added+=i,t.set(c,o)}}return{statusByPath:a,badgeByDir:t}},C=new Set,q=e=>{const a=e.runtimeKey.trim(),t=Array.from(new Set(e.paths.map(s=>s.trim()).filter(Boolean)));if(!(!a||t.length===0))for(const s of C)s({runtimeKey:a,paths:t})},G=e=>(C.add(e),()=>C.delete(e)),g=async(e,a)=>{try{const t=await e.json();if(t&&typeof t.error=="string"&&t.error.trim().length>0)return t.error}catch{return a}return a},w=e=>{const a=typeof e=="string"?e.trim():"";if(!a)throw new Error("projectId is required");return a},$=async e=>{const a=w(e),t=await I(`/api/projects/${encodeURIComponent(a)}/scheduled-tasks`);if(!t.ok)throw new Error(await g(t,"Failed to load scheduled tasks"));const s=await t.json().catch(()=>null);return!s||!Array.isArray(s.tasks)?[]:s.tasks},X=async(e,a)=>{const t=w(e),s=await I(`/api/projects/${encodeURIComponent(t)}/scheduled-tasks`,{method:"PUT",headers:{"content-type":"application/json",accept:"application/json"},body:JSON.stringify({task:a})});if(!s.ok)throw new Error(await g(s,"Failed to save scheduled task"));const n=await s.json().catch(()=>null);return!n||!Array.isArray(n.tasks)?[]:n.tasks},Z=async(e,a)=>{const t=w(e),s=w(a),n=await I(`/api/projects/${encodeURIComponent(t)}/scheduled-tasks/${encodeURIComponent(s)}`,{method:"DELETE",headers:{accept:"application/json"}});if(!n.ok)throw new Error(await g(n,"Failed to delete scheduled task"));const i=await n.json().catch(()=>null);return!i||!Array.isArray(i.tasks)?[]:i.tasks},F=(e,a)=>{const t=w(e),s=w(a);return`/api/projects/${encodeURIComponent(t)}/scheduled-tasks/${encodeURIComponent(s)}/loop-file`},Y=async(e,a,t)=>{const s=await I(F(e,a),{method:"PATCH",headers:{"content-type":"application/json",accept:"application/json"},body:JSON.stringify({enabled:t})});if(!s.ok)throw new Error(await g(s,"Failed to update loop task"))},Q=async(e,a)=>{const t=await I(F(e,a),{method:"DELETE",headers:{accept:"application/json"}});if(!t.ok)throw new Error(await g(t,"Failed to delete loop file"))},ee=async e=>{await $(e)},te=async(e,a)=>{const t=w(e),s=w(a),n=await I(`/api/projects/${encodeURIComponent(t)}/scheduled-tasks/${encodeURIComponent(s)}/run`,{method:"POST",headers:{accept:"application/json"}});if(!n.ok)throw new Error(await g(n,"Failed to run scheduled task"));const i=await n.json().catch(()=>null);return{sessionId:typeof i?.sessionId=="string"&&i.sessionId.length>0?i.sessionId:void 0,persistError:typeof i?.persistError=="string"&&i.persistError.trim().length>0?i.persistError.trim():void 0}};export{_ as D,A as O,z as a,H as b,X as c,Q as d,Z as e,$ as f,ee as g,G as h,J as i,q as n,te as r,Y as s,K as u};
@@ -1 +1 @@
1
- import{R as d,j as v,c as ge,f as be}from"./vendor-react-BUCujlKS.js";import{E as he,o as S,k as H,i as de,S as xe}from"./vendor-codemirror-state-C9awkmn-.js";import{s as ye,d as ve,E as w,e as ke,f as V,k as B,V as me,D as M,W as we}from"./vendor-codemirror-view-CiLROUVV.js";import{h as Ce,k as Se,l as Ne,j as Ee}from"./vendor-codemirror-commands-B7H_j0iU.js";import{i as Re,y as Te,H as G,x as F,z as Oe}from"./vendor-codemirror-language-BgPj_McA.js";import{a as U,g as P,b as Y,c as Q,o as Fe,d as Pe}from"./vendor-codemirror-search-BmS-GmcX.js";import{v as Me,g as ze}from"./vendor-replit-codemirror-vim-B2DJlAhT.js";import{h as qe,I as Z,aa as We,B as Be,ab as Le,a9 as _e,hk as He}from"./useAppFontEffects-Cwyhjfl5.js";import{a as e,c as $e}from"./vendor-lezer-highlight-CDMHUZ74.js";const Ie=t=>t!==null&&typeof t=="object"&&"updateStatus"in t&&typeof t.updateStatus=="function",je=t=>{const o=document.createElement("div");o.className="cm-vim-panel";const a=ze(t);if(!a)return{top:!1,dom:o};a.state.statusbar=o;const n=a.state.vimPlugin;return Ie(n)&&n.updateStatus(),{top:!1,dom:o,destroy(){a.state.statusbar===o&&(a.state.statusbar=null)}}};function J(t){return t?[Me(),ye.of(je),ve()]:[]}const Ae={next:"Next match",prev:"Previous match",select:"Select all matches",replace:"Replace",replaceAll:"Replace all",close:"Close"},Ke={case:"Match case",re:"Regular expression",word:"Match whole word"};function De(t){const o=t.querySelector(".cm-search");if(o){for(const[a,n]of Object.entries(Ae)){const c=o.querySelector(`button[name="${a}"]`);c&&!c.title&&(c.title=n)}for(const[a,n]of Object.entries(Ke)){const r=o.querySelector(`input[name="${a}"]`)?.parentElement;r&&!r.title&&(r.title=n)}}}const L=new WeakMap;function Ve(t,o){const a=P(t.state);if(!a.valid)return L.delete(t),0;const n=L.get(t);if(!o&&n?.doc===t.state.doc&&n.query.eq(a))return n.total;const c=a.getCursor(t.state);let r=0;for(let l=c.next();!l.done;l=c.next())r+=1;return L.set(t,{query:a,doc:t.state.doc,total:r}),r}function Ge(t){const o=P(t.state);if(!o.valid)return 0;const a=t.state.selection.main,n=o.getCursor(t.state);let c=0,r=0;for(let l=n.next();!l.done;l=n.next()){const u=l.value;if(c+=1,r===0&&(r=c),a.from===u.from&&a.to===u.to||a.from<u.to&&a.to>u.from||u.from>=a.head)return c}return r}function X(t,o,a=!1){const n=t.querySelector(".cm-search");if(!n)return;let c=n.querySelector(".cm-search-message");if(!c){c=document.createElement("span"),c.className="cm-search-message",c.setAttribute("aria-live","polite");const u=n.querySelector('button[name="next"]'),f=u?.parentNode===n?u:n.firstChild;n.insertBefore(c,f)}const r=Ve(o,a),l=r===0?0:Ge(o);c.textContent=r===0?"":`${l}/${r}`}const ee=new S,te=new S,oe=new S,re=new S,ne=new S,ae=new S,ce=new S,se=t=>t,_=Te,Ue=Fe,Ye=Pe;class Qe extends we{constructor(o,a){super(),this.id=o,this.containerMap=a}toDOM(){let o=this.containerMap.get(this.id);return o||(o=document.createElement("div"),o.className="oc-block-widget",o.dataset.widgetId=this.id,this.containerMap.set(this.id,o)),o}eq(o){return o.id===this.id}destroy(){}}const ie=(t,o)=>!t||t.length===0?[]:de.define({create(a){const n=new H,c=[...t].sort((r,l)=>r.afterLine-l.afterLine);for(const r of c){const l=a.doc.lines;if(r.afterLine>l)continue;const u=a.doc.line(r.afterLine);n.add(u.to,u.to,M.widget({widget:new Qe(r.id,o),block:!0,side:1}))}return n.finish()},update(a,n){return a.map(n.changes)},provide:a=>w.decorations.from(a)}),le=t=>{if(!t)return[];const o=Math.max(1,t.start),a=Math.max(o,t.end);return me.fromClass(class{decorations;constructor(n){this.decorations=this.build(n)}update(n){(n.docChanged||n.viewportChanged)&&(this.decorations=this.build(n.view))}build(n){const c=new H;for(let r=o;r<=a&&r<=n.state.doc.lines;r+=1){const l=n.state.doc.line(r);c.add(l.from,l.from,M.line({class:"oc-cm-selected-line"}))}return c.finish()}},{decorations:n=>n.decorations})};function pt({value:t,onChange:o,extensions:a,className:n,readOnly:c,lineNumbersConfig:r,highlightLines:l,onViewReady:u,onViewDestroy:f,blockWidgets:m,enableSearch:b,searchOpen:T,onSearchOpenChange:N,vimMode:x}){const O=d.useRef(null),g=d.useRef(null),z=d.useRef(t),$=d.useRef(o),I=d.useRef(u),j=d.useRef(f),A=d.useRef(N),E=d.useRef(m),q=d.useRef(x),W=d.useRef(new Map),[pe,K]=d.useState([]),k=d.useCallback(s=>{const h=(s??[]).map(i=>{const p=W.current.get(i.id);return p?{id:i.id,content:i.content,container:p}:null}).filter(i=>i!==null);K(i=>i.length===h.length&&i.every((p,y)=>{const R=h[y];return p.id===R.id&&p.content===R.content&&p.container===R.container})?i:h)},[]),C=d.useCallback(s=>{const h=O.current,i=s??g.current;if(!h||!i)return;const p=i.dom.querySelector(".cm-gutters"),y=p instanceof HTMLElement?p.getBoundingClientRect().width:0;h.style.setProperty("--oc-editor-gutter-width",`${y}px`)},[]);return d.useEffect(()=>{z.current=t},[t]),d.useEffect(()=>{$.current=o},[o]),d.useEffect(()=>{I.current=u,j.current=f},[u,f]),d.useEffect(()=>{A.current=N},[N]),d.useEffect(()=>{E.current=m,k(m)},[m,k]),d.useEffect(()=>{if(!O.current)return;const s=(()=>{if(typeof document>"u")return null;const i=document.querySelector('meta[name="csp-nonce"]')?.getAttribute("content");if(i)return i;const p=window.__AIWORKER_CSP_NONCE__;return typeof p=="string"&&p.length>0?p:null})(),h=he.create({doc:z.current,extensions:[...s?[w.cspNonce.of(s)]:[],ke({fixed:!0}),ee.of(V(r)),Ce(),Re.of(" "),ce.of(J(x)),B.of([Se,...Ne,...Ee]),w.updateListener.of(i=>{C(i.view),(i.viewportChanged||i.geometryChanged)&&k(E.current);const p=U(i.startState),y=U(i.state);p!==y&&A.current?.(y);const R=!P(i.startState).eq(P(i.state));if(y&&(p!==y||R||i.docChanged||i.selectionSet)&&X(i.view.dom,i.view,p!==y||R||i.docChanged),!i.docChanged)return;const D=i.state.doc.toString();z.current=D,$.current(D),k(E.current)}),te.of(w.editable.of(!c)),oe.of(a??[]),re.of(le(l)),ne.of(ie(m,W.current)),ae.of(b?[Y({top:!0}),B.of(se(Q))]:[])]});return g.current=new w({state:h,parent:O.current}),_(g.current,g.current.state.doc.length,200),g.current.requestMeasure(),requestAnimationFrame(()=>{C(g.current),k(E.current)}),g.current&&I.current?.(g.current),()=>{j.current?.(),g.current?.destroy(),g.current=null,K([])}},[E,C,k]),d.useEffect(()=>{const s=g.current;s&&(s.dispatch({effects:[ee.reconfigure(V(r)),te.reconfigure(w.editable.of(!c)),oe.reconfigure(a??[]),re.reconfigure(le(l)),ne.reconfigure(ie(m,W.current)),ae.reconfigure(b?[Y({top:!0}),B.of(se(Q))]:[])]}),_(s,s.state.doc.length,200),s.requestMeasure(),requestAnimationFrame(()=>{C(s),k(E.current)}))},[a,l,r,c,m,b,C,k]),d.useEffect(()=>{const s=g.current;if(!s){q.current=x;return}q.current!==x&&(q.current=x,s.dispatch({effects:ce.reconfigure(J(x))}))},[x]),d.useEffect(()=>{const s=g.current;!s||b===!1||(T?(Ue(s),requestAnimationFrame(()=>{De(s.dom),X(s.dom,s,!0)})):Ye(s))},[T,b]),d.useEffect(()=>{const s=g.current;if(!s)return;const h=s.state.doc.toString();h!==t&&(s.dispatch({changes:{from:0,to:h.length,insert:t}}),_(s,s.state.doc.length,300),s.requestMeasure(),requestAnimationFrame(()=>C(s)))},[t,C]),v.jsxs(v.Fragment,{children:[v.jsx("div",{ref:O,className:qe("h-full w-full","[&_.cm-editor]:h-full [&_.cm-editor]:w-full","[&_.cm-scroller]:font-mono [&_.cm-scroller]:text-[var(--text-code)] [&_.cm-scroller]:leading-6","[&_.cm-lineNumbers]:text-[var(--tools-edit-line-number)]",n)}),pe.map(s=>ge.createPortal(s.content,s.container,s.id))]})}const gt=t=>{const o=be.c(11),{currentMode:a,onToggle:n}=t,c=a==="preview",r=c?"Switch to edit mode":"Switch to preview mode",l=c?"Edit":"Preview";let u;o[0]!==c?(u=c?v.jsx(Z,{name:"eye",className:"size-4","aria-hidden":"true"}):v.jsx(Z,{name:"eye-off",className:"size-4","aria-hidden":"true"}),o[0]=c,o[1]=u):u=o[1];let f;o[2]!==r||o[3]!==n||o[4]!==u?(f=v.jsx(We,{asChild:!0,children:v.jsx(Be,{variant:"ghost",size:"sm",onClick:n,"aria-label":r,className:"h-5 w-5 p-0",children:u})}),o[2]=r,o[3]=n,o[4]=u,o[5]=f):f=o[5];let m;o[6]!==l?(m=v.jsx(Le,{sideOffset:8,children:l}),o[6]=l,o[7]=m):m=o[7];let b;return o[8]!==f||o[9]!==m?(b=v.jsxs(_e,{children:[f,m]}),o[8]=f,o[9]=m,o[10]=b):b=o[10],b};function bt(t,o){const a=t.metadata.variant==="dark",n=t.config?.fonts?.mono||"monospace",c=t.colors.syntax.highlights||{},r=t.colors.syntax.tokens||{},l=o?.fontSize?`${o.fontSize}px`:"var(--text-code)",u=w.theme({"&":{backgroundColor:"var(--background)",color:t.colors.syntax.base.foreground,fontSize:l,lineHeight:"1.5",position:"relative"},".cm-scroller":{fontFamily:n,backgroundColor:"var(--background)"},".cm-comment":{color:t.colors.syntax.base.comment},".cm-keyword":{color:t.colors.syntax.base.keyword},".cm-string":{color:t.colors.syntax.base.string},".cm-string-2":{color:r.stringEscape||t.colors.syntax.base.string},".cm-number":{color:t.colors.syntax.base.number},".cm-operator":{color:t.colors.syntax.base.operator},".cm-punctuation":{color:r.punctuation||t.colors.syntax.base.comment},".cm-atom":{color:r.boolean||t.colors.syntax.base.number},".cm-builtin":{color:r.functionCall||t.colors.syntax.base.function},".cm-def":{color:r.variableGlobal||t.colors.syntax.base.variable},".cm-attribute":{color:r.variableOther||r.variableProperty||t.colors.syntax.base.operator},".cm-meta":{color:t.colors.syntax.base.comment},".cm-property":{color:r.variableProperty||t.colors.syntax.base.keyword},".cm-variable":{color:t.colors.syntax.base.variable},".cm-variable-2":{color:r.variableOther||t.colors.syntax.base.function},".cm-variable-3":{color:r.variableGlobal||t.colors.syntax.base.type},".cm-tag":{color:r.tag||t.colors.syntax.base.keyword},".cm-link":{color:r.url||t.colors.syntax.base.keyword,textDecoration:"underline"},".cm-content":{caretColor:t.colors.interactive.cursor},".cm-cursor, .cm-dropCursor":{borderLeftColor:t.colors.interactive.cursor},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, ::selection":{backgroundColor:t.colors.interactive.selection},".cm-gutters":{backgroundColor:"var(--background)",color:c.lineNumber||t.colors.syntax.base.comment,borderRight:`1px solid ${t.colors.interactive.border}`,position:"sticky",paddingRight:"8px",left:0,zIndex:2,boxShadow:"0 0 0 var(--background)"},".cm-gutter":{backgroundColor:"var(--background)"},".cm-gutterElement":{backgroundColor:"var(--background)"},".cm-lineNumbers":{backgroundColor:"var(--background)"},".cm-lineNumbers .cm-gutterElement":{paddingLeft:"8px",paddingRight:"8px",minWidth:"42px"},".cm-activeLineGutter":{color:c.lineNumberActive||t.colors.syntax.base.foreground},".cm-activeLine":{backgroundColor:t.colors.surface.overlay},".cm-panels":{backgroundColor:"transparent",color:t.colors.surface.foreground,position:"absolute",top:"0",right:"0",left:"auto",width:"auto",zIndex:10,pointerEvents:"none"},".cm-panels-top":{borderBottom:"none",position:"absolute",top:"6px",right:"14px",left:"auto",width:"auto"},".cm-panels-bottom":{position:"static",width:"100%",pointerEvents:"auto"},".cm-panels-bottom .cm-vim-panel":{borderTop:`1px solid ${t.colors.interactive.border}`,backgroundColor:t.colors.surface.elevated,color:t.colors.surface.mutedForeground,fontFamily:"var(--font-mono)",fontSize:"12px",minHeight:"22px",padding:"2px 8px"},".cm-panel.cm-search":{pointerEvents:"auto",padding:"4px",backgroundColor:`color-mix(in srgb, ${t.colors.surface.elevated} 85%, transparent)`,border:`1px solid ${t.colors.interactive.border}`,borderRadius:"10px",boxShadow:`0 2px 8px color-mix(in srgb, ${t.colors.surface.background} 60%, transparent)`,width:"auto",minWidth:"360px",maxWidth:"480px"},".cm-search":{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"0",width:"100%",color:t.colors.surface.foreground,fontFamily:"inherit",fontSize:"13px",lineHeight:"1"},".cm-search br":{display:"none"},".cm-search .cm-textfield":{appearance:"none",height:"26px",margin:0,padding:"0 8px",borderRadius:"6px !important",border:`1px solid ${t.colors.interactive.border}`,backgroundColor:t.colors.surface.background,color:t.colors.surface.foreground,fontFamily:"inherit",fontSize:"12px",lineHeight:"1",outline:"none",transition:"border-color 150ms ease"},".cm-search .cm-textfield::placeholder":{color:t.colors.surface.mutedForeground,opacity:1},".cm-search .cm-textfield:focus":{borderColor:t.colors.primary.base},'.cm-search .cm-textfield[name="search"]':{order:1,flex:"1 1 120px",maxWidth:"calc(100% - 142px)",minWidth:"100px"},".cm-search label":{order:2,display:"inline-flex",alignItems:"center",justifyContent:"center",width:"26px",height:"26px",minWidth:"26px",flexShrink:"0",margin:0,marginLeft:"1px",padding:0,borderRadius:"4px",border:"1px solid transparent",backgroundColor:"transparent",color:"transparent",cursor:"pointer",userSelect:"none",fontSize:"1px",lineHeight:"0",overflow:"hidden",position:"relative",transition:"background-color 120ms ease, border-color 120ms ease"},".cm-search label:hover":{backgroundColor:t.colors.interactive.hover},'.cm-search label:has(input[type="checkbox"]:checked)':{backgroundColor:t.colors.interactive.hover,borderColor:t.colors.interactive.border},'.cm-search [type="checkbox"]':{appearance:"none",WebkitAppearance:"none",width:"0",height:"0",margin:"0",padding:"0",border:"none",position:"absolute",opacity:"0",pointerEvents:"none"},".cm-search label::after":{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontSize:"13px",fontWeight:"600",lineHeight:"1",fontFamily:"inherit",color:t.colors.surface.mutedForeground,pointerEvents:"none"},".cm-search label:hover::after":{color:t.colors.surface.foreground},'.cm-search label:has(input[type="checkbox"]:checked)::after':{color:t.colors.surface.foreground},'.cm-search label:has(input[name="case"])::after':{content:'"Aa"',fontSize:"12px",letterSpacing:"-0.5px"},'.cm-search label:has(input[name="re"])::after':{content:'".*"',fontSize:"13px",fontFamily:"monospace"},'.cm-search label:has(input[name="word"])::after':{content:'"ab"',fontSize:"12px",textDecoration:"underline",textUnderlineOffset:"2px"},".cm-search .cm-search-message":{order:3,color:t.colors.surface.mutedForeground,backgroundColor:"transparent",border:"none",borderRadius:"0",padding:"0 6px",fontSize:"11px",whiteSpace:"nowrap",lineHeight:"26px"},".cm-search .cm-button":{appearance:"none",WebkitAppearance:"none",display:"inline-flex",alignItems:"center",justifyContent:"center",width:"26px",height:"26px",minWidth:"26px",flexShrink:"0",margin:0,marginLeft:"1px",padding:0,borderRadius:"4px",border:"none",backgroundColor:"transparent",backgroundImage:"none",color:"transparent",cursor:"pointer",fontSize:"1px",fontWeight:"400",lineHeight:"0",overflow:"hidden",position:"relative",boxShadow:"none",transition:"background-color 120ms ease"},".cm-search .cm-button::after":{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontSize:"15px",lineHeight:"1",color:t.colors.surface.mutedForeground,pointerEvents:"none"},".cm-search .cm-button:hover":{backgroundColor:t.colors.interactive.hover},".cm-search .cm-button:hover::after":{color:t.colors.surface.foreground},".cm-search .cm-button:active":{backgroundColor:t.colors.interactive.active},".cm-search .cm-button:focus-visible":{outline:"none",boxShadow:`0 0 0 1px ${t.colors.interactive.focusRing}`},".cm-search .cm-button:disabled":{opacity:.4,cursor:"default",pointerEvents:"none"},'.cm-search .cm-button[name="prev"]':{order:21,marginTop:"2px"},'.cm-search .cm-button[name="prev"]::after':{content:'"↑"'},'.cm-search .cm-button[name="next"]':{order:22,marginTop:"2px"},'.cm-search .cm-button[name="next"]::after':{content:'"↓"'},'.cm-search .cm-button[name="select"]':{order:23,marginTop:"2px"},'.cm-search .cm-button[name="select"]::after':{content:'"≡"',fontSize:"17px"},'.cm-panel.cm-search button[name="close"]':{order:5,appearance:"none",WebkitAppearance:"none",display:"inline-flex",alignItems:"center",justifyContent:"center",width:"26px",height:"26px",minWidth:"26px",flexShrink:"0",margin:"0 0 0 auto",padding:"0",borderRadius:"4px",border:"none",backgroundColor:"transparent",backgroundImage:"none",color:t.colors.surface.mutedForeground,cursor:"pointer",fontSize:"16px",lineHeight:"1",boxShadow:"none",position:"relative",overflow:"visible",transition:"background-color 120ms ease, color 120ms ease"},'.cm-panel.cm-search button[name="close"]:hover':{backgroundColor:t.colors.interactive.hover,color:t.colors.surface.foreground},'.cm-search .cm-button[name="replace"]':{order:24,marginTop:"2px"},'.cm-search .cm-button[name="replace"]::after':{content:'"⇄"'},'.cm-search .cm-button[name="replaceAll"], .cm-search .cm-button[name="replace-all"]':{order:25,marginTop:"2px"},'.cm-search .cm-button[name="replaceAll"]::after, .cm-search .cm-button[name="replace-all"]::after':{content:'"⇉"'},'.cm-search .cm-textfield[name="replace"]':{order:20,flex:"1 1 100%",maxWidth:"calc(100% - 142px)",minWidth:"80px",marginTop:"2px"},".cm-searchMatch":{backgroundColor:t.colors.status.infoBackground,boxShadow:`inset 0 0 0 1px ${t.colors.status.infoBorder}`,borderRadius:"2px"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:t.colors.interactive.selection,color:t.colors.interactive.selectionForeground,boxShadow:`inset 0 0 0 1px ${t.colors.interactive.borderFocus}`},"&.cm-focused":{outline:"none"}},{dark:a}),f=G.define([{tag:[e.comment,e.docComment,e.meta,e.documentMeta],class:"cm-comment"},{tag:[e.keyword,e.controlKeyword,e.moduleKeyword,e.definitionKeyword,e.modifier],class:"cm-keyword"},{tag:[e.operatorKeyword,e.operator,e.derefOperator,e.updateOperator,e.definitionOperator,e.typeOperator,e.controlOperator,e.logicOperator,e.bitwiseOperator,e.arithmeticOperator,e.compareOperator],class:"cm-operator"},{tag:[e.punctuation,e.separator,e.bracket,e.paren,e.brace,e.squareBracket,e.angleBracket],class:"cm-punctuation"},{tag:[e.string,e.regexp,e.attributeValue,e.special(e.string),e.monospace],class:"cm-string"},{tag:e.escape,class:"cm-string-2"},{tag:[e.number,e.bool,e.atom,e.null,e.self],class:"cm-number"},{tag:[e.function(e.variableName),e.function(e.definition(e.variableName)),e.function(e.propertyName),e.standard(e.variableName),e.special(e.variableName)],class:"cm-builtin"},{tag:e.definition(e.variableName),class:"cm-def"},{tag:[e.variableName,e.local(e.variableName),e.constant(e.variableName),e.literal],class:"cm-variable"},{tag:e.propertyName,class:"cm-property"},{tag:e.attributeName,class:"cm-attribute"},{tag:[e.className,e.typeName,e.namespace],class:"cm-variable-3"},{tag:[e.tagName,e.labelName,e.annotation,e.macroName],class:"cm-tag"},{tag:e.link,class:"cm-link"},{tag:[e.heading,e.heading1,e.heading2,e.heading3,e.heading4,e.heading5,e.heading6],class:"cm-keyword"}]),m=G.define([{tag:[e.comment,e.docComment,e.meta,e.documentMeta],color:t.colors.syntax.base.comment},{tag:[e.keyword,e.controlKeyword,e.moduleKeyword,e.definitionKeyword,e.modifier],color:t.colors.syntax.base.keyword},{tag:[e.operatorKeyword,e.operator,e.derefOperator,e.updateOperator,e.definitionOperator,e.typeOperator,e.controlOperator,e.logicOperator,e.bitwiseOperator,e.arithmeticOperator,e.compareOperator],color:t.colors.syntax.base.operator},{tag:[e.string,e.regexp,e.attributeValue,e.special(e.string),e.monospace],color:t.colors.syntax.base.string},{tag:e.escape,color:r.stringEscape||t.colors.syntax.base.string},{tag:[e.number,e.bool,e.atom,e.null,e.self],color:t.colors.syntax.base.number},{tag:[e.function(e.variableName),e.function(e.definition(e.variableName)),e.function(e.propertyName),e.standard(e.variableName),e.special(e.variableName)],color:t.colors.syntax.base.function},{tag:e.definition(e.variableName),color:r.variableGlobal||t.colors.syntax.base.variable},{tag:[e.variableName,e.local(e.variableName),e.constant(e.variableName),e.literal],color:t.colors.syntax.base.variable},{tag:e.propertyName,color:r.variableProperty||t.colors.syntax.base.variable},{tag:e.attributeName,color:r.variableOther||t.colors.syntax.base.variable},{tag:[e.className,e.typeName,e.namespace],color:t.colors.syntax.base.type},{tag:[e.tagName,e.labelName,e.annotation,e.macroName],color:r.tag||t.colors.syntax.base.keyword},{tag:e.link,color:r.url||t.colors.syntax.base.function,textDecoration:"underline"},{tag:[e.punctuation,e.separator,e.bracket,e.paren,e.brace,e.squareBracket,e.angleBracket],color:r.punctuation||t.colors.syntax.base.comment}]);return o?.syntaxColors===!1?[u]:[u,F(Oe,{fallback:!0}),F($e),F(f),F(m)]}const Ze=180,fe=xe.define(),Je=1,Xe=2,et=4,ue=new Map,tt=(t,o)=>{const a=`${t}|${o}`,n=ue.get(a);if(n)return n;let c="";t&&(c+=`color:${t};`),o&Je&&(c+="font-style:italic;"),o&Xe&&(c+="font-weight:bold;"),o&et&&(c+="text-decoration:underline;");const r=M.mark({attributes:{style:c}});return ue.set(a,r),r},ot=(t,o)=>{const a=new H,n=t.state.doc,c=Math.min(o.length,n.lines);for(let r=0;r<c;r+=1){const l=o[r];if(!l||l.length===0)continue;const u=n.line(r+1);let f=u.from;for(const[m,b,T]of l){if(m<=0)continue;const N=f,x=Math.min(f+m,u.to);f+=m,!(x<=N)&&(!b&&!T||a.add(N,x,tt(b,T)))}}return a.finish()},rt=de.define({create(){return M.none},update(t,o){let a=t.map(o.changes);for(const n of o.effects)n.is(fe)&&(a=n.value);return a},provide:t=>w.decorations.from(t)}),nt=t=>me.fromClass(class{timer;generation=0;constructor(o){this.tokenize(o)}update(o){o.docChanged&&this.schedule(o.view)}schedule(o){this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=void 0,this.tokenize(o)},Ze)}async tokenize(o){const a=++this.generation,n=o.state.doc.toString(),c=await He(n,t.language,t.themeName,t.theme);c&&a===this.generation&&o.state.doc.length===n.length&&o.dispatch({effects:fe.of(ot(o,c))})}destroy(){this.timer&&clearTimeout(this.timer)}}),ht=t=>[rt,nt(t)];export{pt as C,gt as P,bt as c,ht as s};
1
+ import{R as d,j as v,c as ge,f as be}from"./vendor-react-BUCujlKS.js";import{E as he,o as S,k as H,i as de,S as xe}from"./vendor-codemirror-state-C9awkmn-.js";import{s as ye,d as ve,E as w,e as ke,f as V,k as B,V as me,D as M,W as we}from"./vendor-codemirror-view-CiLROUVV.js";import{h as Ce,k as Se,l as Ne,j as Ee}from"./vendor-codemirror-commands-B7H_j0iU.js";import{i as Re,y as Te,H as G,x as F,z as Oe}from"./vendor-codemirror-language-BgPj_McA.js";import{a as U,g as P,b as Y,c as Q,o as Fe,d as Pe}from"./vendor-codemirror-search-BmS-GmcX.js";import{v as Me,g as ze}from"./vendor-replit-codemirror-vim-B2DJlAhT.js";import{h as qe,I as Z,aa as We,B as Be,ab as Le,a9 as _e,hl as He}from"./useAppFontEffects-cYK1WODe.js";import{a as e,c as $e}from"./vendor-lezer-highlight-CDMHUZ74.js";const Ie=t=>t!==null&&typeof t=="object"&&"updateStatus"in t&&typeof t.updateStatus=="function",je=t=>{const o=document.createElement("div");o.className="cm-vim-panel";const a=ze(t);if(!a)return{top:!1,dom:o};a.state.statusbar=o;const n=a.state.vimPlugin;return Ie(n)&&n.updateStatus(),{top:!1,dom:o,destroy(){a.state.statusbar===o&&(a.state.statusbar=null)}}};function J(t){return t?[Me(),ye.of(je),ve()]:[]}const Ae={next:"Next match",prev:"Previous match",select:"Select all matches",replace:"Replace",replaceAll:"Replace all",close:"Close"},Ke={case:"Match case",re:"Regular expression",word:"Match whole word"};function De(t){const o=t.querySelector(".cm-search");if(o){for(const[a,n]of Object.entries(Ae)){const c=o.querySelector(`button[name="${a}"]`);c&&!c.title&&(c.title=n)}for(const[a,n]of Object.entries(Ke)){const r=o.querySelector(`input[name="${a}"]`)?.parentElement;r&&!r.title&&(r.title=n)}}}const L=new WeakMap;function Ve(t,o){const a=P(t.state);if(!a.valid)return L.delete(t),0;const n=L.get(t);if(!o&&n?.doc===t.state.doc&&n.query.eq(a))return n.total;const c=a.getCursor(t.state);let r=0;for(let l=c.next();!l.done;l=c.next())r+=1;return L.set(t,{query:a,doc:t.state.doc,total:r}),r}function Ge(t){const o=P(t.state);if(!o.valid)return 0;const a=t.state.selection.main,n=o.getCursor(t.state);let c=0,r=0;for(let l=n.next();!l.done;l=n.next()){const u=l.value;if(c+=1,r===0&&(r=c),a.from===u.from&&a.to===u.to||a.from<u.to&&a.to>u.from||u.from>=a.head)return c}return r}function X(t,o,a=!1){const n=t.querySelector(".cm-search");if(!n)return;let c=n.querySelector(".cm-search-message");if(!c){c=document.createElement("span"),c.className="cm-search-message",c.setAttribute("aria-live","polite");const u=n.querySelector('button[name="next"]'),f=u?.parentNode===n?u:n.firstChild;n.insertBefore(c,f)}const r=Ve(o,a),l=r===0?0:Ge(o);c.textContent=r===0?"":`${l}/${r}`}const ee=new S,te=new S,oe=new S,re=new S,ne=new S,ae=new S,ce=new S,se=t=>t,_=Te,Ue=Fe,Ye=Pe;class Qe extends we{constructor(o,a){super(),this.id=o,this.containerMap=a}toDOM(){let o=this.containerMap.get(this.id);return o||(o=document.createElement("div"),o.className="oc-block-widget",o.dataset.widgetId=this.id,this.containerMap.set(this.id,o)),o}eq(o){return o.id===this.id}destroy(){}}const ie=(t,o)=>!t||t.length===0?[]:de.define({create(a){const n=new H,c=[...t].sort((r,l)=>r.afterLine-l.afterLine);for(const r of c){const l=a.doc.lines;if(r.afterLine>l)continue;const u=a.doc.line(r.afterLine);n.add(u.to,u.to,M.widget({widget:new Qe(r.id,o),block:!0,side:1}))}return n.finish()},update(a,n){return a.map(n.changes)},provide:a=>w.decorations.from(a)}),le=t=>{if(!t)return[];const o=Math.max(1,t.start),a=Math.max(o,t.end);return me.fromClass(class{decorations;constructor(n){this.decorations=this.build(n)}update(n){(n.docChanged||n.viewportChanged)&&(this.decorations=this.build(n.view))}build(n){const c=new H;for(let r=o;r<=a&&r<=n.state.doc.lines;r+=1){const l=n.state.doc.line(r);c.add(l.from,l.from,M.line({class:"oc-cm-selected-line"}))}return c.finish()}},{decorations:n=>n.decorations})};function pt({value:t,onChange:o,extensions:a,className:n,readOnly:c,lineNumbersConfig:r,highlightLines:l,onViewReady:u,onViewDestroy:f,blockWidgets:m,enableSearch:b,searchOpen:T,onSearchOpenChange:N,vimMode:x}){const O=d.useRef(null),g=d.useRef(null),z=d.useRef(t),$=d.useRef(o),I=d.useRef(u),j=d.useRef(f),A=d.useRef(N),E=d.useRef(m),q=d.useRef(x),W=d.useRef(new Map),[pe,K]=d.useState([]),k=d.useCallback(s=>{const h=(s??[]).map(i=>{const p=W.current.get(i.id);return p?{id:i.id,content:i.content,container:p}:null}).filter(i=>i!==null);K(i=>i.length===h.length&&i.every((p,y)=>{const R=h[y];return p.id===R.id&&p.content===R.content&&p.container===R.container})?i:h)},[]),C=d.useCallback(s=>{const h=O.current,i=s??g.current;if(!h||!i)return;const p=i.dom.querySelector(".cm-gutters"),y=p instanceof HTMLElement?p.getBoundingClientRect().width:0;h.style.setProperty("--oc-editor-gutter-width",`${y}px`)},[]);return d.useEffect(()=>{z.current=t},[t]),d.useEffect(()=>{$.current=o},[o]),d.useEffect(()=>{I.current=u,j.current=f},[u,f]),d.useEffect(()=>{A.current=N},[N]),d.useEffect(()=>{E.current=m,k(m)},[m,k]),d.useEffect(()=>{if(!O.current)return;const s=(()=>{if(typeof document>"u")return null;const i=document.querySelector('meta[name="csp-nonce"]')?.getAttribute("content");if(i)return i;const p=window.__AIWORKER_CSP_NONCE__;return typeof p=="string"&&p.length>0?p:null})(),h=he.create({doc:z.current,extensions:[...s?[w.cspNonce.of(s)]:[],ke({fixed:!0}),ee.of(V(r)),Ce(),Re.of(" "),ce.of(J(x)),B.of([Se,...Ne,...Ee]),w.updateListener.of(i=>{C(i.view),(i.viewportChanged||i.geometryChanged)&&k(E.current);const p=U(i.startState),y=U(i.state);p!==y&&A.current?.(y);const R=!P(i.startState).eq(P(i.state));if(y&&(p!==y||R||i.docChanged||i.selectionSet)&&X(i.view.dom,i.view,p!==y||R||i.docChanged),!i.docChanged)return;const D=i.state.doc.toString();z.current=D,$.current(D),k(E.current)}),te.of(w.editable.of(!c)),oe.of(a??[]),re.of(le(l)),ne.of(ie(m,W.current)),ae.of(b?[Y({top:!0}),B.of(se(Q))]:[])]});return g.current=new w({state:h,parent:O.current}),_(g.current,g.current.state.doc.length,200),g.current.requestMeasure(),requestAnimationFrame(()=>{C(g.current),k(E.current)}),g.current&&I.current?.(g.current),()=>{j.current?.(),g.current?.destroy(),g.current=null,K([])}},[E,C,k]),d.useEffect(()=>{const s=g.current;s&&(s.dispatch({effects:[ee.reconfigure(V(r)),te.reconfigure(w.editable.of(!c)),oe.reconfigure(a??[]),re.reconfigure(le(l)),ne.reconfigure(ie(m,W.current)),ae.reconfigure(b?[Y({top:!0}),B.of(se(Q))]:[])]}),_(s,s.state.doc.length,200),s.requestMeasure(),requestAnimationFrame(()=>{C(s),k(E.current)}))},[a,l,r,c,m,b,C,k]),d.useEffect(()=>{const s=g.current;if(!s){q.current=x;return}q.current!==x&&(q.current=x,s.dispatch({effects:ce.reconfigure(J(x))}))},[x]),d.useEffect(()=>{const s=g.current;!s||b===!1||(T?(Ue(s),requestAnimationFrame(()=>{De(s.dom),X(s.dom,s,!0)})):Ye(s))},[T,b]),d.useEffect(()=>{const s=g.current;if(!s)return;const h=s.state.doc.toString();h!==t&&(s.dispatch({changes:{from:0,to:h.length,insert:t}}),_(s,s.state.doc.length,300),s.requestMeasure(),requestAnimationFrame(()=>C(s)))},[t,C]),v.jsxs(v.Fragment,{children:[v.jsx("div",{ref:O,className:qe("h-full w-full","[&_.cm-editor]:h-full [&_.cm-editor]:w-full","[&_.cm-scroller]:font-mono [&_.cm-scroller]:text-[var(--text-code)] [&_.cm-scroller]:leading-6","[&_.cm-lineNumbers]:text-[var(--tools-edit-line-number)]",n)}),pe.map(s=>ge.createPortal(s.content,s.container,s.id))]})}const gt=t=>{const o=be.c(11),{currentMode:a,onToggle:n}=t,c=a==="preview",r=c?"Switch to edit mode":"Switch to preview mode",l=c?"Edit":"Preview";let u;o[0]!==c?(u=c?v.jsx(Z,{name:"eye",className:"size-4","aria-hidden":"true"}):v.jsx(Z,{name:"eye-off",className:"size-4","aria-hidden":"true"}),o[0]=c,o[1]=u):u=o[1];let f;o[2]!==r||o[3]!==n||o[4]!==u?(f=v.jsx(We,{asChild:!0,children:v.jsx(Be,{variant:"ghost",size:"sm",onClick:n,"aria-label":r,className:"h-5 w-5 p-0",children:u})}),o[2]=r,o[3]=n,o[4]=u,o[5]=f):f=o[5];let m;o[6]!==l?(m=v.jsx(Le,{sideOffset:8,children:l}),o[6]=l,o[7]=m):m=o[7];let b;return o[8]!==f||o[9]!==m?(b=v.jsxs(_e,{children:[f,m]}),o[8]=f,o[9]=m,o[10]=b):b=o[10],b};function bt(t,o){const a=t.metadata.variant==="dark",n=t.config?.fonts?.mono||"monospace",c=t.colors.syntax.highlights||{},r=t.colors.syntax.tokens||{},l=o?.fontSize?`${o.fontSize}px`:"var(--text-code)",u=w.theme({"&":{backgroundColor:"var(--background)",color:t.colors.syntax.base.foreground,fontSize:l,lineHeight:"1.5",position:"relative"},".cm-scroller":{fontFamily:n,backgroundColor:"var(--background)"},".cm-comment":{color:t.colors.syntax.base.comment},".cm-keyword":{color:t.colors.syntax.base.keyword},".cm-string":{color:t.colors.syntax.base.string},".cm-string-2":{color:r.stringEscape||t.colors.syntax.base.string},".cm-number":{color:t.colors.syntax.base.number},".cm-operator":{color:t.colors.syntax.base.operator},".cm-punctuation":{color:r.punctuation||t.colors.syntax.base.comment},".cm-atom":{color:r.boolean||t.colors.syntax.base.number},".cm-builtin":{color:r.functionCall||t.colors.syntax.base.function},".cm-def":{color:r.variableGlobal||t.colors.syntax.base.variable},".cm-attribute":{color:r.variableOther||r.variableProperty||t.colors.syntax.base.operator},".cm-meta":{color:t.colors.syntax.base.comment},".cm-property":{color:r.variableProperty||t.colors.syntax.base.keyword},".cm-variable":{color:t.colors.syntax.base.variable},".cm-variable-2":{color:r.variableOther||t.colors.syntax.base.function},".cm-variable-3":{color:r.variableGlobal||t.colors.syntax.base.type},".cm-tag":{color:r.tag||t.colors.syntax.base.keyword},".cm-link":{color:r.url||t.colors.syntax.base.keyword,textDecoration:"underline"},".cm-content":{caretColor:t.colors.interactive.cursor},".cm-cursor, .cm-dropCursor":{borderLeftColor:t.colors.interactive.cursor},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, ::selection":{backgroundColor:t.colors.interactive.selection},".cm-gutters":{backgroundColor:"var(--background)",color:c.lineNumber||t.colors.syntax.base.comment,borderRight:`1px solid ${t.colors.interactive.border}`,position:"sticky",paddingRight:"8px",left:0,zIndex:2,boxShadow:"0 0 0 var(--background)"},".cm-gutter":{backgroundColor:"var(--background)"},".cm-gutterElement":{backgroundColor:"var(--background)"},".cm-lineNumbers":{backgroundColor:"var(--background)"},".cm-lineNumbers .cm-gutterElement":{paddingLeft:"8px",paddingRight:"8px",minWidth:"42px"},".cm-activeLineGutter":{color:c.lineNumberActive||t.colors.syntax.base.foreground},".cm-activeLine":{backgroundColor:t.colors.surface.overlay},".cm-panels":{backgroundColor:"transparent",color:t.colors.surface.foreground,position:"absolute",top:"0",right:"0",left:"auto",width:"auto",zIndex:10,pointerEvents:"none"},".cm-panels-top":{borderBottom:"none",position:"absolute",top:"6px",right:"14px",left:"auto",width:"auto"},".cm-panels-bottom":{position:"static",width:"100%",pointerEvents:"auto"},".cm-panels-bottom .cm-vim-panel":{borderTop:`1px solid ${t.colors.interactive.border}`,backgroundColor:t.colors.surface.elevated,color:t.colors.surface.mutedForeground,fontFamily:"var(--font-mono)",fontSize:"12px",minHeight:"22px",padding:"2px 8px"},".cm-panel.cm-search":{pointerEvents:"auto",padding:"4px",backgroundColor:`color-mix(in srgb, ${t.colors.surface.elevated} 85%, transparent)`,border:`1px solid ${t.colors.interactive.border}`,borderRadius:"10px",boxShadow:`0 2px 8px color-mix(in srgb, ${t.colors.surface.background} 60%, transparent)`,width:"auto",minWidth:"360px",maxWidth:"480px"},".cm-search":{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"0",width:"100%",color:t.colors.surface.foreground,fontFamily:"inherit",fontSize:"13px",lineHeight:"1"},".cm-search br":{display:"none"},".cm-search .cm-textfield":{appearance:"none",height:"26px",margin:0,padding:"0 8px",borderRadius:"6px !important",border:`1px solid ${t.colors.interactive.border}`,backgroundColor:t.colors.surface.background,color:t.colors.surface.foreground,fontFamily:"inherit",fontSize:"12px",lineHeight:"1",outline:"none",transition:"border-color 150ms ease"},".cm-search .cm-textfield::placeholder":{color:t.colors.surface.mutedForeground,opacity:1},".cm-search .cm-textfield:focus":{borderColor:t.colors.primary.base},'.cm-search .cm-textfield[name="search"]':{order:1,flex:"1 1 120px",maxWidth:"calc(100% - 142px)",minWidth:"100px"},".cm-search label":{order:2,display:"inline-flex",alignItems:"center",justifyContent:"center",width:"26px",height:"26px",minWidth:"26px",flexShrink:"0",margin:0,marginLeft:"1px",padding:0,borderRadius:"4px",border:"1px solid transparent",backgroundColor:"transparent",color:"transparent",cursor:"pointer",userSelect:"none",fontSize:"1px",lineHeight:"0",overflow:"hidden",position:"relative",transition:"background-color 120ms ease, border-color 120ms ease"},".cm-search label:hover":{backgroundColor:t.colors.interactive.hover},'.cm-search label:has(input[type="checkbox"]:checked)':{backgroundColor:t.colors.interactive.hover,borderColor:t.colors.interactive.border},'.cm-search [type="checkbox"]':{appearance:"none",WebkitAppearance:"none",width:"0",height:"0",margin:"0",padding:"0",border:"none",position:"absolute",opacity:"0",pointerEvents:"none"},".cm-search label::after":{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontSize:"13px",fontWeight:"600",lineHeight:"1",fontFamily:"inherit",color:t.colors.surface.mutedForeground,pointerEvents:"none"},".cm-search label:hover::after":{color:t.colors.surface.foreground},'.cm-search label:has(input[type="checkbox"]:checked)::after':{color:t.colors.surface.foreground},'.cm-search label:has(input[name="case"])::after':{content:'"Aa"',fontSize:"12px",letterSpacing:"-0.5px"},'.cm-search label:has(input[name="re"])::after':{content:'".*"',fontSize:"13px",fontFamily:"monospace"},'.cm-search label:has(input[name="word"])::after':{content:'"ab"',fontSize:"12px",textDecoration:"underline",textUnderlineOffset:"2px"},".cm-search .cm-search-message":{order:3,color:t.colors.surface.mutedForeground,backgroundColor:"transparent",border:"none",borderRadius:"0",padding:"0 6px",fontSize:"11px",whiteSpace:"nowrap",lineHeight:"26px"},".cm-search .cm-button":{appearance:"none",WebkitAppearance:"none",display:"inline-flex",alignItems:"center",justifyContent:"center",width:"26px",height:"26px",minWidth:"26px",flexShrink:"0",margin:0,marginLeft:"1px",padding:0,borderRadius:"4px",border:"none",backgroundColor:"transparent",backgroundImage:"none",color:"transparent",cursor:"pointer",fontSize:"1px",fontWeight:"400",lineHeight:"0",overflow:"hidden",position:"relative",boxShadow:"none",transition:"background-color 120ms ease"},".cm-search .cm-button::after":{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontSize:"15px",lineHeight:"1",color:t.colors.surface.mutedForeground,pointerEvents:"none"},".cm-search .cm-button:hover":{backgroundColor:t.colors.interactive.hover},".cm-search .cm-button:hover::after":{color:t.colors.surface.foreground},".cm-search .cm-button:active":{backgroundColor:t.colors.interactive.active},".cm-search .cm-button:focus-visible":{outline:"none",boxShadow:`0 0 0 1px ${t.colors.interactive.focusRing}`},".cm-search .cm-button:disabled":{opacity:.4,cursor:"default",pointerEvents:"none"},'.cm-search .cm-button[name="prev"]':{order:21,marginTop:"2px"},'.cm-search .cm-button[name="prev"]::after':{content:'"↑"'},'.cm-search .cm-button[name="next"]':{order:22,marginTop:"2px"},'.cm-search .cm-button[name="next"]::after':{content:'"↓"'},'.cm-search .cm-button[name="select"]':{order:23,marginTop:"2px"},'.cm-search .cm-button[name="select"]::after':{content:'"≡"',fontSize:"17px"},'.cm-panel.cm-search button[name="close"]':{order:5,appearance:"none",WebkitAppearance:"none",display:"inline-flex",alignItems:"center",justifyContent:"center",width:"26px",height:"26px",minWidth:"26px",flexShrink:"0",margin:"0 0 0 auto",padding:"0",borderRadius:"4px",border:"none",backgroundColor:"transparent",backgroundImage:"none",color:t.colors.surface.mutedForeground,cursor:"pointer",fontSize:"16px",lineHeight:"1",boxShadow:"none",position:"relative",overflow:"visible",transition:"background-color 120ms ease, color 120ms ease"},'.cm-panel.cm-search button[name="close"]:hover':{backgroundColor:t.colors.interactive.hover,color:t.colors.surface.foreground},'.cm-search .cm-button[name="replace"]':{order:24,marginTop:"2px"},'.cm-search .cm-button[name="replace"]::after':{content:'"⇄"'},'.cm-search .cm-button[name="replaceAll"], .cm-search .cm-button[name="replace-all"]':{order:25,marginTop:"2px"},'.cm-search .cm-button[name="replaceAll"]::after, .cm-search .cm-button[name="replace-all"]::after':{content:'"⇉"'},'.cm-search .cm-textfield[name="replace"]':{order:20,flex:"1 1 100%",maxWidth:"calc(100% - 142px)",minWidth:"80px",marginTop:"2px"},".cm-searchMatch":{backgroundColor:t.colors.status.infoBackground,boxShadow:`inset 0 0 0 1px ${t.colors.status.infoBorder}`,borderRadius:"2px"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:t.colors.interactive.selection,color:t.colors.interactive.selectionForeground,boxShadow:`inset 0 0 0 1px ${t.colors.interactive.borderFocus}`},"&.cm-focused":{outline:"none"}},{dark:a}),f=G.define([{tag:[e.comment,e.docComment,e.meta,e.documentMeta],class:"cm-comment"},{tag:[e.keyword,e.controlKeyword,e.moduleKeyword,e.definitionKeyword,e.modifier],class:"cm-keyword"},{tag:[e.operatorKeyword,e.operator,e.derefOperator,e.updateOperator,e.definitionOperator,e.typeOperator,e.controlOperator,e.logicOperator,e.bitwiseOperator,e.arithmeticOperator,e.compareOperator],class:"cm-operator"},{tag:[e.punctuation,e.separator,e.bracket,e.paren,e.brace,e.squareBracket,e.angleBracket],class:"cm-punctuation"},{tag:[e.string,e.regexp,e.attributeValue,e.special(e.string),e.monospace],class:"cm-string"},{tag:e.escape,class:"cm-string-2"},{tag:[e.number,e.bool,e.atom,e.null,e.self],class:"cm-number"},{tag:[e.function(e.variableName),e.function(e.definition(e.variableName)),e.function(e.propertyName),e.standard(e.variableName),e.special(e.variableName)],class:"cm-builtin"},{tag:e.definition(e.variableName),class:"cm-def"},{tag:[e.variableName,e.local(e.variableName),e.constant(e.variableName),e.literal],class:"cm-variable"},{tag:e.propertyName,class:"cm-property"},{tag:e.attributeName,class:"cm-attribute"},{tag:[e.className,e.typeName,e.namespace],class:"cm-variable-3"},{tag:[e.tagName,e.labelName,e.annotation,e.macroName],class:"cm-tag"},{tag:e.link,class:"cm-link"},{tag:[e.heading,e.heading1,e.heading2,e.heading3,e.heading4,e.heading5,e.heading6],class:"cm-keyword"}]),m=G.define([{tag:[e.comment,e.docComment,e.meta,e.documentMeta],color:t.colors.syntax.base.comment},{tag:[e.keyword,e.controlKeyword,e.moduleKeyword,e.definitionKeyword,e.modifier],color:t.colors.syntax.base.keyword},{tag:[e.operatorKeyword,e.operator,e.derefOperator,e.updateOperator,e.definitionOperator,e.typeOperator,e.controlOperator,e.logicOperator,e.bitwiseOperator,e.arithmeticOperator,e.compareOperator],color:t.colors.syntax.base.operator},{tag:[e.string,e.regexp,e.attributeValue,e.special(e.string),e.monospace],color:t.colors.syntax.base.string},{tag:e.escape,color:r.stringEscape||t.colors.syntax.base.string},{tag:[e.number,e.bool,e.atom,e.null,e.self],color:t.colors.syntax.base.number},{tag:[e.function(e.variableName),e.function(e.definition(e.variableName)),e.function(e.propertyName),e.standard(e.variableName),e.special(e.variableName)],color:t.colors.syntax.base.function},{tag:e.definition(e.variableName),color:r.variableGlobal||t.colors.syntax.base.variable},{tag:[e.variableName,e.local(e.variableName),e.constant(e.variableName),e.literal],color:t.colors.syntax.base.variable},{tag:e.propertyName,color:r.variableProperty||t.colors.syntax.base.variable},{tag:e.attributeName,color:r.variableOther||t.colors.syntax.base.variable},{tag:[e.className,e.typeName,e.namespace],color:t.colors.syntax.base.type},{tag:[e.tagName,e.labelName,e.annotation,e.macroName],color:r.tag||t.colors.syntax.base.keyword},{tag:e.link,color:r.url||t.colors.syntax.base.function,textDecoration:"underline"},{tag:[e.punctuation,e.separator,e.bracket,e.paren,e.brace,e.squareBracket,e.angleBracket],color:r.punctuation||t.colors.syntax.base.comment}]);return o?.syntaxColors===!1?[u]:[u,F(Oe,{fallback:!0}),F($e),F(f),F(m)]}const Ze=180,fe=xe.define(),Je=1,Xe=2,et=4,ue=new Map,tt=(t,o)=>{const a=`${t}|${o}`,n=ue.get(a);if(n)return n;let c="";t&&(c+=`color:${t};`),o&Je&&(c+="font-style:italic;"),o&Xe&&(c+="font-weight:bold;"),o&et&&(c+="text-decoration:underline;");const r=M.mark({attributes:{style:c}});return ue.set(a,r),r},ot=(t,o)=>{const a=new H,n=t.state.doc,c=Math.min(o.length,n.lines);for(let r=0;r<c;r+=1){const l=o[r];if(!l||l.length===0)continue;const u=n.line(r+1);let f=u.from;for(const[m,b,T]of l){if(m<=0)continue;const N=f,x=Math.min(f+m,u.to);f+=m,!(x<=N)&&(!b&&!T||a.add(N,x,tt(b,T)))}}return a.finish()},rt=de.define({create(){return M.none},update(t,o){let a=t.map(o.changes);for(const n of o.effects)n.is(fe)&&(a=n.value);return a},provide:t=>w.decorations.from(t)}),nt=t=>me.fromClass(class{timer;generation=0;constructor(o){this.tokenize(o)}update(o){o.docChanged&&this.schedule(o.view)}schedule(o){this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=void 0,this.tokenize(o)},Ze)}async tokenize(o){const a=++this.generation,n=o.state.doc.toString(),c=await He(n,t.language,t.themeName,t.theme);c&&a===this.generation&&o.state.doc.length===n.length&&o.dispatch({effects:fe.of(ot(o,c))})}destroy(){this.timer&&clearTimeout(this.timer)}}),ht=t=>[rt,nt(t)];export{pt as C,gt as P,bt as c,ht as s};