@dimina-kit/devtools 0.4.0-dev.20260710085051 → 0.4.0-dev.20260711133419

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 (43) hide show
  1. package/dist/main/ipc/project-fs.d.ts +2 -2
  2. package/dist/main/ipc/project-fs.js +1 -1
  3. package/dist/main/services/render-inspect/index.d.ts +1 -1
  4. package/dist/main/services/workbench-coi-server.js +2 -2
  5. package/dist/preload/instrumentation/wxml.js +1 -1
  6. package/dist/preload/runtime/bridge.d.ts +3 -3
  7. package/dist/preload/runtime/bridge.js +2 -2
  8. package/dist/preload/windows/host-toolbar-runtime.cjs.map +2 -2
  9. package/dist/preload/windows/simulator.cjs +12 -4
  10. package/dist/preload/windows/simulator.cjs.map +3 -3
  11. package/dist/preload/windows/simulator.js +12 -4
  12. package/dist/render-host/render-inspect.js +189 -88
  13. package/dist/renderer/assets/index-WbvXdhWQ.js +49 -0
  14. package/dist/renderer/assets/{input-CTb_le7F.js → input-COtRON-n.js} +2 -2
  15. package/dist/renderer/assets/{ipc-transport-BPWIV5hA.css → ipc-transport-CNvORIEX.css} +1 -1
  16. package/dist/renderer/assets/{ipc-transport-Ck5Xa8Tu.js → ipc-transport-SuI2rOB_.js} +1 -1
  17. package/dist/renderer/assets/{popover-B1Zu2UQu.js → popover-B73T3z-m.js} +2 -2
  18. package/dist/renderer/assets/{select-ozSk5Pt6.js → select-Bwb8O0Mf.js} +2 -2
  19. package/dist/renderer/assets/{settings-CNwGOI22.js → settings-BispnvJU.js} +2 -2
  20. package/dist/renderer/assets/{settings-api-DMbMp1Eq.js → settings-api-HIBz8BFz.js} +2 -2
  21. package/dist/renderer/assets/{workbenchSettings-C6w5S2ZY.js → workbenchSettings-CtRBr7gS.js} +2 -2
  22. package/dist/renderer/entries/main/index.html +6 -6
  23. package/dist/renderer/entries/popover/index.html +5 -5
  24. package/dist/renderer/entries/settings/index.html +5 -5
  25. package/dist/renderer/entries/workbench-settings/index.html +4 -4
  26. package/dist/shared/ipc-channels.d.ts +2 -44
  27. package/dist/vscode-workbench/assets/__vite-browser-external-BON7qP59.js +1 -0
  28. package/dist/vscode-workbench/assets/{dist-UYlh9rWP.js → dist-oHcwN53f.js} +3 -3
  29. package/dist/vscode-workbench/assets/fs-core-worker-urls-DZ1nod84.js +1 -0
  30. package/dist/vscode-workbench/assets/fs-core.worker-Bnmpp6fo.js +1 -0
  31. package/dist/vscode-workbench/assets/{iconv-lite-umd-P85lbjJb.js → iconv-lite-umd-CLMLpdGm.js} +1 -1
  32. package/dist/vscode-workbench/assets/{index-nrKFi46w.js → index-BE3UJdoH.js} +3 -3
  33. package/dist/vscode-workbench/assets/{jschardet-CLQONAKz.js → jschardet-BICW8PLJ.js} +1 -1
  34. package/dist/vscode-workbench/index.html +1 -1
  35. package/package.json +5 -4
  36. package/dist/preload/instrumentation/wxml-extract.d.ts +0 -11
  37. package/dist/preload/instrumentation/wxml-extract.js +0 -382
  38. package/dist/preload/shared/sid-registry.d.ts +0 -11
  39. package/dist/preload/shared/sid-registry.js +0 -38
  40. package/dist/renderer/assets/index-BjCKGJDg.js +0 -49
  41. package/dist/vscode-workbench/assets/__vite-browser-external-B1y6A_ue.js +0 -1
  42. package/dist/vscode-workbench/assets/fs-core-worker-urls-BGhWkdqX.js +0 -1
  43. package/dist/vscode-workbench/assets/fs-core.worker-Bs1XABE2.js +0 -1
