@vantran-se/openchamber-web 2.0.4 → 2.0.5

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 (243) hide show
  1. package/dist/assets/{CodeMirrorCommentWidgets-DZF8ntaq.js → CodeMirrorCommentWidgets-DCAQTLMM.js} +1 -1
  2. package/dist/assets/DiffView-uzNpHBlV.js +4 -0
  3. package/dist/assets/FilesView-Bkq0sjNx.js +17 -0
  4. package/dist/assets/{GitView-DwQwqDvu.js → GitView-BmibZC7n.js} +4 -4
  5. package/dist/assets/{GuestAttachDialog-CoXM0gh_.js → GuestAttachDialog-D7TJG1rt.js} +1 -1
  6. package/dist/assets/GuestSurfacePane-PAcYaFzP.js +1 -0
  7. package/dist/assets/{JsonTreeView-Cq_27v0y.js → JsonTreeView-BNT2yUVu.js} +1 -1
  8. package/dist/assets/{LinearIssuesView-CsSSRMhn.js → LinearIssuesView-D3Azksju.js} +1 -1
  9. package/dist/assets/MarkdownImageGallery-BGY6tuiK.js +1 -0
  10. package/dist/assets/MarkdownRendererImpl-DJmhQ37f.js +12 -0
  11. package/dist/assets/{OnboardingScreen-ClatMQAX.js → OnboardingScreen-D_41H2qC.js} +1 -1
  12. package/dist/assets/{PatchDiff-DOwlrIK9.js → PatchDiff-C0RSqa9W.js} +1 -1
  13. package/dist/assets/{PierreDiffViewer-CrcGqqD_.js → PierreDiffViewer-BBE7tTY2.js} +3 -3
  14. package/dist/assets/{PlanView-BGLsMgQk.js → PlanView-Bqc-xuDe.js} +4 -4
  15. package/dist/assets/PluginPane-DQ0k41Q-.js +3 -0
  16. package/dist/assets/SettingsView-BAiJU5hJ.js +30 -0
  17. package/dist/assets/{SettingsWindow-B0BAy-f9.js → SettingsWindow-DuC4ecLw.js} +1 -1
  18. package/dist/assets/{SubmoduleDiffSummary-fcdDzCSW.js → SubmoduleDiffSummary-0HgmcMXz.js} +1 -1
  19. package/dist/assets/{ToolOutputDialog-B7xaUz2H.js → ToolOutputDialog-DdHkQJEE.js} +6 -6
  20. package/dist/assets/{ToolPartDiffPreview-CkWCaUmZ.js → ToolPartDiffPreview-DWdN0r5K.js} +2 -2
  21. package/dist/assets/{VirtualizedFileDiff-DONC4eI2.js → VirtualizedFileDiff-ClDezf2d.js} +1 -1
  22. package/dist/assets/{WalkthroughView-CXDImOXW.js → WalkthroughView-BJicp0RC.js} +2 -2
  23. package/dist/assets/{appThemeRegistry-Br2TLSlb.js → appThemeRegistry-CiuyzfSW.js} +1 -1
  24. package/dist/assets/changesTree-CePHbFcj.js +1 -0
  25. package/dist/assets/commitAndPush-DTKb6IwT.js +1 -0
  26. package/dist/assets/{computeVirtualFileMetrics-_-20umCs.js → computeVirtualFileMetrics-kM_zJNMt.js} +2 -2
  27. package/dist/assets/de-BMnfXm-G.js +10 -0
  28. package/dist/assets/es-DKEvCCL6.js +16 -0
  29. package/dist/assets/fr-D9fgE2xE.js +14 -0
  30. package/dist/assets/index-DUke1nme.css +1 -0
  31. package/dist/assets/{index-OKDYjcMF.js → index-DWB8bR_g.js} +1 -1
  32. package/dist/assets/index-Di6zUe5h.js +41 -0
  33. package/dist/assets/{isDiffPlainText-D77M6q1f.js → isDiffPlainText-DOoIsGqs.js} +1 -1
  34. package/dist/assets/{isFilePlainText-C54B4Mns.js → isFilePlainText-bt5VHvcd.js} +1 -1
  35. package/dist/assets/ja-BEXad-KW.js +16 -0
  36. package/dist/assets/ko-DGrQ0lEe.js +16 -0
  37. package/dist/assets/{main-CGEvLMd2.js → main-BpLQbZC2.js} +2 -2
  38. package/dist/assets/main-CI9DtHJv.js +896 -0
  39. package/dist/assets/{markdown-shiki.worker-CahLvHIq.js → markdown-shiki.worker-Bg8SoAJJ.js} +8 -5
  40. package/dist/assets/markdownCore-DK2KK5RW.js +7 -0
  41. package/dist/assets/{miniChat-BSxkRQLj.js → miniChat-CIWaR8wG.js} +2 -2
  42. package/dist/assets/{mobile-C5KRTNOB.js → mobile-CnWKEYIP.js} +2 -2
  43. package/dist/assets/patchFileDiff-Cqn0C0az.js +13 -0
  44. package/dist/assets/pl-BlhkmR5b.js +16 -0
  45. package/dist/assets/pt-BR-Bs96Ew9I.js +16 -0
  46. package/dist/assets/{renderElectronMiniChatApp-CnkAQV6o.js → renderElectronMiniChatApp-D9t0-9nV.js} +2 -2
  47. package/dist/assets/renderMobileApp-CW7fVs_s.js +25 -0
  48. package/dist/assets/runtimeEndpointReset-D0PcCb3K.js +27 -0
  49. package/dist/assets/scheduledTasksApi-Dahv3ws0.js +1 -0
  50. package/dist/assets/{shikiHighlight-4O0ZM14D.js → shikiHighlight-l-MbaNS4.js} +1 -1
  51. package/dist/assets/{textMateThemeFromAppTheme-yNq7b0DZ.js → textMateThemeFromAppTheme-C-kGcOpD.js} +1 -1
  52. package/dist/assets/tr-CehUK1M9.js +7 -0
  53. package/dist/assets/uk-Bno5WGNz.js +16 -0
  54. package/dist/assets/{useAppFontEffects-Bzyszv2N.js → useAppFontEffects-DDjuwVqi.js} +160 -156
  55. package/dist/assets/{useInlineCommentController-zOf6ORAq.js → useInlineCommentController-Clg8EO3A.js} +2 -2
  56. package/dist/assets/{useRootScrollLock-DCaZ4BWi.js → useRootScrollLock-nDcRrgJ1.js} +2 -2
  57. package/dist/assets/{vendor-codemirror-language-data-6cEFPNUR.js → vendor-codemirror-language-data-oKF0MAwd.js} +2 -2
  58. package/dist/assets/vendor-opencode-client-DSZl7jSi.js +12 -0
  59. package/dist/assets/vendor-zod-BSoePkpP.js +39 -0
  60. package/dist/assets/{web-components-BEo4-ISu.js → web-components-Bc1WPd4i.js} +1 -1
  61. package/dist/assets/zh-CN-DnAweIWo.js +16 -0
  62. package/dist/assets/zh-TW-BbBBK25p.js +16 -0
  63. package/dist/index.html +5 -5
  64. package/dist/mini-chat.html +5 -5
  65. package/dist/mobile.html +5 -5
  66. package/package.json +3 -3
  67. package/server/index.js +82 -0
  68. package/server/lib/agent-tool/DOCUMENTATION.md +132 -47
  69. package/server/lib/agent-tool/runtime.js +34 -15
  70. package/server/lib/agent-tool/runtime.test.js +15 -0
  71. package/server/lib/browser-control/DOCUMENTATION.md +14 -2
  72. package/server/lib/event-stream/global-hub.js +23 -1
  73. package/server/lib/event-stream/global-hub.test.js +35 -0
  74. package/server/lib/event-stream/global-ws-bridge.js +3 -1
  75. package/server/lib/event-stream/upstream-reader.js +3 -2
  76. package/server/lib/git/DOCUMENTATION.md +1 -1
  77. package/server/lib/git/service.js +22 -0
  78. package/server/lib/git/service.test.js +8 -0
  79. package/server/lib/guests/DOCUMENTATION.md +4 -3
  80. package/server/lib/guests/catalog.js +19 -1
  81. package/server/lib/guests/catalog.test.js +22 -0
  82. package/server/lib/guests/html-styles.js +5 -3
  83. package/server/lib/guests/html-styles.test.js +3 -1
  84. package/server/lib/guests/routes.js +11 -3
  85. package/server/lib/guests/service.js +5 -0
  86. package/server/lib/guests/surface.js +55 -9
  87. package/server/lib/guests/surface.test.js +56 -6
  88. package/server/lib/notifications/DOCUMENTATION.md +10 -0
  89. package/server/lib/notifications/emit-route.js +118 -0
  90. package/server/lib/notifications/emit-route.test.js +112 -0
  91. package/server/lib/openchamber-control/actions.js +16 -2
  92. package/server/lib/openchamber-control/service.js +23 -0
  93. package/server/lib/openchamber-control/service.test.js +31 -0
  94. package/server/lib/openchamber-sessions/fork-inheritance.js +103 -0
  95. package/server/lib/openchamber-sessions/fork-inheritance.test.js +69 -0
  96. package/server/lib/openchamber-sessions/routes.js +11 -0
  97. package/server/lib/openchamber-sessions/routes.test.js +18 -0
  98. package/server/lib/opencode/bootstrap-runtime.js +14 -1
  99. package/server/lib/opencode/compatibility.js +6 -3
  100. package/server/lib/opencode/compatibility.test.js +8 -0
  101. package/server/lib/opencode/config-entity-v2.test.js +27 -0
  102. package/server/lib/opencode/config-paths.test.js +12 -0
  103. package/server/lib/opencode/config-v2.d.ts +2 -0
  104. package/server/lib/opencode/config-v2.js +42 -0
  105. package/server/lib/opencode/config-v2.test.js +17 -0
  106. package/server/lib/opencode/core-routes.js +20 -4
  107. package/server/lib/opencode/core-routes.test.js +41 -0
  108. package/server/lib/opencode/env-runtime.js +1 -8
  109. package/server/lib/opencode/feature-routes-runtime.js +2 -1
  110. package/server/lib/opencode/lifecycle.js +30 -2
  111. package/server/lib/opencode/lifecycle.test.js +27 -0
  112. package/server/lib/opencode/managed-config-file.js +18 -6
  113. package/server/lib/opencode/managed-config-file.test.js +23 -7
  114. package/server/lib/opencode/mcp.js +7 -2
  115. package/server/lib/opencode/npm-registry-config.d.ts +1 -0
  116. package/server/lib/opencode/npm-registry-config.js +123 -0
  117. package/server/lib/opencode/npm-registry-config.test.js +167 -0
  118. package/server/lib/opencode/npm-registry.js +5 -6
  119. package/server/lib/opencode/npm-registry.test.js +30 -0
  120. package/server/lib/opencode/openchamber-routes.js +29 -11
  121. package/server/lib/opencode/openchamber-routes.test.js +18 -0
  122. package/server/lib/opencode/project-directory-runtime.js +8 -0
  123. package/server/lib/opencode/project-directory-runtime.test.js +13 -0
  124. package/server/lib/opencode/provider-source-route.test.js +59 -0
  125. package/server/lib/opencode/providers.js +3 -0
  126. package/server/lib/opencode/providers.test.js +62 -0
  127. package/server/lib/opencode/proxy.js +38 -2
  128. package/server/lib/opencode/routes-upgrade.test.js +1 -1
  129. package/server/lib/opencode/routes.js +36 -1
  130. package/server/lib/opencode/server-utils-runtime.js +5 -0
  131. package/server/lib/opencode/settings-helpers.js +10 -0
  132. package/server/lib/opencode/settings-helpers.test.js +2 -2
  133. package/server/lib/opencode/settings-registry.json +17 -0
  134. package/server/lib/opencode/settings-runtime.js +1 -0
  135. package/server/lib/opencode/shared.js +49 -4
  136. package/server/lib/opencode/shared.test.js +78 -1
  137. package/server/lib/opencode/shutdown-runtime.js +3 -0
  138. package/server/lib/opencode/skill-routes.js +28 -12
  139. package/server/lib/opencode/skill-routes.test.js +121 -1
  140. package/server/lib/opencode/upgrade-capability.js +0 -14
  141. package/server/lib/opencode/v1-migration-topup.js +21 -15
  142. package/server/lib/opencode/v1-migration-topup.test.js +14 -6
  143. package/server/lib/opencode/v2-install.d.ts +1 -0
  144. package/server/lib/opencode/v2-install.js +8 -7
  145. package/server/lib/opencode/v2-install.test.js +13 -4
  146. package/server/lib/opencode/watcher.js +3 -1
  147. package/server/lib/opencode/websearch-config.js +13 -1
  148. package/server/lib/quota/providers/kimi.js +1 -1
  149. package/server/lib/realtime-proxy.js +5 -1
  150. package/server/lib/realtime-proxy.test.js +29 -0
  151. package/server/lib/relay/tunnel-host.js +4 -1
  152. package/server/lib/relay/tunnel-host.test.js +11 -0
  153. package/server/lib/session-assist/DOCUMENTATION.md +17 -5
  154. package/server/lib/session-assist/runtime.js +19 -2
  155. package/server/lib/session-assist/runtime.test.js +8 -0
  156. package/server/lib/session-goal/DOCUMENTATION.md +11 -0
  157. package/server/lib/small-model/DOCUMENTATION.md +11 -10
  158. package/server/lib/small-model/index.js +27 -32
  159. package/server/lib/small-model/index.test.js +28 -16
  160. package/server/lib/spaces/DOCUMENTATION.md +404 -32
  161. package/server/lib/spaces/code-in-bait.js +145 -6
  162. package/server/lib/spaces/code-in.js +10 -150
  163. package/server/lib/spaces/code-in.test.js +7 -83
  164. package/server/lib/spaces/code-out.js +1819 -0
  165. package/server/lib/spaces/code-out.test.js +3945 -0
  166. package/server/lib/spaces/code-transfer.js +173 -0
  167. package/server/lib/spaces/command-stream.test.js +181 -0
  168. package/server/lib/spaces/dispatcher.js +670 -0
  169. package/server/lib/spaces/dispatcher.test.js +582 -0
  170. package/server/lib/spaces/gatekeeper-channel.js +61 -7
  171. package/server/lib/spaces/gatekeeper-channel.test.js +43 -7
  172. package/server/lib/spaces/gatekeeper-program.cjs +68 -14
  173. package/server/lib/spaces/gatekeeper-program.test.js +118 -3
  174. package/server/lib/spaces/hardening.js +20 -4
  175. package/server/lib/spaces/hardening.test.js +18 -3
  176. package/server/lib/spaces/host-git.js +7 -4
  177. package/server/lib/spaces/host-git.test.js +6 -2
  178. package/server/lib/spaces/host.js +310 -0
  179. package/server/lib/spaces/host.test.js +273 -0
  180. package/server/lib/spaces/journey.js +552 -0
  181. package/server/lib/spaces/journey.test.js +589 -0
  182. package/server/lib/spaces/layout.js +42 -8
  183. package/server/lib/spaces/manager.js +4 -3
  184. package/server/lib/spaces/manager.test.js +6 -0
  185. package/server/lib/spaces/places/code-out.docker.live.test.js +412 -0
  186. package/server/lib/spaces/places/contract-suite.js +36 -0
  187. package/server/lib/spaces/places/dispatcher.docker.live.test.js +296 -0
  188. package/server/lib/spaces/places/docker-live-support.js +27 -4
  189. package/server/lib/spaces/places/docker.js +33 -5
  190. package/server/lib/spaces/places/docker.test.js +42 -3
  191. package/server/lib/spaces/places/escape-suite.js +118 -14
  192. package/server/lib/spaces/places/fake-docker.js +3 -1
  193. package/server/lib/spaces/places/grants.docker.live.test.js +197 -0
  194. package/server/lib/spaces/places/memory-place.js +24 -1
  195. package/server/lib/spaces/places/registry.js +1 -1
  196. package/server/lib/spaces/places/server.docker.live.test.js +69 -33
  197. package/server/lib/spaces/places/sessions.docker.live.test.js +222 -0
  198. package/server/lib/spaces/routes.js +216 -0
  199. package/server/lib/spaces/routes.test.js +213 -0
  200. package/server/lib/spaces/run-command.js +261 -8
  201. package/server/lib/spaces/run-command.test.js +193 -3
  202. package/server/lib/spaces/space-events.js +153 -0
  203. package/server/lib/spaces/space-events.test.js +160 -0
  204. package/server/lib/spaces/space-opencode.js +52 -0
  205. package/server/lib/spaces/space-opencode.test.js +41 -0
  206. package/server/lib/spaces/space-records.js +150 -0
  207. package/server/lib/spaces/space-records.test.js +113 -0
  208. package/server/lib/spaces/space-sessions.js +210 -0
  209. package/server/lib/spaces/space-sessions.test.js +161 -0
  210. package/server/lib/spaces/websocket.js +329 -0
  211. package/server/lib/spaces/websocket.test.js +345 -0
  212. package/server/lib/ui-auth/ui-auth.js +8 -2
  213. package/server/lib/ui-auth/ui-auth.test.js +29 -0
  214. package/server/opencode-proxy.test.js +113 -0
  215. package/dist/assets/DiffView-D2p4Ar0H.js +0 -4
  216. package/dist/assets/FilesView-BeTtbsip.js +0 -17
  217. package/dist/assets/GuestSurfacePane-DIJvkkM-.js +0 -1
  218. package/dist/assets/MarkdownImageGallery-CY0dWTaE.js +0 -1
  219. package/dist/assets/MarkdownRendererImpl-ILdXzLrt.js +0 -12
  220. package/dist/assets/PluginPane-B39JEUL8.js +0 -3
  221. package/dist/assets/SettingsView-13B2_G-A.js +0 -29
  222. package/dist/assets/commitAndPush-CcI4ol7c.js +0 -1
  223. package/dist/assets/de-BtYnUgII.js +0 -10
  224. package/dist/assets/es-crP5qPye.js +0 -16
  225. package/dist/assets/fr-CLSRuALk.js +0 -14
  226. package/dist/assets/index-CLcM8HKx.css +0 -1
  227. package/dist/assets/index-CvLgnuNI.js +0 -41
  228. package/dist/assets/ja-SZ1-ucLV.js +0 -16
  229. package/dist/assets/ko-HthbT_Ve.js +0 -16
  230. package/dist/assets/main-BJklC7Cl.js +0 -896
  231. package/dist/assets/markdownCore-BzQuETm0.js +0 -5
  232. package/dist/assets/patchFileDiff-DGw2KryM.js +0 -13
  233. package/dist/assets/pl-C8eYfjL1.js +0 -16
  234. package/dist/assets/pt-BR-cYOrZdxS.js +0 -16
  235. package/dist/assets/renderMobileApp-CMxjwisj.js +0 -25
  236. package/dist/assets/runtimeEndpointReset-C45jrFq4.js +0 -27
  237. package/dist/assets/scheduledTasksApi-CkK1F9s2.js +0 -1
  238. package/dist/assets/tr-B4IQ5t-T.js +0 -7
  239. package/dist/assets/uk-DCoXG6ve.js +0 -16
  240. package/dist/assets/vendor-opencode-client-_BAHQo4R.js +0 -12
  241. package/dist/assets/vendor-zod-Gea9uBlY.js +0 -39
  242. package/dist/assets/zh-CN-BXBoxsFk.js +0 -16
  243. package/dist/assets/zh-TW-C6oelpnL.js +0 -16
@@ -0,0 +1 @@
1
+ import{v as M,F as D,H as j,e7 as R,h as I}from"./index-Di6zUe5h.js";import{c as O}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"}],L="finder",v=new Set(["finder","terminal"]),C=e=>{if(typeof window>"u")return e;const t=window.__OPENCHAMBER_PLATFORM__;if(e.id==="finder"){if(t==="win32")return{...e,label:"Explorer",appName:"File Explorer"};if(t==="linux")return{...e,label:"File Manager"}}return e},T=e=>{if(!e)return null;const t=A.find(a=>a.id===e)??null;return t?C(t):null},k=()=>A.filter(e=>v.has(e.id)).map(e=>({...C(e)})),U=()=>{if(typeof window>"u")return L;const e=window.localStorage.getItem("openInAppId");return e&&T(e)?e:L};let E=!1,y=!1,m=!1,h=0,S=null;const _=()=>{S&&(clearTimeout(S),S=null)},B=O()((e,t)=>({selectedAppId:U(),availableApps:k(),hasLoadedApps:!1,isCacheStale:!1,isScanning:!1,initialize:()=>{if(E||typeof window>"u")return;E=!0;const a=(o,d=!0)=>{if(!Array.isArray(o)||o.length===0){e({availableApps:k(),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=>({...C(l),iconDataUrl:u.get(l.appName)}));e({availableApps:b,hasLoadedApps:!0})},s=async o=>{if(!D()||!j()||y||t().hasLoadedApps&&!o)return;const f=A.map(u=>u.appName);_(),y=!0,m=!1,e({isScanning:!0});try{const{apps:u,success:r,hasCache:b,isCacheStale:l}=await R(f,o),P=r&&!b&&u.length===0&&h<3;if(e({isCacheStale:b?l:!1}),a(u,r?!P:!1),r){if(P){const N=[800,1600,3200][h]??3200;h+=1,m=!0,S=setTimeout(()=>{s()},N);return}h=0,m=!1;return}if(h<3){const N=[1e3,3e3,7e3][h]??7e3;h+=1,m=!0,S=setTimeout(()=>{s()},N)}}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}),a(d))};window.addEventListener("openchamber:settings-synced",n),window.addEventListener("openchamber:app-ready",i),window.addEventListener("openchamber:installed-apps-updated",p),window.__openchamberAppReady&&s(),window.setTimeout(()=>{t().hasLoadedApps||s()},5e3)},loadInstalledApps:async a=>{if(E||t().initialize(),!D()||!j()||y||t().hasLoadedApps&&!a)return;const n=A.map(i=>i.appName);_(),a&&e({hasLoadedApps:!1}),y=!0,m=!1,e({isScanning:!0});try{const{apps:i,hasCache:p,isCacheStale:c}=await R(n,a),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:k(),hasLoadedApps:u.length>0,isCacheStale:p?c:!1})}finally{y=!1,m||e({isScanning:!1})}},selectApp:async a=>{T(a)&&(e({selectedAppId:a}),typeof window<"u"&&window.localStorage.setItem("openInAppId",a),await M({openInAppId:a}))}}));class W{pending=new Map;has(t){return this.pending.has(t)}clear(){this.pending.clear()}run(t,a,s=!1){const n=this.pending.get(t);if(n&&!s)return n;const i=()=>this.pending.get(t)===p,p=Promise.resolve().then(()=>i()?a(i):void 0).finally(()=>{i()&&this.pending.delete(t)});return this.pending.set(t,p),p}}const z=(e,t)=>e===t||e.length===t.length&&e.every((a,s)=>{const n=t[s];return a.name===n.name&&a.path===n.path&&a.type===n.type&&a.extension===n.extension&&a.relativePath===n.relativePath}),J=e=>{const t=new Map,a=new Map;for(const s of e){t.has(s.path)||t.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=a.get(c)??{modified:0,added:0};o.modified+=n,o.added+=i,a.set(c,o)}}return{statusByPath:t,badgeByDir:a}},g=async(e,t)=>{try{const a=await e.json();if(a&&typeof a.error=="string"&&a.error.trim().length>0)return a.error}catch{return t}return t},w=e=>{const t=typeof e=="string"?e.trim():"";if(!t)throw new Error("projectId is required");return t},V=async e=>{const t=w(e),a=await I(`/api/projects/${encodeURIComponent(t)}/scheduled-tasks`);if(!a.ok)throw new Error(await g(a,"Failed to load scheduled tasks"));const s=await a.json().catch(()=>null);return!s||!Array.isArray(s.tasks)?[]:s.tasks},q=async(e,t)=>{const a=w(e),s=await I(`/api/projects/${encodeURIComponent(a)}/scheduled-tasks`,{method:"PUT",headers:{"content-type":"application/json",accept:"application/json"},body:JSON.stringify({task:t})});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},G=async(e,t)=>{const a=w(e),s=w(t),n=await I(`/api/projects/${encodeURIComponent(a)}/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},x=(e,t)=>{const a=w(e),s=w(t);return`/api/projects/${encodeURIComponent(a)}/scheduled-tasks/${encodeURIComponent(s)}/loop-file`},K=async(e,t,a)=>{const s=await I(x(e,t),{method:"PATCH",headers:{"content-type":"application/json",accept:"application/json"},body:JSON.stringify({enabled:a})});if(!s.ok)throw new Error(await g(s,"Failed to update loop task"))},X=async(e,t)=>{const a=await I(x(e,t),{method:"DELETE",headers:{accept:"application/json"}});if(!a.ok)throw new Error(await g(a,"Failed to delete loop file"))},Z=async e=>{await V(e)},Y=async(e,t)=>{const a=w(e),s=w(t),n=await I(`/api/projects/${encodeURIComponent(a)}/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{L as D,A as O,W as a,z as b,q as c,X as d,G as e,V as f,Z as g,J as h,Y as r,K as s,B 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 B,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 L,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 Fe,H as G,x as O,z as Te}from"./vendor-codemirror-language-BgPj_McA.js";import{a as U,g as P,b as Y,c as Q,o as Oe,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,af as We,B as Le,ag as $e,ae as He,gL as Be,iA as _e}from"./useAppFontEffects-Bzyszv2N.js";import{a as e,c as je}from"./vendor-lezer-highlight-CDMHUZ74.js";const Ae=t=>t!==null&&typeof t=="object"&&"updateStatus"in t&&typeof t.updateStatus=="function",Ie=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 Ae(n)&&n.updateStatus(),{top:!1,dom:o,destroy(){a.state.statusbar===o&&(a.state.statusbar=null)}}};function J(t){return t?[Me(),ye.of(Ie),ve()]:[]}const De={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 Ve(t){const o=t.querySelector(".cm-search");if(o){for(const[a,n]of Object.entries(De)){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 $=new WeakMap;function Ge(t,o){const a=P(t.state);if(!a.valid)return $.delete(t),0;const n=$.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 u=c.next();!u.done;u=c.next())r+=1;return $.set(t,{query:a,doc:t.state.doc,total:r}),r}function Ue(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 u=n.next();!u.done;u=n.next()){const i=u.value;if(c+=1,r===0&&(r=c),a.from===i.from&&a.to===i.to||a.from<i.to&&a.to>i.from||i.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 i=n.querySelector('button[name="next"]'),f=i?.parentNode===n?i:n.firstChild;n.insertBefore(c,f)}const r=Ge(o,a),u=r===0?0:Ue(o);c.textContent=r===0?"":`${u}/${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,H=Fe,Ye=Oe,Qe=Pe;class Ze 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 B,c=[...t].sort((r,u)=>r.afterLine-u.afterLine);for(const r of c){const u=a.doc.lines;if(r.afterLine>u)continue;const i=a.doc.line(r.afterLine);n.add(i.to,i.to,M.widget({widget:new Ze(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 B;for(let r=o;r<=a&&r<=n.state.doc.lines;r+=1){const u=n.state.doc.line(r);c.add(u.from,u.from,M.line({class:"oc-cm-selected-line"}))}return c.finish()}},{decorations:n=>n.decorations})};function gt({value:t,onChange:o,extensions:a,className:n,readOnly:c,lineNumbersConfig:r,highlightLines:u,onViewReady:i,onViewDestroy:f,blockWidgets:m,enableSearch:g,searchOpen:F,onSearchOpenChange:N,vimMode:x}){const T=d.useRef(null),b=d.useRef(null),z=d.useRef(t),_=d.useRef(o),j=d.useRef(i),A=d.useRef(f),I=d.useRef(N),E=d.useRef(m),q=d.useRef(x),W=d.useRef(new Map),[pe,D]=d.useState([]),k=d.useCallback(s=>{const h=(s??[]).map(l=>{const p=W.current.get(l.id);return p?{id:l.id,content:l.content,container:p}:null}).filter(l=>l!==null);D(l=>l.length===h.length&&l.every((p,y)=>{const R=h[y];return p.id===R.id&&p.content===R.content&&p.container===R.container})?l:h)},[]),C=d.useCallback(s=>{const h=T.current,l=s??b.current;if(!h||!l)return;const p=l.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(()=>{j.current=i,A.current=f},[i,f]),d.useEffect(()=>{I.current=N},[N]),d.useEffect(()=>{E.current=m,k(m)},[m,k]),d.useEffect(()=>{if(!T.current)return;const s=(()=>{if(typeof document>"u")return null;const l=document.querySelector('meta[name="csp-nonce"]')?.getAttribute("content");if(l)return l;const p=window.__OPENCHAMBER_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)),L.of([Se,...Ne,...Ee]),w.updateListener.of(l=>{C(l.view),(l.viewportChanged||l.geometryChanged)&&k(E.current);const p=U(l.startState),y=U(l.state);p!==y&&I.current?.(y);const R=!P(l.startState).eq(P(l.state));if(y&&(p!==y||R||l.docChanged||l.selectionSet)&&X(l.view.dom,l.view,p!==y||R||l.docChanged),!l.docChanged)return;const K=l.state.doc.toString();z.current=K,_.current(K),k(E.current)}),te.of(w.editable.of(!c)),oe.of(a??[]),re.of(le(u)),ne.of(ie(m,W.current)),ae.of(g?[Y({top:!0}),L.of(se(Q))]:[])]});return b.current=new w({state:h,parent:T.current}),H(b.current,b.current.state.doc.length,200),b.current.requestMeasure(),requestAnimationFrame(()=>{C(b.current),k(E.current)}),b.current&&j.current?.(b.current),()=>{A.current?.(),b.current?.destroy(),b.current=null,D([])}},[E,C,k]),d.useEffect(()=>{const s=b.current;s&&(s.dispatch({effects:[ee.reconfigure(V(r)),te.reconfigure(w.editable.of(!c)),oe.reconfigure(a??[]),re.reconfigure(le(u)),ne.reconfigure(ie(m,W.current)),ae.reconfigure(g?[Y({top:!0}),L.of(se(Q))]:[])]}),H(s,s.state.doc.length,200),s.requestMeasure(),requestAnimationFrame(()=>{C(s),k(E.current)}))},[a,u,r,c,m,g,C,k]),d.useEffect(()=>{const s=b.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=b.current;!s||g===!1||(F?(Ye(s),requestAnimationFrame(()=>{Ve(s.dom),X(s.dom,s,!0)})):Qe(s))},[F,g]),d.useEffect(()=>{const s=b.current;if(!s)return;const h=s.state.doc.toString();h!==t&&(s.dispatch({changes:{from:0,to:h.length,insert:t}}),H(s,s.state.doc.length,300),s.requestMeasure(),requestAnimationFrame(()=>C(s)))},[t,C]),v.jsxs(v.Fragment,{children:[v.jsx("div",{ref:T,className:qe("oc-surface-code 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",n)}),pe.map(s=>ge.createPortal(s.content,s.container,s.id))]})}const bt=t=>{const o=be.c(11),{currentMode:a,onToggle:n}=t,c=a==="preview",r=c?"Switch to edit mode":"Switch to preview mode",u=c?"Edit":"Preview";let i;o[0]!==c?(i=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]=i):i=o[1];let f;o[2]!==r||o[3]!==n||o[4]!==i?(f=v.jsx(We,{asChild:!0,children:v.jsx(Le,{variant:"ghost",size:"sm",onClick:n,"aria-label":r,className:"h-5 w-5 p-0",children:i})}),o[2]=r,o[3]=n,o[4]=i,o[5]=f):f=o[5];let m;o[6]!==u?(m=v.jsx($e,{sideOffset:8,children:u}),o[6]=u,o[7]=m):m=o[7];let g;return o[8]!==f||o[9]!==m?(g=v.jsxs(He,{children:[f,m]}),o[8]=f,o[9]=m,o[10]=g):g=o[10],g};function ht(t,o){const a=t.metadata.variant==="dark",n=t.config?.fonts?.mono||"monospace",c=t.colors.syntax.highlights||{},r=Be(t.colors.syntax),u=o?.fontSize?`${o.fontSize}px`:"var(--text-code)",i=t.colors.syntax.base.background,f=w.theme({"&":{backgroundColor:i,color:t.colors.syntax.base.foreground,fontSize:u,lineHeight:"1.5",position:"relative"},".cm-scroller":{fontFamily:n,backgroundColor:i},".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:i,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 ${i}`},".cm-gutter":{backgroundColor:i},".cm-gutterElement":{backgroundColor:i},".cm-lineNumbers":{backgroundColor:i},".cm-lineNumbers .cm-gutterElement":{paddingLeft:"8px",paddingRight:"8px",minWidth:"42px"},".cm-activeLineGutter":{color:c.lineNumberActive||t.colors.syntax.base.foreground},".cm-activeLine":{backgroundColor:`color-mix(in srgb, ${t.colors.syntax.base.foreground} 5%, transparent)`},".cm-panels":{backgroundColor:"transparent",color:t.colors.surface.elevatedForeground,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.elevatedForeground,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.elevated,color:t.colors.surface.elevatedForeground,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.interactive.borderFocus},'.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.elevatedForeground},'.cm-search label:has(input[type="checkbox"]:checked)::after':{color:t.colors.surface.elevatedForeground},'.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.elevatedForeground},".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.elevatedForeground},'.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.interactive.selection,color:t.colors.interactive.selectionForeground,boxShadow:`inset 0 0 0 1px ${t.colors.interactive.border}`,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}),m=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"}]),g=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?[f]:[f,O(Te,{fallback:!0}),O(je),O(m),O(g)]}const Je=180,fe=xe.define(),Xe=1,et=2,tt=4,ue=new Map,ot=(t,o)=>{const a=`${t}|${o}`,n=ue.get(a);if(n)return n;let c="";t&&(c+=`color:${t};`),o&Xe&&(c+="font-style:italic;"),o&et&&(c+="font-weight:bold;"),o&tt&&(c+="text-decoration:underline;");const r=M.mark({attributes:{style:c}});return ue.set(a,r),r},rt=(t,o)=>{const a=new B,n=t.state.doc,c=Math.min(o.length,n.lines);for(let r=0;r<c;r+=1){const u=o[r];if(!u||u.length===0)continue;const i=n.line(r+1);let f=i.from;for(const[m,g,F]of u){if(m<=0)continue;const N=f,x=Math.min(f+m,i.to);f+=m,!(x<=N)&&(!g&&!F||a.add(N,x,ot(g,F)))}}return a.finish()},nt=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)}),at=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)},Je)}async tokenize(o){const a=++this.generation,n=o.state.doc.toString(),c=await _e(n,t.language,t.themeName,t.theme);c&&a===this.generation&&o.state.doc.length===n.length&&o.dispatch({effects:fe.of(rt(o,c))})}destroy(){this.timer&&clearTimeout(this.timer)}}),xt=t=>[nt,at(t)];export{gt as C,bt as P,ht as c,xt 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 B,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 $,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 Fe,H as G,x as O,z as Te}from"./vendor-codemirror-language-BgPj_McA.js";import{a as U,g as P,b as Y,c as Q,o as Oe,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,af as We,B as $e,ag as He,ae as Le,gP as Be,iG as _e}from"./useAppFontEffects-DDjuwVqi.js";import{a as e,c as je}from"./vendor-lezer-highlight-CDMHUZ74.js";const Ie=t=>t!==null&&typeof t=="object"&&"updateStatus"in t&&typeof t.updateStatus=="function",Ae=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(Ae),ve()]:[]}const De={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 Ve(t){const o=t.querySelector(".cm-search");if(o){for(const[a,n]of Object.entries(De)){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 H=new WeakMap;function Ge(t,o){const a=P(t.state);if(!a.valid)return H.delete(t),0;const n=H.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 u=c.next();!u.done;u=c.next())r+=1;return H.set(t,{query:a,doc:t.state.doc,total:r}),r}function Ue(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 u=n.next();!u.done;u=n.next()){const i=u.value;if(c+=1,r===0&&(r=c),a.from===i.from&&a.to===i.to||a.from<i.to&&a.to>i.from||i.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 i=n.querySelector('button[name="next"]'),f=i?.parentNode===n?i:n.firstChild;n.insertBefore(c,f)}const r=Ge(o,a),u=r===0?0:Ue(o);c.textContent=r===0?"":`${u}/${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,L=Fe,Ye=Oe,Qe=Pe;class Ze 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 B,c=[...t].sort((r,u)=>r.afterLine-u.afterLine);for(const r of c){const u=a.doc.lines;if(r.afterLine>u)continue;const i=a.doc.line(r.afterLine);n.add(i.to,i.to,M.widget({widget:new Ze(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 B;for(let r=o;r<=a&&r<=n.state.doc.lines;r+=1){const u=n.state.doc.line(r);c.add(u.from,u.from,M.line({class:"oc-cm-selected-line"}))}return c.finish()}},{decorations:n=>n.decorations})};function gt({value:t,onChange:o,extensions:a,className:n,readOnly:c,lineNumbersConfig:r,highlightLines:u,onViewReady:i,onViewDestroy:f,blockWidgets:m,enableSearch:g,searchOpen:F,onSearchOpenChange:N,vimMode:x}){const T=d.useRef(null),b=d.useRef(null),z=d.useRef(t),_=d.useRef(o),j=d.useRef(i),I=d.useRef(f),A=d.useRef(N),E=d.useRef(m),q=d.useRef(x),W=d.useRef(new Map),[pe,D]=d.useState([]),k=d.useCallback(s=>{const h=(s??[]).map(l=>{const p=W.current.get(l.id);return p?{id:l.id,content:l.content,container:p}:null}).filter(l=>l!==null);D(l=>l.length===h.length&&l.every((p,y)=>{const R=h[y];return p.id===R.id&&p.content===R.content&&p.container===R.container})?l:h)},[]),C=d.useCallback(s=>{const h=T.current,l=s??b.current;if(!h||!l)return;const p=l.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(()=>{j.current=i,I.current=f},[i,f]),d.useEffect(()=>{A.current=N},[N]),d.useEffect(()=>{E.current=m,k(m)},[m,k]),d.useEffect(()=>{if(!T.current)return;const s=(()=>{if(typeof document>"u")return null;const l=document.querySelector('meta[name="csp-nonce"]')?.getAttribute("content");if(l)return l;const p=window.__OPENCHAMBER_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)),$.of([Se,...Ne,...Ee]),w.updateListener.of(l=>{C(l.view),(l.viewportChanged||l.geometryChanged)&&k(E.current);const p=U(l.startState),y=U(l.state);p!==y&&A.current?.(y);const R=!P(l.startState).eq(P(l.state));if(y&&(p!==y||R||l.docChanged||l.selectionSet)&&X(l.view.dom,l.view,p!==y||R||l.docChanged),!l.docChanged)return;const K=l.state.doc.toString();z.current=K,_.current(K),k(E.current)}),te.of(w.editable.of(!c)),oe.of(a??[]),re.of(le(u)),ne.of(ie(m,W.current)),ae.of(g?[Y({top:!0}),$.of(se(Q))]:[])]});return b.current=new w({state:h,parent:T.current}),L(b.current,b.current.state.doc.length,200),b.current.requestMeasure(),requestAnimationFrame(()=>{C(b.current),k(E.current)}),b.current&&j.current?.(b.current),()=>{I.current?.(),b.current?.destroy(),b.current=null,D([])}},[E,C,k]),d.useEffect(()=>{const s=b.current;s&&(s.dispatch({effects:[ee.reconfigure(V(r)),te.reconfigure(w.editable.of(!c)),oe.reconfigure(a??[]),re.reconfigure(le(u)),ne.reconfigure(ie(m,W.current)),ae.reconfigure(g?[Y({top:!0}),$.of(se(Q))]:[])]}),L(s,s.state.doc.length,200),s.requestMeasure(),requestAnimationFrame(()=>{C(s),k(E.current)}))},[a,u,r,c,m,g,C,k]),d.useEffect(()=>{const s=b.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=b.current;!s||g===!1||(F?(Ye(s),requestAnimationFrame(()=>{Ve(s.dom),X(s.dom,s,!0)})):Qe(s))},[F,g]),d.useEffect(()=>{const s=b.current;if(!s)return;const h=s.state.doc.toString();h!==t&&(s.dispatch({changes:{from:0,to:h.length,insert:t}}),L(s,s.state.doc.length,300),s.requestMeasure(),requestAnimationFrame(()=>C(s)))},[t,C]),v.jsxs(v.Fragment,{children:[v.jsx("div",{ref:T,className:qe("oc-surface-code 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",n)}),pe.map(s=>ge.createPortal(s.content,s.container,s.id))]})}const bt=t=>{const o=be.c(11),{currentMode:a,onToggle:n}=t,c=a==="preview",r=c?"Switch to edit mode":"Switch to preview mode",u=c?"Edit":"Preview";let i;o[0]!==c?(i=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]=i):i=o[1];let f;o[2]!==r||o[3]!==n||o[4]!==i?(f=v.jsx(We,{asChild:!0,children:v.jsx($e,{variant:"ghost",size:"sm",onClick:n,"aria-label":r,className:"h-5 w-5 p-0",children:i})}),o[2]=r,o[3]=n,o[4]=i,o[5]=f):f=o[5];let m;o[6]!==u?(m=v.jsx(He,{sideOffset:8,children:u}),o[6]=u,o[7]=m):m=o[7];let g;return o[8]!==f||o[9]!==m?(g=v.jsxs(Le,{children:[f,m]}),o[8]=f,o[9]=m,o[10]=g):g=o[10],g};function ht(t,o){const a=t.metadata.variant==="dark",n=t.config?.fonts?.mono||"monospace",c=t.colors.syntax.highlights||{},r=Be(t.colors.syntax),u=o?.fontSize?`${o.fontSize}px`:"var(--text-code)",i=t.colors.syntax.base.background,f=w.theme({"&":{backgroundColor:i,color:t.colors.syntax.base.foreground,fontSize:u,lineHeight:"1.5",position:"relative"},".cm-scroller":{fontFamily:n,backgroundColor:i},".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:i,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 ${i}`},".cm-gutter":{backgroundColor:i},".cm-gutterElement":{backgroundColor:i},".cm-lineNumbers":{backgroundColor:i},".cm-lineNumbers .cm-gutterElement":{paddingLeft:"8px",paddingRight:"8px",minWidth:"42px"},".cm-activeLineGutter":{color:c.lineNumberActive||t.colors.syntax.base.foreground},".cm-activeLine":{backgroundColor:`color-mix(in srgb, ${t.colors.syntax.base.foreground} 5%, transparent)`},".cm-panels":{backgroundColor:"transparent",color:t.colors.surface.elevatedForeground,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.elevatedForeground,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.elevated,color:t.colors.surface.elevatedForeground,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.interactive.borderFocus},'.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.elevatedForeground},'.cm-search label:has(input[type="checkbox"]:checked)::after':{color:t.colors.surface.elevatedForeground},'.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.elevatedForeground},".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.elevatedForeground},'.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.interactive.selection,color:t.colors.interactive.selectionForeground,boxShadow:`inset 0 0 0 1px ${t.colors.interactive.border}`,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}),m=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"}]),g=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?[f]:[f,O(Te,{fallback:!0}),O(je),O(m),O(g)]}const Je=180,fe=xe.define(),Xe=1,et=2,tt=4,ue=new Map,ot=(t,o)=>{const a=`${t}|${o}`,n=ue.get(a);if(n)return n;let c="";t&&(c+=`color:${t};`),o&Xe&&(c+="font-style:italic;"),o&et&&(c+="font-weight:bold;"),o&tt&&(c+="text-decoration:underline;");const r=M.mark({attributes:{style:c}});return ue.set(a,r),r},rt=(t,o)=>{const a=new B,n=t.state.doc,c=Math.min(o.length,n.lines);for(let r=0;r<c;r+=1){const u=o[r];if(!u||u.length===0)continue;const i=n.line(r+1);let f=i.from;for(const[m,g,F]of u){if(m<=0)continue;const N=f,x=Math.min(f+m,i.to);f+=m,!(x<=N)&&(!g&&!F||a.add(N,x,ot(g,F)))}}return a.finish()},nt=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)}),at=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)},Je)}async tokenize(o){const a=++this.generation,n=o.state.doc.toString(),c=await _e(n,t.language,t.themeName,t.theme);c&&a===this.generation&&o.state.doc.length===n.length&&o.dispatch({effects:fe.of(rt(o,c))})}destroy(){this.timer&&clearTimeout(this.timer)}}),xt=t=>[nt,at(t)];export{gt as C,bt as P,ht as c,xt as s};
@@ -1 +1 @@
1
- import{t as g}from"./themeResolver-BmJyTmjJ.js";import{c,D as l}from"./vendor-pierre-theming-C6Z4M5_u.js";import{gL as m}from"./useAppFontEffects-Bzyszv2N.js";function w(o,e){try{const t=c({name:o,load:e});g.registerTheme(t.name,t.load)}catch(t){if(t instanceof l){console.error("SharedHighlight.registerCustomTheme: theme name already registered",o);return}throw t}}const p=o=>/^#[0-9a-fA-F]{6}$/.test(o),f=o=>/^#[0-9a-fA-F]{8}$/.test(o),b=(o,e)=>/^[0-9a-fA-F]{2}$/.test(e)?p(o)?`${o}${e}`:f(o)?`${o.slice(0,7)}${e}`:o:o,n=(o,e)=>typeof o=="string"&&o.trim().length>0?o:e,k=o=>{const e=o.base,t=new Map(Object.entries(m(o))),r=(i,a)=>n(t.get(i),a);return[{name:"plain",scope:["source","support.type.property-name.css"],settings:{foreground:e.foreground}},{name:"classes",scope:["entity.name.type.class"],settings:{foreground:r("className",r("class",e.function))}},{name:"interfaces",scope:["entity.name.type.interface","entity.name.type"],settings:{foreground:r("interface",e.type)}},{name:"structs",scope:["entity.name.type.struct"],settings:{foreground:r("struct",e.function)}},{name:"enums",scope:["entity.name.type.enum"],settings:{foreground:r("enum",e.function)}},{name:"keys",scope:["meta.object-literal.key","support.type.property-name"],settings:{foreground:r("key",e.function)}},{name:"methods",scope:["entity.name.function.method","meta.function.method"],settings:{foreground:r("method",e.function)}},{name:"functions",scope:["entity.name.function","support.function","meta.function-call.generic"],settings:{foreground:e.function,fontStyle:"bold"}},{name:"variables",scope:["variable","meta.variable","variable.other.object.property"],settings:{foreground:e.variable}},{name:"variablesOther",scope:["variable.other.object","variable.other.readwrite.alias"],settings:{foreground:r("variableOther",e.variable)}},{name:"globalVariables",scope:["variable.other.global","variable.language.this"],settings:{foreground:r("variableGlobal",e.number)}},{name:"localVariables",scope:["variable.other.local"],settings:{foreground:r("variableLocal",e.variable)}},{name:"parameters",scope:["variable.parameter","meta.parameter"],settings:{foreground:r("parameter",e.foreground)}},{name:"properties",scope:["variable.other.property","meta.property"],settings:{foreground:r("variableProperty",e.variable)}},{name:"strings",scope:["string","string.other.link","markup.inline.raw.string.markdown"],settings:{foreground:e.string}},{name:"stringEscapeSequences",scope:["constant.character.escape","constant.other.placeholder"],settings:{foreground:r("stringEscape",e.foreground)}},{name:"keywords",scope:["keyword"],settings:{foreground:e.keyword}},{name:"keywordsControl",scope:["keyword.control.import","keyword.control.from","keyword.import"],settings:{foreground:r("keywordImport",e.operator)}},{name:"storageModifiers",scope:["storage.modifier","keyword.modifier","storage.type"],settings:{foreground:r("storageModifier",e.keyword)}},{name:"comments",scope:["comment","punctuation.definition.comment"],settings:{foreground:e.comment}},{name:"docComments",scope:["comment.documentation","comment.line.documentation"],settings:{foreground:r("commentDoc",e.comment)}},{name:"numbers",scope:["constant.numeric"],settings:{foreground:e.number}},{name:"booleans",scope:["constant.language.boolean","constant.language.json"],settings:{foreground:r("boolean",e.type)}},{name:"operators",scope:["keyword.operator"],settings:{foreground:e.operator}},{name:"macros",scope:["entity.name.function.preprocessor","meta.preprocessor"],settings:{foreground:r("macro",e.keyword)}},{name:"preprocessor",scope:["meta.preprocessor"],settings:{foreground:r("preprocessor",r("label",e.number))}},{name:"urls",scope:["markup.underline.link"],settings:{foreground:r("url",e.string)}},{name:"tags",scope:["entity.name.tag"],settings:{foreground:r("tag",e.keyword)}},{name:"jsxTags",scope:["support.class.component"],settings:{foreground:r("jsxTag",r("label",e.number))}},{name:"attributes",scope:["entity.other.attribute-name","meta.attribute"],settings:{foreground:r("tagAttribute",e.type)}},{name:"types",scope:["support.type"],settings:{foreground:e.type}},{name:"constants",scope:["variable.other.constant","variable.readonly"],settings:{foreground:r("constant",e.foreground)}},{name:"labels",scope:["entity.name.label","punctuation.definition.label"],settings:{foreground:r("label",r("variableGlobal",e.number))}},{name:"namespaces",scope:["entity.name.namespace","storage.modifier.namespace","markup.bold.markdown"],settings:{foreground:r("namespace",e.type)}},{name:"modules",scope:["entity.name.module","storage.modifier.module"],settings:{foreground:r("module",e.operator)}},{name:"typeParameters",scope:["variable.type.parameter","variable.parameter.type"],settings:{foreground:r("typeParameter",e.function)}},{name:"exceptions",scope:["keyword.control.exception","keyword.control.trycatch"],settings:{foreground:r("exception",r("label",e.number))}},{name:"decorators",scope:["meta.decorator","punctuation.decorator","entity.name.function.decorator"],settings:{foreground:r("decorator",e.type)}},{name:"calls",scope:["variable.function"],settings:{foreground:e.foreground}},{name:"punctuation",scope:["punctuation","punctuation.terminator","punctuation.definition.tag","punctuation.separator","punctuation.definition.string","punctuation.section.block"],settings:{foreground:r("punctuation",e.comment)}},{name:"yellow",scope:["storage.type.numeric.go","storage.type.byte.go","storage.type.boolean.go","storage.type.string.go","storage.type.uintptr.go","storage.type.error.go","storage.type.rune.go","constant.language.go","support.class.dart","keyword.other.documentation","storage.modifier.import.java","punctuation.definition.list.begin.markdown","punctuation.definition.quote.begin.markdown","meta.separator.markdown","entity.name.section.markdown"],settings:{foreground:e.type}},{name:"green",scope:[],settings:{foreground:r("method",e.function)}},{name:"cyan",scope:["markup.italic.markdown","support.type.python","variable.legacy.builtin.python","support.constant.property-value.css","storage.modifier.attribute.swift"],settings:{foreground:e.string}},{name:"blue",scope:[],settings:{foreground:e.keyword}},{name:"purple",scope:["keyword.channel.go","keyword.other.platform.os.swift"],settings:{foreground:e.number}},{name:"magenta",scope:["punctuation.definition.heading.markdown"],settings:{foreground:r("label",r("variableGlobal",e.number))}},{name:"red",scope:[],settings:{foreground:e.operator}},{name:"orange",scope:[],settings:{foreground:e.function}}]},y=o=>{const e=o.colors.surface,t=o.colors.interactive,r=o.colors.status,i=o.colors.syntax.base,a=o.colors.syntax.highlights??{},d=i.background,u=n(a.diffAddedBackground,r.successBackground),s=n(a.diffRemovedBackground,r.errorBackground);return{"editor.background":d,"editor.foreground":i.foreground,"editor.hoverHighlightBackground":n(t.hover,e.subtle),"editor.lineHighlightBackground":e.muted,"editor.selectionBackground":t.selection,"editor.selectionHighlightBackground":t.selection,"editor.findMatchBackground":i.type,"editor.findMatchHighlightBackground":b(i.type,"cc"),"editor.findRangeHighlightBackground":e.muted,"editor.inactiveSelectionBackground":e.elevated,"editor.lineHighlightBorder":e.elevated,"editor.rangeHighlightBackground":n(t.active,t.borderHover),"notifications.background":e.elevated,"editorInlayHint.typeBackground":e.subtle,"editorInlayHint.typeForeground":e.foreground,"editorWhitespace.foreground":t.borderHover,"editorIndentGuide.background1":e.subtle,"editorHoverWidget.background":e.elevated,"editorLineNumber.activeForeground":n(a.lineNumberActive,e.foreground),"editorLineNumber.foreground":n(a.lineNumber,e.mutedForeground),"editorGutter.background":d,"editorGutter.modifiedBackground":r.info,"editorGutter.addedBackground":r.success,"editorGutter.deletedBackground":r.error,"editorBracketMatch.background":e.elevated,"editorBracketMatch.border":e.subtle,"editorError.foreground":r.error,"editorWarning.foreground":r.warning,"editorInfo.foreground":r.info,"diffEditor.insertedTextBackground":u,"diffEditor.removedTextBackground":s,"editorGroupHeader.tabsBackground":e.background,"editorGroup.border":t.border,"tab.activeBackground":e.background,"tab.inactiveBackground":e.muted,"tab.inactiveForeground":e.mutedForeground,"tab.activeForeground":e.foreground,"tab.hoverBackground":e.subtle,"tab.unfocusedHoverBackground":e.subtle,"tab.border":t.border,"tab.activeModifiedBorder":i.type,"tab.inactiveModifiedBorder":r.info,"tab.unfocusedActiveModifiedBorder":i.type,"tab.unfocusedInactiveModifiedBorder":r.info,"editorWidget.background":e.muted,"editorWidget.border":t.border,"editorSuggestWidget.background":e.background,"editorSuggestWidget.border":t.border,"editorSuggestWidget.foreground":e.foreground,"editorSuggestWidget.highlightForeground":e.mutedForeground,"editorSuggestWidget.selectedBackground":e.subtle,"peekView.border":t.border,"peekViewEditor.background":e.background,"peekViewEditor.matchHighlightBackground":e.subtle,"peekViewResult.background":e.muted,"peekViewResult.fileForeground":e.foreground,"peekViewResult.lineForeground":e.mutedForeground,"peekViewResult.matchHighlightBackground":e.subtle,"peekViewResult.selectionBackground":e.elevated,"peekViewResult.selectionForeground":e.mutedForeground,"peekViewTitle.background":e.subtle,"peekViewTitleDescription.foreground":e.mutedForeground,"peekViewTitleLabel.foreground":e.foreground,"merge.currentHeaderBackground":r.success,"merge.currentContentBackground":n(a.diffAdded,r.success),"merge.incomingHeaderBackground":r.info,"merge.incomingContentBackground":n(a.diffModified,r.info),"merge.border":t.border,"merge.commonContentBackground":e.subtle,"merge.commonHeaderBackground":e.muted,"panel.background":e.background,"panel.border":t.border,"panelTitle.activeBorder":t.borderHover,"panelTitle.activeForeground":e.foreground,"panelTitle.inactiveForeground":e.mutedForeground,"statusBar.background":e.background,"statusBar.foreground":e.foreground,"statusBar.border":t.border,"statusBar.debuggingBackground":r.error,"statusBar.debuggingForeground":r.errorForeground,"statusBar.noFolderBackground":e.subtle,"statusBar.noFolderForeground":e.mutedForeground,"titleBar.activeBackground":e.background,"titleBar.activeForeground":e.foreground,"titleBar.inactiveBackground":e.muted,"titleBar.inactiveForeground":e.mutedForeground,"titleBar.border":t.border,"menu.foreground":e.foreground,"menu.background":e.background,"menu.selectionForeground":e.foreground,"menu.selectionBackground":e.subtle,"menu.border":t.border,"editorInlayHint.foreground":e.mutedForeground,"editorInlayHint.background":e.subtle,"terminal.foreground":e.foreground,"terminal.background":e.background,"terminalCursor.foreground":e.foreground,"terminalCursor.background":e.background,"terminal.ansiRed":n(a.diffRemoved,r.error),"terminal.ansiGreen":n(a.diffAdded,r.success),"terminal.ansiYellow":r.warning,"terminal.ansiBlue":n(a.diffModified,r.info),"terminal.ansiMagenta":i.keyword,"terminal.ansiCyan":i.type,"activityBar.background":e.background,"activityBar.foreground":e.foreground,"activityBar.inactiveForeground":e.mutedForeground,"activityBar.activeBorder":e.foreground,"activityBar.border":t.border,"sideBar.background":e.background,"sideBar.foreground":e.foreground,"sideBar.border":t.border,"sideBarTitle.foreground":e.foreground,"sideBarSectionHeader.background":e.muted,"sideBarSectionHeader.foreground":e.foreground,"sideBarSectionHeader.border":t.border,"sideBar.activeBackground":e.subtle,"sideBar.activeForeground":e.foreground,"sideBar.hoverBackground":e.muted,"sideBar.hoverForeground":e.foreground,"list.warningForeground":r.warning,"list.errorForeground":r.error,"list.inactiveSelectionBackground":e.subtle,"list.activeSelectionBackground":e.elevated,"list.inactiveSelectionForeground":e.foreground,"list.activeSelectionForeground":e.foreground,"list.hoverForeground":e.foreground,"list.hoverBackground":e.muted,"input.background":e.muted,"input.foreground":e.foreground,"input.border":t.border,"input.placeholderForeground":e.mutedForeground,"inputOption.activeBorder":t.border,"inputOption.activeBackground":e.elevated,"inputOption.activeForeground":e.foreground,"inputValidation.infoBackground":r.infoBackground,"inputValidation.infoBorder":r.infoBorder,"inputValidation.warningBackground":r.warningBackground,"inputValidation.warningBorder":r.warningBorder,"inputValidation.errorBackground":r.errorBackground,"inputValidation.errorBorder":r.errorBorder,"dropdown.background":e.muted,"dropdown.foreground":e.foreground,"dropdown.border":t.border,"dropdown.listBackground":e.background,"badge.background":o.colors.primary.base,"activityBarBadge.background":o.colors.primary.base,"button.background":o.colors.primary.base,"button.foreground":n(o.colors.primary.foreground,e.background),"badge.foreground":n(o.colors.primary.foreground,e.background),"activityBarBadge.foreground":n(o.colors.primary.foreground,e.background)}};function F(o){return{name:o.metadata.name,type:o.metadata.variant,colors:y(o),tokenColors:k(o.colors.syntax)}}export{F as a,k as b,w as r};
1
+ import{t as g}from"./themeResolver-BmJyTmjJ.js";import{c,D as l}from"./vendor-pierre-theming-C6Z4M5_u.js";import{gP as m}from"./useAppFontEffects-DDjuwVqi.js";function w(o,e){try{const t=c({name:o,load:e});g.registerTheme(t.name,t.load)}catch(t){if(t instanceof l){console.error("SharedHighlight.registerCustomTheme: theme name already registered",o);return}throw t}}const p=o=>/^#[0-9a-fA-F]{6}$/.test(o),f=o=>/^#[0-9a-fA-F]{8}$/.test(o),b=(o,e)=>/^[0-9a-fA-F]{2}$/.test(e)?p(o)?`${o}${e}`:f(o)?`${o.slice(0,7)}${e}`:o:o,n=(o,e)=>typeof o=="string"&&o.trim().length>0?o:e,k=o=>{const e=o.base,t=new Map(Object.entries(m(o))),r=(i,a)=>n(t.get(i),a);return[{name:"plain",scope:["source","support.type.property-name.css"],settings:{foreground:e.foreground}},{name:"classes",scope:["entity.name.type.class"],settings:{foreground:r("className",r("class",e.function))}},{name:"interfaces",scope:["entity.name.type.interface","entity.name.type"],settings:{foreground:r("interface",e.type)}},{name:"structs",scope:["entity.name.type.struct"],settings:{foreground:r("struct",e.function)}},{name:"enums",scope:["entity.name.type.enum"],settings:{foreground:r("enum",e.function)}},{name:"keys",scope:["meta.object-literal.key","support.type.property-name"],settings:{foreground:r("key",e.function)}},{name:"methods",scope:["entity.name.function.method","meta.function.method"],settings:{foreground:r("method",e.function)}},{name:"functions",scope:["entity.name.function","support.function","meta.function-call.generic"],settings:{foreground:e.function,fontStyle:"bold"}},{name:"variables",scope:["variable","meta.variable","variable.other.object.property"],settings:{foreground:e.variable}},{name:"variablesOther",scope:["variable.other.object","variable.other.readwrite.alias"],settings:{foreground:r("variableOther",e.variable)}},{name:"globalVariables",scope:["variable.other.global","variable.language.this"],settings:{foreground:r("variableGlobal",e.number)}},{name:"localVariables",scope:["variable.other.local"],settings:{foreground:r("variableLocal",e.variable)}},{name:"parameters",scope:["variable.parameter","meta.parameter"],settings:{foreground:r("parameter",e.foreground)}},{name:"properties",scope:["variable.other.property","meta.property"],settings:{foreground:r("variableProperty",e.variable)}},{name:"strings",scope:["string","string.other.link","markup.inline.raw.string.markdown"],settings:{foreground:e.string}},{name:"stringEscapeSequences",scope:["constant.character.escape","constant.other.placeholder"],settings:{foreground:r("stringEscape",e.foreground)}},{name:"keywords",scope:["keyword"],settings:{foreground:e.keyword}},{name:"keywordsControl",scope:["keyword.control.import","keyword.control.from","keyword.import"],settings:{foreground:r("keywordImport",e.operator)}},{name:"storageModifiers",scope:["storage.modifier","keyword.modifier","storage.type"],settings:{foreground:r("storageModifier",e.keyword)}},{name:"comments",scope:["comment","punctuation.definition.comment"],settings:{foreground:e.comment}},{name:"docComments",scope:["comment.documentation","comment.line.documentation"],settings:{foreground:r("commentDoc",e.comment)}},{name:"numbers",scope:["constant.numeric"],settings:{foreground:e.number}},{name:"booleans",scope:["constant.language.boolean","constant.language.json"],settings:{foreground:r("boolean",e.type)}},{name:"operators",scope:["keyword.operator"],settings:{foreground:e.operator}},{name:"macros",scope:["entity.name.function.preprocessor","meta.preprocessor"],settings:{foreground:r("macro",e.keyword)}},{name:"preprocessor",scope:["meta.preprocessor"],settings:{foreground:r("preprocessor",r("label",e.number))}},{name:"urls",scope:["markup.underline.link"],settings:{foreground:r("url",e.string)}},{name:"tags",scope:["entity.name.tag"],settings:{foreground:r("tag",e.keyword)}},{name:"jsxTags",scope:["support.class.component"],settings:{foreground:r("jsxTag",r("label",e.number))}},{name:"attributes",scope:["entity.other.attribute-name","meta.attribute"],settings:{foreground:r("tagAttribute",e.type)}},{name:"types",scope:["support.type"],settings:{foreground:e.type}},{name:"constants",scope:["variable.other.constant","variable.readonly"],settings:{foreground:r("constant",e.foreground)}},{name:"labels",scope:["entity.name.label","punctuation.definition.label"],settings:{foreground:r("label",r("variableGlobal",e.number))}},{name:"namespaces",scope:["entity.name.namespace","storage.modifier.namespace","markup.bold.markdown"],settings:{foreground:r("namespace",e.type)}},{name:"modules",scope:["entity.name.module","storage.modifier.module"],settings:{foreground:r("module",e.operator)}},{name:"typeParameters",scope:["variable.type.parameter","variable.parameter.type"],settings:{foreground:r("typeParameter",e.function)}},{name:"exceptions",scope:["keyword.control.exception","keyword.control.trycatch"],settings:{foreground:r("exception",r("label",e.number))}},{name:"decorators",scope:["meta.decorator","punctuation.decorator","entity.name.function.decorator"],settings:{foreground:r("decorator",e.type)}},{name:"calls",scope:["variable.function"],settings:{foreground:e.foreground}},{name:"punctuation",scope:["punctuation","punctuation.terminator","punctuation.definition.tag","punctuation.separator","punctuation.definition.string","punctuation.section.block"],settings:{foreground:r("punctuation",e.comment)}},{name:"yellow",scope:["storage.type.numeric.go","storage.type.byte.go","storage.type.boolean.go","storage.type.string.go","storage.type.uintptr.go","storage.type.error.go","storage.type.rune.go","constant.language.go","support.class.dart","keyword.other.documentation","storage.modifier.import.java","punctuation.definition.list.begin.markdown","punctuation.definition.quote.begin.markdown","meta.separator.markdown","entity.name.section.markdown"],settings:{foreground:e.type}},{name:"green",scope:[],settings:{foreground:r("method",e.function)}},{name:"cyan",scope:["markup.italic.markdown","support.type.python","variable.legacy.builtin.python","support.constant.property-value.css","storage.modifier.attribute.swift"],settings:{foreground:e.string}},{name:"blue",scope:[],settings:{foreground:e.keyword}},{name:"purple",scope:["keyword.channel.go","keyword.other.platform.os.swift"],settings:{foreground:e.number}},{name:"magenta",scope:["punctuation.definition.heading.markdown"],settings:{foreground:r("label",r("variableGlobal",e.number))}},{name:"red",scope:[],settings:{foreground:e.operator}},{name:"orange",scope:[],settings:{foreground:e.function}}]},y=o=>{const e=o.colors.surface,t=o.colors.interactive,r=o.colors.status,i=o.colors.syntax.base,a=o.colors.syntax.highlights??{},d=i.background,u=n(a.diffAddedBackground,r.successBackground),s=n(a.diffRemovedBackground,r.errorBackground);return{"editor.background":d,"editor.foreground":i.foreground,"editor.hoverHighlightBackground":n(t.hover,e.subtle),"editor.lineHighlightBackground":e.muted,"editor.selectionBackground":t.selection,"editor.selectionHighlightBackground":t.selection,"editor.findMatchBackground":i.type,"editor.findMatchHighlightBackground":b(i.type,"cc"),"editor.findRangeHighlightBackground":e.muted,"editor.inactiveSelectionBackground":e.elevated,"editor.lineHighlightBorder":e.elevated,"editor.rangeHighlightBackground":n(t.active,t.borderHover),"notifications.background":e.elevated,"editorInlayHint.typeBackground":e.subtle,"editorInlayHint.typeForeground":e.foreground,"editorWhitespace.foreground":t.borderHover,"editorIndentGuide.background1":e.subtle,"editorHoverWidget.background":e.elevated,"editorLineNumber.activeForeground":n(a.lineNumberActive,e.foreground),"editorLineNumber.foreground":n(a.lineNumber,e.mutedForeground),"editorGutter.background":d,"editorGutter.modifiedBackground":r.info,"editorGutter.addedBackground":r.success,"editorGutter.deletedBackground":r.error,"editorBracketMatch.background":e.elevated,"editorBracketMatch.border":e.subtle,"editorError.foreground":r.error,"editorWarning.foreground":r.warning,"editorInfo.foreground":r.info,"diffEditor.insertedTextBackground":u,"diffEditor.removedTextBackground":s,"editorGroupHeader.tabsBackground":e.background,"editorGroup.border":t.border,"tab.activeBackground":e.background,"tab.inactiveBackground":e.muted,"tab.inactiveForeground":e.mutedForeground,"tab.activeForeground":e.foreground,"tab.hoverBackground":e.subtle,"tab.unfocusedHoverBackground":e.subtle,"tab.border":t.border,"tab.activeModifiedBorder":i.type,"tab.inactiveModifiedBorder":r.info,"tab.unfocusedActiveModifiedBorder":i.type,"tab.unfocusedInactiveModifiedBorder":r.info,"editorWidget.background":e.muted,"editorWidget.border":t.border,"editorSuggestWidget.background":e.background,"editorSuggestWidget.border":t.border,"editorSuggestWidget.foreground":e.foreground,"editorSuggestWidget.highlightForeground":e.mutedForeground,"editorSuggestWidget.selectedBackground":e.subtle,"peekView.border":t.border,"peekViewEditor.background":e.background,"peekViewEditor.matchHighlightBackground":e.subtle,"peekViewResult.background":e.muted,"peekViewResult.fileForeground":e.foreground,"peekViewResult.lineForeground":e.mutedForeground,"peekViewResult.matchHighlightBackground":e.subtle,"peekViewResult.selectionBackground":e.elevated,"peekViewResult.selectionForeground":e.mutedForeground,"peekViewTitle.background":e.subtle,"peekViewTitleDescription.foreground":e.mutedForeground,"peekViewTitleLabel.foreground":e.foreground,"merge.currentHeaderBackground":r.success,"merge.currentContentBackground":n(a.diffAdded,r.success),"merge.incomingHeaderBackground":r.info,"merge.incomingContentBackground":n(a.diffModified,r.info),"merge.border":t.border,"merge.commonContentBackground":e.subtle,"merge.commonHeaderBackground":e.muted,"panel.background":e.background,"panel.border":t.border,"panelTitle.activeBorder":t.borderHover,"panelTitle.activeForeground":e.foreground,"panelTitle.inactiveForeground":e.mutedForeground,"statusBar.background":e.background,"statusBar.foreground":e.foreground,"statusBar.border":t.border,"statusBar.debuggingBackground":r.error,"statusBar.debuggingForeground":r.errorForeground,"statusBar.noFolderBackground":e.subtle,"statusBar.noFolderForeground":e.mutedForeground,"titleBar.activeBackground":e.background,"titleBar.activeForeground":e.foreground,"titleBar.inactiveBackground":e.muted,"titleBar.inactiveForeground":e.mutedForeground,"titleBar.border":t.border,"menu.foreground":e.foreground,"menu.background":e.background,"menu.selectionForeground":e.foreground,"menu.selectionBackground":e.subtle,"menu.border":t.border,"editorInlayHint.foreground":e.mutedForeground,"editorInlayHint.background":e.subtle,"terminal.foreground":e.foreground,"terminal.background":e.background,"terminalCursor.foreground":e.foreground,"terminalCursor.background":e.background,"terminal.ansiRed":n(a.diffRemoved,r.error),"terminal.ansiGreen":n(a.diffAdded,r.success),"terminal.ansiYellow":r.warning,"terminal.ansiBlue":n(a.diffModified,r.info),"terminal.ansiMagenta":i.keyword,"terminal.ansiCyan":i.type,"activityBar.background":e.background,"activityBar.foreground":e.foreground,"activityBar.inactiveForeground":e.mutedForeground,"activityBar.activeBorder":e.foreground,"activityBar.border":t.border,"sideBar.background":e.background,"sideBar.foreground":e.foreground,"sideBar.border":t.border,"sideBarTitle.foreground":e.foreground,"sideBarSectionHeader.background":e.muted,"sideBarSectionHeader.foreground":e.foreground,"sideBarSectionHeader.border":t.border,"sideBar.activeBackground":e.subtle,"sideBar.activeForeground":e.foreground,"sideBar.hoverBackground":e.muted,"sideBar.hoverForeground":e.foreground,"list.warningForeground":r.warning,"list.errorForeground":r.error,"list.inactiveSelectionBackground":e.subtle,"list.activeSelectionBackground":e.elevated,"list.inactiveSelectionForeground":e.foreground,"list.activeSelectionForeground":e.foreground,"list.hoverForeground":e.foreground,"list.hoverBackground":e.muted,"input.background":e.muted,"input.foreground":e.foreground,"input.border":t.border,"input.placeholderForeground":e.mutedForeground,"inputOption.activeBorder":t.border,"inputOption.activeBackground":e.elevated,"inputOption.activeForeground":e.foreground,"inputValidation.infoBackground":r.infoBackground,"inputValidation.infoBorder":r.infoBorder,"inputValidation.warningBackground":r.warningBackground,"inputValidation.warningBorder":r.warningBorder,"inputValidation.errorBackground":r.errorBackground,"inputValidation.errorBorder":r.errorBorder,"dropdown.background":e.muted,"dropdown.foreground":e.foreground,"dropdown.border":t.border,"dropdown.listBackground":e.background,"badge.background":o.colors.primary.base,"activityBarBadge.background":o.colors.primary.base,"button.background":o.colors.primary.base,"button.foreground":n(o.colors.primary.foreground,e.background),"badge.foreground":n(o.colors.primary.foreground,e.background),"activityBarBadge.foreground":n(o.colors.primary.foreground,e.background)}};function F(o){return{name:o.metadata.name,type:o.metadata.variant,colors:y(o),tokenColors:k(o.colors.syntax)}}export{F as a,k as b,w as r};