@@ -1,8 +1,8 @@
1
- import{S as e,T as t,w as n,x as r}from"./ipc-transport-Ck5Xa8Tu.js";import{t as i}from"./constants-EAMiwL9_.js";import{a,c as o,i as s,r as c,s as l,u}from"./settings-api-DMbMp1Eq.js";var d=t(e(),1),f=t(n(),1),p=r(),m=[{id:`general`,label:`通用`},{id:`debug`,label:`调试`},{id:`mcp`,label:`MCP`}],h={system:`跟随系统`,dark:`深色`,light:`浅色`};function g({checked:e,onClick:t}){return(0,p.jsx)(`button`,{type:`button`,onClick:t,className:`relative inline-flex h-5 w-9 shrink-0 rounded-full transition-colors`,style:{background:e?`var(--color-accent)`:`var(--color-surface-3)`},children:(0,p.jsx)(`span`,{className:`inline-block h-3.5 w-3.5 rounded-full bg-white transition-transform`,style:{marginTop:3,transform:e?`translateX(18px)`:`translateX(3px)`}})})}function _({activeTab:e,onSelect:t}){return(0,p.jsx)(`div`,{className:`flex items-center border-b border-border shrink-0`,children:m.map(n=>(0,p.jsx)(`button`,{className:`flex-1 py-2.5 text-[12px] text-center transition-colors ${e===n.id?`text-accent border-b-2 border-accent`:`text-text-secondary hover:text-text`}`,onClick:()=>t(n.id),children:n.label},n.id))})}function v({theme:e,onSelect:t}){return(0,p.jsx)(`div`,{className:`flex rounded overflow-hidden border border-border text-[11px]`,children:[`system`,`dark`,`light`].map((n,r)=>(0,p.jsx)(`button`,{onClick:()=>t(n),className:[`px-3 py-1 transition-colors`,r>0?`border-l border-border`:``,e===n?`bg-accent text-white`:`text-text-secondary hover:text-text hover:bg-surface-3`].join(` `),children:h[n]},n))})}function y({autoBuildEnabled:e,onAutoBuildChange:t,autoReloadEnabled:n,onAutoReloadChange:r,theme:i,onThemeChange:a,saved:o}){return(0,p.jsxs)(`div`,{className:`space-y-4`,children:[(0,p.jsxs)(`section`,{className:`rounded-lg border border-border p-4 space-y-4 bg-bg`,children:[(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`h2`,{className:`text-[13px] font-medium mb-1`,children:`编译与预览`}),(0,p.jsx)(`p`,{className:`text-[11px] leading-relaxed text-text-secondary`,children:`开启「自动编译」后,打开项目时会监听源文件改动并自动重新编译。开启「自动刷新」后,每次编译完成会刷新模拟器;关闭它可保留当前页面栈与表单状态,仅手动刷新。配置在下次打开项目时生效。`})]}),(0,p.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,p.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`监听文件变化自动编译`}),(0,p.jsx)(g,{checked:e,onClick:()=>t(!e)})]}),(0,p.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,p.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`编译完成后自动刷新模拟器`}),(0,p.jsx)(g,{checked:n,onClick:()=>r(!n)})]})]}),(0,p.jsxs)(`section`,{className:`rounded-lg border border-border p-4 space-y-3 bg-bg`,children:[(0,p.jsx)(`div`,{children:(0,p.jsx)(`h2`,{className:`text-[13px] font-medium mb-1`,children:`外观`})}),(0,p.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,p.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`颜色模式`}),(0,p.jsx)(v,{theme:i,onSelect:a})]})]}),o&&(0,p.jsx)(`div`,{className:`text-[11px] text-status-success`,children:`已保存`})]})}function b({cdpStatus:e}){return(0,p.jsxs)(`div`,{className:`rounded p-3 space-y-2 border border-border bg-surface`,children:[(0,p.jsx)(`div`,{className:`text-[11px] font-medium text-text-secondary`,children:`当前状态`}),(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(`span`,{className:`inline-block w-2 h-2 rounded-full`,style:{background:e?.active?`var(--color-status-success)`:`var(--color-text-dim)`}}),(0,p.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:e?.active?`CDP 已激活 - 端口 ${e.activePort}`:`CDP 未激活`})]}),e?.implicitDevDefault&&(0,p.jsx)(`div`,{className:`text-[11px] text-text-dim`,children:`当前为开发模式默认端口`}),e?.active&&(0,p.jsxs)(`div`,{className:`text-[11px] text-text-dim font-mono`,children:[`调试地址: http://localhost:`,e.activePort]})]})}function x(e,t){return!e||e.implicitDevDefault?!1:t.enabled===e.active?t.enabled&&e.active&&t.port!==e.activePort:!0}function S({cdpEnabled:e,onToggleCdp:t,portInput:n,onPortInputChange:r,cdpStatus:a,needsRestart:o,onSave:s,saved:c}){return(0,p.jsxs)(`section`,{className:`rounded-lg border border-border p-4 space-y-4 bg-bg`,children:[(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`h2`,{className:`text-[13px] font-medium mb-1`,children:`DevTools Protocol`}),(0,p.jsx)(`p`,{className:`text-[11px] leading-relaxed text-text-secondary`,children:`开启后可通过 DevTools Protocol 连接调试模拟器。配置变更需要重启应用后生效。`})]}),(0,p.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,p.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`启用 DevTools Protocol`}),(0,p.jsx)(g,{checked:e,onClick:t})]}),(0,p.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,p.jsx)(`label`,{className:`text-[12px] shrink-0 w-16 text-text-secondary`,children:`调试端口`}),(0,p.jsx)(`input`,{type:`number`,min:1024,max:65535,value:n,onChange:e=>r(e.target.value),disabled:!e,className:`w-24 h-7 px-2 rounded text-[12px] outline-none bg-surface border border-border text-text`,style:{opacity:e?1:.4}}),(0,p.jsxs)(`span`,{className:`text-[11px] text-text-dim`,children:[`默认 `,i]})]}),(0,p.jsx)(b,{cdpStatus:a}),o&&(0,p.jsx)(`div`,{className:`rounded px-3 py-2 text-[12px] border bg-warn-bg text-[var(--color-status-warn)]`,children:`配置已变更,需要重启应用后生效`}),(0,p.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,p.jsx)(`button`,{onClick:s,className:`h-7 px-4 rounded text-[13px] font-medium text-white bg-accent hover:bg-accent-hover`,children:`保存`}),c&&(0,p.jsx)(`span`,{className:`text-[11px] text-status-success`,children:`已保存`})]})]})}function C({color:e,children:t}){return(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(`span`,{className:`inline-block w-2 h-2 rounded-full`,style:{background:e}}),(0,p.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:t})]})}function w({mcpEnabled:e,mcpStatus:t}){return(0,p.jsxs)(`div`,{className:`rounded p-3 space-y-2 border border-border bg-surface`,children:[(0,p.jsx)(`div`,{className:`text-[11px] font-medium text-text-secondary`,children:`当前状态`}),e?t?.running?(0,p.jsxs)(C,{color:`var(--color-status-success)`,children:[`MCP 已运行 - 端口 `,t.activePort]}):(0,p.jsxs)(C,{color:`var(--color-status-error, #e54d4d)`,children:[`MCP 未运行`,t?.error===`port-in-use`?`(端口 ${t.configuredPort} 已被占用)`:t?.error?`(${t.error})`:``]}):(0,p.jsx)(C,{color:`var(--color-text-dim)`,children:`MCP 未启用`})]})}function T({mcpEnabled:e,onToggleMcp:t,mcpPortInput:n,onMcpPortInputChange:r,mcpStatus:i,mcpPort:a,onSave:o,saved:s}){return(0,p.jsxs)(`section`,{className:`rounded-lg border border-border p-4 space-y-4 bg-bg`,children:[(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`h2`,{className:`text-[13px] font-medium mb-1`,children:`MCP 配置`}),(0,p.jsx)(`p`,{className:`text-[11px] leading-relaxed text-text-secondary`,children:`AI 助手可以通过 MCP 连接当前开发工具,读取 console、截图、执行 JS、查看 DOM / Storage / 网络请求。启用后开发工具启动时会自动监听 SSE 端点,并自动启用 CDP。`})]}),(0,p.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,p.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`启用 MCP 服务`}),(0,p.jsx)(g,{checked:e,onClick:t})]}),(0,p.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,p.jsx)(`label`,{className:`text-[12px] shrink-0 w-16 text-text-secondary`,children:`SSE 端口`}),(0,p.jsx)(`input`,{type:`number`,min:1024,max:65535,value:n,onChange:e=>r(e.target.value),disabled:!e,className:`w-24 h-7 px-2 rounded text-[12px] outline-none bg-surface border border-border text-text`,style:{opacity:e?1:.4}}),(0,p.jsx)(`span`,{className:`text-[11px] text-text-dim`,children:`默认 7789`})]}),(0,p.jsx)(w,{mcpEnabled:e,mcpStatus:i}),(0,p.jsxs)(`div`,{className:`rounded p-3 border border-border bg-surface`,children:[(0,p.jsx)(`div`,{className:`text-[11px] font-medium mb-2 text-text-secondary`,children:"`.mcp.json` 示例(SSE 传输)"}),(0,p.jsx)(`pre`,{className:`text-[11px] whitespace-pre-wrap leading-relaxed text-[var(--color-code-blue)] font-mono`,children:`{
1
+ import{S as e,T as t,w as n,x as r}from"./ipc-transport-SuI2rOB_.js";import{t as i}from"./constants-EAMiwL9_.js";import{a,c as o,i as s,r as c,s as l,u}from"./settings-api-HIBz8BFz.js";var d=t(e(),1),f=t(n(),1),p=r(),m=[{id:`general`,label:`通用`},{id:`debug`,label:`调试`},{id:`mcp`,label:`MCP`}],h={system:`跟随系统`,dark:`深色`,light:`浅色`};function g({checked:e,onClick:t}){return(0,p.jsx)(`button`,{type:`button`,onClick:t,className:`relative inline-flex h-5 w-9 shrink-0 rounded-full transition-colors`,style:{background:e?`var(--color-accent)`:`var(--color-surface-3)`},children:(0,p.jsx)(`span`,{className:`inline-block h-3.5 w-3.5 rounded-full bg-white transition-transform`,style:{marginTop:3,transform:e?`translateX(18px)`:`translateX(3px)`}})})}function _({activeTab:e,onSelect:t}){return(0,p.jsx)(`div`,{className:`flex items-center border-b border-border shrink-0`,children:m.map(n=>(0,p.jsx)(`button`,{className:`flex-1 py-2.5 text-[12px] text-center transition-colors ${e===n.id?`text-accent border-b-2 border-accent`:`text-text-secondary hover:text-text`}`,onClick:()=>t(n.id),children:n.label},n.id))})}function v({theme:e,onSelect:t}){return(0,p.jsx)(`div`,{className:`flex rounded overflow-hidden border border-border text-[11px]`,children:[`system`,`dark`,`light`].map((n,r)=>(0,p.jsx)(`button`,{onClick:()=>t(n),className:[`px-3 py-1 transition-colors`,r>0?`border-l border-border`:``,e===n?`bg-accent text-white`:`text-text-secondary hover:text-text hover:bg-surface-3`].join(` `),children:h[n]},n))})}function y({autoBuildEnabled:e,onAutoBuildChange:t,autoReloadEnabled:n,onAutoReloadChange:r,theme:i,onThemeChange:a,saved:o}){return(0,p.jsxs)(`div`,{className:`space-y-4`,children:[(0,p.jsxs)(`section`,{className:`rounded-lg border border-border p-4 space-y-4 bg-bg`,children:[(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`h2`,{className:`text-[13px] font-medium mb-1`,children:`编译与预览`}),(0,p.jsx)(`p`,{className:`text-[11px] leading-relaxed text-text-secondary`,children:`开启「自动编译」后,打开项目时会监听源文件改动并自动重新编译。开启「自动刷新」后,每次编译完成会刷新模拟器;关闭它可保留当前页面栈与表单状态,仅手动刷新。配置在下次打开项目时生效。`})]}),(0,p.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,p.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`监听文件变化自动编译`}),(0,p.jsx)(g,{checked:e,onClick:()=>t(!e)})]}),(0,p.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,p.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`编译完成后自动刷新模拟器`}),(0,p.jsx)(g,{checked:n,onClick:()=>r(!n)})]})]}),(0,p.jsxs)(`section`,{className:`rounded-lg border border-border p-4 space-y-3 bg-bg`,children:[(0,p.jsx)(`div`,{children:(0,p.jsx)(`h2`,{className:`text-[13px] font-medium mb-1`,children:`外观`})}),(0,p.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,p.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`颜色模式`}),(0,p.jsx)(v,{theme:i,onSelect:a})]})]}),o&&(0,p.jsx)(`div`,{className:`text-[11px] text-status-success`,children:`已保存`})]})}function b({cdpStatus:e}){return(0,p.jsxs)(`div`,{className:`rounded p-3 space-y-2 border border-border bg-surface`,children:[(0,p.jsx)(`div`,{className:`text-[11px] font-medium text-text-secondary`,children:`当前状态`}),(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(`span`,{className:`inline-block w-2 h-2 rounded-full`,style:{background:e?.active?`var(--color-status-success)`:`var(--color-text-dim)`}}),(0,p.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:e?.active?`CDP 已激活 - 端口 ${e.activePort}`:`CDP 未激活`})]}),e?.implicitDevDefault&&(0,p.jsx)(`div`,{className:`text-[11px] text-text-dim`,children:`当前为开发模式默认端口`}),e?.active&&(0,p.jsxs)(`div`,{className:`text-[11px] text-text-dim font-mono`,children:[`调试地址: http://localhost:`,e.activePort]})]})}function x(e,t){return!e||e.implicitDevDefault?!1:t.enabled===e.active?t.enabled&&e.active&&t.port!==e.activePort:!0}function S({cdpEnabled:e,onToggleCdp:t,portInput:n,onPortInputChange:r,cdpStatus:a,needsRestart:o,onSave:s,saved:c}){return(0,p.jsxs)(`section`,{className:`rounded-lg border border-border p-4 space-y-4 bg-bg`,children:[(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`h2`,{className:`text-[13px] font-medium mb-1`,children:`DevTools Protocol`}),(0,p.jsx)(`p`,{className:`text-[11px] leading-relaxed text-text-secondary`,children:`开启后可通过 DevTools Protocol 连接调试模拟器。配置变更需要重启应用后生效。`})]}),(0,p.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,p.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`启用 DevTools Protocol`}),(0,p.jsx)(g,{checked:e,onClick:t})]}),(0,p.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,p.jsx)(`label`,{className:`text-[12px] shrink-0 w-16 text-text-secondary`,children:`调试端口`}),(0,p.jsx)(`input`,{type:`number`,min:1024,max:65535,value:n,onChange:e=>r(e.target.value),disabled:!e,className:`w-24 h-7 px-2 rounded text-[12px] outline-none bg-surface border border-border text-text`,style:{opacity:e?1:.4}}),(0,p.jsxs)(`span`,{className:`text-[11px] text-text-dim`,children:[`默认 `,i]})]}),(0,p.jsx)(b,{cdpStatus:a}),o&&(0,p.jsx)(`div`,{className:`rounded px-3 py-2 text-[12px] border bg-warn-bg text-[var(--color-status-warn)]`,children:`配置已变更,需要重启应用后生效`}),(0,p.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,p.jsx)(`button`,{onClick:s,className:`h-7 px-4 rounded text-[13px] font-medium text-white bg-accent hover:bg-accent-hover`,children:`保存`}),c&&(0,p.jsx)(`span`,{className:`text-[11px] text-status-success`,children:`已保存`})]})]})}function C({color:e,children:t}){return(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(`span`,{className:`inline-block w-2 h-2 rounded-full`,style:{background:e}}),(0,p.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:t})]})}function w({mcpEnabled:e,mcpStatus:t}){return(0,p.jsxs)(`div`,{className:`rounded p-3 space-y-2 border border-border bg-surface`,children:[(0,p.jsx)(`div`,{className:`text-[11px] font-medium text-text-secondary`,children:`当前状态`}),e?t?.running?(0,p.jsxs)(C,{color:`var(--color-status-success)`,children:[`MCP 已运行 - 端口 `,t.activePort]}):(0,p.jsxs)(C,{color:`var(--color-status-error, #e54d4d)`,children:[`MCP 未运行`,t?.error===`port-in-use`?`(端口 ${t.configuredPort} 已被占用)`:t?.error?`(${t.error})`:``]}):(0,p.jsx)(C,{color:`var(--color-text-dim)`,children:`MCP 未启用`})]})}function T({mcpEnabled:e,onToggleMcp:t,mcpPortInput:n,onMcpPortInputChange:r,mcpStatus:i,mcpPort:a,onSave:o,saved:s}){return(0,p.jsxs)(`section`,{className:`rounded-lg border border-border p-4 space-y-4 bg-bg`,children:[(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`h2`,{className:`text-[13px] font-medium mb-1`,children:`MCP 配置`}),(0,p.jsx)(`p`,{className:`text-[11px] leading-relaxed text-text-secondary`,children:`AI 助手可以通过 MCP 连接当前开发工具,读取 console、截图、执行 JS、查看 DOM / Storage / 网络请求。启用后开发工具启动时会自动监听 SSE 端点,并自动启用 CDP。`})]}),(0,p.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,p.jsx)(`span`,{className:`text-[12px] text-text-secondary`,children:`启用 MCP 服务`}),(0,p.jsx)(g,{checked:e,onClick:t})]}),(0,p.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,p.jsx)(`label`,{className:`text-[12px] shrink-0 w-16 text-text-secondary`,children:`SSE 端口`}),(0,p.jsx)(`input`,{type:`number`,min:1024,max:65535,value:n,onChange:e=>r(e.target.value),disabled:!e,className:`w-24 h-7 px-2 rounded text-[12px] outline-none bg-surface border border-border text-text`,style:{opacity:e?1:.4}}),(0,p.jsx)(`span`,{className:`text-[11px] text-text-dim`,children:`默认 7789`})]}),(0,p.jsx)(w,{mcpEnabled:e,mcpStatus:i}),(0,p.jsxs)(`div`,{className:`rounded p-3 border border-border bg-surface`,children:[(0,p.jsx)(`div`,{className:`text-[11px] font-medium mb-2 text-text-secondary`,children:"`.mcp.json` 示例(SSE 传输)"}),(0,p.jsx)(`pre`,{className:`text-[11px] whitespace-pre-wrap leading-relaxed text-[var(--color-code-blue)] font-mono`,children:`{
2
2
  "mcpServers": {
3
3
  "dimina-devtools": {
4
4
  "url": "http://127.0.0.1:${a}/sse"
5
5
  }
6
6
  }
7
7
  }`})]}),(0,p.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,p.jsx)(`button`,{onClick:o,className:`h-7 px-4 rounded text-[13px] font-medium text-white bg-accent hover:bg-accent-hover`,children:`保存`}),s&&(0,p.jsx)(`span`,{className:`text-[11px] text-status-success`,children:`已保存`})]})]})}function E(){let[e,t]=(0,f.useState)({cdp:{enabled:!1,port:i},mcp:{enabled:!1,port:7789},compile:{autoBuild:!0},preview:{autoReload:!0},theme:`system`,lastCreateBaseDir:null}),[n,r]=(0,f.useState)(null),[d,m]=(0,f.useState)(null),[h,g]=(0,f.useState)(`general`),[v,b]=(0,f.useState)(!1),[C,w]=(0,f.useState)(String(i)),[E,D]=(0,f.useState)(`7789`);(0,f.useEffect)(()=>{let e=l(e=>{t(e.settings),w(String(e.settings.cdp.port)),D(String(e.settings.mcp.port))});return a().then(e=>{t(e),w(String(e.cdp.port)),D(String(e.mcp.port))}),c().then(r),s().then(m),e},[]);function O(){b(!0),window.setTimeout(()=>b(!1),2e3)}function k(){t(e=>({...e,cdp:{...e.cdp,enabled:!e.cdp.enabled}}))}function A(){t(e=>({...e,mcp:{...e.mcp,enabled:!e.mcp.enabled}}))}function j(n){let r={...e,theme:n};t(r),u(n),o(r)}function M(e){t(e),o(e).then(O)}async function N(){let n=parseInt(C,10);if(Number.isNaN(n)||n<1024||n>65535)return;let i=parseInt(E,10);if(Number.isNaN(i)||i<1024||i>65535)return;let a={...e,cdp:{...e.cdp,port:n},mcp:{...e.mcp,port:i}};t(a),await o(a),r(await c()),m(await s()),O()}let P=x(n,e.cdp);return(0,p.jsxs)(`div`,{className:`flex flex-col h-screen bg-surface text-text`,children:[(0,p.jsx)(_,{activeTab:h,onSelect:g}),(0,p.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:[h===`general`&&(0,p.jsx)(y,{autoBuildEnabled:e.compile.autoBuild,onAutoBuildChange:t=>M({...e,compile:{...e.compile,autoBuild:t}}),autoReloadEnabled:e.preview.autoReload,onAutoReloadChange:t=>M({...e,preview:{...e.preview,autoReload:t}}),theme:e.theme,onThemeChange:j,saved:v}),h===`debug`&&(0,p.jsx)(S,{cdpEnabled:e.cdp.enabled,onToggleCdp:k,portInput:C,onPortInputChange:w,cdpStatus:n,needsRestart:P,onSave:N,saved:v}),h===`mcp`&&(0,p.jsx)(T,{mcpEnabled:e.mcp.enabled,onToggleMcp:A,mcpPortInput:E,onMcpPortInputChange:D,mcpStatus:d,mcpPort:e.mcp.port,onSave:N,saved:v})]})]})}d.createRoot(document.getElementById(`root`)).render((0,p.jsx)(E,{}));
8
- //# sourceMappingURL=workbenchSettings-C6w5S2ZY.js.map
8
+ //# sourceMappingURL=workbenchSettings-CtRBr7gS.js.map
@@ -26,13 +26,13 @@
26
26
  overflow: hidden;
27
27
  }
28
28
  </style>
29
- <script type="module" crossorigin src="../../assets/index-BjCKGJDg.js"></script>
30
- <link rel="modulepreload" crossorigin href="../../assets/ipc-transport-Ck5Xa8Tu.js">
31
- <link rel="modulepreload" crossorigin href="../../assets/input-CTb_le7F.js">
32
- <link rel="modulepreload" crossorigin href="../../assets/select-ozSk5Pt6.js">
33
- <link rel="modulepreload" crossorigin href="../../assets/settings-api-DMbMp1Eq.js">
29
+ <script type="module" crossorigin src="../../assets/index-WbvXdhWQ.js"></script>
30
+ <link rel="modulepreload" crossorigin href="../../assets/ipc-transport-SuI2rOB_.js">
31
+ <link rel="modulepreload" crossorigin href="../../assets/input-COtRON-n.js">
32
+ <link rel="modulepreload" crossorigin href="../../assets/select-Bwb8O0Mf.js">
33
+ <link rel="modulepreload" crossorigin href="../../assets/settings-api-HIBz8BFz.js">
34
34
  <link rel="modulepreload" crossorigin href="../../assets/constants-EAMiwL9_.js">
35
- <link rel="stylesheet" crossorigin href="../../assets/ipc-transport-BPWIV5hA.css">
35
+ <link rel="stylesheet" crossorigin href="../../assets/ipc-transport-CNvORIEX.css">
36
36
  </head>
37
37
  <body>
38
38
  <div id="root"></div>
@@ -8,12 +8,12 @@
8
8
  <style>
9
9
  html, body { margin: 0; padding: 0; width: 100%; height: 100%; overflow: hidden; background: transparent !important; }
10
10
  </style>
11
- <script type="module" crossorigin src="../../assets/popover-B1Zu2UQu.js"></script>
12
- <link rel="modulepreload" crossorigin href="../../assets/ipc-transport-Ck5Xa8Tu.js">
13
- <link rel="modulepreload" crossorigin href="../../assets/input-CTb_le7F.js">
14
- <link rel="modulepreload" crossorigin href="../../assets/select-ozSk5Pt6.js">
11
+ <script type="module" crossorigin src="../../assets/popover-B73T3z-m.js"></script>
12
+ <link rel="modulepreload" crossorigin href="../../assets/ipc-transport-SuI2rOB_.js">
13
+ <link rel="modulepreload" crossorigin href="../../assets/input-COtRON-n.js">
14
+ <link rel="modulepreload" crossorigin href="../../assets/select-Bwb8O0Mf.js">
15
15
  <link rel="modulepreload" crossorigin href="../../assets/constants-EAMiwL9_.js">
16
- <link rel="stylesheet" crossorigin href="../../assets/ipc-transport-BPWIV5hA.css">
16
+ <link rel="stylesheet" crossorigin href="../../assets/ipc-transport-CNvORIEX.css">
17
17
  </head>
18
18
  <body>
19
19
  <div id="root"></div>
@@ -11,11 +11,11 @@
11
11
  closes the overlay — mirrors the popover entry. */
12
12
  html, body { margin: 0; padding: 0; width: 100%; height: 100%; overflow: hidden; background: transparent !important; }
13
13
  </style>
14
- <script type="module" crossorigin src="../../assets/settings-CNwGOI22.js"></script>
15
- <link rel="modulepreload" crossorigin href="../../assets/ipc-transport-Ck5Xa8Tu.js">
16
- <link rel="modulepreload" crossorigin href="../../assets/input-CTb_le7F.js">
17
- <link rel="modulepreload" crossorigin href="../../assets/settings-api-DMbMp1Eq.js">
18
- <link rel="stylesheet" crossorigin href="../../assets/ipc-transport-BPWIV5hA.css">
14
+ <script type="module" crossorigin src="../../assets/settings-BispnvJU.js"></script>
15
+ <link rel="modulepreload" crossorigin href="../../assets/ipc-transport-SuI2rOB_.js">
16
+ <link rel="modulepreload" crossorigin href="../../assets/input-COtRON-n.js">
17
+ <link rel="modulepreload" crossorigin href="../../assets/settings-api-HIBz8BFz.js">
18
+ <link rel="stylesheet" crossorigin href="../../assets/ipc-transport-CNvORIEX.css">
19
19
  </head>
20
20
  <body>
21
21
  <div id="root"></div>
@@ -6,11 +6,11 @@
6
6
  <!-- See entries/main/index.html for CSP rationale. -->
7
7
  <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: http: https:; font-src 'self' data:; media-src 'self' blob: http: https:; connect-src 'self' http: https: ws: wss:;" />
8
8
  <title>开发工具设置</title>
9
- <script type="module" crossorigin src="../../assets/workbenchSettings-C6w5S2ZY.js"></script>
10
- <link rel="modulepreload" crossorigin href="../../assets/ipc-transport-Ck5Xa8Tu.js">
11
- <link rel="modulepreload" crossorigin href="../../assets/settings-api-DMbMp1Eq.js">
9
+ <script type="module" crossorigin src="../../assets/workbenchSettings-CtRBr7gS.js"></script>
10
+ <link rel="modulepreload" crossorigin href="../../assets/ipc-transport-SuI2rOB_.js">
11
+ <link rel="modulepreload" crossorigin href="../../assets/settings-api-HIBz8BFz.js">
12
12
  <link rel="modulepreload" crossorigin href="../../assets/constants-EAMiwL9_.js">
13
- <link rel="stylesheet" crossorigin href="../../assets/ipc-transport-BPWIV5hA.css">
13
+ <link rel="stylesheet" crossorigin href="../../assets/ipc-transport-CNvORIEX.css">
14
14
  </head>
15
15
  <body>
16
16
  <div id="root"></div>
@@ -67,31 +67,7 @@ export declare const SimulatorStorageChannel: {
67
67
  readonly ClearAll: "simulator:storage:clearAll";
68
68
  readonly Event: "simulator:storage:event";
69
69
  };
70
- export interface StorageItem {
71
- key: string;
72
- value: string;
73
- }
74
- export type StorageEvent = {
75
- type: 'added';
76
- key: string;
77
- newValue: string;
78
- } | {
79
- type: 'updated';
80
- key: string;
81
- oldValue: string;
82
- newValue: string;
83
- } | {
84
- type: 'removed';
85
- key: string;
86
- } | {
87
- type: 'cleared';
88
- };
89
- export type StorageWriteResult = {
90
- ok: true;
91
- } | {
92
- ok: false;
93
- error: string;
94
- };
70
+ export type { StorageEvent, StorageItem, StorageWriteResult } from '@dimina-kit/inspect';
95
71
  /**
96
72
  * A storage mutation reported by the service-host's SYNC wx storage APIs
97
73
  * (`setStorageSync`/`removeStorageSync`/`clearStorageSync`). Those run inside the
@@ -126,25 +102,7 @@ export declare const SimulatorAppDataChannel: {
126
102
  readonly GetSnapshot: "simulator:appdata:snapshot";
127
103
  readonly Event: "simulator:appdata:event";
128
104
  };
129
- export interface ElementInspection {
130
- sid: string;
131
- rect: {
132
- x: number;
133
- y: number;
134
- width: number;
135
- height: number;
136
- };
137
- style: {
138
- display: string;
139
- position: string;
140
- boxSizing: string;
141
- margin: string;
142
- padding: string;
143
- color: string;
144
- backgroundColor: string;
145
- fontSize: string;
146
- };
147
- }
105
+ export type { ElementInspection } from '@dimina-kit/inspect';
148
106
  export declare const WorkbenchSettingsChannel: {
149
107
  readonly Get: "workbenchSettings:get";
150
108
  readonly Save: "workbenchSettings:save";
@@ -0,0 +1 @@
1
+ import{n as e}from"./index-BE3UJdoH.js";var t=e(((e,t)=>{t.exports={}}));export default t();
@@ -1,6 +1,6 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./__vite-browser-external-B1y6A_ue.js","./index-nrKFi46w.js"])))=>i.map(i=>d[i]);
2
- import{r as e,t}from"./index-nrKFi46w.js";var n=class e{start;endExclusive;static ofLength(t){return new e(0,t)}static ofStartAndLength(t,n){return new e(t,t+n)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw Error(`Invalid range: [${e}, ${t})`)}get isEmpty(){return this.start===this.endExclusive}get length(){return this.endExclusive-this.start}delta(t){return new e(this.start+t,this.endExclusive+t)}deltaStart(t){return new e(this.start+t,this.endExclusive)}deltaEnd(t){return new e(this.start,this.endExclusive+t)}equals(e){return this.start===e.start&&this.endExclusive===e.endExclusive}containsRange(e){return this.start<=e.start&&e.endExclusive<=this.endExclusive}contains(e){return this.start<=e&&e<this.endExclusive}join(t){return new e(Math.min(this.start,t.start),Math.max(this.endExclusive,t.endExclusive))}intersect(t){let n=Math.max(this.start,t.start),r=Math.min(this.endExclusive,t.endExclusive);if(n<=r)return new e(n,r)}intersects(e){return Math.max(this.start,e.start)<Math.min(this.endExclusive,e.endExclusive)}intersectsOrTouches(e){return Math.max(this.start,e.start)<=Math.min(this.endExclusive,e.endExclusive)}slice(e){return e.slice(this.start,this.endExclusive)}toString(){return`[${this.start}, ${this.endExclusive})`}},r=class e{static instance=new e;isValid(){return!0}},i=class{timeout;startTime=Date.now();valid=!0;constructor(e){if(this.timeout=e,e<=0)throw Error(`timeout must be positive`)}isValid(){return!(Date.now()-this.startTime<this.timeout)&&this.valid&&(this.valid=!1),this.valid}},a=class e{offset1;offset2;static zero=new e(0,0);static max=new e(2**53-1,2**53-1);constructor(e,t){this.offset1=e,this.offset2=t}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(t){return t===0?this:new e(this.offset1+t,this.offset2+t)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}},o=class e{seq1Range;seq2Range;static invert(t,n){let r=[];return c(t,(t,i)=>{r.push(e.fromOffsetPairs(t?t.getEndExclusives():a.zero,i?i.getStarts():new a(n,(t?t.seq2Range.endExclusive-t.seq1Range.endExclusive:0)+n)))}),r}static fromOffsetPairs(t,r){return new e(new n(t.offset1,r.offset1),new n(t.offset2,r.offset2))}static assertSorted(e){let t;for(let n of e){if(t&&!(t.seq1Range.endExclusive<=n.seq1Range.start&&t.seq2Range.endExclusive<=n.seq2Range.start))throw Error(`Sequence diffs must be sorted`);t=n}}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new e(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(t){return new e(this.seq1Range.join(t.seq1Range),this.seq2Range.join(t.seq2Range))}delta(t){return t===0?this:new e(this.seq1Range.delta(t),this.seq2Range.delta(t))}deltaStart(t){return t===0?this:new e(this.seq1Range.deltaStart(t),this.seq2Range.deltaStart(t))}deltaEnd(t){return t===0?this:new e(this.seq1Range.deltaEnd(t),this.seq2Range.deltaEnd(t))}intersectsOrTouches(e){return this.seq1Range.intersectsOrTouches(e.seq1Range)||this.seq2Range.intersectsOrTouches(e.seq2Range)}intersect(t){let n=this.seq1Range.intersect(t.seq1Range),r=this.seq2Range.intersect(t.seq2Range);if(!(!n||!r))return new e(n,r)}getStarts(){return new a(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new a(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}},s=class e{diffs;hitTimeout;static trivial(t,r){return new e([new o(n.ofLength(t.length),n.ofLength(r.length))],!1)}static trivialTimedOut(t,r){return new e([new o(n.ofLength(t.length),n.ofLength(r.length))],!0)}constructor(e,t){this.diffs=e,this.hitTimeout=t}};function c(e,t){let n;for(let r of e)t(n,r),n=r;t(n,void 0)}var l=class{width;height;array=[];constructor(e,t){this.width=e,this.height=t,this.array=Array(e*t)}get(e,t){return this.array[e+t*this.width]}set(e,t,n){this.array[e+t*this.width]=n}},u=class{compute(e,t,i=r.instance,a){if(e.length===0||t.length===0)return s.trivial(e,t);let c=new l(e.length,t.length),u=new l(e.length,t.length),d=new l(e.length,t.length);for(let n=0;n<e.length;n++)for(let r=0;r<t.length;r++){if(!i.isValid())return s.trivialTimedOut(e,t);let o=n===0?0:c.get(n-1,r),l=r===0?0:c.get(n,r-1),f;e.getElement(n)===t.getElement(r)?(f=n===0||r===0?0:c.get(n-1,r-1),n>0&&r>0&&u.get(n-1,r-1)===3&&(f+=d.get(n-1,r-1)),f+=a?a(n,r):1):f=-1;let p=Math.max(o,l,f);if(p===f){let e=n>0&&r>0?d.get(n-1,r-1):0;d.set(n,r,e+1),u.set(n,r,3)}else p===o?(d.set(n,r,0),u.set(n,r,1)):p===l&&(d.set(n,r,0),u.set(n,r,2));c.set(n,r,p)}let f=[],p=e.length,m=t.length;function h(e,t){(e+1!==p||t+1!==m)&&f.push(new o(new n(e+1,p),new n(t+1,m))),p=e,m=t}let g=e.length-1,_=t.length-1;for(;g>=0&&_>=0;)u.get(g,_)===3?(h(g,_),g--,_--):u.get(g,_)===1?g--:_--;return h(-1,-1),f.reverse(),new s(f,!1)}},d=class{compute(e,t,i=r.instance){if(e.length===0||t.length===0)return s.trivial(e,t);let a=e,c=t;function l(e,t){for(;e<a.length&&t<c.length&&a.getElement(e)===c.getElement(t);)e++,t++;return e}let u=0,d=new p;d.set(0,l(0,0));let h=new m;h.set(0,d.get(0)===0?null:new f(null,0,0,d.get(0)));let g=0;loop:for(;;){if(u++,!i.isValid())return s.trivialTimedOut(a,c);let e=-Math.min(u,c.length+u%2),t=Math.min(u,a.length+u%2);for(g=e;g<=t;g+=2){let n=g===t?-1:d.get(g+1),r=g===e?-1:d.get(g-1)+1,i=Math.min(Math.max(n,r),a.length),o=i-g;if(i>a.length||o>c.length)continue;let s=l(i,o);d.set(g,s);let u=i===n?h.get(g+1):h.get(g-1);if(h.set(g,s===i?u:new f(u,i,o,s-i)),d.get(g)===a.length&&d.get(g)-g===c.length)break loop}}let _=h.get(g),v=[],y=a.length,b=c.length;for(;;){let e=_?_.x+_.length:0,t=_?_.y+_.length:0;if((e!==y||t!==b)&&v.push(new o(new n(e,y),new n(t,b))),!_)break;y=_.x,b=_.y,_=_.prev}return v.reverse(),new s(v,!1)}},f=class{prev;x;y;length;constructor(e,t,n,r){this.prev=e,this.x=t,this.y=n,this.length=r}},p=class{positiveArr=new Int32Array(10);negativeArr=new Int32Array(10);get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if(e=-e-1,e>=this.negativeArr.length){let e=this.negativeArr;this.negativeArr=new Int32Array(e.length*2),this.negativeArr.set(e)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){let e=this.positiveArr;this.positiveArr=new Int32Array(e.length*2),this.positiveArr.set(e)}this.positiveArr[e]=t}}},m=class{positiveArr=[];negativeArr=[];get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}};function h(e,t,n){let r=n;return r=g(e,t,r),r=g(e,t,r),r=_(e,t,r),r}function g(e,t,r){if(r.length===0)return r;let i=[];i.push(r[0]);for(let a=1;a<r.length;a++){let s=i[i.length-1],c=r[a];if(c.seq1Range.isEmpty||c.seq2Range.isEmpty){let r=c.seq1Range.start-s.seq1Range.endExclusive,a;for(a=1;a<=r&&!(e.getElement(c.seq1Range.start-a)!==e.getElement(c.seq1Range.endExclusive-a)||t.getElement(c.seq2Range.start-a)!==t.getElement(c.seq2Range.endExclusive-a));a++);if(a--,a===r){i[i.length-1]=new o(new n(s.seq1Range.start,c.seq1Range.endExclusive-r),new n(s.seq2Range.start,c.seq2Range.endExclusive-r));continue}c=c.delta(-a)}i.push(c)}let a=[];for(let r=0;r<i.length-1;r++){let s=i[r+1],c=i[r];if(c.seq1Range.isEmpty||c.seq2Range.isEmpty){let a=s.seq1Range.start-c.seq1Range.endExclusive,l;for(l=0;l<a&&!(!e.isStronglyEqual(c.seq1Range.start+l,c.seq1Range.endExclusive+l)||!t.isStronglyEqual(c.seq2Range.start+l,c.seq2Range.endExclusive+l));l++);if(l===a){i[r+1]=new o(new n(c.seq1Range.start+a,s.seq1Range.endExclusive),new n(c.seq2Range.start+a,s.seq2Range.endExclusive));continue}l>0&&(c=c.delta(l))}a.push(c)}return i.length>0&&a.push(i[i.length-1]),a}function _(e,t,r){if(!e.getBoundaryScore||!t.getBoundaryScore)return r;for(let i=0;i<r.length;i++){let a=i>0?r[i-1]:void 0,o=r[i],s=i+1<r.length?r[i+1]:void 0,c=new n(a?a.seq1Range.endExclusive+1:0,s?s.seq1Range.start-1:e.length),l=new n(a?a.seq2Range.endExclusive+1:0,s?s.seq2Range.start-1:t.length);o.seq1Range.isEmpty?r[i]=v(o,e,t,c,l):o.seq2Range.isEmpty&&(r[i]=v(o.swap(),t,e,l,c).swap())}return r}function v(e,t,n,r,i){let a=1;for(;e.seq1Range.start-a>=r.start&&e.seq2Range.start-a>=i.start&&n.isStronglyEqual(e.seq2Range.start-a,e.seq2Range.endExclusive-a)&&a<100;)a++;a--;let o=0;for(;e.seq1Range.start+o<r.endExclusive&&e.seq2Range.endExclusive+o<i.endExclusive&&n.isStronglyEqual(e.seq2Range.start+o,e.seq2Range.endExclusive+o)&&o<100;)o++;if(a===0&&o===0)return e;let s=0,c=-1;for(let r=-a;r<=o;r++){let i=e.seq2Range.start+r,a=e.seq2Range.endExclusive+r,o=e.seq1Range.start+r,l=t.getBoundaryScore(o)+n.getBoundaryScore(i)+n.getBoundaryScore(a);l>c&&(c=l,s=r)}return e.delta(s)}function y(e,t,n){let r=[];for(let e of n){let t=r[r.length-1];if(!t){r.push(e);continue}e.seq1Range.start-t.seq1Range.endExclusive<=2||e.seq2Range.start-t.seq2Range.endExclusive<=2?r[r.length-1]=new o(t.seq1Range.join(e.seq1Range),t.seq2Range.join(e.seq2Range)):r.push(e)}return r}function b(e,t,n,r,i=!1){let s=o.invert(n,e.length),c=[],l=new a(0,0);function u(n,a){if(n.offset1<l.offset1||n.offset2<l.offset2)return;let u=r(e,n.offset1),d=r(t,n.offset2);if(!u||!d)return;let f=new o(u,d),p=f.intersect(a),m=p.seq1Range.length,h=p.seq2Range.length;for(;s.length>0;){let n=s[0];if(!(n.seq1Range.intersects(f.seq1Range)||n.seq2Range.intersects(f.seq2Range)))break;let i=new o(r(e,n.seq1Range.start),r(t,n.seq2Range.start)),a=i.intersect(n);if(m+=a.seq1Range.length,h+=a.seq2Range.length,f=f.join(i),f.seq1Range.endExclusive>=n.seq1Range.endExclusive)s.shift();else break}(i&&m+h<f.seq1Range.length+f.seq2Range.length||m+h<(f.seq1Range.length+f.seq2Range.length)*2/3)&&c.push(f),l=f.getEndExclusives()}for(;s.length>0;){let e=s.shift();e.seq1Range.isEmpty||(u(e.getStarts(),e),u(e.getEndExclusives().delta(-1),e))}return x(n,c)}function x(e,t){let n=[];for(;e.length>0||t.length>0;){let r=e[0],i=t[0],a;a=r&&(!i||r.seq1Range.start<i.seq1Range.start)?e.shift():t.shift(),n.length>0&&n[n.length-1].seq1Range.endExclusive>=a.seq1Range.start?n[n.length-1]=n[n.length-1].join(a):n.push(a)}return n}function ee(e,t,r){let i=r;if(i.length===0)return i;let a=0,o;do{o=!1;let t=[i[0]];for(let r=1;r<i.length;r++){let a=i[r],s=t[t.length-1];function c(t,r){let i=new n(s.seq1Range.endExclusive,a.seq1Range.start);return e.getText(i).replace(/\s/g,``).length<=4&&(t.seq1Range.length+t.seq2Range.length>5||r.seq1Range.length+r.seq2Range.length>5)}c(s,a)?(o=!0,t[t.length-1]=t[t.length-1].join(a)):t.push(a)}i=t}while(a++<10&&o);return i}function te(e,t,r){let i=r;if(i.length===0)return i;let s=0,c;do{c=!1;let r=[i[0]];for(let a=1;a<i.length;a++){let o=i[a],s=r[r.length-1];function l(r,i){let a=new n(s.seq1Range.endExclusive,o.seq1Range.start);if(e.countLinesIn(a)>5||a.length>500)return!1;let c=e.getText(a).trim();if(c.length>20||c.split(/\r\n|\r|\n/).length>1)return!1;let l=e.countLinesIn(r.seq1Range),u=r.seq1Range.length,d=t.countLinesIn(r.seq2Range),f=r.seq2Range.length,p=e.countLinesIn(i.seq1Range),m=i.seq1Range.length,h=t.countLinesIn(i.seq2Range),g=i.seq2Range.length;function _(e){return Math.min(e,130)}return(_(l*40+u)**1.5+_(d*40+f)**1.5)**1.5+(_(p*40+m)**1.5+_(h*40+g)**1.5)**1.5>(130**1.5)**1.5*1.3}l(s,o)?(c=!0,r[r.length-1]=r[r.length-1].join(o)):r.push(o)}i=r}while(s++<10&&c);let l=[];return ne(i,(t,r,i)=>{let s=r;function c(e){return e.length>0&&e.trim().length<=3&&r.seq1Range.length+r.seq2Range.length>100}let u=e.extendToFullLines(r.seq1Range),d=e.getText(new n(u.start,r.seq1Range.start));c(d)&&(s=s.deltaStart(-d.length));let f=e.getText(new n(r.seq1Range.endExclusive,u.endExclusive));c(f)&&(s=s.deltaEnd(f.length));let p=o.fromOffsetPairs(t?t.getEndExclusives():a.zero,i?i.getStarts():a.max),m=s.intersect(p);l.length>0&&m.getStarts().equals(l[l.length-1].getEndExclusives())?l[l.length-1]=l[l.length-1].join(m):l.push(m)}),l}function ne(e,t){for(let n=0;n<e.length;n++)t(e[n-1],e[n],e[n+1])}var S={Space:32,Tab:9},re=class{trimmedHash;lines;constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){return 1e3-((e===0?0:ie(this.lines[e-1]))+(e===this.lines.length?0:ie(this.lines[e])))}getText(e){return this.lines.slice(e.start,e.endExclusive).join(`
3
- `)}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}};function ie(e){let t=0;for(;t<e.length&&(e.charCodeAt(t)===S.Space||e.charCodeAt(t)===S.Tab);)t++;return t}var C={LineFeed:10,CarriageReturn:13,Space:32,Tab:9,a:97,z:122,A:65,Z:90,Digit0:48,Digit9:57,Comma:44,Semicolon:59};function ae(e){return e===C.Space||e===C.Tab}var w=class e{startLineNumber;startColumn;endLineNumber;endColumn;constructor(e,t,n,r){this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=r}static fromPositions(t,n){return new e(t.lineNumber,t.column,n.lineNumber,n.column)}},T=class{lineNumber;column;constructor(e,t){this.lineNumber=e,this.column=t}isBefore(e){return this.lineNumber<e.lineNumber?!0:e.lineNumber<this.lineNumber?!1:this.column<e.column}},oe=class{lines;considerWhitespaceChanges;elements=[];firstElementOffsetByLineIdx=[];lineStartOffsets=[];trimmedWsLengthsByLineIdx=[];_range;constructor(e,t,n){this.lines=e,this.considerWhitespaceChanges=n,this._range=t,this.firstElementOffsetByLineIdx.push(0);for(let t=this._range.startLineNumber;t<=this._range.endLineNumber;t++){let r=e[t-1],i=0;t===this._range.startLineNumber&&this._range.startColumn>1&&(i=this._range.startColumn-1,r=r.substring(i)),this.lineStartOffsets.push(i);let a=0;if(!n){let e=r.trimStart();a=r.length-e.length,r=e.trimEnd()}this.trimmedWsLengthsByLineIdx.push(a);let o=t===this._range.endLineNumber?Math.min(this._range.endColumn-1-i-a,r.length):r.length;for(let e=0;e<o;e++)this.elements.push(r.charCodeAt(e));t<this._range.endLineNumber&&(this.elements.push(10),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new n(0,this.length))}getText(e){return this.elements.slice(e.start,e.endExclusive).map(e=>String.fromCharCode(e)).join(``)}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){let t=ue(e>0?this.elements[e-1]:-1),n=ue(e<this.elements.length?this.elements[e]:-1);if(t===7&&n===8)return 0;if(t===8)return 150;let r=0;return t!==n&&(r+=10,t===0&&n===1&&(r+=1)),r+=le(t),r+=le(n),r}translateOffset(e,t=`right`){let n=de(this.firstElementOffsetByLineIdx,t=>t<=e),r=e-this.firstElementOffsetByLineIdx[n];return new T(this._range.startLineNumber+n,1+this.lineStartOffsets[n]+r+(r===0&&t===`left`?0:this.trimmedWsLengthsByLineIdx[n]))}translateRange(e){let t=this.translateOffset(e.start,`right`),n=this.translateOffset(e.endExclusive,`left`);return n.isBefore(t)?w.fromPositions(n,n):w.fromPositions(t,n)}findWordContaining(e){if(e<0||e>=this.elements.length||!E(this.elements[e]))return;let t=e;for(;t>0&&E(this.elements[t-1]);)t--;let r=e;for(;r<this.elements.length&&E(this.elements[r]);)r++;return new n(t,r)}findSubWordContaining(e){if(e<0||e>=this.elements.length||!E(this.elements[e]))return;let t=e;for(;t>0&&E(this.elements[t-1])&&!se(this.elements[t]);)t--;let r=e;for(;r<this.elements.length&&E(this.elements[r])&&!se(this.elements[r]);)r++;return new n(t,r)}countLinesIn(e){return this.translateOffset(e.endExclusive).lineNumber-this.translateOffset(e.start).lineNumber}isStronglyEqual(e,t){return this.elements[e]===this.elements[t]}extendToFullLines(e){return new n(fe(this.firstElementOffsetByLineIdx,t=>t<=e.start)??0,pe(this.firstElementOffsetByLineIdx,t=>e.endExclusive<=t)??this.elements.length)}};function E(e){return e>=C.a&&e<=C.z||e>=C.A&&e<=C.Z||e>=C.Digit0&&e<=C.Digit9}function se(e){return e>=C.A&&e<=C.Z}var ce={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function le(e){return ce[e]}function ue(e){return e===C.LineFeed?8:e===C.CarriageReturn?7:ae(e)?6:e>=C.a&&e<=C.z?0:e>=C.A&&e<=C.Z?1:e>=C.Digit0&&e<=C.Digit9?2:e===-1?3:e===C.Comma||e===C.Semicolon?5:4}function de(e,t){let n=0,r=e.length-1;for(;n<=r;){let i=Math.floor((n+r)/2);t(e[i])?n=i+1:r=i-1}return r}function fe(e,t){let n=de(e,t);return n>=0?e[n]:void 0}function pe(e,t){let n=0,r=e.length-1;for(;n<=r;){let i=Math.floor((n+r)/2);t(e[i])?r=i-1:n=i+1}return n<e.length?e[n]:void 0}var D=class e{startLineNumber;endLineNumberExclusive;constructor(e,t){if(this.startLineNumber=e,this.endLineNumberExclusive=t,e>t)throw Error(`Invalid range: ${e} > ${t}`)}get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}get length(){return this.endLineNumberExclusive-this.startLineNumber}join(t){return new e(Math.min(this.startLineNumber,t.startLineNumber),Math.max(this.endLineNumberExclusive,t.endLineNumberExclusive))}intersectsOrTouches(e){return this.startLineNumber<=e.endLineNumberExclusive&&e.startLineNumber<=this.endLineNumberExclusive}toOffsetRange(){return new n(this.startLineNumber-1,this.endLineNumberExclusive-1)}toString(){return`[${this.startLineNumber}, ${this.endLineNumberExclusive})`}},O=class{originalRange;modifiedRange;constructor(e,t){this.originalRange=e,this.modifiedRange=t}toString(){return`${me(this.originalRange)} <-> ${me(this.modifiedRange)}`}static assertSorted(e){for(let t=1;t<e.length;t++){let n=e[t-1],r=e[t];if(!(n.originalRange.endLineNumber<=r.originalRange.startLineNumber||n.originalRange.endLineNumber===r.originalRange.startLineNumber&&n.originalRange.endColumn<=r.originalRange.startColumn))throw Error(`RangeMappings must be sorted`)}}};function me(e){return`(${e.startLineNumber}:${e.startColumn})-(${e.endLineNumber}:${e.endColumn})`}var k=class{original;modified;constructor(e,t){this.original=e,this.modified=t}toString(){return`${this.original} <-> ${this.modified}`}toRangeMapping2(e,t){let n=(e,t)=>e>=1&&e<=t.length,r=(e,t,n)=>{if(e<1)return new T(1,1);if(e>n.length)return new T(n.length,n[n.length-1].length+1);let r=n[e-1];return t>r.length+1?new T(e,r.length+1):new T(e,t)};if(n(this.original.endLineNumberExclusive,e)&&n(this.modified.endLineNumberExclusive,t))return new O(new w(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new w(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new O(w.fromPositions(new T(this.original.startLineNumber,1),r(this.original.endLineNumberExclusive-1,2**53-1,e)),w.fromPositions(new T(this.modified.startLineNumber,1),r(this.modified.endLineNumberExclusive-1,2**53-1,t)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new O(w.fromPositions(r(this.original.startLineNumber-1,2**53-1,e),r(this.original.endLineNumberExclusive-1,2**53-1,e)),w.fromPositions(r(this.modified.startLineNumber-1,2**53-1,t),r(this.modified.endLineNumberExclusive-1,2**53-1,t)));throw Error(`Invalid diff: cannot convert to range mapping`)}},A=class extends k{innerChanges;constructor(e,t,n){super(e,t),this.innerChanges=n}},j=class{changes;moves;hitTimeout;constructor(e,t,n){this.changes=e,this.moves=t,this.hitTimeout=n}},he=class{lineRangeMapping;changes;constructor(e,t){this.lineRangeMapping=e,this.changes=t}};function ge(e,t,n,r=!1){let i=[];for(let r of ve(e.map(e=>_e(e,t,n)),(e,t)=>e.original.intersectsOrTouches(t.original)||e.modified.intersectsOrTouches(t.modified))){let e=r[0],t=r[r.length-1];i.push(new A(e.original.join(t.original),e.modified.join(t.modified),r.map(e=>e.innerChanges[0])))}if(!r)for(let e=1;e<i.length;e++){let t=i[e-1],n=i[e];if(t.original.endLineNumberExclusive>n.original.startLineNumber||t.modified.endLineNumberExclusive>n.modified.startLineNumber)break}return i}function _e(e,t,n){let r=0,i=0;return e.modifiedRange.endColumn===1&&e.originalRange.endColumn===1&&e.originalRange.startLineNumber+r<=e.originalRange.endLineNumber&&e.modifiedRange.startLineNumber+r<=e.modifiedRange.endLineNumber&&(i=-1),e.modifiedRange.startColumn-1>=(n[e.modifiedRange.startLineNumber-1]?.length??0)&&e.originalRange.startColumn-1>=(t[e.originalRange.startLineNumber-1]?.length??0)&&e.originalRange.startLineNumber<=e.originalRange.endLineNumber+i&&e.modifiedRange.startLineNumber<=e.modifiedRange.endLineNumber+i&&(r=1),new A(new D(e.originalRange.startLineNumber+r,e.originalRange.endLineNumber+1+i),new D(e.modifiedRange.startLineNumber+r,e.modifiedRange.endLineNumber+1+i),[e])}function*ve(e,t){let n,r;for(let i of e)r!==void 0&&t(r,i)?n.push(i):(n&&(yield n),n=[i]),r=i;n&&(yield n)}var ye=class{lines;constructor(e){this.lines=e}get lineCount(){return this.lines.length}getLineContent(e){return this.lines[e-1]}},be=class{_dynamicProgrammingDiffing=new u;_myersDiffingAlgorithm=new d;computeDiff(e,t,a){if(e.length<=1&&Se(e,t))return new j([],[],!1);if(e.length===1&&e[0].length===0||t.length===1&&t[0].length===0)return new j([new A(new D(1,e.length+1),new D(1,t.length+1),[new O(new w(1,1,e.length,e[e.length-1].length+1),new w(1,1,t.length,t[t.length-1].length+1))])],[],!1);let s=a.maxComputationTimeMs===0?r.instance:new i(a.maxComputationTimeMs),c=!a.ignoreTrimWhitespace,l=new Map;function u(e){let t=l.get(e);return t===void 0&&(t=l.size,l.set(e,t)),t}let d=e.map(e=>u(e.trim())),f=t.map(e=>u(e.trim())),p=new re(d,e),m=new re(f,t),g=p.length+m.length<1700?this._dynamicProgrammingDiffing.compute(p,m,s,(n,r)=>e[n]===t[r]?t[r].length===0?.1:1+Math.log(1+t[r].length):.99):this._myersDiffingAlgorithm.compute(p,m,s),_=g.diffs,v=g.hitTimeout;_=h(p,m,_),_=ee(p,m,_);let y=[],b=r=>{if(c)for(let i=0;i<r;i++){let r=x+i,l=te+i;if(e[r]!==t[l]){let i=this._refineDiff(e,t,new o(new n(r,r+1),new n(l,l+1)),s,c,a);for(let e of i.mappings)y.push(e);i.hitTimeout&&(v=!0)}}},x=0,te=0;for(let n of _){b(n.seq1Range.start-x),x=n.seq1Range.endExclusive,te=n.seq2Range.endExclusive;let r=this._refineDiff(e,t,n,s,c,a);r.hitTimeout&&(v=!0);for(let e of r.mappings)y.push(e)}b(e.length-x);let ne=new ye(e),S=new ye(t);return new j(ge(y,ne.lines,S.lines),[],v)}_refineDiff(e,t,n,r,i,a){let o=xe(n).toRangeMapping2(e,t),s=new oe(e,o.originalRange,i),c=new oe(t,o.modifiedRange,i),l=s.length+c.length<500?this._dynamicProgrammingDiffing.compute(s,c,r):this._myersDiffingAlgorithm.compute(s,c,r),u=l.diffs;return u=h(s,c,u),u=b(s,c,u,(e,t)=>e.findWordContaining(t)),a.extendToSubwords&&(u=b(s,c,u,(e,t)=>e.findSubWordContaining(t),!0)),u=y(s,c,u),u=te(s,c,u),{mappings:u.map(e=>new O(s.translateRange(e.seq1Range),c.translateRange(e.seq2Range))),hitTimeout:l.hitTimeout}}};function xe(e){return new k(new D(e.seq1Range.start+1,e.seq1Range.endExclusive+1),new D(e.seq2Range.start+1,e.seq2Range.endExclusive+1))}function Se(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Ce(e,t,n){let r=B(e,K.__wbindgen_malloc,K.__wbindgen_realloc),i=G,a=B(t,K.__wbindgen_malloc,K.__wbindgen_realloc),o=G,s=K.computeDiff(r,i,a,o,n);if(s[2])throw V(s[1]);return V(s[0])}function we(e,t,n){let r=K.computeDiffLines(e,t,n);if(r[2])throw V(r[1]);return V(r[0])}function Te(){K.init()}function Ee(){return{__proto__:null,"./diff_wasm_bg.js":{__proto__:null,__wbg_Error_ef53bc310eb298a0:function(e,t){return Error(F(e,t))},__wbg_Number_6b506e6536831eaa:function(e){return Number(e)},__wbg_String_8564e559799eccda:function(e,t){let n=B(String(t),K.__wbindgen_malloc,K.__wbindgen_realloc),r=G;P().setInt32(e+4,r,!0),P().setInt32(e+0,n,!0)},__wbg___wbindgen_bigint_get_as_i64_38130e98eecd467d:function(e,t){let n=t,r=typeof n==`bigint`?n:void 0;P().setBigInt64(e+8,z(r)?BigInt(0):r,!0),P().setInt32(e+0,!z(r),!0)},__wbg___wbindgen_boolean_get_1a45e2c38d4d41b9:function(e){let t=e,n=typeof t==`boolean`?t:void 0;return z(n)?16777215:+!!n},__wbg___wbindgen_debug_string_0accd80f45e5faa2:function(e,t){let n=B(M(t),K.__wbindgen_malloc,K.__wbindgen_realloc),r=G;P().setInt32(e+4,r,!0),P().setInt32(e+0,n,!0)},__wbg___wbindgen_in_70a403a56e771704:function(e,t){return e in t},__wbg___wbindgen_is_bigint_6ffd6468a9bc44b9:function(e){return typeof e==`bigint`},__wbg___wbindgen_is_function_754e9f305ff6029e:function(e){return typeof e==`function`},__wbg___wbindgen_is_null_87c3bfe968c6a5ad:function(e){return e===null},__wbg___wbindgen_is_object_56732c2bc353f41d:function(e){let t=e;return typeof t==`object`&&!!t},__wbg___wbindgen_is_undefined_67b456be8673d3d7:function(e){return e===void 0},__wbg___wbindgen_jsval_eq_1068e624fa87f6ab:function(e,t){return e===t},__wbg___wbindgen_jsval_loose_eq_2c56564c75129511:function(e,t){return e==t},__wbg___wbindgen_number_get_9bb1761122181af2:function(e,t){let n=t,r=typeof n==`number`?n:void 0;P().setFloat64(e+8,z(r)?0:r,!0),P().setInt32(e+0,!z(r),!0)},__wbg___wbindgen_string_get_72bdf95d3ae505b1:function(e,t){let n=t,r=typeof n==`string`?n:void 0;var i=z(r)?0:B(r,K.__wbindgen_malloc,K.__wbindgen_realloc),a=G;P().setInt32(e+4,a,!0),P().setInt32(e+0,i,!0)},__wbg___wbindgen_throw_1506f2235d1bdba0:function(e,t){throw Error(F(e,t))},__wbg_call_8a89609d89f6608a:function(){return R(function(e,t){return e.call(t)},arguments)},__wbg_done_60cf307fcc680536:function(e){return e.done},__wbg_error_a6fa202b58aa1cd3:function(e,t){let n,r;try{n=e,r=t,console.error(F(e,t))}finally{K.__wbindgen_free(n,r,1)}},__wbg_get_1f8f054ddbaa7db2:function(){return R(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_unchecked_33f6e5c9e2f2d6b2:function(e,t){return e[t>>>0]},__wbg_get_with_ref_key_6412cf3094599694:function(e,t){return e[t]},__wbg_instanceof_ArrayBuffer_8f49811467741499:function(e){let t;try{t=e instanceof ArrayBuffer}catch{t=!1}return t},__wbg_instanceof_Uint8Array_86f30649f63ef9c2:function(e){let t;try{t=e instanceof Uint8Array}catch{t=!1}return t},__wbg_isArray_67c2c9c4313f4448:function(e){return Array.isArray(e)},__wbg_isSafeInteger_66acec27e09e99a7:function(e){return Number.isSafeInteger(e)},__wbg_iterator_8732428d309e270e:function(){return Symbol.iterator},__wbg_length_4a591ecaa01354d9:function(e){return e.length},__wbg_length_66f1a4b2e9026940:function(e){return e.length},__wbg_new_227d7c05414eb861:function(){return Error()},__wbg_new_578aeef4b6b94378:function(e){return new Uint8Array(e)},__wbg_new_ce1ab61c1c2b300d:function(){return{}},__wbg_new_d90091b82fdf5b91:function(){return[]},__wbg_next_9e03acdf51c4960d:function(e){return e.next},__wbg_next_eb8ca7351fa27906:function(){return R(function(e){return e.next()},arguments)},__wbg_prototypesetcall_3249fc62a0fafa30:function(e,t,n){Uint8Array.prototype.set.call(Oe(e,t),n)},__wbg_set_6be42768c690e380:function(e,t,n){e[t]=n},__wbg_set_dca99999bba88a9a:function(e,t,n){e[t>>>0]=n},__wbg_stack_3b0d974bbf31e44f:function(e,t){let n=t.stack,r=B(n,K.__wbindgen_malloc,K.__wbindgen_realloc),i=G;P().setInt32(e+4,i,!0),P().setInt32(e+0,r,!0)},__wbg_value_f3625092ee4b37f4:function(e){return e.value},__wbindgen_cast_0000000000000001:function(e){return e},__wbindgen_cast_0000000000000002:function(e,t){return F(e,t)},__wbindgen_cast_0000000000000003:function(e){return BigInt.asUintN(64,e)},__wbindgen_init_externref_table:function(){let e=K.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}function De(e){let t=K.__externref_table_alloc();return K.__wbindgen_externrefs.set(t,e),t}function M(e){let t=typeof e;if(t==`number`||t==`boolean`||e==null)return`${e}`;if(t==`string`)return`"${e}"`;if(t==`symbol`){let t=e.description;return t==null?`Symbol`:`Symbol(${t})`}if(t==`function`){let t=e.name;return typeof t==`string`&&t.length>0?`Function(${t})`:`Function`}if(Array.isArray(e)){let t=e.length,n=`[`;t>0&&(n+=M(e[0]));for(let r=1;r<t;r++)n+=`, `+M(e[r]);return n+=`]`,n}let n=/\[object ([^\]]+)\]/.exec(toString.call(e)),r;if(n&&n.length>1)r=n[1];else return toString.call(e);if(r==`Object`)try{return`Object(`+JSON.stringify(e)+`)`}catch{return`Object`}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:r}function Oe(e,t){return e>>>=0,L().subarray(e/1,e/1+t)}var N=null;function P(){return(N===null||N.buffer.detached===!0||N.buffer.detached===void 0&&N.buffer!==K.memory.buffer)&&(N=new DataView(K.memory.buffer)),N}function F(e,t){return Ae(e>>>0,t)}var I=null;function L(){return(I===null||I.byteLength===0)&&(I=new Uint8Array(K.memory.buffer)),I}function R(e,t){try{return e.apply(this,t)}catch(e){let t=De(e);K.__wbindgen_exn_store(t)}}function z(e){return e==null}function B(e,t,n){if(n===void 0){let n=W.encode(e),r=t(n.length,1)>>>0;return L().subarray(r,r+n.length).set(n),G=n.length,r}let r=e.length,i=t(r,1)>>>0,a=L(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=L().subarray(i+o,i+r),a=W.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return G=o,i}function V(e){let t=K.__wbindgen_externrefs.get(e);return K.__externref_table_dealloc(e),t}var H=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});H.decode();var ke=2146435072,U=0;function Ae(e,t){return U+=t,U>=ke&&(H=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),H.decode(),U=t),H.decode(L().subarray(e,e+t))}var W=new TextEncoder;`encodeInto`in W||(W.encodeInto=function(e,t){let n=W.encode(e);return t.set(n),{read:e.length,written:n.length}});var G=0,K;function je(e,t){return K=e.exports,N=null,I=null,K.__wbindgen_start(),K}async function Me(e,t){if(typeof Response==`function`&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(e.ok&&n(e.type)&&e.headers.get(`Content-Type`)!==`application/wasm`)console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}function n(e){switch(e){case`basic`:case`cors`:case`default`:return!0}return!1}}function Ne(e){if(K!==void 0)return K;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module:e}=e:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));let t=Ee();return e instanceof WebAssembly.Module||(e=new WebAssembly.Module(e)),je(new WebAssembly.Instance(e,t))}async function Pe(e){if(K!==void 0)return K;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`)),e===void 0&&(e=new URL(new URL(``+new URL(`diff_wasm_bg-c6YkaZRL-c6YkaZRL.wasm`,import.meta.url).href,``+import.meta.url).href));let t=Ee();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:n,module:r}=await Me(await e,t);return je(n)}var Fe=Object.freeze({__proto__:null,computeDiff:Ce,computeDiffLines:we,default:Pe,init:Te,initSync:Ne}),q=null,J=null;async function Ie(){return q||J||(J=(async()=>{let n=new URL(new URL(``+new URL(`diff_wasm_bg-c6YkaZRL-c6YkaZRL.wasm`,import.meta.url).href,``+import.meta.url).href),r=n;if(typeof process<`u`&&process.versions?.node){let{readFile:i}=await t(async()=>{let{readFile:t}=await import(`./__vite-browser-external-B1y6A_ue.js`).then(t=>e(t.default,1));return{readFile:t}},__vite__mapDeps([0,1]),import.meta.url);r=await i(n)}return await Pe({module_or_path:r}),Te(),q=Fe,q})(),J)}function Le(){if(!q)throw Error(`WASM not initialized. Call initWasm() first and await it.`);return q}function Re(e){return new j(e.changes.map(ze),e.moves.map(Ve),e.hitTimeout)}function ze(e){let t=e.innerChanges?.map(Be);return new A(new D(e.original.startLineNumber,e.original.endLineNumberExclusive),new D(e.modified.startLineNumber,e.modified.endLineNumberExclusive),t)}function Be(e){return new O(new w(e.originalStartLine,e.originalStartColumn,e.originalEndLine,e.originalEndColumn),new w(e.modifiedStartLine,e.modifiedStartColumn,e.modifiedEndLine,e.modifiedEndColumn))}function Ve(e){return new he(new k(new D(e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive),new D(e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive)),e.changes.map(ze))}var He=class{original;modified;constructor(e,t){this.original=e,this.modified=t}toString(){return`${this.original} <-> ${this.modified}`}},Y=class{range;newText;constructor(e,t){this.range=e,this.newText=t}get isEmpty(){return this.range.isEmpty&&this.newText.length===0}toString(){return`${this.range}->${JSON.stringify(this.newText)}`}},Ue=class e{replacements;static empty=new e([]);static single(t){return new e([t])}static of(t){for(let e=1;e<t.length;e++){let n=t[e-1],r=t[e];if(n.range.endExclusive>r.range.start)throw Error(`StringEdit.of: replacements must be sorted and non-overlapping (${n.range} vs ${r.range})`)}return new e(t)}constructor(e){this.replacements=e}get isEmpty(){return this.replacements.length===0}apply(e){if(this.replacements.length===0)return e;let t=[],n=0;for(let r of this.replacements)t.push(e.substring(n,r.range.start)),t.push(r.newText),n=r.range.endExclusive;return t.push(e.substring(n)),t.join(``)}inverse(t){let r=[],i=0;for(let e of this.replacements){let a=e.range.start+i,o=a+e.newText.length,s=t.substring(e.range.start,e.range.endExclusive);r.push(new Y(new n(a,o),s)),i+=e.newText.length-e.range.length}return new e(r)}normalize(){let t=[];for(let e of this.replacements){if(e.isEmpty)continue;let r=t[t.length-1];r&&r.range.endExclusive===e.range.start?t[t.length-1]=new Y(new n(r.range.start,e.range.endExclusive),r.newText+e.newText):t.push(e)}return new e(t)}toString(){return`StringEdit[${this.replacements.map(e=>e.toString()).join(`, `)}]`}},X=class{range;newText;data;constructor(e,t,n){this.range=e,this.newText=t,this.data=n}get isEmpty(){return this.range.isEmpty&&this.newText.length===0}toString(){return`${this.range}->${JSON.stringify(this.newText)}#${this.data}`}},We=class e{replacements;static empty(){return new e([])}static single(t){return new e([t])}static of(t){for(let e=1;e<t.length;e++){let n=t[e-1],r=t[e];if(n.range.endExclusive>r.range.start)throw Error(`AnnotatedStringEdit.of: replacements must be sorted and non-overlapping (${n.range} vs ${r.range})`)}return new e(t)}constructor(e){this.replacements=e}get isEmpty(){return this.replacements.length===0}apply(e){if(this.replacements.length===0)return e;let t=[],n=0;for(let r of this.replacements)t.push(e.substring(n,r.range.start)),t.push(r.newText),n=r.range.endExclusive;return t.push(e.substring(n)),t.join(``)}inverse(t,r){let i=[],a=0;for(let e of this.replacements){let o=e.range.start+a,s=o+e.newText.length,c=t.substring(e.range.start,e.range.endExclusive);i.push(new X(new n(o,s),c,r(e.data))),a+=e.newText.length-e.range.length}return new e(i)}normalize(){let t=[];for(let e of this.replacements){if(e.isEmpty)continue;let r=t[t.length-1];if(r&&r.range.endExclusive===e.range.start){let i=r.data.join(e.data);if(i!==void 0){t[t.length-1]=new X(new n(r.range.start,e.range.endExclusive),r.newText+e.newText,i);continue}}t.push(e)}return new e(t)}mapData(t){return new e(this.replacements.map(e=>new X(e.range,e.newText,t(e.data))))}stripData(){return Ue.of(this.replacements.map(e=>new Y(e.range,e.newText)))}toString(){return`AnnotatedStringEdit[${this.replacements.map(e=>e.toString()).join(`, `)}]`}},Ge=class e{isFormattingChange;static change=new e(!1);static formatting=new e(!0);constructor(e){this.isFormattingChange=e}join(e){if(this.isFormattingChange===e.isFormattingChange)return this}toString(){return this.isFormattingChange?`formatting`:`change`}},Ke=class{range;innerEdit;constructor(e,t){this.range=e,this.innerEdit=t}toString(){return`Move ${this.range}`+(this.innerEdit.isEmpty?``:` (${this.innerEdit})`)}},qe=class{edits;moves;hitTimeout;constructor(e,t,n){this.edits=e,this.moves=t,this.hitTimeout=n}};async function Je(e={}){return e.useWasm?(await Ie(),new Xe(e.algorithm)):new Ye(e.algorithm)}var Ye=class{_algorithm;_impl=new be;constructor(e){this._algorithm=e}computeDiff(e,t,n){let r=e.split(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./__vite-browser-external-BON7qP59.js","./index-BE3UJdoH.js"])))=>i.map(i=>d[i]);
2
+ import{r as e,t}from"./index-BE3UJdoH.js";var n=class e{start;endExclusive;static ofLength(t){return new e(0,t)}static ofStartAndLength(t,n){return new e(t,t+n)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw Error(`Invalid range: [${e}, ${t})`)}get isEmpty(){return this.start===this.endExclusive}get length(){return this.endExclusive-this.start}delta(t){return new e(this.start+t,this.endExclusive+t)}deltaStart(t){return new e(this.start+t,this.endExclusive)}deltaEnd(t){return new e(this.start,this.endExclusive+t)}equals(e){return this.start===e.start&&this.endExclusive===e.endExclusive}containsRange(e){return this.start<=e.start&&e.endExclusive<=this.endExclusive}contains(e){return this.start<=e&&e<this.endExclusive}join(t){return new e(Math.min(this.start,t.start),Math.max(this.endExclusive,t.endExclusive))}intersect(t){let n=Math.max(this.start,t.start),r=Math.min(this.endExclusive,t.endExclusive);if(n<=r)return new e(n,r)}intersects(e){return Math.max(this.start,e.start)<Math.min(this.endExclusive,e.endExclusive)}intersectsOrTouches(e){return Math.max(this.start,e.start)<=Math.min(this.endExclusive,e.endExclusive)}slice(e){return e.slice(this.start,this.endExclusive)}toString(){return`[${this.start}, ${this.endExclusive})`}},r=class e{static instance=new e;isValid(){return!0}},i=class{timeout;startTime=Date.now();valid=!0;constructor(e){if(this.timeout=e,e<=0)throw Error(`timeout must be positive`)}isValid(){return!(Date.now()-this.startTime<this.timeout)&&this.valid&&(this.valid=!1),this.valid}},a=class e{offset1;offset2;static zero=new e(0,0);static max=new e(2**53-1,2**53-1);constructor(e,t){this.offset1=e,this.offset2=t}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(t){return t===0?this:new e(this.offset1+t,this.offset2+t)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}},o=class e{seq1Range;seq2Range;static invert(t,n){let r=[];return c(t,(t,i)=>{r.push(e.fromOffsetPairs(t?t.getEndExclusives():a.zero,i?i.getStarts():new a(n,(t?t.seq2Range.endExclusive-t.seq1Range.endExclusive:0)+n)))}),r}static fromOffsetPairs(t,r){return new e(new n(t.offset1,r.offset1),new n(t.offset2,r.offset2))}static assertSorted(e){let t;for(let n of e){if(t&&!(t.seq1Range.endExclusive<=n.seq1Range.start&&t.seq2Range.endExclusive<=n.seq2Range.start))throw Error(`Sequence diffs must be sorted`);t=n}}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new e(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(t){return new e(this.seq1Range.join(t.seq1Range),this.seq2Range.join(t.seq2Range))}delta(t){return t===0?this:new e(this.seq1Range.delta(t),this.seq2Range.delta(t))}deltaStart(t){return t===0?this:new e(this.seq1Range.deltaStart(t),this.seq2Range.deltaStart(t))}deltaEnd(t){return t===0?this:new e(this.seq1Range.deltaEnd(t),this.seq2Range.deltaEnd(t))}intersectsOrTouches(e){return this.seq1Range.intersectsOrTouches(e.seq1Range)||this.seq2Range.intersectsOrTouches(e.seq2Range)}intersect(t){let n=this.seq1Range.intersect(t.seq1Range),r=this.seq2Range.intersect(t.seq2Range);if(!(!n||!r))return new e(n,r)}getStarts(){return new a(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new a(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}},s=class e{diffs;hitTimeout;static trivial(t,r){return new e([new o(n.ofLength(t.length),n.ofLength(r.length))],!1)}static trivialTimedOut(t,r){return new e([new o(n.ofLength(t.length),n.ofLength(r.length))],!0)}constructor(e,t){this.diffs=e,this.hitTimeout=t}};function c(e,t){let n;for(let r of e)t(n,r),n=r;t(n,void 0)}var l=class{width;height;array=[];constructor(e,t){this.width=e,this.height=t,this.array=Array(e*t)}get(e,t){return this.array[e+t*this.width]}set(e,t,n){this.array[e+t*this.width]=n}},u=class{compute(e,t,i=r.instance,a){if(e.length===0||t.length===0)return s.trivial(e,t);let c=new l(e.length,t.length),u=new l(e.length,t.length),d=new l(e.length,t.length);for(let n=0;n<e.length;n++)for(let r=0;r<t.length;r++){if(!i.isValid())return s.trivialTimedOut(e,t);let o=n===0?0:c.get(n-1,r),l=r===0?0:c.get(n,r-1),f;e.getElement(n)===t.getElement(r)?(f=n===0||r===0?0:c.get(n-1,r-1),n>0&&r>0&&u.get(n-1,r-1)===3&&(f+=d.get(n-1,r-1)),f+=a?a(n,r):1):f=-1;let p=Math.max(o,l,f);if(p===f){let e=n>0&&r>0?d.get(n-1,r-1):0;d.set(n,r,e+1),u.set(n,r,3)}else p===o?(d.set(n,r,0),u.set(n,r,1)):p===l&&(d.set(n,r,0),u.set(n,r,2));c.set(n,r,p)}let f=[],p=e.length,m=t.length;function h(e,t){(e+1!==p||t+1!==m)&&f.push(new o(new n(e+1,p),new n(t+1,m))),p=e,m=t}let g=e.length-1,_=t.length-1;for(;g>=0&&_>=0;)u.get(g,_)===3?(h(g,_),g--,_--):u.get(g,_)===1?g--:_--;return h(-1,-1),f.reverse(),new s(f,!1)}},d=class{compute(e,t,i=r.instance){if(e.length===0||t.length===0)return s.trivial(e,t);let a=e,c=t;function l(e,t){for(;e<a.length&&t<c.length&&a.getElement(e)===c.getElement(t);)e++,t++;return e}let u=0,d=new p;d.set(0,l(0,0));let h=new m;h.set(0,d.get(0)===0?null:new f(null,0,0,d.get(0)));let g=0;loop:for(;;){if(u++,!i.isValid())return s.trivialTimedOut(a,c);let e=-Math.min(u,c.length+u%2),t=Math.min(u,a.length+u%2);for(g=e;g<=t;g+=2){let n=g===t?-1:d.get(g+1),r=g===e?-1:d.get(g-1)+1,i=Math.min(Math.max(n,r),a.length),o=i-g;if(i>a.length||o>c.length)continue;let s=l(i,o);d.set(g,s);let u=i===n?h.get(g+1):h.get(g-1);if(h.set(g,s===i?u:new f(u,i,o,s-i)),d.get(g)===a.length&&d.get(g)-g===c.length)break loop}}let _=h.get(g),v=[],y=a.length,b=c.length;for(;;){let e=_?_.x+_.length:0,t=_?_.y+_.length:0;if((e!==y||t!==b)&&v.push(new o(new n(e,y),new n(t,b))),!_)break;y=_.x,b=_.y,_=_.prev}return v.reverse(),new s(v,!1)}},f=class{prev;x;y;length;constructor(e,t,n,r){this.prev=e,this.x=t,this.y=n,this.length=r}},p=class{positiveArr=new Int32Array(10);negativeArr=new Int32Array(10);get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if(e=-e-1,e>=this.negativeArr.length){let e=this.negativeArr;this.negativeArr=new Int32Array(e.length*2),this.negativeArr.set(e)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){let e=this.positiveArr;this.positiveArr=new Int32Array(e.length*2),this.positiveArr.set(e)}this.positiveArr[e]=t}}},m=class{positiveArr=[];negativeArr=[];get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}};function h(e,t,n){let r=n;return r=g(e,t,r),r=g(e,t,r),r=_(e,t,r),r}function g(e,t,r){if(r.length===0)return r;let i=[];i.push(r[0]);for(let a=1;a<r.length;a++){let s=i[i.length-1],c=r[a];if(c.seq1Range.isEmpty||c.seq2Range.isEmpty){let r=c.seq1Range.start-s.seq1Range.endExclusive,a;for(a=1;a<=r&&!(e.getElement(c.seq1Range.start-a)!==e.getElement(c.seq1Range.endExclusive-a)||t.getElement(c.seq2Range.start-a)!==t.getElement(c.seq2Range.endExclusive-a));a++);if(a--,a===r){i[i.length-1]=new o(new n(s.seq1Range.start,c.seq1Range.endExclusive-r),new n(s.seq2Range.start,c.seq2Range.endExclusive-r));continue}c=c.delta(-a)}i.push(c)}let a=[];for(let r=0;r<i.length-1;r++){let s=i[r+1],c=i[r];if(c.seq1Range.isEmpty||c.seq2Range.isEmpty){let a=s.seq1Range.start-c.seq1Range.endExclusive,l;for(l=0;l<a&&!(!e.isStronglyEqual(c.seq1Range.start+l,c.seq1Range.endExclusive+l)||!t.isStronglyEqual(c.seq2Range.start+l,c.seq2Range.endExclusive+l));l++);if(l===a){i[r+1]=new o(new n(c.seq1Range.start+a,s.seq1Range.endExclusive),new n(c.seq2Range.start+a,s.seq2Range.endExclusive));continue}l>0&&(c=c.delta(l))}a.push(c)}return i.length>0&&a.push(i[i.length-1]),a}function _(e,t,r){if(!e.getBoundaryScore||!t.getBoundaryScore)return r;for(let i=0;i<r.length;i++){let a=i>0?r[i-1]:void 0,o=r[i],s=i+1<r.length?r[i+1]:void 0,c=new n(a?a.seq1Range.endExclusive+1:0,s?s.seq1Range.start-1:e.length),l=new n(a?a.seq2Range.endExclusive+1:0,s?s.seq2Range.start-1:t.length);o.seq1Range.isEmpty?r[i]=v(o,e,t,c,l):o.seq2Range.isEmpty&&(r[i]=v(o.swap(),t,e,l,c).swap())}return r}function v(e,t,n,r,i){let a=1;for(;e.seq1Range.start-a>=r.start&&e.seq2Range.start-a>=i.start&&n.isStronglyEqual(e.seq2Range.start-a,e.seq2Range.endExclusive-a)&&a<100;)a++;a--;let o=0;for(;e.seq1Range.start+o<r.endExclusive&&e.seq2Range.endExclusive+o<i.endExclusive&&n.isStronglyEqual(e.seq2Range.start+o,e.seq2Range.endExclusive+o)&&o<100;)o++;if(a===0&&o===0)return e;let s=0,c=-1;for(let r=-a;r<=o;r++){let i=e.seq2Range.start+r,a=e.seq2Range.endExclusive+r,o=e.seq1Range.start+r,l=t.getBoundaryScore(o)+n.getBoundaryScore(i)+n.getBoundaryScore(a);l>c&&(c=l,s=r)}return e.delta(s)}function y(e,t,n){let r=[];for(let e of n){let t=r[r.length-1];if(!t){r.push(e);continue}e.seq1Range.start-t.seq1Range.endExclusive<=2||e.seq2Range.start-t.seq2Range.endExclusive<=2?r[r.length-1]=new o(t.seq1Range.join(e.seq1Range),t.seq2Range.join(e.seq2Range)):r.push(e)}return r}function b(e,t,n,r,i=!1){let s=o.invert(n,e.length),c=[],l=new a(0,0);function u(n,a){if(n.offset1<l.offset1||n.offset2<l.offset2)return;let u=r(e,n.offset1),d=r(t,n.offset2);if(!u||!d)return;let f=new o(u,d),p=f.intersect(a),m=p.seq1Range.length,h=p.seq2Range.length;for(;s.length>0;){let n=s[0];if(!(n.seq1Range.intersects(f.seq1Range)||n.seq2Range.intersects(f.seq2Range)))break;let i=new o(r(e,n.seq1Range.start),r(t,n.seq2Range.start)),a=i.intersect(n);if(m+=a.seq1Range.length,h+=a.seq2Range.length,f=f.join(i),f.seq1Range.endExclusive>=n.seq1Range.endExclusive)s.shift();else break}(i&&m+h<f.seq1Range.length+f.seq2Range.length||m+h<(f.seq1Range.length+f.seq2Range.length)*2/3)&&c.push(f),l=f.getEndExclusives()}for(;s.length>0;){let e=s.shift();e.seq1Range.isEmpty||(u(e.getStarts(),e),u(e.getEndExclusives().delta(-1),e))}return x(n,c)}function x(e,t){let n=[];for(;e.length>0||t.length>0;){let r=e[0],i=t[0],a;a=r&&(!i||r.seq1Range.start<i.seq1Range.start)?e.shift():t.shift(),n.length>0&&n[n.length-1].seq1Range.endExclusive>=a.seq1Range.start?n[n.length-1]=n[n.length-1].join(a):n.push(a)}return n}function ee(e,t,r){let i=r;if(i.length===0)return i;let a=0,o;do{o=!1;let t=[i[0]];for(let r=1;r<i.length;r++){let a=i[r],s=t[t.length-1];function c(t,r){let i=new n(s.seq1Range.endExclusive,a.seq1Range.start);return e.getText(i).replace(/\s/g,``).length<=4&&(t.seq1Range.length+t.seq2Range.length>5||r.seq1Range.length+r.seq2Range.length>5)}c(s,a)?(o=!0,t[t.length-1]=t[t.length-1].join(a)):t.push(a)}i=t}while(a++<10&&o);return i}function te(e,t,r){let i=r;if(i.length===0)return i;let s=0,c;do{c=!1;let r=[i[0]];for(let a=1;a<i.length;a++){let o=i[a],s=r[r.length-1];function l(r,i){let a=new n(s.seq1Range.endExclusive,o.seq1Range.start);if(e.countLinesIn(a)>5||a.length>500)return!1;let c=e.getText(a).trim();if(c.length>20||c.split(/\r\n|\r|\n/).length>1)return!1;let l=e.countLinesIn(r.seq1Range),u=r.seq1Range.length,d=t.countLinesIn(r.seq2Range),f=r.seq2Range.length,p=e.countLinesIn(i.seq1Range),m=i.seq1Range.length,h=t.countLinesIn(i.seq2Range),g=i.seq2Range.length;function _(e){return Math.min(e,130)}return(_(l*40+u)**1.5+_(d*40+f)**1.5)**1.5+(_(p*40+m)**1.5+_(h*40+g)**1.5)**1.5>(130**1.5)**1.5*1.3}l(s,o)?(c=!0,r[r.length-1]=r[r.length-1].join(o)):r.push(o)}i=r}while(s++<10&&c);let l=[];return ne(i,(t,r,i)=>{let s=r;function c(e){return e.length>0&&e.trim().length<=3&&r.seq1Range.length+r.seq2Range.length>100}let u=e.extendToFullLines(r.seq1Range),d=e.getText(new n(u.start,r.seq1Range.start));c(d)&&(s=s.deltaStart(-d.length));let f=e.getText(new n(r.seq1Range.endExclusive,u.endExclusive));c(f)&&(s=s.deltaEnd(f.length));let p=o.fromOffsetPairs(t?t.getEndExclusives():a.zero,i?i.getStarts():a.max),m=s.intersect(p);l.length>0&&m.getStarts().equals(l[l.length-1].getEndExclusives())?l[l.length-1]=l[l.length-1].join(m):l.push(m)}),l}function ne(e,t){for(let n=0;n<e.length;n++)t(e[n-1],e[n],e[n+1])}var S={Space:32,Tab:9},re=class{trimmedHash;lines;constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){return 1e3-((e===0?0:ie(this.lines[e-1]))+(e===this.lines.length?0:ie(this.lines[e])))}getText(e){return this.lines.slice(e.start,e.endExclusive).join(`
3
+ `)}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}};function ie(e){let t=0;for(;t<e.length&&(e.charCodeAt(t)===S.Space||e.charCodeAt(t)===S.Tab);)t++;return t}var C={LineFeed:10,CarriageReturn:13,Space:32,Tab:9,a:97,z:122,A:65,Z:90,Digit0:48,Digit9:57,Comma:44,Semicolon:59};function ae(e){return e===C.Space||e===C.Tab}var w=class e{startLineNumber;startColumn;endLineNumber;endColumn;constructor(e,t,n,r){this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=r}static fromPositions(t,n){return new e(t.lineNumber,t.column,n.lineNumber,n.column)}},T=class{lineNumber;column;constructor(e,t){this.lineNumber=e,this.column=t}isBefore(e){return this.lineNumber<e.lineNumber?!0:e.lineNumber<this.lineNumber?!1:this.column<e.column}},oe=class{lines;considerWhitespaceChanges;elements=[];firstElementOffsetByLineIdx=[];lineStartOffsets=[];trimmedWsLengthsByLineIdx=[];_range;constructor(e,t,n){this.lines=e,this.considerWhitespaceChanges=n,this._range=t,this.firstElementOffsetByLineIdx.push(0);for(let t=this._range.startLineNumber;t<=this._range.endLineNumber;t++){let r=e[t-1],i=0;t===this._range.startLineNumber&&this._range.startColumn>1&&(i=this._range.startColumn-1,r=r.substring(i)),this.lineStartOffsets.push(i);let a=0;if(!n){let e=r.trimStart();a=r.length-e.length,r=e.trimEnd()}this.trimmedWsLengthsByLineIdx.push(a);let o=t===this._range.endLineNumber?Math.min(this._range.endColumn-1-i-a,r.length):r.length;for(let e=0;e<o;e++)this.elements.push(r.charCodeAt(e));t<this._range.endLineNumber&&(this.elements.push(10),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new n(0,this.length))}getText(e){return this.elements.slice(e.start,e.endExclusive).map(e=>String.fromCharCode(e)).join(``)}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){let t=ue(e>0?this.elements[e-1]:-1),n=ue(e<this.elements.length?this.elements[e]:-1);if(t===7&&n===8)return 0;if(t===8)return 150;let r=0;return t!==n&&(r+=10,t===0&&n===1&&(r+=1)),r+=le(t),r+=le(n),r}translateOffset(e,t=`right`){let n=de(this.firstElementOffsetByLineIdx,t=>t<=e),r=e-this.firstElementOffsetByLineIdx[n];return new T(this._range.startLineNumber+n,1+this.lineStartOffsets[n]+r+(r===0&&t===`left`?0:this.trimmedWsLengthsByLineIdx[n]))}translateRange(e){let t=this.translateOffset(e.start,`right`),n=this.translateOffset(e.endExclusive,`left`);return n.isBefore(t)?w.fromPositions(n,n):w.fromPositions(t,n)}findWordContaining(e){if(e<0||e>=this.elements.length||!E(this.elements[e]))return;let t=e;for(;t>0&&E(this.elements[t-1]);)t--;let r=e;for(;r<this.elements.length&&E(this.elements[r]);)r++;return new n(t,r)}findSubWordContaining(e){if(e<0||e>=this.elements.length||!E(this.elements[e]))return;let t=e;for(;t>0&&E(this.elements[t-1])&&!se(this.elements[t]);)t--;let r=e;for(;r<this.elements.length&&E(this.elements[r])&&!se(this.elements[r]);)r++;return new n(t,r)}countLinesIn(e){return this.translateOffset(e.endExclusive).lineNumber-this.translateOffset(e.start).lineNumber}isStronglyEqual(e,t){return this.elements[e]===this.elements[t]}extendToFullLines(e){return new n(fe(this.firstElementOffsetByLineIdx,t=>t<=e.start)??0,pe(this.firstElementOffsetByLineIdx,t=>e.endExclusive<=t)??this.elements.length)}};function E(e){return e>=C.a&&e<=C.z||e>=C.A&&e<=C.Z||e>=C.Digit0&&e<=C.Digit9}function se(e){return e>=C.A&&e<=C.Z}var ce={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function le(e){return ce[e]}function ue(e){return e===C.LineFeed?8:e===C.CarriageReturn?7:ae(e)?6:e>=C.a&&e<=C.z?0:e>=C.A&&e<=C.Z?1:e>=C.Digit0&&e<=C.Digit9?2:e===-1?3:e===C.Comma||e===C.Semicolon?5:4}function de(e,t){let n=0,r=e.length-1;for(;n<=r;){let i=Math.floor((n+r)/2);t(e[i])?n=i+1:r=i-1}return r}function fe(e,t){let n=de(e,t);return n>=0?e[n]:void 0}function pe(e,t){let n=0,r=e.length-1;for(;n<=r;){let i=Math.floor((n+r)/2);t(e[i])?r=i-1:n=i+1}return n<e.length?e[n]:void 0}var D=class e{startLineNumber;endLineNumberExclusive;constructor(e,t){if(this.startLineNumber=e,this.endLineNumberExclusive=t,e>t)throw Error(`Invalid range: ${e} > ${t}`)}get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}get length(){return this.endLineNumberExclusive-this.startLineNumber}join(t){return new e(Math.min(this.startLineNumber,t.startLineNumber),Math.max(this.endLineNumberExclusive,t.endLineNumberExclusive))}intersectsOrTouches(e){return this.startLineNumber<=e.endLineNumberExclusive&&e.startLineNumber<=this.endLineNumberExclusive}toOffsetRange(){return new n(this.startLineNumber-1,this.endLineNumberExclusive-1)}toString(){return`[${this.startLineNumber}, ${this.endLineNumberExclusive})`}},O=class{originalRange;modifiedRange;constructor(e,t){this.originalRange=e,this.modifiedRange=t}toString(){return`${me(this.originalRange)} <-> ${me(this.modifiedRange)}`}static assertSorted(e){for(let t=1;t<e.length;t++){let n=e[t-1],r=e[t];if(!(n.originalRange.endLineNumber<=r.originalRange.startLineNumber||n.originalRange.endLineNumber===r.originalRange.startLineNumber&&n.originalRange.endColumn<=r.originalRange.startColumn))throw Error(`RangeMappings must be sorted`)}}};function me(e){return`(${e.startLineNumber}:${e.startColumn})-(${e.endLineNumber}:${e.endColumn})`}var k=class{original;modified;constructor(e,t){this.original=e,this.modified=t}toString(){return`${this.original} <-> ${this.modified}`}toRangeMapping2(e,t){let n=(e,t)=>e>=1&&e<=t.length,r=(e,t,n)=>{if(e<1)return new T(1,1);if(e>n.length)return new T(n.length,n[n.length-1].length+1);let r=n[e-1];return t>r.length+1?new T(e,r.length+1):new T(e,t)};if(n(this.original.endLineNumberExclusive,e)&&n(this.modified.endLineNumberExclusive,t))return new O(new w(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new w(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new O(w.fromPositions(new T(this.original.startLineNumber,1),r(this.original.endLineNumberExclusive-1,2**53-1,e)),w.fromPositions(new T(this.modified.startLineNumber,1),r(this.modified.endLineNumberExclusive-1,2**53-1,t)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new O(w.fromPositions(r(this.original.startLineNumber-1,2**53-1,e),r(this.original.endLineNumberExclusive-1,2**53-1,e)),w.fromPositions(r(this.modified.startLineNumber-1,2**53-1,t),r(this.modified.endLineNumberExclusive-1,2**53-1,t)));throw Error(`Invalid diff: cannot convert to range mapping`)}},A=class extends k{innerChanges;constructor(e,t,n){super(e,t),this.innerChanges=n}},j=class{changes;moves;hitTimeout;constructor(e,t,n){this.changes=e,this.moves=t,this.hitTimeout=n}},he=class{lineRangeMapping;changes;constructor(e,t){this.lineRangeMapping=e,this.changes=t}};function ge(e,t,n,r=!1){let i=[];for(let r of ve(e.map(e=>_e(e,t,n)),(e,t)=>e.original.intersectsOrTouches(t.original)||e.modified.intersectsOrTouches(t.modified))){let e=r[0],t=r[r.length-1];i.push(new A(e.original.join(t.original),e.modified.join(t.modified),r.map(e=>e.innerChanges[0])))}if(!r)for(let e=1;e<i.length;e++){let t=i[e-1],n=i[e];if(t.original.endLineNumberExclusive>n.original.startLineNumber||t.modified.endLineNumberExclusive>n.modified.startLineNumber)break}return i}function _e(e,t,n){let r=0,i=0;return e.modifiedRange.endColumn===1&&e.originalRange.endColumn===1&&e.originalRange.startLineNumber+r<=e.originalRange.endLineNumber&&e.modifiedRange.startLineNumber+r<=e.modifiedRange.endLineNumber&&(i=-1),e.modifiedRange.startColumn-1>=(n[e.modifiedRange.startLineNumber-1]?.length??0)&&e.originalRange.startColumn-1>=(t[e.originalRange.startLineNumber-1]?.length??0)&&e.originalRange.startLineNumber<=e.originalRange.endLineNumber+i&&e.modifiedRange.startLineNumber<=e.modifiedRange.endLineNumber+i&&(r=1),new A(new D(e.originalRange.startLineNumber+r,e.originalRange.endLineNumber+1+i),new D(e.modifiedRange.startLineNumber+r,e.modifiedRange.endLineNumber+1+i),[e])}function*ve(e,t){let n,r;for(let i of e)r!==void 0&&t(r,i)?n.push(i):(n&&(yield n),n=[i]),r=i;n&&(yield n)}var ye=class{lines;constructor(e){this.lines=e}get lineCount(){return this.lines.length}getLineContent(e){return this.lines[e-1]}},be=class{_dynamicProgrammingDiffing=new u;_myersDiffingAlgorithm=new d;computeDiff(e,t,a){if(e.length<=1&&Se(e,t))return new j([],[],!1);if(e.length===1&&e[0].length===0||t.length===1&&t[0].length===0)return new j([new A(new D(1,e.length+1),new D(1,t.length+1),[new O(new w(1,1,e.length,e[e.length-1].length+1),new w(1,1,t.length,t[t.length-1].length+1))])],[],!1);let s=a.maxComputationTimeMs===0?r.instance:new i(a.maxComputationTimeMs),c=!a.ignoreTrimWhitespace,l=new Map;function u(e){let t=l.get(e);return t===void 0&&(t=l.size,l.set(e,t)),t}let d=e.map(e=>u(e.trim())),f=t.map(e=>u(e.trim())),p=new re(d,e),m=new re(f,t),g=p.length+m.length<1700?this._dynamicProgrammingDiffing.compute(p,m,s,(n,r)=>e[n]===t[r]?t[r].length===0?.1:1+Math.log(1+t[r].length):.99):this._myersDiffingAlgorithm.compute(p,m,s),_=g.diffs,v=g.hitTimeout;_=h(p,m,_),_=ee(p,m,_);let y=[],b=r=>{if(c)for(let i=0;i<r;i++){let r=x+i,l=te+i;if(e[r]!==t[l]){let i=this._refineDiff(e,t,new o(new n(r,r+1),new n(l,l+1)),s,c,a);for(let e of i.mappings)y.push(e);i.hitTimeout&&(v=!0)}}},x=0,te=0;for(let n of _){b(n.seq1Range.start-x),x=n.seq1Range.endExclusive,te=n.seq2Range.endExclusive;let r=this._refineDiff(e,t,n,s,c,a);r.hitTimeout&&(v=!0);for(let e of r.mappings)y.push(e)}b(e.length-x);let ne=new ye(e),S=new ye(t);return new j(ge(y,ne.lines,S.lines),[],v)}_refineDiff(e,t,n,r,i,a){let o=xe(n).toRangeMapping2(e,t),s=new oe(e,o.originalRange,i),c=new oe(t,o.modifiedRange,i),l=s.length+c.length<500?this._dynamicProgrammingDiffing.compute(s,c,r):this._myersDiffingAlgorithm.compute(s,c,r),u=l.diffs;return u=h(s,c,u),u=b(s,c,u,(e,t)=>e.findWordContaining(t)),a.extendToSubwords&&(u=b(s,c,u,(e,t)=>e.findSubWordContaining(t),!0)),u=y(s,c,u),u=te(s,c,u),{mappings:u.map(e=>new O(s.translateRange(e.seq1Range),c.translateRange(e.seq2Range))),hitTimeout:l.hitTimeout}}};function xe(e){return new k(new D(e.seq1Range.start+1,e.seq1Range.endExclusive+1),new D(e.seq2Range.start+1,e.seq2Range.endExclusive+1))}function Se(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Ce(e,t,n){let r=B(e,K.__wbindgen_malloc,K.__wbindgen_realloc),i=G,a=B(t,K.__wbindgen_malloc,K.__wbindgen_realloc),o=G,s=K.computeDiff(r,i,a,o,n);if(s[2])throw V(s[1]);return V(s[0])}function we(e,t,n){let r=K.computeDiffLines(e,t,n);if(r[2])throw V(r[1]);return V(r[0])}function Te(){K.init()}function Ee(){return{__proto__:null,"./diff_wasm_bg.js":{__proto__:null,__wbg_Error_ef53bc310eb298a0:function(e,t){return Error(F(e,t))},__wbg_Number_6b506e6536831eaa:function(e){return Number(e)},__wbg_String_8564e559799eccda:function(e,t){let n=B(String(t),K.__wbindgen_malloc,K.__wbindgen_realloc),r=G;P().setInt32(e+4,r,!0),P().setInt32(e+0,n,!0)},__wbg___wbindgen_bigint_get_as_i64_38130e98eecd467d:function(e,t){let n=t,r=typeof n==`bigint`?n:void 0;P().setBigInt64(e+8,z(r)?BigInt(0):r,!0),P().setInt32(e+0,!z(r),!0)},__wbg___wbindgen_boolean_get_1a45e2c38d4d41b9:function(e){let t=e,n=typeof t==`boolean`?t:void 0;return z(n)?16777215:+!!n},__wbg___wbindgen_debug_string_0accd80f45e5faa2:function(e,t){let n=B(M(t),K.__wbindgen_malloc,K.__wbindgen_realloc),r=G;P().setInt32(e+4,r,!0),P().setInt32(e+0,n,!0)},__wbg___wbindgen_in_70a403a56e771704:function(e,t){return e in t},__wbg___wbindgen_is_bigint_6ffd6468a9bc44b9:function(e){return typeof e==`bigint`},__wbg___wbindgen_is_function_754e9f305ff6029e:function(e){return typeof e==`function`},__wbg___wbindgen_is_null_87c3bfe968c6a5ad:function(e){return e===null},__wbg___wbindgen_is_object_56732c2bc353f41d:function(e){let t=e;return typeof t==`object`&&!!t},__wbg___wbindgen_is_undefined_67b456be8673d3d7:function(e){return e===void 0},__wbg___wbindgen_jsval_eq_1068e624fa87f6ab:function(e,t){return e===t},__wbg___wbindgen_jsval_loose_eq_2c56564c75129511:function(e,t){return e==t},__wbg___wbindgen_number_get_9bb1761122181af2:function(e,t){let n=t,r=typeof n==`number`?n:void 0;P().setFloat64(e+8,z(r)?0:r,!0),P().setInt32(e+0,!z(r),!0)},__wbg___wbindgen_string_get_72bdf95d3ae505b1:function(e,t){let n=t,r=typeof n==`string`?n:void 0;var i=z(r)?0:B(r,K.__wbindgen_malloc,K.__wbindgen_realloc),a=G;P().setInt32(e+4,a,!0),P().setInt32(e+0,i,!0)},__wbg___wbindgen_throw_1506f2235d1bdba0:function(e,t){throw Error(F(e,t))},__wbg_call_8a89609d89f6608a:function(){return R(function(e,t){return e.call(t)},arguments)},__wbg_done_60cf307fcc680536:function(e){return e.done},__wbg_error_a6fa202b58aa1cd3:function(e,t){let n,r;try{n=e,r=t,console.error(F(e,t))}finally{K.__wbindgen_free(n,r,1)}},__wbg_get_1f8f054ddbaa7db2:function(){return R(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_unchecked_33f6e5c9e2f2d6b2:function(e,t){return e[t>>>0]},__wbg_get_with_ref_key_6412cf3094599694:function(e,t){return e[t]},__wbg_instanceof_ArrayBuffer_8f49811467741499:function(e){let t;try{t=e instanceof ArrayBuffer}catch{t=!1}return t},__wbg_instanceof_Uint8Array_86f30649f63ef9c2:function(e){let t;try{t=e instanceof Uint8Array}catch{t=!1}return t},__wbg_isArray_67c2c9c4313f4448:function(e){return Array.isArray(e)},__wbg_isSafeInteger_66acec27e09e99a7:function(e){return Number.isSafeInteger(e)},__wbg_iterator_8732428d309e270e:function(){return Symbol.iterator},__wbg_length_4a591ecaa01354d9:function(e){return e.length},__wbg_length_66f1a4b2e9026940:function(e){return e.length},__wbg_new_227d7c05414eb861:function(){return Error()},__wbg_new_578aeef4b6b94378:function(e){return new Uint8Array(e)},__wbg_new_ce1ab61c1c2b300d:function(){return{}},__wbg_new_d90091b82fdf5b91:function(){return[]},__wbg_next_9e03acdf51c4960d:function(e){return e.next},__wbg_next_eb8ca7351fa27906:function(){return R(function(e){return e.next()},arguments)},__wbg_prototypesetcall_3249fc62a0fafa30:function(e,t,n){Uint8Array.prototype.set.call(Oe(e,t),n)},__wbg_set_6be42768c690e380:function(e,t,n){e[t]=n},__wbg_set_dca99999bba88a9a:function(e,t,n){e[t>>>0]=n},__wbg_stack_3b0d974bbf31e44f:function(e,t){let n=t.stack,r=B(n,K.__wbindgen_malloc,K.__wbindgen_realloc),i=G;P().setInt32(e+4,i,!0),P().setInt32(e+0,r,!0)},__wbg_value_f3625092ee4b37f4:function(e){return e.value},__wbindgen_cast_0000000000000001:function(e){return e},__wbindgen_cast_0000000000000002:function(e,t){return F(e,t)},__wbindgen_cast_0000000000000003:function(e){return BigInt.asUintN(64,e)},__wbindgen_init_externref_table:function(){let e=K.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}function De(e){let t=K.__externref_table_alloc();return K.__wbindgen_externrefs.set(t,e),t}function M(e){let t=typeof e;if(t==`number`||t==`boolean`||e==null)return`${e}`;if(t==`string`)return`"${e}"`;if(t==`symbol`){let t=e.description;return t==null?`Symbol`:`Symbol(${t})`}if(t==`function`){let t=e.name;return typeof t==`string`&&t.length>0?`Function(${t})`:`Function`}if(Array.isArray(e)){let t=e.length,n=`[`;t>0&&(n+=M(e[0]));for(let r=1;r<t;r++)n+=`, `+M(e[r]);return n+=`]`,n}let n=/\[object ([^\]]+)\]/.exec(toString.call(e)),r;if(n&&n.length>1)r=n[1];else return toString.call(e);if(r==`Object`)try{return`Object(`+JSON.stringify(e)+`)`}catch{return`Object`}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:r}function Oe(e,t){return e>>>=0,L().subarray(e/1,e/1+t)}var N=null;function P(){return(N===null||N.buffer.detached===!0||N.buffer.detached===void 0&&N.buffer!==K.memory.buffer)&&(N=new DataView(K.memory.buffer)),N}function F(e,t){return Ae(e>>>0,t)}var I=null;function L(){return(I===null||I.byteLength===0)&&(I=new Uint8Array(K.memory.buffer)),I}function R(e,t){try{return e.apply(this,t)}catch(e){let t=De(e);K.__wbindgen_exn_store(t)}}function z(e){return e==null}function B(e,t,n){if(n===void 0){let n=W.encode(e),r=t(n.length,1)>>>0;return L().subarray(r,r+n.length).set(n),G=n.length,r}let r=e.length,i=t(r,1)>>>0,a=L(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=L().subarray(i+o,i+r),a=W.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return G=o,i}function V(e){let t=K.__wbindgen_externrefs.get(e);return K.__externref_table_dealloc(e),t}var H=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});H.decode();var ke=2146435072,U=0;function Ae(e,t){return U+=t,U>=ke&&(H=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),H.decode(),U=t),H.decode(L().subarray(e,e+t))}var W=new TextEncoder;`encodeInto`in W||(W.encodeInto=function(e,t){let n=W.encode(e);return t.set(n),{read:e.length,written:n.length}});var G=0,K;function je(e,t){return K=e.exports,N=null,I=null,K.__wbindgen_start(),K}async function Me(e,t){if(typeof Response==`function`&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(e.ok&&n(e.type)&&e.headers.get(`Content-Type`)!==`application/wasm`)console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}function n(e){switch(e){case`basic`:case`cors`:case`default`:return!0}return!1}}function Ne(e){if(K!==void 0)return K;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module:e}=e:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));let t=Ee();return e instanceof WebAssembly.Module||(e=new WebAssembly.Module(e)),je(new WebAssembly.Instance(e,t))}async function Pe(e){if(K!==void 0)return K;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`)),e===void 0&&(e=new URL(new URL(``+new URL(`diff_wasm_bg-c6YkaZRL-c6YkaZRL.wasm`,import.meta.url).href,``+import.meta.url).href));let t=Ee();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:n,module:r}=await Me(await e,t);return je(n)}var Fe=Object.freeze({__proto__:null,computeDiff:Ce,computeDiffLines:we,default:Pe,init:Te,initSync:Ne}),q=null,J=null;async function Ie(){return q||J||(J=(async()=>{let n=new URL(new URL(``+new URL(`diff_wasm_bg-c6YkaZRL-c6YkaZRL.wasm`,import.meta.url).href,``+import.meta.url).href),r=n;if(typeof process<`u`&&process.versions?.node){let{readFile:i}=await t(async()=>{let{readFile:t}=await import(`./__vite-browser-external-BON7qP59.js`).then(t=>e(t.default,1));return{readFile:t}},__vite__mapDeps([0,1]),import.meta.url);r=await i(n)}return await Pe({module_or_path:r}),Te(),q=Fe,q})(),J)}function Le(){if(!q)throw Error(`WASM not initialized. Call initWasm() first and await it.`);return q}function Re(e){return new j(e.changes.map(ze),e.moves.map(Ve),e.hitTimeout)}function ze(e){let t=e.innerChanges?.map(Be);return new A(new D(e.original.startLineNumber,e.original.endLineNumberExclusive),new D(e.modified.startLineNumber,e.modified.endLineNumberExclusive),t)}function Be(e){return new O(new w(e.originalStartLine,e.originalStartColumn,e.originalEndLine,e.originalEndColumn),new w(e.modifiedStartLine,e.modifiedStartColumn,e.modifiedEndLine,e.modifiedEndColumn))}function Ve(e){return new he(new k(new D(e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive),new D(e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive)),e.changes.map(ze))}var He=class{original;modified;constructor(e,t){this.original=e,this.modified=t}toString(){return`${this.original} <-> ${this.modified}`}},Y=class{range;newText;constructor(e,t){this.range=e,this.newText=t}get isEmpty(){return this.range.isEmpty&&this.newText.length===0}toString(){return`${this.range}->${JSON.stringify(this.newText)}`}},Ue=class e{replacements;static empty=new e([]);static single(t){return new e([t])}static of(t){for(let e=1;e<t.length;e++){let n=t[e-1],r=t[e];if(n.range.endExclusive>r.range.start)throw Error(`StringEdit.of: replacements must be sorted and non-overlapping (${n.range} vs ${r.range})`)}return new e(t)}constructor(e){this.replacements=e}get isEmpty(){return this.replacements.length===0}apply(e){if(this.replacements.length===0)return e;let t=[],n=0;for(let r of this.replacements)t.push(e.substring(n,r.range.start)),t.push(r.newText),n=r.range.endExclusive;return t.push(e.substring(n)),t.join(``)}inverse(t){let r=[],i=0;for(let e of this.replacements){let a=e.range.start+i,o=a+e.newText.length,s=t.substring(e.range.start,e.range.endExclusive);r.push(new Y(new n(a,o),s)),i+=e.newText.length-e.range.length}return new e(r)}normalize(){let t=[];for(let e of this.replacements){if(e.isEmpty)continue;let r=t[t.length-1];r&&r.range.endExclusive===e.range.start?t[t.length-1]=new Y(new n(r.range.start,e.range.endExclusive),r.newText+e.newText):t.push(e)}return new e(t)}toString(){return`StringEdit[${this.replacements.map(e=>e.toString()).join(`, `)}]`}},X=class{range;newText;data;constructor(e,t,n){this.range=e,this.newText=t,this.data=n}get isEmpty(){return this.range.isEmpty&&this.newText.length===0}toString(){return`${this.range}->${JSON.stringify(this.newText)}#${this.data}`}},We=class e{replacements;static empty(){return new e([])}static single(t){return new e([t])}static of(t){for(let e=1;e<t.length;e++){let n=t[e-1],r=t[e];if(n.range.endExclusive>r.range.start)throw Error(`AnnotatedStringEdit.of: replacements must be sorted and non-overlapping (${n.range} vs ${r.range})`)}return new e(t)}constructor(e){this.replacements=e}get isEmpty(){return this.replacements.length===0}apply(e){if(this.replacements.length===0)return e;let t=[],n=0;for(let r of this.replacements)t.push(e.substring(n,r.range.start)),t.push(r.newText),n=r.range.endExclusive;return t.push(e.substring(n)),t.join(``)}inverse(t,r){let i=[],a=0;for(let e of this.replacements){let o=e.range.start+a,s=o+e.newText.length,c=t.substring(e.range.start,e.range.endExclusive);i.push(new X(new n(o,s),c,r(e.data))),a+=e.newText.length-e.range.length}return new e(i)}normalize(){let t=[];for(let e of this.replacements){if(e.isEmpty)continue;let r=t[t.length-1];if(r&&r.range.endExclusive===e.range.start){let i=r.data.join(e.data);if(i!==void 0){t[t.length-1]=new X(new n(r.range.start,e.range.endExclusive),r.newText+e.newText,i);continue}}t.push(e)}return new e(t)}mapData(t){return new e(this.replacements.map(e=>new X(e.range,e.newText,t(e.data))))}stripData(){return Ue.of(this.replacements.map(e=>new Y(e.range,e.newText)))}toString(){return`AnnotatedStringEdit[${this.replacements.map(e=>e.toString()).join(`, `)}]`}},Ge=class e{isFormattingChange;static change=new e(!1);static formatting=new e(!0);constructor(e){this.isFormattingChange=e}join(e){if(this.isFormattingChange===e.isFormattingChange)return this}toString(){return this.isFormattingChange?`formatting`:`change`}},Ke=class{range;innerEdit;constructor(e,t){this.range=e,this.innerEdit=t}toString(){return`Move ${this.range}`+(this.innerEdit.isEmpty?``:` (${this.innerEdit})`)}},qe=class{edits;moves;hitTimeout;constructor(e,t,n){this.edits=e,this.moves=t,this.hitTimeout=n}};async function Je(e={}){return e.useWasm?(await Ie(),new Xe(e.algorithm)):new Ye(e.algorithm)}var Ye=class{_algorithm;_impl=new be;constructor(e){this._algorithm=e}computeDiff(e,t,n){let r=e.split(`
4
4
  `),i=t.split(`
5
5
  `),a={maxComputationTimeMs:n?.maxComputationTimeMs??0,ignoreTrimWhitespace:n?.ignoreTrimWhitespace??!1,computeMoves:n?.computeMoves??!1,extendToSubwords:n?.extendToSubwords??!1},o=this._impl.computeDiff(r,i,a);return this._algorithm,Qe(o,e,t,r,i)}},Xe=class{_algorithm;constructor(e){this._algorithm=e}computeDiff(e,t,n){let r=e.split(`
6
6
  `),i=t.split(`
@@ -0,0 +1 @@
1
+ var e=``+new URL(`fs-core.worker-Bnmpp6fo.js`,import.meta.url).href,t=``+new URL(`fs-query.worker-cZ-7Fjch.js`,import.meta.url).href;export{e as coreWorkerUrl,t as queryWorkerUrl};
@@ -0,0 +1 @@
1
+ var e=new TextEncoder,t=new TextDecoder,n=(()=>{let e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n>>>0}return e})();function r(e,t=0,r=e.length){let i=4294967295;for(let a=t;a<r;a++)i=n[(i^e[a])&255]^i>>>8;return(i^4294967295)>>>0}async function i(e){let t=await crypto.subtle.digest(`SHA-256`,e);return[...new Uint8Array(t)].map(e=>e.toString(16).padStart(2,`0`)).join(``)}var a=1146569521,o=64;function s(e){let t=new ArrayBuffer(o),n=new DataView(t);return n.setUint32(0,a),n.setUint32(4,e.epoch),n.setFloat64(8,e.compactGen),n.setFloat64(16,e.walStartGen),n.setUint32(24,e.manifestCrc),n.setUint32(60,r(new Uint8Array(t,0,60))),new Uint8Array(t)}function c(e){if(e.length<o)return null;let t=new DataView(e.buffer,e.byteOffset,o);return t.getUint32(60)!==r(e,0,60)||t.getUint32(0)!==a?null:{epoch:t.getUint32(4),compactGen:t.getFloat64(8),walStartGen:t.getFloat64(16),manifestCrc:t.getUint32(24)}}function l(t,n,i,a){let o=e.encode(JSON.stringify(a)),s=15+o.length+4+1,c=new ArrayBuffer(4+s),l=new DataView(c),u=new Uint8Array(c);l.setUint32(0,s),l.setBigUint64(4,BigInt(t)),l.setUint32(12,n),l.setUint8(16,i),l.setUint16(17,o.length),u.set(o,19);let d=19+o.length;return l.setUint32(d,r(u,4,d)),l.setUint8(d+4,193),u}function u(e,n){if(n+4>e.length)return null;let i=new DataView(e.buffer,e.byteOffset),a=i.getUint32(n);if(a<20||n+4+a>e.length)return null;let o=Number(i.getBigUint64(n+4)),s=i.getUint32(n+12),c=i.getUint8(n+16),l=i.getUint16(n+17),u=n+19,d=u+l;if(d+5!==n+4+a||i.getUint32(d)!==r(e,n+4,d)||i.getUint8(d+4)!==193)return null;let f;try{f=JSON.parse(t.decode(e.subarray(u,d)))}catch{return null}return{rec:{gen:o,epoch:s,opcode:c,meta:f},next:n+4+a}}var d=[`node_modules/`,`.checkpoints/`];function f(e){if(typeof e!=`string`||!e||e.includes(`\0`)||e.includes(`\\`)||e.startsWith(`/`))return null;let t=[];for(let n of e.split(`/`))if(!(n===``||n===`.`)){if(n===`..`)return null;t.push(n)}return t.length?t.join(`/`):null}var p={WRITE:1,RM:2,MV:3,MKDIR:4,CHECKPOINT:5,RESTORE:6},m={1:`write`,2:`rm`,3:`mv`,4:`mkdir`,5:`checkpoint`,6:`restore`},h=new Set([p.WRITE,p.RM,p.MV,p.RESTORE]),ee=50,g=4*1024*1024,_=1024,te=12e4,v=1e3,y=4096,ne=20;function b(e,t,n){let r=Error(t);return r.code=e,n&&(r.extra=n),r}function x(e){return e.length?e[e.length-1].epoch:0}function S(e){return e.writerLockQueued=!0,new Promise((t,n)=>{navigator.locks.request(`dwc:writer:`+e.projectId,{mode:`exclusive`},n=>(e.writerLockQueued=!1,e.writerLockHeld=!0,t(n),new Promise(t=>{e.releaseLock=t}))).catch(t=>{e.writerLockQueued=!1,n(t instanceof Error?t:Error(String(t)))})})}function C(e){try{e.sbHandle?.close()}catch{}try{e.walHandle?.close()}catch{}e.sbHandle=null,e.walHandle=null,e.releaseLock&&=(e.releaseLock(),null),e.writerLockHeld=!1,e.mode=`dead`}function w(e,t){t.then(async t=>{if(!(!t||e.mode===`dead`))try{await e.enqueue(async()=>{await e.becomeWriter()})}catch(t){C(e),e.event({type:`FATAL`,error:`writer upgrade failed: `+String(t)})}},t=>{e.mode=`dead`,e.event({type:`FATAL`,error:`writer lock arbitration failed: `+String(t)})})}async function T(e,t){e.projectId=t,e.root=await(await navigator.storage.getDirectory()).getDirectoryHandle(t,{create:!0}),e.bc=new BroadcastChannel(`dwc:`+t),e.bc.onmessage=t=>e.onBroadcast(t.data);let n=S(e);if(await Promise.race([n,new Promise(e=>setTimeout(()=>e(`timeout`),3e3))])===`timeout`){await e.recover(),e.mode=`readonly`,e.pushFullToQuery(),e.welcome(),w(e,n);return}try{await e.becomeWriter()}catch(t){throw C(e),t}e.welcome()}function E(e){if(e.mode===`writer`)return{mode:`writer`};if(e.mode===`draining`)throw b(`draining`,`writer is handing over`);return e.mode===`readonly`?e.handoverRequested||e.writerLockHeld?{requested:!0}:(e.handoverRequested=!0,e.writerLockQueued||w(e,S(e)),e.bc.postMessage({type:`handover-request`}),{requested:!0}):{mode:e.mode}}async function D(e){e.handoverRequested=!1,await e.recover(),e.sbHandle=await(await e.root.getFileHandle(`superblock`,{create:!0})).createSyncAccessHandle(),e.epoch+=1,e.writeSuperblock();let t=`wal.`+e.lastSegStart;e.walHandle=await(await e.root.getFileHandle(t,{create:!0})).createSyncAccessHandle(),e.walOffset=e.lastSegValidEnd,e.mode=`writer`,e.pushFullToQuery(),e.event({evt:`writer-granted`,gen:e.memGen}),e.walOffset>g&&e.enqueue(()=>e.compactNow())}function O(e){let t=1-e.currentSlot,n=s({epoch:e.epoch,compactGen:e.compactGen,walStartGen:e.walStartGen,manifestCrc:e.manifestCrc||0}),r=e.sbHandle.write(n,{at:t*o});if(r!==o)throw Error(`superblock partial write: `+r);e.sbHandle.flush(),e.currentSlot=t}async function k(e){let t=null;try{let n=await(await e.root.getFileHandle(`superblock`)).getFile(),r=new Uint8Array(await n.arrayBuffer()),i=c(r.subarray(0,o)),a=r.length>=128?c(r.subarray(o,2*o)):null;i&&a?(t=a.compactGen>i.compactGen||a.compactGen===i.compactGen&&a.epoch>=i.epoch?a:i,e.currentSlot=+(t===a)):i?(t=i,e.currentSlot=0):a&&(t=a,e.currentSlot=1)}catch{}return t||(t={epoch:0,compactGen:0,walStartGen:1,manifestCrc:0},e.currentSlot=1),t}async function A(e,n){if(n<=0)return 0;let i=await(await(await e.root.getDirectoryHandle(`manifests`)).getFileHandle(n+`.json`)).getFile(),a=new Uint8Array(await i.arrayBuffer());if(r(a)!==e.manifestCrc)throw Error(`manifest CRC mismatch (gen `+n+`)`);let o=JSON.parse(t.decode(a));for(let[t,n]of Object.entries(o.files))e.mirror.set(t,{content:await e.readBlob(n.h),rev:n.rev});for(let[t,n]of Object.entries(o.checkpoints||{}))e.checkpoints.set(t,n);return o.gen}async function j(e){let t=[];for await(let[n]of e.root.entries()){let r=/^wal\.(\d+)$/.exec(n);r&&+r[1]>=e.walStartGen&&t.push(+r[1])}return t.sort((e,t)=>e-t),t}function M(e,t,n,r){return!e||e.rec.gen!==t+1||e.rec.gen>=n||e.rec.epoch<x(r)}async function N(e,t,n,r,i,a){let o=await(await e.root.getFileHandle(`wal.`+t)).getFile(),s=new Uint8Array(await o.arrayBuffer()),c=0;for(;c<s.length;){let t=u(s,c);if(M(t,r,n,i))break;await e.applyRecord(t.rec),r=t.rec.gen,i.push(t.rec);let o=t.rec.meta;e.audit({gen:r,opcode:t.rec.opcode,actor:o.actor,turnId:o.turnId,path:o.path,from:o.from,to:o.to,cpId:o.cpId}),c=t.next,a&&(e.lastSegValidEnd=c)}return r}async function P(e,t,n){let r=n,i=[];for(let n=0;n<t.length;n++){let a=n+1<t.length?t[n+1]:1/0;r=await N(e,t[n],a,r,i,t[n]===e.lastSegStart)}return{finalGen:r,replayed:i}}async function F(e){e.mirror.clear(),e.checkpoints.clear(),e.opIds.clear(),e.auditLog=[],e.turn=null;let t=await k(e);e.epoch=t.epoch,e.compactGen=t.compactGen,e.walStartGen=t.walStartGen,e.manifestCrc=t.manifestCrc;let n=await A(e,e.compactGen),r=await j(e);e.lastSegStart=r.length?r[r.length-1]:e.walStartGen,e.lastSegValidEnd=0;let{finalGen:i,replayed:a}=await P(e,r,n);n=i,e.appendedGen=e.walGen=e.memGen=e.ackGen=n,e.trimCheckpoints();for(let t of a.slice(-_))t.meta.opId&&e.rememberOpId(t.meta.opId,{gen:t.gen});r.length||await e.root.getFileHandle(`wal.`+e.walStartGen,{create:!0})}async function I(e,t){let n=t.meta;switch(t.opcode){case p.WRITE:{let r=n.payload?.inline===void 0?await e.readBlob(n.payload.h):n.payload.inline;e.mirror.set(n.path,{content:r,rev:t.gen});break}case p.RM:e.mirror.delete(n.path);break;case p.MV:{let r=e.mirror.get(n.from);r&&(e.mirror.delete(n.from),e.mirror.set(n.to,{content:r.content,rev:t.gen}));break}case p.MKDIR:break;case p.CHECKPOINT:e.checkpoints.set(n.cpId,{h:n.h,gen:t.gen});break;case p.RESTORE:{let r=JSON.parse(await e.readBlob(n.h)),i=new Map;for(let[n,a]of Object.entries(r))i.set(n,{content:await e.readBlob(a),rev:t.gen});e.mirror=i;break}}}async function L(t,n){let r=e.encode(n),a=await i(r),o=await(await t.root.getDirectoryHandle(`blobs`,{create:!0})).getDirectoryHandle(a.slice(0,2),{create:!0});try{return await o.getFileHandle(a),a}catch{}let s=await(await o.getFileHandle(a,{create:!0})).createSyncAccessHandle();return s.write(r),s.flush(),s.close(),a}async function R(e,t){return(await(await(await(await e.root.getDirectoryHandle(`blobs`)).getDirectoryHandle(t.slice(0,2))).getFileHandle(t)).getFile()).text()}function z(e,{path:t}){let n=f(t),r=n&&e.mirror.get(n);if(!r)throw b(`not-found`,String(t));return{content:r.content,rev:r.rev,gen:e.memGen}}function B(e){return{paths:[...e.mirror.keys()].sort(),gen:e.memGen}}function V(e){let{mode:t,appendedGen:n,walGen:r,memGen:i,ackGen:a,compactGen:o,epoch:s,walStartGen:c}=e;return{mode:t,appendedGen:n,walGen:r,memGen:i,ackGen:a,compactGen:o,epoch:s,walStartGen:c,checkpoints:[...e.checkpoints.keys()],turn:e.turn?{turnId:e.turn.turnId,cpId:e.turn.cpId,expiresAt:e.turn.expiresAt,ops:e.turn.ops}:null}}function H(e,t,n){if(!e.queryPort)return;let r={};for(let[e,n]of Object.entries(t))r[e]=n?{content:n.content,rev:n.rev}:null;e.queryPort.postMessage({gen:n,diff:r})}function U(e){if(!e.queryPort)return;let t={};for(let[n,r]of e.mirror)t[n]={content:r.content,rev:r.rev};e.queryPort.postMessage({gen:e.memGen,full:!0,files:t})}function W(e,t){e.clientPort&&e.clientPort.postMessage(t)}function G(e){e.event({type:`WELCOME`,epoch:e.epoch,memGen:e.memGen,readonly:e.mode!==`writer`,mode:e.mode})}async function K(e,t){if(t.type===`handover-done`&&e.mode!==`writer`){e.handoverRequested=!1;return}t.type===`handover-request`&&e.mode===`writer`&&(e.mode=`draining`,await e.enqueue(async()=>{e.flushWindow(),e.walHandle.close(),e.walHandle=null,e.sbHandle.close(),e.sbHandle=null,e.mode=`readonly`,e.releaseLock&&=(e.releaseLock(),null),e.writerLockHeld=!1,e.bc.postMessage({type:`handover-done`,gen:e.memGen}),e.event({evt:`writer-lost`,gen:e.memGen})}))}function q(e,t){let n=e.chain.then(t);return e.chain=n.catch(()=>{}),n}function J(e,t,n,r){if(e.mode!==`writer`)throw b(`readonly`,`fs-core is `+e.mode);if(r&&r(),e.walOffset>g)throw b(`rotate-needed`,`internal`);let i=e.appendedGen+1,a=l(i,e.epoch,t,n);if(e.walHandle.write(a,{at:e.walOffset})!==a.length)throw Error(`WAL partial write`);return e.walOffset+=a.length,e.appendedGen=i,e.audit({gen:i,opcode:t,actor:n.actor,turnId:n.turnId,path:n.path,from:n.from,to:n.to,cpId:n.cpId}),i}function Y(e,t){e.auditLog.push(t),e.auditLog.length>y&&e.auditLog.splice(0,e.auditLog.length-y)}function X(e,t,n,r){if(t!==`agent`)return;let i=e.turn;if(!i||i.turnId!==n)throw b(`turn-closed`,`agent write requires an active turn (got `+n+`)`);if(Date.now()>i.expiresAt)throw e.turn=null,b(`turn-closed`,`turn expired: `+n);if(e.agentToken!==null&&r!==e.agentToken)throw b(`agent-token-required`,`agent write requires a valid agent token`);if(++i.ops>v)throw b(`turn-quota`,`per-turn op quota exceeded (`+v+`)`)}function Z(e,t){if(typeof t!=`string`||!t)throw b(`bad-args`,`agent token must be a non-empty string`);if(e.agentToken===null)return e.agentToken=t,{armed:!0};if(e.agentToken===t)return{armed:!0,idempotent:!0};throw b(`agent-token-gate-armed`,`agent token gate already armed with a different token`)}function re(e,t){if((e.auditLog.length?e.auditLog[0].gen:e.appendedGen+1)>t+1)throw b(`restore-conflict`,`audit log does not cover baseGen `+t,{humanPaths:[],auditGap:!0});let n=[],r=new Set;for(let i of e.auditLog){if(i.gen<=t||i.actor!==`human`||!h.has(i.opcode))continue;let e=i.opcode===p.MV?i.to||i.from:i.opcode===p.RESTORE?`(restore:`+i.cpId+`)`:i.path;e&&!r.has(e)&&(r.add(e),n.push(e))}if(n.length)throw b(`restore-conflict`,`human edits since baseGen `+t,{humanPaths:n})}function ie(e,t){return e.staged.has(t)?e.staged.get(t)??null:e.mirror.get(t)||null}function ae(e,t,n,r){let i=f(t);if(!i)throw b(`bad-path`,`invalid path: `+t);for(let e of d)if(i.startsWith(e))throw b(`derived-readonly`,i+` is derived area`);if(e.mode===`draining`)throw b(`draining`,`writer is handing over`);let a=e.curOf(i);if(n===null&&a)throw b(`cas-mismatch`,i+` already exists`);if(typeof n==`number`&&(!a||a.rev!==n))throw b(`cas-mismatch`,i+` rev=`+(a?a.rev:`none`)+` ifMatch=`+n);return i}async function oe(e){e.walOffset<=g||await e.compactNow()}async function se(e,t){let n=`wal.`+t,r=await e.root.getFileHandle(n+`.tmp`,{create:!0}),i=await r.createSyncAccessHandle();if(i.flush(),i.close(),r.move)await r.move(n);else{await e.root.getFileHandle(n,{create:!0});try{await e.root.removeEntry(n+`.tmp`)}catch{}}e.walHandle=await(await e.root.getFileHandle(n)).createSyncAccessHandle(),e.walOffset=0}function ce(e){if(e.flushTimer&&=(clearTimeout(e.flushTimer),null),!e.windowOps.length)return;e.walHandle.flush(),e.walGen=e.appendedGen;let t={};for(let[n,r]of e.staged)r===null?e.mirror.delete(n):e.mirror.set(n,r),t[n]=r;e.staged.clear(),e.memGen=e.walGen,e.pushDiff(t,e.memGen);let n=[],r=`human`;for(let t of e.windowOps)e.ackGen=Math.max(e.ackGen,t.gen),t.opId&&e.rememberOpId(t.opId,{gen:t.gen,rev:t.gen,...t.extra}),t.respond({ok:!0,result:{gen:t.gen,rev:t.gen,...t.extra}}),t.path&&n.push(t.path),t.actor===`agent`&&(r=`agent`);e.windowOps=[],e.event({evt:`fs-change`,gen:e.memGen,actor:r,...n.length<=32?{paths:n}:{count:n.length}}),e.bc.postMessage({type:`fs-change`,gen:e.memGen})}function le(e,t,n){e.opIds.set(t,n),e.opIds.size>_&&e.opIds.delete(e.opIds.keys().next().value)}function ue(e,t){if(t){e.flushWindow();return}e.flushTimer||=setTimeout(()=>e.enqueue(()=>e.flushWindow()),ee)}async function de(t,{path:n,content:r,ifMatch:i,actor:a=`human`,turnId:o,agentToken:s,opId:c},l){if(typeof r!=`string`)throw b(`bad-args`,`content must be string`);await t.rotateIfNeeded();let u=e.encode(r).length<=4096?{inline:r}:{h:await t.ensureBlob(r)},d=f(n),m={opId:c,path:d,actor:a,turnId:o,ifMatch:i,payload:u},h=t.appendSync(p.WRITE,m,()=>{t.checkTurn(a,o,s),t.checkWrite(n,i,a)});t.staged.set(d,{content:r,rev:h}),t.windowOps.push({respond:l,gen:h,path:d,actor:a,opId:c}),t.scheduleFlush(a===`agent`)}async function fe(e,{path:t,old:n,next:r,ifMatch:i,actor:a=`human`,turnId:o,agentToken:s,opId:c},l){let u=f(t),d=u&&e.curOf(u);if(!d)throw b(`not-found`,String(t));let p=d.content.indexOf(n);if(p===-1)throw b(`edit-no-match`,`old string not found in `+u);if(d.content.indexOf(n,p+1)!==-1)throw b(`edit-ambiguous`,`old string not unique in `+u);let m=d.content.slice(0,p)+r+d.content.slice(p+n.length);return e.opWrite({path:t,content:m,ifMatch:i===void 0?d.rev:i,actor:a,turnId:o,agentToken:s,opId:c},l)}async function pe(e,{path:t,actor:n=`human`,turnId:r,agentToken:i,opId:a},o){await e.rotateIfNeeded();let s=e.appendSync(p.RM,{opId:a,path:f(t),actor:n,turnId:r},()=>{e.checkTurn(n,r,i);let a=e.checkWrite(t,void 0,n);if(!e.curOf(a))throw b(`not-found`,a)});e.staged.set(f(t),null),e.windowOps.push({respond:o,gen:s,path:f(t),actor:n,opId:a}),e.scheduleFlush(!0)}async function me(e,{from:t,to:n,actor:r=`human`,turnId:i,agentToken:a,opId:o},s){await e.rotateIfNeeded();let c=f(t),l=f(n),u=e.appendSync(p.MV,{opId:o,from:c,to:l,actor:r,turnId:i},()=>{if(e.checkTurn(r,i,a),e.checkWrite(t,void 0,r),e.checkWrite(n,void 0,r),!e.curOf(c))throw b(`not-found`,c);if(e.curOf(l))throw b(`cas-mismatch`,l+` exists`)}),d=e.curOf(c);e.staged.set(c,null),e.staged.set(l,{content:d.content,rev:u}),e.windowOps.push({respond:s,gen:u,path:l,actor:r,opId:o}),e.scheduleFlush(!0)}async function he(e,{opId:t,actor:n,turnId:r}){e.flushWindow(),await e.rotateIfNeeded();let i={};for(let[t,n]of e.mirror)i[t]=await e.ensureBlob(n.content);let a=await e.ensureBlob(JSON.stringify(i)),o=`cp-`+(e.appendedGen+1),s=e.appendSync(p.CHECKPOINT,{opId:t,cpId:o,h:a,actor:n,turnId:r},()=>{if(e.mode===`draining`)throw b(`draining`,`handing over`)});return e.checkpoints.set(o,{h:a,gen:s}),e.trimCheckpoints(),{cpId:o,gen:s}}function ge(e){for(;e.checkpoints.size>ne;)e.checkpoints.delete(e.checkpoints.keys().next().value)}async function _e(e,{actor:t=`human`,turnId:n,agentToken:r,opId:i},a){e.checkTurn(t,n,r);let{cpId:o,gen:s}=await e.makeCheckpoint({opId:i,actor:t,turnId:n});e.windowOps.push({respond:a,gen:s,actor:t,opId:i,extra:{cpId:o}}),e.scheduleFlush(!0)}async function ve(e,{turnId:t,ttlMs:n,opId:r},i){if(!t||typeof t!=`string`)throw b(`bad-args`,`turnId required`);if(e.turn&&Date.now()<=e.turn.expiresAt)throw b(`turn-active`,`a turn is already active: `+e.turn.turnId);let{cpId:a,gen:o}=await e.makeCheckpoint({opId:r,actor:`agent`,turnId:t}),s=Date.now()+(n||te);e.turn={turnId:t,cpId:a,expiresAt:s,ops:0},e.windowOps.push({respond:i,gen:o,actor:`agent`,opId:r,extra:{turnId:t,cpId:a,expiresAt:s}}),e.scheduleFlush(!0)}function ye(e,{turnId:t},n){let r=!!(e.turn&&e.turn.turnId===t),i=r?e.turn.ops:0;r&&(e.turn=null),n({ok:!0,result:{turnId:t,closed:r,ops:i}})}function be(e,{turnId:t}){return{turnId:t,changes:e.auditLog.filter(e=>e.turnId===t&&e.opcode!==p.CHECKPOINT).map(e=>({gen:e.gen,op:m[e.opcode],path:e.path,from:e.from,to:e.to})),cpId:e.turn&&e.turn.turnId===t?e.turn.cpId:(e.auditLog.find(e=>e.turnId===t&&e.opcode===p.CHECKPOINT)||{}).cpId,auditWindow:{cap:y,sinceGen:e.auditLog.length?e.auditLog[0].gen:e.memGen}}}async function xe(e,{cpId:t,baseGen:n,force:r=!1,actor:i=`human`,turnId:a,agentToken:o,opId:s},c){e.flushWindow(),await e.rotateIfNeeded();let l=e.checkpoints.get(t);if(!l)throw b(`not-found`,`checkpoint `+t);let u=typeof n==`number`?n:l.gen,d=JSON.parse(await e.readBlob(l.h)),f={};for(let[t,n]of Object.entries(d))f[t]=await e.readBlob(n);let m=e.appendSync(p.RESTORE,{opId:s,cpId:t,h:l.h,actor:i,turnId:a},()=>{if(e.checkTurn(i,a,o),e.mode===`draining`)throw b(`draining`,`handing over`);r||e.checkRestoreConflict(u)});e.walHandle.flush(),e.walGen=m;let h=new Map;for(let[e,t]of Object.entries(f))h.set(e,{content:t,rev:m});e.mirror=h,e.memGen=e.walGen,e.ackGen=m,s&&e.rememberOpId(s,{gen:m,restored:Object.keys(f).length}),e.pushFullToQuery(),c({ok:!0,result:{gen:m,restored:Object.keys(f).length}}),e.event({evt:`fs-change`,gen:m,actor:i,count:Object.keys(f).length,restore:t}),e.bc.postMessage({type:`fs-change`,gen:m})}async function Q(e,t,n){n({ok:!0,result:await e.compactNow()})}async function Se(e){let t={};for(let[n,r]of e.mirror)t[n]={h:await e.ensureBlob(r.content),rev:r.rev};return t}async function Ce(e,t,n){let r=await e.root.getDirectoryHandle(`manifests`,{create:!0}),i=await(await r.getFileHandle(t+`.json`,{create:!0})).createSyncAccessHandle();return i.write(n),i.flush(),i.close(),r}async function we(e){let t=[];for await(let[n]of e.root.entries()){let e=/^wal\.(\d+)$/.exec(n);e&&t.push(+e[1])}return t}async function Te(e,t){for(let n of t)try{await e.root.removeEntry(`wal.`+n)}catch{}}async function Ee(e,t){let n=new Set(Object.values(t).map(e=>e.h));for(let t of e.checkpoints.values()){n.add(t.h);try{for(let r of Object.values(JSON.parse(await e.readBlob(t.h))))n.add(r)}catch{}}return n}async function De(e,t){try{let n=await e.root.getDirectoryHandle(`blobs`);for await(let[e,r]of n.entries())if(r.kind===`directory`){for await(let[e]of r.entries())if(!t.has(e))try{await r.removeEntry(e)}catch{}}}catch{}}async function Oe(e,t,n){try{for await(let[e]of t.entries())if(e!==n)try{await t.removeEntry(e)}catch{}}catch{}}async function ke(t){t.flushWindow();let n=t.memGen;if(n===t.compactGen)return{gen:n,skipped:!0};let i=await Se(t),a=Object.fromEntries(t.checkpoints),o=e.encode(JSON.stringify({gen:n,epoch:t.epoch,files:i,checkpoints:a})),s=await Ce(t,n,o),c=await we(t);return t.walHandle.close(),await t.newSegment(n+1),t.lastSegStart=n+1,t.manifestCrc=r(o),t.compactGen=n,t.walStartGen=n+1,t.writeSuperblock(),await Te(t,c),await De(t,await Ee(t,i)),await Oe(t,s,n+`.json`),{gen:n}}var $=new class{mode=`starting`;mirror=new Map;checkpoints=new Map;opIds=new Map;appendedGen=0;walGen=0;memGen=0;ackGen=0;compactGen=0;epoch=0;walStartGen=1;staged=new Map;windowOps=[];flushTimer=null;chain=Promise.resolve();clientPort=null;queryPort=null;releaseLock=null;walHandle=null;walOffset=0;sbHandle=null;currentSlot=0;turn=null;auditLog=[];agentToken=null;projectId;root;bc;lastSegStart;lastSegValidEnd;manifestCrc;writerLockQueued=!1;writerLockHeld=!1;handoverRequested=!1;start(e){return T(this,e)}becomeWriter(){return D(this)}writeSuperblock(){O(this)}recover(){return F(this)}applyRecord(e){return I(this,e)}epochFloor(e){return x(e)}ensureBlob(e){return L(this,e)}readBlob(e){return R(this,e)}opRead(e){return z(this,e)}opLs(){return B(this)}opStatus(){return V(this)}pushDiff(e,t){H(this,e,t)}pushFullToQuery(){U(this)}event(e){W(this,e)}welcome(){G(this)}onBroadcast(e){return K(this,e)}requestHandover(){return E(this)}enqueue(e){return q(this,e)}appendSync(e,t,n){return J(this,e,t,n)}audit(e){Y(this,e)}checkTurn(e,t,n){X(this,e,t,n)}armAgentToken(e){return Z(this,e)}checkRestoreConflict(e){re(this,e)}curOf(e){return ie(this,e)}checkWrite(e,t,n){return ae(this,e,t,n)}rotateIfNeeded(){return oe(this)}newSegment(e){return se(this,e)}flushWindow(){ce(this)}rememberOpId(e,t){le(this,e,t)}scheduleFlush(e){ue(this,e)}opWrite(e,t){return de(this,e,t)}opEdit(e,t){return fe(this,e,t)}opRm(e,t){return pe(this,e,t)}opMv(e,t){return me(this,e,t)}makeCheckpoint(e){return he(this,e)}trimCheckpoints(){ge(this)}opCheckpoint(e,t){return _e(this,e,t)}opTurnBegin(e,t){return ve(this,e,t)}opTurnEnd(e,t){ye(this,e,t)}opDiff(e){return be(this,e)}opRestore(e,t){return xe(this,e,t)}opCompact(e,t){return Q(this,e,t)}compactNow(){return ke(this)}handleRpc(e){let t=t=>this.clientPort.postMessage({id:e.id,...t}),n=e=>t({ok:!1,code:e.code||`internal`,error:e.message||String(e),...e.extra||{}});if(e.opId&&this.opIds.has(e.opId)){let n=this.opIds.get(e.opId);t({ok:!0,result:{rev:n.gen,...n,idempotent:!0}});return}let r={...e.args,opId:e.opId},i={write:()=>this.opWrite(r,t),edit:()=>this.opEdit(r,t),rm:()=>this.opRm(r,t),mv:()=>this.opMv(r,t),mkdir:()=>{t({ok:!0,result:{gen:this.memGen}})},checkpoint:()=>this.opCheckpoint(r,t),restore:()=>this.opRestore(r,t),compact:()=>this.opCompact(r,t),turnBegin:()=>this.opTurnBegin(r,t),turnEnd:()=>this.opTurnEnd(r,t),diff:()=>t({ok:!0,result:this.opDiff(r)}),read:()=>t({ok:!0,result:this.opRead(r)}),ls:()=>t({ok:!0,result:this.opLs()}),status:()=>t({ok:!0,result:this.opStatus()}),armAgentTokenGate:()=>t({ok:!0,result:this.armAgentToken(r.token)}),requestHandover:()=>t({ok:!0,result:this.requestHandover()})}[e.op];if(!i){n(b(`bad-op`,String(e.op)));return}if([`write`,`edit`,`rm`,`mv`,`checkpoint`,`restore`,`compact`,`turnBegin`,`turnEnd`].includes(e.op))this.enqueue(async()=>{try{await i()}catch(e){n(e)}});else try{i()}catch(e){n(e)}}};self.onmessage=async e=>{let t=e.data;if(t.type===`HELLO`){$.clientPort=self,$.queryPort=t.queryPort||null;try{await $.start(t.projectId)}catch(e){let t=e instanceof Error?e.stack:void 0;self.postMessage({type:`FATAL`,error:String(t||e)})}return}if(t.type===`PING`){self.postMessage({type:`PONG`,t:t.t});return}t.id!==void 0&&$.handleRpc(t)};