@rubytech/create-realagent 1.0.847 → 1.0.850

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 (121) hide show
  1. package/dist/__tests__/port-canonicalisation.test.js +1 -0
  2. package/dist/__tests__/snap-chromium.test.js +115 -0
  3. package/dist/index.js +201 -1
  4. package/dist/port-resolution.js +1 -1
  5. package/dist/snap-chromium.js +89 -0
  6. package/package.json +1 -1
  7. package/payload/platform/plugins/admin/skills/onboarding/SKILL.md +1 -1
  8. package/payload/platform/plugins/admin/skills/public-agent-manager/SKILL.md +2 -2
  9. package/payload/platform/plugins/cloudflare/PLUGIN.md +1 -1
  10. package/payload/platform/plugins/cloudflare/scripts/setup-tunnel.sh +25 -7
  11. package/payload/platform/plugins/cloudflare/skills/setup-tunnel/SKILL.md +1 -1
  12. package/payload/platform/plugins/docs/references/adherence.md +1 -1
  13. package/payload/platform/plugins/docs/references/deployment.md +8 -0
  14. package/payload/platform/plugins/docs/references/plugins-guide.md +4 -2
  15. package/payload/platform/plugins/docs/references/troubleshooting.md +33 -0
  16. package/payload/platform/plugins/linkedin-import/PLUGIN.md +2 -2
  17. package/payload/platform/plugins/linkedin-import/skills/linkedin-import/references/connections.md +2 -2
  18. package/payload/platform/plugins/memory/PLUGIN.md +1 -1
  19. package/payload/platform/plugins/memory/references/schema-base.md +1 -1
  20. package/payload/platform/scripts/test-laptop-vnc-boot.sh +81 -0
  21. package/payload/platform/scripts/vnc.sh +42 -2
  22. package/payload/platform/templates/agents/admin/AGENTS.md +6 -4
  23. package/payload/platform/templates/agents/admin/IDENTITY.md +6 -2
  24. package/payload/platform/templates/specialists/agents/content-producer.md +2 -2
  25. package/payload/premium-plugins/real-agency/BUNDLE.md +3 -3
  26. package/payload/premium-plugins/real-agency/agents/valuer.md +10 -0
  27. package/payload/premium-plugins/real-agency/plugins/buyers/skills/buyer-management/SKILL.md +42 -0
  28. package/payload/premium-plugins/real-agency/plugins/buyers/skills/buyer-management/references/buyer-qualification-questions.md +16 -0
  29. package/payload/premium-plugins/real-agency/plugins/buyers/skills/buyer-management/references/buyer-qualification.md +59 -0
  30. package/payload/premium-plugins/real-agency/plugins/buyers/skills/buyer-management/references/buyer-scripts.md +63 -0
  31. package/payload/premium-plugins/real-agency/plugins/buyers/skills/buyer-management/references/buyer-working-scripts.md +54 -0
  32. package/payload/premium-plugins/real-agency/plugins/buyers/skills/buyer-management/references/feedback-collection.md +42 -0
  33. package/payload/premium-plugins/real-agency/plugins/buyers/skills/buyer-management/references/offer-capture.md +38 -0
  34. package/payload/premium-plugins/real-agency/plugins/buyers/skills/buyer-management/references/viewing-booking.md +32 -0
  35. package/payload/premium-plugins/real-agency/plugins/buyers/skills/buyer-management/references/viewing-management.md +52 -0
  36. package/payload/premium-plugins/real-agency/plugins/estate-sales/skills/negotiation/SKILL.md +35 -0
  37. package/payload/premium-plugins/real-agency/plugins/estate-sales/skills/negotiation/references/deal-saving.md +47 -0
  38. package/payload/premium-plugins/real-agency/plugins/estate-sales/skills/negotiation/references/negotiation-deep-guide.md +64 -0
  39. package/payload/premium-plugins/real-agency/plugins/estate-sales/skills/negotiation/references/negotiation-prep-principles.md +29 -0
  40. package/payload/premium-plugins/real-agency/plugins/estate-sales/skills/negotiation/references/negotiation-techniques.md +42 -0
  41. package/payload/premium-plugins/real-agency/plugins/estate-sales/skills/negotiation/references/offer-presentation.md +43 -0
  42. package/payload/premium-plugins/real-agency/plugins/estate-sales/skills/sales-negotiation/SKILL.md +29 -0
  43. package/payload/premium-plugins/real-agency/plugins/estate-sales/skills/sales-negotiation/references/chris-voss-negotiation.md +70 -0
  44. package/payload/premium-plugins/real-agency/plugins/estate-sales/skills/sales-negotiation/references/phil-jones-price-words.md +40 -0
  45. package/payload/premium-plugins/real-agency/plugins/estate-sales/skills/sales-negotiation/references/serhant-negotiation-plus.md +55 -0
  46. package/payload/premium-plugins/real-agency/plugins/estate-sales/skills/sales-negotiation/references/tom-panos-commission-pricing.md +57 -0
  47. package/payload/premium-plugins/real-agency/plugins/estate-sales/skills/sales-negotiation/references/tony-morris-questioning.md +54 -0
  48. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.d.ts +6 -4
  49. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.d.ts.map +1 -1
  50. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.js +82 -10
  51. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.js.map +1 -1
  52. package/payload/premium-plugins/real-agency/plugins/loop/mcp/src/lib/loop-api.ts +111 -15
  53. package/payload/server/chunk-DIRNBH7F.js +1603 -0
  54. package/payload/server/chunk-GOO2J3X7.js +10561 -0
  55. package/payload/server/chunk-LCAFHNZR.js +10420 -0
  56. package/payload/server/chunk-X3LVMXI5.js +10578 -0
  57. package/payload/server/client-pool-7Z6YRUQT.js +34 -0
  58. package/payload/server/maxy-edge.js +2 -2
  59. package/payload/server/public/assets/{admin-DFUet1XM.js → admin-Dyl8uNxX.js} +1 -1
  60. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-Bs5MjIKf.js → architectureDiagram-Q4EWVU46-BePoi8XC.js} +1 -1
  61. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-BVSXiX4T.js → blockDiagram-DXYQGD6D-BkiwLTtq.js} +1 -1
  62. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-DBqsWCjl.js → c4Diagram-AHTNJAMY-bpjPj2Ln.js} +1 -1
  63. package/payload/server/public/assets/channel-D3U0_a1j.js +1 -0
  64. package/payload/server/public/assets/{chunk-336JU56O-COUTB2TN.js → chunk-336JU56O-BpATJiGl.js} +2 -2
  65. package/payload/server/public/assets/{chunk-426QAEUC-zKsTsXw6.js → chunk-426QAEUC-Wz6Bpsil.js} +1 -1
  66. package/payload/server/public/assets/{chunk-4TB4RGXK-CI9i2J5g.js → chunk-4TB4RGXK-CLXL19Wd.js} +1 -1
  67. package/payload/server/public/assets/{chunk-5FUZZQ4R-DfchzZ2Y.js → chunk-5FUZZQ4R-BoTfWHuW.js} +1 -1
  68. package/payload/server/public/assets/{chunk-5PVQY5BW-_iMyxz0C.js → chunk-5PVQY5BW-RhIfPCRB.js} +1 -1
  69. package/payload/server/public/assets/{chunk-EDXVE4YY-Ddtw_ZHk.js → chunk-EDXVE4YY-utELKGQK.js} +1 -1
  70. package/payload/server/public/assets/{chunk-ENJZ2VHE-BrGMkslM.js → chunk-ENJZ2VHE-CNHjq5xK.js} +1 -1
  71. package/payload/server/public/assets/{chunk-ICPOFSXX-DHInTpuR.js → chunk-ICPOFSXX-Di63NBur.js} +1 -1
  72. package/payload/server/public/assets/{chunk-OYMX7WX6-mOQ4KZ9j.js → chunk-OYMX7WX6-BSPzqyxs.js} +1 -1
  73. package/payload/server/public/assets/{chunk-U2HBQHQK-D5vGkUe9.js → chunk-U2HBQHQK-BZnA7c4T.js} +1 -1
  74. package/payload/server/public/assets/{chunk-X2U36JSP-CnNxZbqc.js → chunk-X2U36JSP-DpQ2OA_c.js} +1 -1
  75. package/payload/server/public/assets/{chunk-YZCP3GAM-Cb7OSc_r.js → chunk-YZCP3GAM-BAkNXu0G.js} +1 -1
  76. package/payload/server/public/assets/{chunk-ZZ45TVLE-BipxpzL8.js → chunk-ZZ45TVLE-DBSm41oP.js} +1 -1
  77. package/payload/server/public/assets/classDiagram-6PBFFD2Q-6EGGLDD_.js +1 -0
  78. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DfAV4tgE.js +1 -0
  79. package/payload/server/public/assets/clone-BoV8noAi.js +1 -0
  80. package/payload/server/public/assets/{dagre-KV5264BT-B91sXKT2.js → dagre-KV5264BT-BkvWofSp.js} +1 -1
  81. package/payload/server/public/assets/{dagre-lObrgXUJ.js → dagre-nvPNAunb.js} +1 -1
  82. package/payload/server/public/assets/{diagram-5BDNPKRD-DB2Kcx9r.js → diagram-5BDNPKRD-CMEgyt4E.js} +1 -1
  83. package/payload/server/public/assets/{diagram-G4DWMVQ6-Cq1J05SW.js → diagram-G4DWMVQ6-ChorrAF0.js} +1 -1
  84. package/payload/server/public/assets/{diagram-MMDJMWI5-CwqXxUXd.js → diagram-MMDJMWI5-D_iD27po.js} +1 -1
  85. package/payload/server/public/assets/{diagram-TYMM5635-Nmk38u6a.js → diagram-TYMM5635-8qXI1ioG.js} +1 -1
  86. package/payload/server/public/assets/{erDiagram-SMLLAGMA-D2EfAdSD.js → erDiagram-SMLLAGMA-BFjtKDSB.js} +1 -1
  87. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-CS98o6Jz.js → flowDiagram-DWJPFMVM-Bpd7IL9l.js} +1 -1
  88. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-rWm6xQ8t.js → ganttDiagram-T4ZO3ILL-CwOozU85.js} +1 -1
  89. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-BuwECvwx.js → gitGraphDiagram-UUTBAWPF-CcPILiC9.js} +1 -1
  90. package/payload/server/public/assets/{graphlib-BXEED8qM.js → graphlib-B_mcXEVr.js} +1 -1
  91. package/payload/server/public/assets/{infoDiagram-42DDH7IO-CEmJMuVh.js → infoDiagram-42DDH7IO-T2sn--WJ.js} +1 -1
  92. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-CAQMMx-Y.js → ishikawaDiagram-UXIWVN3A-DOP9-Q8H.js} +1 -1
  93. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-toHrBGCq.js → journeyDiagram-VCZTEJTY-DGATg0WC.js} +1 -1
  94. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-DwXLkenV.js → kanban-definition-6JOO6SKY-C5PigmKg.js} +1 -1
  95. package/payload/server/public/assets/{line-BkM2KuUb.js → line-DlKKhwkO.js} +1 -1
  96. package/payload/server/public/assets/{mermaid-parser.core-CsaDWYZC.js → mermaid-parser.core-C8xGCa9p.js} +1 -1
  97. package/payload/server/public/assets/{mermaid.core-CvICILSR.js → mermaid.core-CCUSwZB_.js} +3 -3
  98. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-DQyCWpKS.js → mindmap-definition-QFDTVHPH-75k-IVhC.js} +1 -1
  99. package/payload/server/public/assets/{pieDiagram-DEJITSTG-CVRIcK6b.js → pieDiagram-DEJITSTG-DN5RsDwZ.js} +1 -1
  100. package/payload/server/public/assets/preload-helper-qlgyTAkD.js +1 -0
  101. package/payload/server/public/assets/{public-CR_CX3K5.js → public-B_PNZUph.js} +1 -1
  102. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-CnfXm2xw.js → quadrantDiagram-34T5L4WZ-Sd9x6pNe.js} +1 -1
  103. package/payload/server/public/assets/{requirementDiagram-MS252O5E-BntW6fnu.js → requirementDiagram-MS252O5E-BDgifYzj.js} +1 -1
  104. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-Bt6AfgXn.js → sankeyDiagram-XADWPNL6-BX9VULNJ.js} +1 -1
  105. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-D6s0kP6H.js → sequenceDiagram-FGHM5R23-z3vMxhgE.js} +1 -1
  106. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-B9y9cOff.js → stateDiagram-FHFEXIEX-DlP0hBxF.js} +1 -1
  107. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-DSddQStC.js +1 -0
  108. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-DIFjQGfl.js → timeline-definition-GMOUNBTQ-DwQbhKCo.js} +1 -1
  109. package/payload/server/public/assets/{useVoiceRecorder-DWRtIHOw.js → useVoiceRecorder-fD0IWzJj.js} +3 -3
  110. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-YRVHIBU9.js → vennDiagram-DHZGUBPP-WTqmZWWa.js} +1 -1
  111. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-B20PPeAr.js → wardleyDiagram-NUSXRM2D-BUY50x5T.js} +1 -1
  112. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-BztKw58Q.js → xychartDiagram-5P7HB3ND-Btdq-fDj.js} +1 -1
  113. package/payload/server/public/index.html +3 -3
  114. package/payload/server/public/public.html +3 -3
  115. package/payload/server/server.js +6 -3
  116. package/payload/server/public/assets/channel-lEc18pSi.js +0 -1
  117. package/payload/server/public/assets/classDiagram-6PBFFD2Q-rkW6IED-.js +0 -1
  118. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-CRQJXpMG.js +0 -1
  119. package/payload/server/public/assets/clone-icRAjexu.js +0 -1
  120. package/payload/server/public/assets/preload-helper-bPV_ZjF3.js +0 -1
  121. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-DH4gbGCS.js +0 -1
@@ -0,0 +1,34 @@
1
+ import {
2
+ _evictAllForTest,
3
+ _poolSnapshotForTest,
4
+ acquireClient,
5
+ acquireOneShotClient,
6
+ evictClient,
7
+ getActiveClient,
8
+ interruptClient,
9
+ pushUserMessage,
10
+ pushUserToolResult,
11
+ recordCachedTokens,
12
+ recordCrash,
13
+ setInflight,
14
+ startIdleEvictTick,
15
+ stopIdleEvictTick
16
+ } from "./chunk-DIRNBH7F.js";
17
+ import "./chunk-CJWFM3WX.js";
18
+ import "./chunk-JSBRDJBE.js";
19
+ export {
20
+ _evictAllForTest,
21
+ _poolSnapshotForTest,
22
+ acquireClient,
23
+ acquireOneShotClient,
24
+ evictClient,
25
+ getActiveClient,
26
+ interruptClient,
27
+ pushUserMessage,
28
+ pushUserToolResult,
29
+ recordCachedTokens,
30
+ recordCrash,
31
+ setInflight,
32
+ startIdleEvictTick,
33
+ stopIdleEvictTick
34
+ };
@@ -15,11 +15,11 @@ import {
15
15
  sanitizeClientCorrId,
16
16
  streamActionEvents,
17
17
  vncLog
18
- } from "./chunk-QEVGSAEA.js";
18
+ } from "./chunk-X3LVMXI5.js";
19
19
  import {
20
20
  LOG_DIR,
21
21
  WEBSOCKIFY_PORT
22
- } from "./chunk-EOYKAAIO.js";
22
+ } from "./chunk-DIRNBH7F.js";
23
23
  import "./chunk-CJWFM3WX.js";
24
24
  import "./chunk-JSBRDJBE.js";
25
25
 
@@ -1,4 +1,4 @@
1
- import{o as e,t}from"./chunk-DD-I1_y5.js";import{a as n,i as r,n as i,o as a,r as o,t as s}from"./jsx-runtime-BjkIZEse.js";import{A as c,C as l,D as u,E as d,M as f,N as p,O as m,P as h,S as g,T as _,a as v,b as y,c as b,d as x,f as S,g as C,h as w,i as T,j as E,k as D,l as O,m as k,n as A,o as j,p as M,r as N,s as P,t as ee,u as te,v as F,w as ne,x as I,y as L}from"./useVoiceRecorder-DWRtIHOw.js";import{a as re,i as ie,o as ae,r as R,t as z}from"./page-CNKytKTe.js";import{a as oe,i as se,n as ce,r as le}from"./page-D_6h4ZZy.js";import{a as ue,i as de,l as fe,n as pe,o as me,r as he,s as ge}from"./useAdminFetch-Cex4bYm7.js";import{t as _e}from"./Checkbox-U-H3_oQu.js";var ve=r(),ye=o(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),be=o(`asterisk`,[[`path`,{d:`M12 6v12`,key:`1vza4d`}],[`path`,{d:`M17.196 9 6.804 15`,key:`1ah31z`}],[`path`,{d:`m6.804 9 10.392 6`,key:`1b6pxd`}]]),xe=o(`bold`,[[`path`,{d:`M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8`,key:`mg9rjx`}]]),Se=o(`bot-off`,[[`path`,{d:`M13.67 8H18a2 2 0 0 1 2 2v4.33`,key:`7az073`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M22 22 2 2`,key:`1r8tn9`}],[`path`,{d:`M8 8H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 1.414-.586`,key:`s09a7a`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}],[`path`,{d:`M9.67 4H12v2.33`,key:`110xot`}]]),Ce=o(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),we=o(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),Te=o(`calendar-days`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`M8 14h.01`,key:`6423bh`}],[`path`,{d:`M12 14h.01`,key:`1etili`}],[`path`,{d:`M16 14h.01`,key:`1gbofw`}],[`path`,{d:`M8 18h.01`,key:`lrp35t`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}],[`path`,{d:`M16 18h.01`,key:`kzsmim`}]]),Ee=o(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),B=o(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),De=o(`circle-plus`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),Oe=o(`clipboard-list`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M12 11h4`,key:`1jrz19`}],[`path`,{d:`M12 16h4`,key:`n85exb`}],[`path`,{d:`M8 11h.01`,key:`1dfujw`}],[`path`,{d:`M8 16h.01`,key:`18s6g9`}]]),V=o(`clipboard-plus`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M9 14h6`,key:`159ibu`}],[`path`,{d:`M12 17v-6`,key:`1y8rbf`}]]),ke=o(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),Ae=o(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),je=o(`database-zap`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`,key:`14ibmq`}],[`path`,{d:`M21 5V8`,key:`1marbg`}],[`path`,{d:`M21 12L18 17H22L19 22`,key:`zafso`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`,key:`1y4wr8`}]]),Me=o(`database-search`,[[`path`,{d:`M21 11.693V5`,key:`175m1t`}],[`path`,{d:`m22 22-1.875-1.875`,key:`13zax7`}],[`path`,{d:`M3 12a9 3 0 0 0 8.697 2.998`,key:`151u9p`}],[`path`,{d:`M3 5v14a9 3 0 0 0 9.28 2.999`,key:`q2rs2p`}],[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}]]),Ne=o(`dot`,[[`circle`,{cx:`12.1`,cy:`12.1`,r:`1`,key:`18d7e5`}]]),Pe=o(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),Fe=o(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),Ie=o(`file-archive`,[[`path`,{d:`M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5`,key:`4pqfef`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 12v-1`,key:`1ej8lb`}],[`path`,{d:`M8 18v-2`,key:`qcmpov`}],[`path`,{d:`M8 7V6`,key:`1nbb54`}],[`circle`,{cx:`8`,cy:`20`,r:`2`,key:`ckkr5m`}]]),Le=o(`file-down`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M12 18v-6`,key:`17g6i2`}],[`path`,{d:`m9 15 3 3 3-3`,key:`1npd3o`}]]),Re=o(`file-exclamation-point`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),ze=o(`file-image`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),Be=o(`file-pen-line`,[[`path`,{d:`m18.226 5.226-2.52-2.52A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.351`,key:`1k2beg`}],[`path`,{d:`M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`,key:`2t3380`}],[`path`,{d:`M8 18h1`,key:`13wk12`}]]),Ve=o(`file-plus-corner`,[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`,key:`17jvcc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 19h6`,key:`bvotb8`}],[`path`,{d:`M17 16v6`,key:`18yu1i`}]]),He=o(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Ue=o(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),We=o(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),Ge=o(`italic`,[[`line`,{x1:`19`,x2:`10`,y1:`4`,y2:`4`,key:`15jd3p`}],[`line`,{x1:`14`,x2:`5`,y1:`20`,y2:`20`,key:`bu0au3`}],[`line`,{x1:`15`,x2:`9`,y1:`4`,y2:`20`,key:`uljnxc`}]]),Ke=o(`lightbulb-off`,[[`path`,{d:`M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5`,key:`1fkcox`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5`,key:`10m8kw`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),qe=o(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Je=o(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),Ye=o(`list-todo`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`,key:`cif1o7`}]]),Xe=o(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),Ze=o(`loader`,[[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m16.2 7.8 2.9-2.9`,key:`r700ao`}],[`path`,{d:`M18 12h4`,key:`wj9ykh`}],[`path`,{d:`m16.2 16.2 2.9 2.9`,key:`1bxg5t`}],[`path`,{d:`M12 18v4`,key:`jadmvz`}],[`path`,{d:`m4.9 19.1 2.9-2.9`,key:`bwix9q`}],[`path`,{d:`M2 12h4`,key:`j09sii`}],[`path`,{d:`m4.9 4.9 2.9 2.9`,key:`giyufr`}]]),Qe=o(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),$e=o(`message-circle`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}]]),et=o(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),tt=o(`messages-square`,[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`,key:`1n2ejm`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`,key:`1qfcsi`}]]),nt=o(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),rt=o(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),it=o(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),at=o(`monitor-smartphone`,[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`,key:`10dyio`}],[`path`,{d:`M10 19v-3.96 3.15`,key:`1irgej`}],[`path`,{d:`M7 19h5`,key:`qswx4l`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`,key:`1egngj`}]]),ot=o(`panel-left-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m16 15-3-3 3-3`,key:`14y99z`}]]),st=o(`panel-left-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m14 9 3 3-3 3`,key:`8010ee`}]]),ct=o(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),lt=o(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),ut=o(`scroll-text`,[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]),dt=o(`sparkle`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}]]),ft=o(`square-arrow-down-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`m16 8-8 8`,key:`166keh`}],[`path`,{d:`M16 16H8V8`,key:`1w2ppm`}]]),pt=o(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),mt=o(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),ht=o(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),gt=o(`user-plus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),_t=o(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),vt=o(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),yt=o(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),H=e(a(),1);function bt(){(0,H.useEffect)(()=>{function e(e){e.data?.type===`vnc-clipboard`&&typeof e.data.text==`string`&&I(e.data.text)}window.addEventListener(`message`,e);let t=null;return typeof BroadcastChannel<`u`&&(t=new BroadcastChannel(`maxy-vnc-clipboard`),t.onmessage=e=>{typeof e.data==`string`&&I(e.data)}),()=>{window.removeEventListener(`message`,e),t?.close()}},[])}function xt(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;return n>0?`${t}m ${n}s`:`${t}m`}function St(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function Ct(){let[e,t]=(0,H.useState)(0),n=(0,H.useRef)(0),r=(0,H.useRef)(0),i=(0,H.useRef)(null),[a,o]=(0,H.useState)(0),s=(0,H.useRef)(0),c=(0,H.useRef)(null),l=(0,H.useRef)(null);return{elapsedSeconds:e,sessionElapsed:a,sessionTurnStart:l,pausedElapsedRef:r,startElapsedTimer:(0,H.useCallback)((e=0)=>{l.current=Date.now(),c.current=setInterval(()=>{let e=s.current+(Date.now()-(l.current??Date.now()));o(Math.floor(e/1e3))},1e3),n.current=e,t(e),i.current=setInterval(()=>{n.current+=1,t(n.current)},1e3)},[]),stopElapsedTimer:(0,H.useCallback)(e=>{i.current&&=(clearInterval(i.current),null),c.current&&=(clearInterval(c.current),null),l.current&&(s.current+=Date.now()-l.current,l.current=null,o(Math.floor(s.current/1e3))),r.current=n.current;let t=n.current;e(e=>{let n=[...e].map((e,t)=>({m:e,i:t})).reverse().find(({m:e})=>e.role===`maxy`)?.i;if(n===void 0)return e;let r=[...e];return r[n]={...r[n],elapsedSeconds:t},r})},[]),resetTimerState:(0,H.useCallback)(()=>{s.current=0,o(0)},[])}}var wt=`image/jpeg,image/png,image/gif,image/webp,application/pdf,text/plain,text/markdown,text/csv,text/html,text/calendar,application/zip,application/x-zip-compressed`,Tt=new Set(wt.split(`,`)),Et=50*1024*1024,Dt=new Set([`action-list`,`document-editor`,`rich-content-editor`,`grid-editor`]);function Ot(e){switch(e){case`expanded`:return!0;case`collapsed`:return!1;default:return}}function kt(){let[e,t]=(0,H.useState)(`loading`),[n,r]=(0,H.useState)(``),[i,a]=(0,H.useState)(``),[o,s]=(0,H.useState)(``),[c,l]=(0,H.useState)(``),[u,d]=(0,H.useState)(!1),[f,p]=(0,H.useState)(!1),[m,h]=(0,H.useState)(!1),[g,_]=(0,H.useState)(!1),[v,y]=(0,H.useState)(!1),[b,x]=(0,H.useState)(null),[S,C]=(0,H.useState)(null),[w,T]=(0,H.useState)(void 0),[E,D]=(0,H.useState)(void 0),[O,k]=(0,H.useState)(null),[A,j]=(0,H.useState)(void 0),[M,N]=(0,H.useState)(null),[P,ee]=(0,H.useState)(null),[te,F]=(0,H.useState)([]),[ne,I]=(0,H.useState)(!1),[L,re]=(0,H.useState)(void 0),ie=(0,H.useRef)(void 0),ae=(0,H.useRef)(null),R=(0,H.useRef)(null),z=(0,H.useRef)(null);(0,H.useEffect)(()=>{async function e(){let e=null;try{e=sessionStorage.getItem(`maxy-admin-session-key`)}catch{}if(!e)return!1;try{let n=await fetch(`/api/admin/session?session_key=${encodeURIComponent(e)}`);if(n.status===401){try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}return!1}if(!n.ok)return!1;let r=await n.json();x(r.session_key),ee(r.conversationId??null),T(r.onboardingComplete),D(r.businessName),k(r.role??null),j(r.userName===void 0?null:r.userName),N(r.avatar??null);let i=Ot(r.thinkingView);return ie.current=i,re(i),t(`chat`),!0}catch(e){return console.error(`[admin] session restore failed:`,e),!1}}async function n(r=2){try{let i=await fetch(`/api/health`);if(!i.ok){if(r>0)return await new Promise(e=>setTimeout(e,1500)),n(r-1);console.error(`[admin] health check returned ${i.status} after retries`),t(`set-pin`);return}let a=await i.json();if(!a.pin_configured){t(`set-pin`);return}if(a.onboarding_complete===!1){t(`onboarding-choice`);return}if(!a.claude_authenticated){t(`connect-claude`);return}if(await e())return;t(`enter-pin`)}catch(e){if(r>0)return await new Promise(e=>setTimeout(e,1500)),n(r-1);console.error(`[admin] health check failed:`,e),t(`set-pin`)}}n()},[]),(0,H.useEffect)(()=>{e===`chat`&&fetch(`/api/admin/claude-info`).then(e=>{if(e.ok)return e.json()}).then(e=>{e&&C(e)}).catch(()=>{})},[e]),(0,H.useEffect)(()=>{if(e!==`chat`)return;let n=setInterval(async()=>{try{let e=await fetch(`/api/health`);if(!e.ok)return;let n=await e.json();(n.auth_status===`dead`||n.auth_status===`missing`)&&t(`connect-claude`)}catch{}},300*1e3);return()=>clearInterval(n)},[e]),(0,H.useEffect)(()=>{e===`connect-claude`&&fetch(`/api/health`).then(e=>e.ok?e.json():null).then(e=>{e?.claude_authenticated&&t(`enter-pin`)}).catch(()=>{})},[e]);async function oe(e,n){p(!0);try{let i=await fetch(`/api/admin/session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:e,...n?{accountId:n}:{}})});if(!i.ok){l((await i.json().catch(()=>({}))).error||`Invalid PIN`);return}let o=await i.json();if(o.accounts&&!o.session_key){console.log(`[admin] account picker shown: userId=${o.userId} accountCount=${o.accounts.length}`),F(o.accounts),t(`account-picker`);return}x(o.session_key),ee(o.conversationId??null),T(o.onboardingComplete??!0),D(o.businessName),k(o.role??null),j(o.userName===void 0?null:o.userName),N(o.avatar??null);let s=Ot(o.thinkingView);if(ie.current=s,re(s),n)try{sessionStorage.setItem(`maxy-account-id`,n)}catch{}try{sessionStorage.setItem(`maxy-admin-session-key`,o.session_key)}catch{}r(``),a(``),t(`chat`)}catch(e){console.error(`[admin] connection error:`,e),l(`Could not connect.`)}finally{p(!1),I(!1)}}let se=(0,H.useCallback)(async e=>{if(e.preventDefault(),f)return;l(``);let s=o.trim();if(!s){l(`Please enter your name.`);return}if(n.length<4){l(`PIN must be at least 4 characters.`);return}if(n!==i){l(`PINs do not match.`);return}let c=n;p(!0);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:c,name:s})});if(!e.ok){let n=await e.json().catch(()=>({}));if(e.status===409){console.log(`[admin] PIN already configured — re-checking health`);try{let e=await fetch(`/api/health`);if(e.ok){let r=await e.json();r.pin_configured&&r.claude_authenticated?t(`enter-pin`):r.pin_configured?t(`connect-claude`):l(n.error||`Failed to set PIN.`)}else t(`enter-pin`)}catch{t(`enter-pin`)}return}l(n.error||`Failed to set PIN.`);return}let n=await fetch(`/api/health`),i=n.ok?await n.json():null;if(i?.onboarding_complete===!1){r(``),a(``),t(`onboarding-choice`);return}if(i?.claude_authenticated){await oe(c);return}r(``),a(``),t(`onboarding-choice`)}catch(e){console.error(`[admin] connection error:`,e),l(`Could not connect.`)}finally{p(!1)}},[n,i,f,o]),ce=(0,H.useCallback)(async e=>{e.preventDefault(),l(``),await oe(n)},[n]),le=(0,H.useCallback)(async()=>{y(!0),await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`logout`})}),x(null),k(null),j(void 0),N(null);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}t(`connect-claude`)},[]),ue=(0,H.useCallback)(()=>{x(null),k(null),j(void 0),N(null);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}r(``),a(``),l(``),t(`enter-pin`)},[]);return{appState:e,setAppState:t,pin:n,setPin:r,confirmPin:i,setConfirmPin:a,operatorName:o,setOperatorName:s,pinError:c,setPinError:l,showPin:u,setShowPin:d,pinLoading:f,authPolling:m,setAuthPolling:h,authLoading:g,setAuthLoading:_,disconnecting:v,sessionKey:b,setSessionKey:x,claudeInfo:S,setClaudeInfo:C,onboardingComplete:w,setOnboardingComplete:T,businessName:E,role:O,userName:A,userAvatar:M,conversationId:P,setConversationId:ee,accounts:te,accountPickerLoading:ne,expandAll:L,setExpandAll:re,expandAllDefaultRef:ie,pinInputRef:ae,confirmPinInputRef:R,setPinFormRef:z,handleSetPin:se,handleLogin:ce,handleAccountSelect:(0,H.useCallback)(async e=>{I(!0),l(``),await oe(n,e)},[n]),handleDisconnect:le,handleLogout:ue,handleChangePin:(0,H.useCallback)(async()=>{if(!n){l(`Enter your current PIN first.`);return}p(!0),l(``);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({currentPin:n})});if(!e.ok){l((await e.json().catch(()=>({error:`Incorrect PIN.`}))).error||`Incorrect PIN.`);return}r(``),a(``),l(``),t(`set-pin`)}catch(e){console.error(`[admin-auth] change pin failed:`,e),l(e instanceof Error?e.message:String(e))}finally{p(!1)}},[n])}}var At={active:!1,heldMessage:null,existingTopic:null,confidence:0};function jt(){let[e,t]=(0,H.useState)(At),n=(0,H.useRef)(!1);return{offer:e,handleOfferEvent:(0,H.useCallback)((e,n,r)=>{t({active:!0,heldMessage:e,existingTopic:n,confidence:r})},[]),consumeOffer:(0,H.useCallback)(r=>{if(!e.active||!e.heldMessage||n.current)return null;n.current=!0;let i={heldMessage:e.heldMessage,action:r};return t(At),setTimeout(()=>{n.current=!1},0),i},[e]),dismissAndGetHeldMessage:(0,H.useCallback)(()=>{if(!e.active||!e.heldMessage)return null;let n=e.heldMessage;return t(At),n},[e])}}async function Mt(e,t){try{await fetch(`/api/_client-error`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({kind:`event`,source:e,...t})})}catch{}}var Nt=`maxy-admin-draft`,Pt=`maxy-admin-session-key`,Ft=[500,1e3,2e3,4e3,8e3,1e4,1e4],It=3e4,Lt=2e4,Rt=1e3;function zt(e){if(e instanceof TypeError){let t=e.message||``;return/network|failed to fetch|load failed/i.test(t)}return!1}async function Bt(e=2e3){try{return(await fetch(`/api/health`,{cache:`no-store`,signal:AbortSignal.timeout(e)})).ok}catch{return!1}}async function Vt(){let e=Date.now()+It;for(let t=0;t<Ft.length;t++){let n=Ft[t];if(await new Promise(e=>setTimeout(e,n)),Date.now()>e)return!1;if(await Bt(3e3))return!0}return!1}async function Ht(){let e=Date.now()+Lt,t=!1;for(;Date.now()<e;)if(await new Promise(e=>setTimeout(e,Rt)),!await Bt(1500)){t=!0;break}return t?Vt():(Mt(`post-restart-resume`,{phase:`brand-stayed-up`,boundMs:Lt}),!0)}function Ut(e){let{sessionKey:t,setSessionKey:n,setAppState:r,conversationId:i,setConversationId:a,startElapsedTimer:o,stopElapsedTimer:s,resetTimerState:c,pausedElapsedRef:l,expandAllDefaultRef:u,setExpandAll:d,getPendingFiles:f,clearPendingFiles:p,inputRef:m}=e,[h,g]=(0,H.useState)([]),[_,v]=(0,H.useState)(()=>{try{return localStorage.getItem(Nt)??``}catch{return``}}),b=(0,H.useRef)(null),[x,S]=(0,H.useState)(!1),[C,w]=(0,H.useState)([]),T=(0,H.useRef)([]),[E,D]=(0,H.useState)(!1),[O,k]=(0,H.useState)(!1),A=(0,H.useRef)(!1),[j,M]=(0,H.useState)(0),[N,P]=(0,H.useState)(!1),ee=(0,H.useRef)(null),te=(0,H.useRef)(()=>{}),[F,ne]=(0,H.useState)(new Set),I=jt();function L(e){T.current=e,w(e)}let re=(0,H.useRef)(t);re.current=t;let ie=(0,H.useRef)(i);ie.current=i;let ae=(0,H.useRef)(null),R=(0,H.useRef)(null),z=(0,H.useCallback)(e=>{if(R.current)return R.current;let t=Date.now();Mt(`post-restart-resume`,{phase:`start`,trigger:e});let n=(async()=>{if(!(e===`form-armed`?await Ht():await Vt())){Mt(`post-restart-resume`,{phase:`health-timeout`,trigger:e,durationMs:Date.now()-t});return}let n=re.current,r=ie.current;if(!n||!r){Mt(`post-restart-resume`,{phase:`skip-no-session`,trigger:e,hasSk:!!n,hasCid:!!r});return}try{let t=await fetch(`/api/admin/sessions/${encodeURIComponent(r)}/resume?session_key=${encodeURIComponent(n)}`,{method:`POST`});if(!t.ok){Mt(`post-restart-resume`,{phase:`resume-rejected`,trigger:e,status:t.status});return}}catch(t){Mt(`post-restart-resume`,{phase:`resume-error`,trigger:e,error:t instanceof Error?t.name:`unknown`});return}let i=ae.current;i?(ae.current=null,te.current(i.message,void 0,void 0,!0),Mt(`post-restart-resume`,{phase:`marker-replayed`,trigger:e,actionId:i.actionId,durationMs:Date.now()-t})):Mt(`post-restart-resume`,{phase:`resumed`,trigger:e,durationMs:Date.now()-t})})().finally(()=>{R.current===n&&(R.current=null)});return R.current=n,n},[]);(0,H.useEffect)(()=>{function e(e){let t=e.detail,n=t?.actionId,r=t?.message;if(typeof n!=`string`||n.length===0||typeof r!=`string`||r.length===0){Mt(`post-restart-resume`,{phase:`event-bad-payload`,actionIdType:typeof n,messageType:typeof r});return}ae.current={actionId:n,message:r,firedAt:Date.now()},z(`form-armed`)}return window.addEventListener(`admin-chat:post-restart-resume`,e),()=>{window.removeEventListener(`admin-chat:post-restart-resume`,e)}},[z]),(0,H.useEffect)(()=>(b.current=setTimeout(()=>{try{_?localStorage.setItem(Nt,_):localStorage.removeItem(Nt)}catch{}},300),()=>{b.current&&clearTimeout(b.current)}),[_]);function oe(){b.current&&clearTimeout(b.current);try{localStorage.removeItem(Nt)}catch{}}function se(e){ee.current?.abort(),P(e),t&&fetch(`/api/admin/chat/cancel`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:t})}).catch(()=>{})}async function ce(e){if(x||!t)return;P(!1),o(),S(!0);let i=new AbortController;ee.current=i,g([{role:`maxy`,events:[],timestamp:Date.now()}]);try{let o=await fetch(`/api/admin/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:e,session_key:t}),signal:i.signal});if(!o.ok){if(o.status===401){(await o.json().catch(()=>({}))).error===`auth_expired`?r(`connect-claude`):(n(null),r(`enter-pin`));return}let e=await o.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Request failed (${o.status})`)}let s=!1;for await(let e of y(o)){if(e.type===`session_reset`){A.current=!0,ee.current?.abort();break}if(e.type===`server_shutdown`){s=!0,g(e=>{let t=[...e];return t[0]?.role===`maxy`&&(t[0]={...t[0],events:[...t[0].events??[],{type:`text`,content:`Server is restarting — reconnect will happen automatically.`}]}),t});continue}if(e.type===`conversation_attributed`){let t=e.conversationId;typeof t==`string`&&t.length>0&&a(t);continue}if(e.type===`session_expired`){g(e=>{let t=[...e];return t[0]?.role===`maxy`&&(t[0]={...t[0],events:[...t[0].events??[],{type:`text`,content:`This conversation can no longer be resumed — its history is gone. The next message will start a fresh exchange under the same conversation thread.`}]}),t});continue}if(e.type===`done`||e.type===`session_init`)continue;if(e.type===`flush_error`){let t=e.reason,n={"missing-userId":`This session lost its user binding during a service restart — please refresh the page to sign back in.`,"writer-failed":`Could not save this conversation to the graph (database write failed). Please try again or refresh.`,"missing-session":`This session was not recognised by the server (likely cleared during a service restart). Please refresh the page.`}[t]??`Could not persist this turn (${t}). Please refresh the page.`;g(e=>{let t=[...e];return t[0]?.role===`maxy`&&(t[0]={...t[0],events:[...t[0].events??[],{type:`text`,content:n}]}),t});continue}let t=e;g(e=>{let n=[...e];return n[0]?.role===`maxy`&&(n[0]={...n[0],events:[...n[0].events??[],t]}),n})}s&&z(`sse-shutdown`)}catch(e){if(!(e instanceof DOMException&&e.name===`AbortError`)){console.error(`[chat] admin sendMessage failed:`,e);let t=e instanceof Error?e.message:String(e),n=zt(e);g(e=>{let r=[...e],i=r[0];if(i?.role===`maxy`){let e=n?`Server is restarting — reconnect will happen automatically.`:`Error: ${t}`;r[0]={...i,events:[...i.events??[],{type:`text`,content:e}]}}else r.push({role:`maxy`,events:[{type:`text`,content:`Error: ${t}`}],timestamp:Date.now()});return r}),n&&z(`sse-shutdown`)}}finally{s(g),S(!1),A.current?(A.current=!1,le()):m.current?.focus()}}function le(){g([]),k(!1),c(),ne(new Set),d(u.current),L([]),v(``),oe(),p(),P(!1),M(e=>e+1)}function ue(e){ne(new Set(e))}async function de(){if(x||E||!t){console.warn(`[chat] startNewConversation blocked: streaming=${x} compacting=${E} sessionKey=${!!t}`);return}le();try{let e=await fetch(`/api/admin/sessions/new?session_key=${encodeURIComponent(t)}`,{method:`POST`});if(e.ok){let t=await e.json();if(t.session_key){n(t.session_key);try{sessionStorage.setItem(Pt,t.session_key)}catch{}pe(t.session_key,`chat`)}t.conversationId&&a(t.conversationId)}else console.error(`[chat] new conversation failed: ${e.status}`),g([{role:`maxy`,events:[{type:`text`,content:`Could not start a new conversation. Please try again.`}],timestamp:Date.now()}])}catch(e){console.error(`[chat] new conversation failed:`,e),g([{role:`maxy`,events:[{type:`text`,content:`Could not start a new conversation. Please try again.`}],timestamp:Date.now()}])}}function fe(e,n,r,i){try{let e=JSON.parse(r);if(e._lifecycle&&t){fetch(`/api/admin/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:r,session_key:t})}).catch(()=>{});return}if(e.action===`save`)return}catch{}Dt.has(i??``)||ne(t=>new Set(t).add(`${e}_${n}`)),he(i?JSON.stringify({_componentDone:!0,component:i,payload:r}):r,void 0,void 0,!0)}let me=(0,H.useMemo)(()=>{let e=new Set(F),t=[];for(let e=0;e<h.length;e++){let n=h[e];if(!(n.role!==`maxy`||!n.events))for(let e=0;e<n.events.length;e++){let r=n.events[e];r.type===`component`&&r.name===`browser-viewer`&&t.push({key:`${n.timestamp}_${e}`})}}for(let n=0;n<t.length-1;n++)e.add(t[n].key);return e},[h,F]);async function he(e,i,c,u,d){if(!e&&(i??f()).length===0&&!N||x||!t)return;if(I.offer.active&&!d){let t=I.dismissAndGetHeldMessage();if(t)return L([...T.current,{text:e,files:i??[],timestamp:c??Date.now()}]),he(t,void 0,void 0,!0,{topicChangeAction:`continue`,heldMessage:t})}let _=N;P(!1),k(!1);let b=i??[...f()],C=b.map(e=>({attachmentId:``,filename:e.name,mimeType:e.type})),w={role:`admin`,content:e,attachments:C.length>0?C:void 0,timestamp:c??Date.now(),hidden:u||void 0},E=h.length;g(e=>[...e,w]),v(``),oe(),i||p(),o(_?l.current:0),S(!0);let D=new AbortController;ee.current=D;let O={role:`maxy`,events:[],timestamp:Date.now()};g(e=>[...e,O]);let j=E+1;try{let i,o={},s=c?new Date(c).toISOString():void 0;if(b.length>0){let n=new FormData;n.append(`message`,e),n.append(`session_key`,t),s&&n.append(`timestamp`,s);for(let e of b)n.append(`attachments`,e);i=n}else i=JSON.stringify({message:e,session_key:t,...s&&{timestamp:s},...d&&{topicChangeAction:d.topicChangeAction,heldMessage:d.heldMessage}}),o={"Content-Type":`application/json`};R.current&&await R.current;let l=await fetch(`/api/admin/chat`,{method:`POST`,headers:o,body:i,signal:D.signal});if(!l.ok){if(l.status===401){(await l.json().catch(()=>({}))).error===`auth_expired`?r(`connect-claude`):(n(null),r(`enter-pin`));return}let e=await l.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Request failed (${l.status})`)}let u=!1;for await(let e of y(l)){if(e.type===`session_reset`){A.current=!0;continue}if(e.type===`topic_change_offer`){I.handleOfferEvent(e.heldMessage,e.existingTopic,e.confidence);continue}if(e.type===`conversation_attributed`){let t=e.conversationId;typeof t==`string`&&t.length>0&&a(t);continue}if(e.type===`session_expired`){g(e=>{let t=[...e],n=t[j];return n&&n.role===`maxy`&&(t[j]={...n,events:[...n.events??[],{type:`text`,content:`This conversation can no longer be resumed — its history is gone. The next message will start a fresh exchange under the same conversation thread.`}]}),t});continue}if(e.type===`server_shutdown`){u=!0,g(e=>{let t=[...e],n=t[j];return n&&n.role===`maxy`&&(t[j]={...n,events:[...n.events??[],{type:`text`,content:`Server is restarting — reconnect will happen automatically.`}]}),t});continue}if(e.type===`done`||e.type===`session_init`)continue;if(e.type===`flush_error`){let t=e.reason,n={"missing-userId":`This session lost its user binding during a service restart — please refresh the page to sign back in.`,"writer-failed":`Could not save this conversation to the graph (database write failed). Please try again or refresh.`,"missing-session":`This session was not recognised by the server (likely cleared during a service restart). Please refresh the page.`}[t]??`Could not persist this turn (${t}). Please refresh the page.`;g(e=>{let t=[...e],r=t[j];return r&&r.role===`maxy`&&(t[j]={...r,events:[...r.events??[],{type:`text`,content:n}]}),t});continue}let t=e;g(e=>{let n=[...e],r=n[j];if(r&&r.role===`maxy`){let i=r.events??[];if(t.type===`component`&&i.some(e=>e.type===`component`&&e.name===t.name&&JSON.stringify(e.data)===JSON.stringify(t.data)))return e;n[j]={...r,events:[...i,t]}}return n})}u&&z(`sse-shutdown`)}catch(e){if(!(e instanceof DOMException&&e.name===`AbortError`)){console.error(`[chat] admin sendMessage failed:`,e);let t=e instanceof Error?e.message:String(e),n=zt(e);g(e=>{let r=[...e],i=r[j];if(i&&i.role===`maxy`){let e=n?`Server is restarting — reconnect will happen automatically.`:`Error: ${t}`;r[j]={...i,events:[...i.events??[],{type:`text`,content:e}]}}return r}),n&&z(`sse-shutdown`)}}finally{if(s(g),S(!1),A.current)A.current=!1,le();else{let e=T.current;if(e.length>0){let[t,...n]=e;L(n),te.current(t.text,t.files,t.timestamp)}else m.current?.focus()}}}te.current=he;let ge=(0,H.useCallback)(async()=>{if(!(!t||x||E)){D(!0);try{let e=await fetch(`/api/admin/compact`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:t})});for await(let t of y(e))if(t.type===`status`&&t.message){let e=t.message;g(t=>{let n=[...t],r=n[n.length-1];return r?.role===`maxy`&&(n[n.length-1]={...r,events:[...r.events??[],{type:`status`,message:e}]}),n})}else t.type===`done`&&t.ok&&k(!0)}finally{D(!1)}}},[t,x,E]);async function _e(){let e=I.consumeOffer(`fresh`);e&&(await de(),te.current(e.heldMessage))}function ve(){let e=I.consumeOffer(`continue`);e&&he(e.heldMessage,void 0,void 0,!0,{topicChangeAction:`continue`,heldMessage:e.heldMessage})}return{messages:h,setMessages:g,input:_,setInput:v,isStreaming:x,messageQueue:C,messageQueueRef:T,setQueue:L,isCompacting:E,conversationCompacted:O,greetingGeneration:j,wasPaused:N,sendMessageRef:te,submittedComponents:F,effectiveSubmitted:me,stopStreaming:se,sendSystemPrompt:ce,sendMessage:he,resetConversation:le,startNewConversation:de,seedSubmittedComponents:ue,handleComponentSubmit:fe,handleCompactNow:ge,topicChangeOffer:I.offer,handleTopicFreshStart:_e,handleTopicContinue:ve}}function Wt(){let[e,t]=(0,H.useState)([]),[n,r]=(0,H.useState)(!1),[i,a]=(0,H.useState)(null),o=(0,H.useRef)(null),s=(0,H.useCallback)(e=>{a(null);let n=e.find(e=>!Tt.has(e.type));if(n){a(`Unsupported file type: "${n.type}". Supported: images, PDF, plain text, markdown, CSV, calendar, zip.`);return}let r=e.find(e=>e.size>Et);if(r){a(`"${r.name}" exceeds the 50 MB limit.`);return}t(t=>[...t,...e].slice(0,5))},[]);return{pendingFiles:e,setPendingFiles:t,isDragOver:n,attachError:i,setAttachError:a,fileInputRef:o,addFiles:s,clearFiles:(0,H.useCallback)(()=>{t([]),a(null)},[]),removeFile:(0,H.useCallback)(e=>{t(t=>t.filter((t,n)=>n!==e))},[]),onDragOver:(0,H.useCallback)(e=>{e.preventDefault(),r(!0)},[]),onDragLeave:(0,H.useCallback)(()=>{r(!1)},[]),onDrop:(0,H.useCallback)(e=>{e.preventDefault(),r(!1),s([...e.dataTransfer.files])},[s])}}var U=s();function Gt({inputRef:e,value:t,onChange:n,onComplete:r,showPin:i,autoFocus:a}){let o=(0,H.useRef)([]);function s(e,r){r.key===`Backspace`?(r.preventDefault(),t[e]?n(t.slice(0,e)+t.slice(e+1)):e>0&&(n(t.slice(0,e-1)+t.slice(e)),o.current[e-1]?.focus())):r.key===`ArrowLeft`&&e>0?o.current[e-1]?.focus():r.key===`ArrowRight`&&e<5?o.current[e+1]?.focus():r.key===`Enter`&&(r.preventDefault(),r.currentTarget.form?.requestSubmit())}function c(e,i){let a=i.nativeEvent.data;if(!a||!/^\d$/.test(a))return;let s=t.split(``);for(s[e]=a;s.length<e;)s.push(``);let c=s.join(``).replace(/\D/g,``).slice(0,6);n(c),c.length===6?r?.(c):e<5&&o.current[e+1]?.focus()}function l(e){e.preventDefault();let t=e.clipboardData.getData(`text`).replace(/\D/g,``).slice(0,6);t&&(n(t),t.length===6?r?.(t):o.current[t.length]?.focus())}return(0,U.jsx)(`div`,{className:`pin-field`,children:Array.from({length:6}).map((n,r)=>(0,U.jsx)(`input`,{ref:t=>{o.current[r]=t,r===0&&e&&(e.current=t)},type:`text`,inputMode:`numeric`,className:`pin-box${t[r]?` pin-box-filled`:``}`,value:t[r]?i?t[r]:`•`:``,onKeyDown:e=>s(r,e),onInput:e=>c(r,e),onPaste:l,onFocus:e=>e.target.select(),autoFocus:a&&r===0,autoComplete:`off`,maxLength:1,"aria-label":`PIN digit ${r+1}`},r))})}function Kt(e){let{pin:t,setPin:n,confirmPin:r,setConfirmPin:i,showPin:a,setShowPin:o,pinLoading:s,pinError:c,pinInputRef:l,confirmPinInputRef:u,setPinFormRef:d,onSubmit:f,operatorName:p,setOperatorName:m}=e;return(0,U.jsx)(`div`,{className:`connect-page`,children:(0,U.jsxs)(`div`,{className:`connect-content`,children:[(0,U.jsx)(`img`,{src:L,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,U.jsxs)(`h1`,{className:`connect-title`,children:[`Welcome to `,C.productName]}),(0,U.jsxs)(`p`,{className:`connect-subtitle`,children:[`Tell `,C.productName,` who you are, then choose a PIN.`]}),(0,U.jsxs)(`form`,{ref:d,onSubmit:f,className:`connect-pin-form`,children:[(0,U.jsxs)(`div`,{className:`pin-input-row`,children:[(0,U.jsx)(`input`,{type:`text`,className:`connect-name-input`,placeholder:`Your full name`,value:p,onChange:e=>m(e.target.value),autoComplete:`name`,autoFocus:!0,required:!0,"aria-label":`Your full name`}),(0,U.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,U.jsxs)(`div`,{className:`pin-input-row`,children:[(0,U.jsx)(Gt,{inputRef:l,value:t,onChange:n,onComplete:()=>u.current?.focus(),showPin:a}),(0,U.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,U.jsxs)(`div`,{className:`pin-input-row`,children:[(0,U.jsx)(Gt,{inputRef:u,value:r,onChange:i,onComplete:()=>{},showPin:a}),(0,U.jsx)(w,{variant:`send`,type:`submit`,disabled:!t||!r||!p.trim(),loading:s,"aria-label":`Set PIN`,children:(0,U.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,U.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,U.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,U.jsx)(_e,{checked:a,onChange:()=>o(e=>!e),label:`Show PIN`})]}),c&&(0,U.jsx)(`p`,{className:`admin-pin-error`,children:c})]})})}function qt(e){let{pin:t,setPin:n,showPin:r,setShowPin:i,pinLoading:a,pinError:o,pinInputRef:s,onSubmit:c,onChangePin:l}=e;return(0,U.jsx)(`div`,{className:`connect-page`,children:(0,U.jsxs)(`div`,{className:`connect-content`,children:[(0,U.jsx)(`img`,{src:L,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,U.jsx)(`h1`,{className:`connect-title`,children:C.productName}),(0,U.jsxs)(`form`,{onSubmit:c,className:`connect-pin-form`,children:[(0,U.jsxs)(`div`,{className:`pin-input-row`,children:[(0,U.jsx)(Gt,{inputRef:s,value:t,onChange:n,onComplete:()=>{},showPin:r,autoFocus:!0}),(0,U.jsx)(w,{variant:`send`,type:`submit`,disabled:!t,loading:a,children:(0,U.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,U.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,U.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,U.jsxs)(`div`,{className:`pin-options`,children:[(0,U.jsx)(_e,{checked:r,onChange:()=>i(e=>!e),label:`Show PIN`}),(0,U.jsx)(w,{type:`button`,variant:`ghost`,onClick:l,children:`Change PIN`})]})]}),o&&(0,U.jsx)(`p`,{className:`admin-pin-error`,children:o})]})})}function Jt(e){let{accounts:t,loading:n,error:r,onSelect:i}=e;return(0,U.jsx)(`div`,{className:`connect-page`,children:(0,U.jsxs)(`div`,{className:`connect-content`,children:[(0,U.jsx)(`img`,{src:L,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,U.jsx)(`h1`,{className:`connect-title`,children:C.productName}),(0,U.jsx)(`p`,{className:`connect-subtitle`,children:`Select an account`}),(0,U.jsx)(`div`,{className:`account-picker-list`,children:t.map(e=>(0,U.jsxs)(`button`,{className:`account-picker-card`,onClick:()=>i(e.accountId),disabled:n,type:`button`,children:[(0,U.jsx)(`span`,{className:`account-picker-name`,children:e.businessName||e.accountId}),(0,U.jsx)(`span`,{className:`account-picker-role`,children:e.role}),n&&(0,U.jsx)(ge,{className:`account-picker-spinner`,size:16})]},e.accountId))}),r&&(0,U.jsx)(`p`,{className:`admin-pin-error`,children:r})]})})}function Yt(e){let{authPolling:t,setAuthPolling:n,authLoading:r,setAuthLoading:i,pinError:a,setPinError:o,setAppState:s}=e,[c,l]=(0,H.useState)(!1),[u,d]=(0,H.useState)(!1);async function f(){d(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`launch-browser`})})).json();e.launched?l(!0):e.error&&o(e.error)}catch(e){console.error(`[admin] browser launch error:`,e),o(`Could not launch browser.`)}d(!1)}async function p(){i(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`})).json();if(e.started){n(!0),l(!0),i(!1);for(let e=0;e<120;e++)if(await new Promise(e=>setTimeout(e,2e3)),(await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`wait`})})).json()).authenticated){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),s(`enter-pin`);return}o(`Timed out waiting for sign-in. Try again.`),n(!1)}else e.error&&o(e.error)}catch(e){console.error(`[admin] auth flow error:`,e),o(`Could not start auth flow.`)}i(!1)}async function m(){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),n(!1),o(``)}return t||c?(0,U.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100dvh`,overflow:`auto`},children:[(0,U.jsxs)(`header`,{className:`chat-header`,style:{paddingBottom:`12px`,flexShrink:0,position:`relative`,maxWidth:`680px`,width:`100%`,margin:`0 auto`,padding:`24px 20px 12px`},children:[t?(0,U.jsx)(`button`,{onClick:m,style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Cancel`,children:`✕`}):(0,U.jsx)(`button`,{onClick:()=>l(!1),style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Close browser`,children:`✕`}),(0,U.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`chat-logo`}),(0,U.jsx)(`h1`,{className:`chat-tagline`,children:`Connect Claude`}),(0,U.jsx)(`p`,{className:`chat-intro`,children:t?`Sign in and authorize in the browser below.`:`Open your email or prepare your accounts, then sign in.`}),!t&&(0,U.jsx)(`div`,{style:{marginTop:`12px`},children:(0,U.jsx)(w,{variant:`primary`,onClick:p,disabled:r,children:r?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`})})]}),(0,U.jsx)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,minHeight:0,gap:`10px`,padding:`0 0 16px`},children:(0,U.jsx)(`iframe`,{src:`/vnc-viewer.html`,style:{flex:1,width:`100%`,minHeight:0,border:`none`,background:`#111`,display:`block`},title:`Claude Sign-in`})}),a&&(0,U.jsx)(`p`,{className:`admin-pin-error`,style:{textAlign:`center`,padding:`0 20px 16px`},children:a})]}):(0,U.jsxs)(`div`,{className:`connect-page`,children:[(0,U.jsx)(`button`,{onClick:()=>s(`onboarding-choice`),style:{position:`fixed`,top:`16px`,left:`16px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Back to setup choice`,children:`← Back`}),(0,U.jsxs)(`div`,{className:`connect-content`,children:[(0,U.jsxs)(`div`,{className:`connect-logos`,children:[(0,U.jsx)(`div`,{className:`connect-logo-wrap`,children:(0,U.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`connect-logo`})}),(0,U.jsx)(`svg`,{className:`connect-arrow`,viewBox:`0 0 48 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,U.jsx)(`path`,{d:`M0 12h44m0 0l-8-8m8 8l-8 8`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,U.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,U.jsx)(`img`,{src:L,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,U.jsx)(`span`,{className:`connect-logo-label`,children:C.productName})]})]}),(0,U.jsxs)(`h1`,{className:`connect-title`,children:[`Connect Claude to power `,C.productName]}),(0,U.jsx)(`p`,{className:`connect-subtitle`,children:`Sign in with your Anthropic account to get started.`}),(0,U.jsx)(w,{variant:`primary`,onClick:p,disabled:r,children:r?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`}),(0,U.jsx)(`p`,{style:{marginTop:`6px`,fontSize:`11px`,color:`#999`,maxWidth:`300px`,textAlign:`center`,lineHeight:`1.4`},children:`First time? You may need to sign into your email and Anthropic account in the browser before connecting.`}),(0,U.jsx)(`button`,{onClick:f,disabled:u,style:{marginTop:`12px`,background:`none`,border:`none`,color:`var(--color-primary, #666)`,fontSize:`13px`,cursor:`pointer`,textDecoration:`underline`,textUnderlineOffset:`3px`},children:u?`Launching…`:`Open browser first`}),a&&(0,U.jsx)(`p`,{className:`admin-pin-error`,children:a})]})]})}function Xt({setAppState:e,setOnboardingComplete:t}){let[n,r]=(0,H.useState)(!1),[i,a]=(0,H.useState)(``);async function o(n){r(!0),a(``);try{let r=await fetch(`/api/onboarding/skip`,{method:`POST`,headers:n===`minimal`?{"Content-Type":`application/json`}:{},body:n===`minimal`?JSON.stringify({minimal:!0}):void 0});if(!r.ok){a((await r.json().catch(()=>({}))).error||`Failed to apply defaults.`);return}t(!0),e(`connect-claude`)}catch(e){console.error(`[admin] skip onboarding error:`,e),a(`Could not apply defaults.`)}finally{r(!1)}}function s(){e(`connect-claude`)}return(0,U.jsx)(`div`,{className:`connect-page`,children:(0,U.jsxs)(`div`,{className:`connect-content`,children:[(0,U.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,U.jsx)(`img`,{src:L,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,U.jsx)(`span`,{className:`connect-logo-label`,children:C.productName})]}),(0,U.jsx)(`h1`,{className:`connect-title`,children:`How would you like to get started?`}),(0,U.jsx)(`p`,{className:`connect-subtitle`,style:{fontSize:`0.8rem`,maxWidth:`320px`},children:`Defaults: core plugins only, auto-detected timezone, concise output style, and a minimal personality. No WiFi or optional plugins. Minimal also skips remote access, public-agent API key, and business profile.`}),(0,U.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`10px`,width:`100%`,maxWidth:`320px`,alignItems:`center`},children:[(0,U.jsx)(w,{variant:`primary`,onClick:()=>o(`default`),disabled:n,children:n?`Applying defaults…`:`Use defaults`}),(0,U.jsx)(`button`,{onClick:s,disabled:n,style:{background:`none`,border:`none`,padding:`8px`,cursor:`pointer`,fontSize:`0.95rem`,color:`var(--text-secondary, #666)`,textDecoration:`none`},children:`Guided setup`}),(0,U.jsx)(`button`,{onClick:()=>o(`minimal`),disabled:n,style:{background:`none`,border:`none`,padding:`8px`,cursor:`pointer`,fontSize:`0.95rem`,color:`var(--text-secondary, #666)`,textDecoration:`none`},children:`Minimal`})]}),(0,U.jsx)(`p`,{className:`connect-subtitle`,style:{marginTop:`12px`},children:`You can change any setting later through conversation.`}),i&&(0,U.jsx)(`p`,{className:`admin-pin-error`,children:i})]})})}function Zt({data:e,onSubmit:t,submitted:n}){let r=e,[i,a]=(0,H.useState)(`Submitted`);return r?.title?(0,U.jsx)(O,{submitted:n,submittedLabel:i,actions:[{label:r.rejectLabel??`Reject`,variant:`ghost`,onClick:()=>{n||(a(`Rejected`),t(r.rejectMessage??`Rejected: ${r.title}`))}},{label:r.confirmLabel??`Approve`,variant:`primary`,onClick:()=>{n||(a(`Approved`),t(r.confirmMessage??`Approved: ${r.title}`))}}],children:(0,U.jsxs)(`div`,{className:`confirm`,children:[(0,U.jsx)(`div`,{className:`confirm__title`,children:r.title}),r.description&&(0,U.jsx)(`div`,{className:`confirm__desc`,children:r.description}),r.items&&r.items.length>0&&(0,U.jsx)(`div`,{className:`confirm__items`,children:r.items.map((e,t)=>(0,U.jsxs)(`div`,{className:`confirm__item`,children:[(0,U.jsx)(`span`,{className:`confirm__item-label`,children:e.label}),(0,U.jsx)(`span`,{className:`confirm__item-value`,children:e.value})]},t))})]})}):null}function Qt({data:e,onSubmit:t,submitted:n}){let r=e,i=(0,H.useRef)(!1),a=!!(r?.title&&Array.isArray(r?.fields)&&r.fields.length>0),o=r?.actions&&r.actions.length>0;return(0,H.useEffect)(()=>{a&&!o&&!n&&!i.current&&(i.current=!0,t(``))},[a,o,n,t]),a?(0,U.jsx)(O,{submitted:n,submittedLabel:`Done`,actions:o?r.actions.map(e=>({label:e.label,variant:e.variant,onClick:()=>{n||t(e.message)}})):[],children:(0,U.jsxs)(`div`,{className:`info-card`,children:[(0,U.jsxs)(`div`,{className:`info-card__header`,children:[(0,U.jsx)(`div`,{className:`info-card__title`,children:r.title}),r.subtitle&&(0,U.jsx)(`div`,{className:`info-card__subtitle`,children:r.subtitle})]}),(0,U.jsx)(`div`,{className:`info-card__fields`,children:r.fields.map((e,t)=>(0,U.jsxs)(`div`,{className:`info-card__field`,children:[(0,U.jsx)(`span`,{className:`info-card__field-label`,children:e.label}),(0,U.jsx)(`span`,{className:`info-card__field-value${e.type===`status`?` info-card__field-value--status`:``}`,children:e.type===`link`?(0,U.jsx)(`a`,{href:e.value,target:`_blank`,rel:`noopener noreferrer`,children:e.value}):e.value})]},t))})]})}):null}function $t({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.items)?r.items:[],[a,o]=(0,H.useState)(new Set),[s,c]=(0,H.useState)(!1),[l,u]=(0,H.useState)(`Done`);if(i.length===0)return null;let d=n||s,f=(e,n)=>{d||a.has(e)||(o(t=>new Set(t).add(e)),t(n))};return(0,U.jsx)(O,{submitted:d,submittedLabel:l,actions:[{label:`Done`,variant:`primary`,onClick:()=>{d||(c(!0),u(`Done`),t(r?.doneMessage??`Done`))}}],children:(0,U.jsxs)(`div`,{className:`action-list`,children:[r?.title&&(0,U.jsx)(`div`,{className:`action-list__title`,children:r.title}),(0,U.jsx)(`div`,{className:`action-list__items`,children:i.map(e=>(0,U.jsxs)(`div`,{className:`action-list__item${a.has(e.id)?` action-list__item--acted`:``}`,children:[(0,U.jsxs)(`div`,{className:`action-list__item-info`,children:[(0,U.jsx)(`span`,{className:`action-list__item-label`,children:e.label}),e.description&&(0,U.jsx)(`span`,{className:`action-list__item-desc`,children:e.description})]}),(0,U.jsxs)(`div`,{className:`action-list__item-right`,children:[e.status&&(0,U.jsx)(`span`,{className:`action-list__item-status`,children:e.status}),(0,U.jsx)(`div`,{className:`action-list__item-actions`,children:e.actions.map((t,n)=>(0,U.jsx)(w,{variant:t.variant===`danger`?`danger`:t.variant===`ghost`?`ghost`:`primary`,size:`sm`,disabled:d||a.has(e.id),onClick:n=>{n.stopPropagation(),f(e.id,t.message)},children:t.label},n))})]})]},e.id))})]})})}function en({className:e,children:t,...n}){let r=e?`dropdown ${e}`:`dropdown`;return(0,U.jsx)(`select`,{...n,className:r,children:t})}function tn({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.fields)?r.fields:[],[a,o]=(0,H.useState)({}),[s,c]=(0,H.useState)({}),[l,u]=(0,H.useState)({}),[d,f]=(0,H.useState)(`Submitted`);if((0,H.useEffect)(()=>{i.length!==0&&(o(e=>{let t={...e};return i.forEach(e=>{e.type!==`list`&&(e.name in t||(t[e.name]=e.defaultValue??(e.type===`checkbox`?!1:``)))}),t}),c(e=>{let t={...e};return i.forEach(e=>{e.type===`list`&&(e.name in t||(t[e.name]=Array.isArray(e.defaultValue)?e.defaultValue:[]))}),t}))},[i]),i.length===0)return null;let p=(e,t)=>{n||o(n=>({...n,[e]:t}))},m=i.filter(e=>e.required&&e.type!==`list`).every(e=>{let t=a[e.name];return e.type===`checkbox`?t===!0:typeof t==`string`&&t.trim()!==``}),h=()=>{if(!m||n)return;f(`Submitted`);let e=r?.submitMessage??`Form submitted: {{json}}`,i=JSON.stringify(a),o=e;for(let[e,t]of Object.entries(a))o=o.replace(`{{${e}}}`,()=>String(t));o=o.replace(`{{json}}`,()=>i),o=o.replace(`{{values}}`,()=>i),t(o)},g=e=>e.description?`${e.label} — ${e.description}`:e.label,_=e=>{let r=(l[e.name]??``).trim();!r||n||(c(t=>({...t,[e.name]:[...t[e.name]??[],r]})),u(t=>({...t,[e.name]:``})),e.addMessage&&t(e.addMessage.replace(`{{value}}`,r)))},v=(e,r)=>{n||(c(t=>({...t,[e.name]:(t[e.name]??[]).filter(e=>e!==r)})),e.removeMessage&&t(e.removeMessage.replace(`{{value}}`,r)))};return(0,U.jsx)(O,{submitted:n,submittedLabel:d,actions:[{label:r?.submitLabel??`Submit`,variant:`primary`,disabled:!m,onClick:h}],children:(0,U.jsxs)(`div`,{className:`form-input`,children:[r?.title&&(0,U.jsx)(`div`,{className:`form-input__title`,children:r.title}),r?.description&&(0,U.jsx)(`div`,{className:`form-input__desc`,children:r.description}),(0,U.jsx)(`div`,{className:`form-input__fields`,children:i.map(e=>(0,U.jsx)(`div`,{className:`form-input__field`,children:e.type===`checkbox`?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(_e,{checked:a[e.name]===!0,onChange:t=>p(e.name,t),label:e.label,disabled:n}),e.description&&(0,U.jsx)(`div`,{className:`form-input__field-desc`,children:e.description})]}):e.type===`list`?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`label`,{className:`form-input__label`,children:e.label}),e.description&&(0,U.jsx)(`div`,{className:`form-input__field-desc`,children:e.description}),(0,U.jsxs)(`div`,{className:`form-input__list`,children:[(s[e.name]??[]).map(t=>(0,U.jsxs)(`div`,{className:`form-input__list-item`,children:[(0,U.jsx)(`span`,{className:`form-input__list-item-text`,children:t}),(0,U.jsx)(`button`,{type:`button`,className:`form-input__list-item-remove`,onClick:()=>v(e,t),disabled:n,"aria-label":`Remove ${t}`,children:`×`})]},t)),(0,U.jsxs)(`div`,{className:`form-input__list-add`,children:[(0,U.jsx)(`input`,{className:`form-input__input`,type:`text`,placeholder:e.addPlaceholder??``,value:l[e.name]??``,onChange:t=>u(n=>({...n,[e.name]:t.target.value})),onKeyDown:t=>{t.key===`Enter`&&(t.preventDefault(),_(e))},disabled:n}),(0,U.jsx)(`button`,{type:`button`,className:`form-input__list-add-btn`,onClick:()=>_(e),disabled:n||!(l[e.name]??``).trim(),children:`Add`})]})]})]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`label`,{className:`form-input__label`,htmlFor:`form-${e.name}`,children:[e.label,e.required&&(0,U.jsx)(`span`,{className:`form-input__required`,children:`*`})]}),e.description&&(0,U.jsx)(`div`,{className:`form-input__field-desc`,children:e.description}),e.type===`textarea`?(0,U.jsx)(`textarea`,{id:`form-${e.name}`,className:`form-input__textarea`,placeholder:e.placeholder,value:a[e.name]??``,onChange:t=>p(e.name,t.target.value),disabled:n,rows:3}):e.type===`select`?(0,U.jsxs)(en,{id:`form-${e.name}`,className:`form-input__select`,value:a[e.name]??``,onChange:t=>p(e.name,t.target.value),disabled:n,children:[(0,U.jsx)(`option`,{value:``,children:e.placeholder??`Select...`}),e.options?.map(e=>(0,U.jsx)(`option`,{value:e.value,children:g(e)},e.value))]}):(0,U.jsx)(`input`,{id:`form-${e.name}`,className:`form-input__input`,type:e.type,placeholder:e.placeholder,value:a[e.name]??``,onChange:t=>p(e.name,t.target.value),disabled:n})]})},e.name))})]})})}var nn={pending:`○`,active:`◉`,completed:`✓`,failed:`✗`,skipped:`–`};function rn({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.steps)?r.steps:[],a=(0,H.useRef)(!1),o=i.length>0&&i.every(e=>e.status===`completed`||e.status===`failed`||e.status===`skipped`);return(0,H.useEffect)(()=>{o&&!n&&!a.current&&(a.current=!0,t(r?.completedMessage??`All steps completed`))},[o,n,t,r?.completedMessage]),i.length===0?null:(0,U.jsxs)(`div`,{className:`progress-tracker${n?` progress-tracker--submitted`:``}`,children:[r?.title&&(0,U.jsx)(`div`,{className:`progress-tracker__title`,children:r.title}),(0,U.jsx)(`div`,{className:`progress-tracker__steps`,children:i.map((e,t)=>(0,U.jsxs)(`div`,{className:`progress-tracker__step progress-tracker__step--${e.status}`,children:[(0,U.jsx)(`span`,{className:`progress-tracker__icon`,children:nn[e.status]??`○`}),(0,U.jsxs)(`div`,{className:`progress-tracker__step-info`,children:[(0,U.jsx)(`span`,{className:`progress-tracker__step-label`,children:e.label}),e.description&&(0,U.jsx)(`span`,{className:`progress-tracker__step-desc`,children:e.description})]})]},t))})]})}function an({handlePopout:e,disabled:t=!1}){let n=(0,H.useCallback)(()=>{delete document.body.dataset.dragPopoutActive},[]);(0,H.useEffect)(()=>()=>n(),[n]);let r=(0,H.useCallback)(e=>{if(t){e.preventDefault();return}let n=e.target;if(n.closest(`.editor-base__actions`)||n.closest(`.browser-viewer__actions`)){e.preventDefault();return}if(!document.querySelector(`.chat-messages`)){e.preventDefault();return}e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,``),document.body.dataset.dragPopoutActive=`true`},[t,n]),i=(0,H.useCallback)(t=>{if(n(),t.clientX===0&&t.clientY===0)return;let r=document.querySelector(`.chat-messages`);if(!r)return;let i=r.getBoundingClientRect();(t.clientX<i.left||t.clientX>i.right||t.clientY<i.top||t.clientY>i.bottom)&&e()},[e,n]);return t?{draggable:!1,onDragStart:()=>{},onDragEnd:()=>{}}:{draggable:!0,onDragStart:r,onDragEnd:i}}function on({data:e,onSubmit:t,submitted:n,isStreaming:r}){bt();let{title:i}=e??{},[a,o]=(0,H.useState)(!1),[s,c]=(0,H.useState)(!1),[l,u]=(0,H.useState)(!1),d=(0,H.useRef)(null),f=(0,H.useRef)(null),p=i??C.productName,m=(0,H.useCallback)(()=>{f.current&&=(clearInterval(f.current),null),d.current&&!d.current.closed&&d.current.close(),d.current=null,c(!1)},[]),h=(0,H.useCallback)(()=>{o(!1),u(!1);let e=`/vnc-popout.html?title=${encodeURIComponent(p)}`,t=window.open(e,`maxy-vnc-popout`,`width=1024,height=768`);t&&(d.current=t,c(!0),f.current=setInterval(()=>{d.current?.closed&&(m(),u(!0))},500))},[p,m]),g=(0,H.useCallback)(()=>{m(),o(!1),u(!0)},[m]),_=(0,H.useCallback)(()=>{m(),u(!1)},[m]),v=(0,H.useCallback)(()=>{u(!1)},[]),y=(0,H.useCallback)(()=>{m(),u(!1),o(!0)},[m]),b=(0,H.useCallback)(()=>o(!1),[]);(0,H.useEffect)(()=>{if(!a)return;let e=e=>{e.key===`Escape`&&b()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a,b]),(0,H.useEffect)(()=>()=>m(),[m]);let x=an({handlePopout:h,disabled:s||a});if(n)return null;let S=`/vnc-viewer.html`;return a?(0,U.jsxs)(`div`,{className:`browser-viewer-fullscreen`,children:[(0,U.jsxs)(`div`,{className:`browser-viewer-fullscreen__bar`,...x,children:[(0,U.jsx)(D,{className:`browser-viewer__icon`}),(0,U.jsx)(`span`,{className:`browser-viewer-fullscreen__title`,children:p}),(0,U.jsxs)(`div`,{className:`browser-viewer-fullscreen__actions`,children:[(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:Fe,onClick:h,"aria-label":`Pop out`}),(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:rt,onClick:b,"aria-label":`Exit full screen`}),(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:it,onClick:g,"aria-label":`Minimise`})]})]}),(0,U.jsx)(`iframe`,{src:S,className:`browser-viewer-fullscreen__iframe`,title:p})]}):s?(0,U.jsx)(`div`,{className:`browser-viewer browser-viewer--popout`,children:(0,U.jsxs)(`div`,{className:`browser-viewer__bar`,...x,children:[(0,U.jsx)(D,{className:`browser-viewer__icon`}),(0,U.jsx)(`span`,{className:`browser-viewer__title`,children:p}),(0,U.jsxs)(`div`,{className:`browser-viewer__actions`,children:[(0,U.jsx)(`span`,{className:`browser-viewer__popout-label`,children:`Popped out`}),(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:ft,onClick:_,"aria-label":`Pop back in`})]})]})}):l?(0,U.jsxs)(`div`,{className:`browser-viewer browser-viewer--minimised`,onClick:v,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&v(),children:[(0,U.jsxs)(`div`,{className:`browser-viewer__bar`,...x,children:[(0,U.jsx)(D,{className:`browser-viewer__icon`}),(0,U.jsx)(`span`,{className:`browser-viewer__title`,children:p}),(0,U.jsxs)(`div`,{className:`browser-viewer__actions`,onClick:e=>e.stopPropagation(),children:[(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:Fe,onClick:h,"aria-label":`Pop out`}),(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:Qe,onClick:y,"aria-label":`Full screen`}),(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:lt,onClick:v,"aria-label":`Expand`})]})]}),(0,U.jsx)(`iframe`,{src:S,className:`browser-viewer__iframe`,title:p,"aria-hidden":`true`})]}):(0,U.jsxs)(`div`,{className:`browser-viewer`,children:[(0,U.jsxs)(`div`,{className:`browser-viewer__bar`,...x,children:[(0,U.jsx)(D,{className:`browser-viewer__icon`}),i&&(0,U.jsx)(`span`,{className:`browser-viewer__title`,children:i}),(0,U.jsxs)(`div`,{className:`browser-viewer__actions`,children:[(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:Fe,onClick:h,"aria-label":`Pop out`}),(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:Qe,onClick:y,"aria-label":`Full screen`}),(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:it,onClick:g,"aria-label":`Minimise`})]})]}),(0,U.jsx)(`iframe`,{src:S,className:`browser-viewer__iframe`,title:p})]})}var sn=t((e=>{var t=a();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),a=r[0].inst,l=r[1];return s(function(){a.value=n,a.getSnapshot=t,u(a)&&l({inst:a})},[e,n,t]),o(function(){return u(a)&&l({inst:a}),e(function(){u(a)&&l({inst:a})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),cn=t(((e,t)=>{t.exports=sn()})),ln=cn(),un=e(n(),1);function dn(e){this.content=e}dn.prototype={constructor:dn,find:function(e){for(var t=0;t<this.content.length;t+=2)if(this.content[t]===e)return t;return-1},get:function(e){var t=this.find(e);return t==-1?void 0:this.content[t+1]},update:function(e,t,n){var r=n&&n!=e?this.remove(n):this,i=r.find(e),a=r.content.slice();return i==-1?a.push(n||e,t):(a[i+1]=t,n&&(a[i]=n)),new dn(a)},remove:function(e){var t=this.find(e);if(t==-1)return this;var n=this.content.slice();return n.splice(t,2),new dn(n)},addToStart:function(e,t){return new dn([e,t].concat(this.remove(e).content))},addToEnd:function(e,t){var n=this.remove(e).content.slice();return n.push(e,t),new dn(n)},addBefore:function(e,t,n){var r=this.remove(t),i=r.content.slice(),a=r.find(e);return i.splice(a==-1?i.length:a,0,t,n),new dn(i)},forEach:function(e){for(var t=0;t<this.content.length;t+=2)e(this.content[t],this.content[t+1])},prepend:function(e){return e=dn.from(e),e.size?new dn(e.content.concat(this.subtract(e).content)):this},append:function(e){return e=dn.from(e),e.size?new dn(this.subtract(e).content.concat(e.content)):this},subtract:function(e){var t=this;e=dn.from(e);for(var n=0;n<e.content.length;n+=2)t=t.remove(e.content[n]);return t},toObject:function(){var e={};return this.forEach(function(t,n){e[t]=n}),e},get size(){return this.content.length>>1}},dn.from=function(e){if(e instanceof dn)return e;var t=[];if(e)for(var n in e)t.push(n,e[n]);return new dn(t)};function fn(e,t,n){for(let r=0;;r++){if(r==e.childCount||r==t.childCount)return e.childCount==t.childCount?null:n;let i=e.child(r),a=t.child(r);if(i==a){n+=i.nodeSize;continue}if(!i.sameMarkup(a))return n;if(i.isText&&i.text!=a.text){for(let e=0;i.text[e]==a.text[e];e++)n++;return n}if(i.content.size||a.content.size){let e=fn(i.content,a.content,n+1);if(e!=null)return e}n+=i.nodeSize}}function pn(e,t,n,r){for(let i=e.childCount,a=t.childCount;;){if(i==0||a==0)return i==a?null:{a:n,b:r};let o=e.child(--i),s=t.child(--a),c=o.nodeSize;if(o==s){n-=c,r-=c;continue}if(!o.sameMarkup(s))return{a:n,b:r};if(o.isText&&o.text!=s.text){let e=0,t=Math.min(o.text.length,s.text.length);for(;e<t&&o.text[o.text.length-e-1]==s.text[s.text.length-e-1];)e++,n--,r--;return{a:n,b:r}}if(o.content.size||s.content.size){let e=pn(o.content,s.content,n-1,r-1);if(e)return e}n-=c,r-=c}}var W=class e{constructor(e,t){if(this.content=e,this.size=t||0,t==null)for(let t=0;t<e.length;t++)this.size+=e[t].nodeSize}nodesBetween(e,t,n,r=0,i){for(let a=0,o=0;o<t;a++){let s=this.content[a],c=o+s.nodeSize;if(c>e&&n(s,r+o,i||null,a)!==!1&&s.content.size){let i=o+1;s.nodesBetween(Math.max(0,e-i),Math.min(s.content.size,t-i),n,r+i)}o=c}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,t,n,r){let i=``,a=!0;return this.nodesBetween(e,t,(o,s)=>{let c=o.isText?o.text.slice(Math.max(e,s)-s,t-s):o.isLeaf?r?typeof r==`function`?r(o):r:o.type.spec.leafText?o.type.spec.leafText(o):``:``;o.isBlock&&(o.isLeaf&&c||o.isTextblock)&&n&&(a?a=!1:i+=n),i+=c},0),i}append(t){if(!t.size)return this;if(!this.size)return t;let n=this.lastChild,r=t.firstChild,i=this.content.slice(),a=0;for(n.isText&&n.sameMarkup(r)&&(i[i.length-1]=n.withText(n.text+r.text),a=1);a<t.content.length;a++)i.push(t.content[a]);return new e(i,this.size+t.size)}cut(t,n=this.size){if(t==0&&n==this.size)return this;let r=[],i=0;if(n>t)for(let e=0,a=0;a<n;e++){let o=this.content[e],s=a+o.nodeSize;s>t&&((a<t||s>n)&&(o=o.isText?o.cut(Math.max(0,t-a),Math.min(o.text.length,n-a)):o.cut(Math.max(0,t-a-1),Math.min(o.content.size,n-a-1))),r.push(o),i+=o.nodeSize),a=s}return new e(r,i)}cutByIndex(t,n){return t==n?e.empty:t==0&&n==this.content.length?this:new e(this.content.slice(t,n))}replaceChild(t,n){let r=this.content[t];if(r==n)return this;let i=this.content.slice(),a=this.size+n.nodeSize-r.nodeSize;return i[t]=n,new e(i,a)}addToStart(t){return new e([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new e(this.content.concat(t),this.size+t.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let t=0;t<this.content.length;t++)if(!this.content[t].eq(e.content[t]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let t=this.content[e];if(!t)throw RangeError(`Index `+e+` out of range for `+this);return t}maybeChild(e){return this.content[e]||null}forEach(e){for(let t=0,n=0;t<this.content.length;t++){let r=this.content[t];e(r,n,t),n+=r.nodeSize}}findDiffStart(e,t=0){return fn(this,e,t)}findDiffEnd(e,t=this.size,n=e.size){return pn(this,e,t,n)}findIndex(e){if(e==0)return hn(0,e);if(e==this.size)return hn(this.content.length,e);if(e>this.size||e<0)throw RangeError(`Position ${e} outside of fragment (${this})`);for(let t=0,n=0;;t++){let r=this.child(t),i=n+r.nodeSize;if(i>=e)return i==e?hn(t+1,i):hn(t,n);n=i}}toString(){return`<`+this.toStringInner()+`>`}toStringInner(){return this.content.join(`, `)}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(t,n){if(!n)return e.empty;if(!Array.isArray(n))throw RangeError(`Invalid input for Fragment.fromJSON`);return new e(n.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return e.empty;let n,r=0;for(let e=0;e<t.length;e++){let i=t[e];r+=i.nodeSize,e&&i.isText&&t[e-1].sameMarkup(i)?(n||=t.slice(0,e),n[n.length-1]=i.withText(n[n.length-1].text+i.text)):n&&n.push(i)}return new e(n||t,r)}static from(t){if(!t)return e.empty;if(t instanceof e)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new e([t],t.nodeSize);throw RangeError(`Can not convert `+t+` to a Fragment`+(t.nodesBetween?` (looks like multiple versions of prosemirror-model were loaded)`:``))}};W.empty=new W([],0);var mn={index:0,offset:0};function hn(e,t){return mn.index=e,mn.offset=t,mn}function gn(e,t){if(e===t)return!0;if(!(e&&typeof e==`object`)||!(t&&typeof t==`object`))return!1;let n=Array.isArray(e);if(Array.isArray(t)!=n)return!1;if(n){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!gn(e[n],t[n]))return!1}else{for(let n in e)if(!(n in t)||!gn(e[n],t[n]))return!1;for(let n in t)if(!(n in e))return!1}return!0}var _n=class e{constructor(e,t){this.type=e,this.attrs=t}addToSet(e){let t,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(this.eq(i))return e;if(this.type.excludes(i.type))t||=e.slice(0,r);else if(i.type.excludes(this.type))return e;else !n&&i.type.rank>this.type.rank&&(t||=e.slice(0,r),t.push(this),n=!0),t&&t.push(i)}return t||=e.slice(),n||t.push(this),t}removeFromSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return e.slice(0,t).concat(e.slice(t+1));return e}isInSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return!0;return!1}eq(e){return this==e||this.type==e.type&&gn(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Mark.fromJSON`);let n=e.marks[t.type];if(!n)throw RangeError(`There is no mark type ${t.type} in this schema`);let r=n.create(t.attrs);return n.checkAttrs(r.attrs),r}static sameSet(e,t){if(e==t)return!0;if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return e.none;if(t instanceof e)return[t];let n=t.slice();return n.sort((e,t)=>e.type.rank-t.type.rank),n}};_n.none=[];var vn=class extends Error{},G=class e{constructor(e,t,n){this.content=e,this.openStart=t,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,n){let r=bn(this.content,t+this.openStart,n);return r&&new e(r,this.openStart,this.openEnd)}removeBetween(t,n){return new e(yn(this.content,t+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+`(`+this.openStart+`,`+this.openEnd+`)`}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(t,n){if(!n)return e.empty;let r=n.openStart||0,i=n.openEnd||0;if(typeof r!=`number`||typeof i!=`number`)throw RangeError(`Invalid input for Slice.fromJSON`);return new e(W.fromJSON(t,n.content),r,i)}static maxOpen(t,n=!0){let r=0,i=0;for(let e=t.firstChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.firstChild)r++;for(let e=t.lastChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.lastChild)i++;return new e(t,r,i)}};G.empty=new G(W.empty,0,0);function yn(e,t,n){let{index:r,offset:i}=e.findIndex(t),a=e.maybeChild(r),{index:o,offset:s}=e.findIndex(n);if(i==t||a.isText){if(s!=n&&!e.child(o).isText)throw RangeError(`Removing non-flat range`);return e.cut(0,t).append(e.cut(n))}if(r!=o)throw RangeError(`Removing non-flat range`);return e.replaceChild(r,a.copy(yn(a.content,t-i-1,n-i-1)))}function bn(e,t,n,r){let{index:i,offset:a}=e.findIndex(t),o=e.maybeChild(i);if(a==t||o.isText)return r&&!r.canReplace(i,i,n)?null:e.cut(0,t).append(n).append(e.cut(t));let s=bn(o.content,t-a-1,n,o);return s&&e.replaceChild(i,o.copy(s))}function xn(e,t,n){if(n.openStart>e.depth)throw new vn(`Inserted content deeper than insertion position`);if(e.depth-n.openStart!=t.depth-n.openEnd)throw new vn(`Inconsistent open depths`);return Sn(e,t,n,0)}function Sn(e,t,n,r){let i=e.index(r),a=e.node(r);if(i==t.index(r)&&r<e.depth-n.openStart){let o=Sn(e,t,n,r+1);return a.copy(a.content.replaceChild(i,o))}else if(!n.content.size)return Dn(a,kn(e,t,r));else if(!n.openStart&&!n.openEnd&&e.depth==r&&t.depth==r){let r=e.parent,i=r.content;return Dn(r,i.cut(0,e.parentOffset).append(n.content).append(i.cut(t.parentOffset)))}else{let{start:i,end:o}=An(n,e);return Dn(a,On(e,i,o,t,r))}}function Cn(e,t){if(!t.type.compatibleContent(e.type))throw new vn(`Cannot join `+t.type.name+` onto `+e.type.name)}function wn(e,t,n){let r=e.node(n);return Cn(r,t.node(n)),r}function Tn(e,t){let n=t.length-1;n>=0&&e.isText&&e.sameMarkup(t[n])?t[n]=e.withText(t[n].text+e.text):t.push(e)}function En(e,t,n,r){let i=(t||e).node(n),a=0,o=t?t.index(n):i.childCount;e&&(a=e.index(n),e.depth>n?a++:e.textOffset&&(Tn(e.nodeAfter,r),a++));for(let e=a;e<o;e++)Tn(i.child(e),r);t&&t.depth==n&&t.textOffset&&Tn(t.nodeBefore,r)}function Dn(e,t){return e.type.checkContent(t),e.copy(t)}function On(e,t,n,r,i){let a=e.depth>i&&wn(e,t,i+1),o=r.depth>i&&wn(n,r,i+1),s=[];return En(null,e,i,s),a&&o&&t.index(i)==n.index(i)?(Cn(a,o),Tn(Dn(a,On(e,t,n,r,i+1)),s)):(a&&Tn(Dn(a,kn(e,t,i+1)),s),En(t,n,i,s),o&&Tn(Dn(o,kn(n,r,i+1)),s)),En(r,null,i,s),new W(s)}function kn(e,t,n){let r=[];return En(null,e,n,r),e.depth>n&&Tn(Dn(wn(e,t,n+1),kn(e,t,n+1)),r),En(t,null,n,r),new W(r)}function An(e,t){let n=t.depth-e.openStart,r=t.node(n).copy(e.content);for(let e=n-1;e>=0;e--)r=t.node(e).copy(W.from(r));return{start:r.resolveNoCache(e.openStart+n),end:r.resolveNoCache(r.content.size-e.openEnd-n)}}var jn=class e{constructor(e,t,n){this.pos=e,this.path=t,this.parentOffset=n,this.depth=t.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position before the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position after the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,t=this.index(this.depth);if(t==e.childCount)return null;let n=this.pos-this.path[this.path.length-1],r=e.child(t);return n?e.child(t).cut(n):r}get nodeBefore(){let e=this.index(this.depth),t=this.pos-this.path[this.path.length-1];return t?this.parent.child(e).cut(0,t):e==0?null:this.parent.child(e-1)}posAtIndex(e,t){t=this.resolveDepth(t);let n=this.path[t*3],r=t==0?0:this.path[t*3-1]+1;for(let t=0;t<e;t++)r+=n.child(t).nodeSize;return r}marks(){let e=this.parent,t=this.index();if(e.content.size==0)return _n.none;if(this.textOffset)return e.child(t).marks;let n=e.maybeChild(t-1),r=e.maybeChild(t);if(!n){let e=n;n=r,r=e}let i=n.marks;for(var a=0;a<i.length;a++)i[a].type.spec.inclusive===!1&&(!r||!i[a].isInSet(r.marks))&&(i=i[a--].removeFromSet(i));return i}marksAcross(e){let t=this.parent.maybeChild(this.index());if(!t||!t.isInline)return null;let n=t.marks,r=e.parent.maybeChild(e.index());for(var i=0;i<n.length;i++)n[i].type.spec.inclusive===!1&&(!r||!n[i].isInSet(r.marks))&&(n=n[i--].removeFromSet(n));return n}sharedDepth(e){for(let t=this.depth;t>0;t--)if(this.start(t)<=e&&this.end(t)>=e)return t;return 0}blockRange(e=this,t){if(e.pos<this.pos)return e.blockRange(this);for(let n=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);n>=0;n--)if(e.pos<=this.end(n)&&(!t||t(this.node(n))))return new Fn(this,e,n);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e=``;for(let t=1;t<=this.depth;t++)e+=(e?`/`:``)+this.node(t).type.name+`_`+this.index(t-1);return e+`:`+this.parentOffset}static resolve(t,n){if(!(n>=0&&n<=t.content.size))throw RangeError(`Position `+n+` out of range`);let r=[],i=0,a=n;for(let e=t;;){let{index:t,offset:n}=e.content.findIndex(a),o=a-n;if(r.push(e,t,i+n),!o||(e=e.child(t),e.isText))break;a=o-1,i+=n+1}return new e(n,r,a)}static resolveCached(t,n){let r=Pn.get(t);if(r)for(let e=0;e<r.elts.length;e++){let t=r.elts[e];if(t.pos==n)return t}else Pn.set(t,r=new Mn);let i=r.elts[r.i]=e.resolve(t,n);return r.i=(r.i+1)%Nn,i}},Mn=class{constructor(){this.elts=[],this.i=0}},Nn=12,Pn=new WeakMap,Fn=class{constructor(e,t,n){this.$from=e,this.$to=t,this.depth=n}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}},In=Object.create(null),Ln=class e{constructor(e,t,n,r=_n.none){this.type=e,this.attrs=t,this.marks=r,this.content=n||W.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,t,n,r=0){this.content.nodesBetween(e,t,n,r,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,``)}textBetween(e,t,n,r){return this.content.textBetween(e,t,n,r)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,t,n){return this.type==e&&gn(this.attrs,t||e.defaultAttrs||In)&&_n.sameSet(this.marks,n||_n.none)}copy(t=null){return t==this.content?this:new e(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.content,t)}cut(e,t=this.content.size){return e==0&&t==this.content.size?this:this.copy(this.content.cut(e,t))}slice(e,t=this.content.size,n=!1){if(e==t)return G.empty;let r=this.resolve(e),i=this.resolve(t),a=n?0:r.sharedDepth(t),o=r.start(a);return new G(r.node(a).content.cut(r.pos-o,i.pos-o),r.depth-a,i.depth-a)}replace(e,t,n){return xn(this.resolve(e),this.resolve(t),n)}nodeAt(e){for(let t=this;;){let{index:n,offset:r}=t.content.findIndex(e);if(t=t.maybeChild(n),!t)return null;if(r==e||t.isText)return t;e-=r+1}}childAfter(e){let{index:t,offset:n}=this.content.findIndex(e);return{node:this.content.maybeChild(t),index:t,offset:n}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:t,offset:n}=this.content.findIndex(e);if(n<e)return{node:this.content.child(t),index:t,offset:n};let r=this.content.child(t-1);return{node:r,index:t-1,offset:n-r.nodeSize}}resolve(e){return jn.resolveCached(this,e)}resolveNoCache(e){return jn.resolve(this,e)}rangeHasMark(e,t,n){let r=!1;return t>e&&this.nodesBetween(e,t,e=>(n.isInSet(e.marks)&&(r=!0),!r)),r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+=`(`+this.content.toStringInner()+`)`),zn(this.marks,e)}contentMatchAt(e){let t=this.type.contentMatch.matchFragment(this.content,0,e);if(!t)throw Error(`Called contentMatchAt on a node with invalid content`);return t}canReplace(e,t,n=W.empty,r=0,i=n.childCount){let a=this.contentMatchAt(e).matchFragment(n,r,i),o=a&&a.matchFragment(this.content,t);if(!o||!o.validEnd)return!1;for(let e=r;e<i;e++)if(!this.type.allowsMarks(n.child(e).marks))return!1;return!0}canReplaceWith(e,t,n,r){if(r&&!this.type.allowsMarks(r))return!1;let i=this.contentMatchAt(e).matchType(n),a=i&&i.matchFragment(this.content,t);return a?a.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=_n.none;for(let t=0;t<this.marks.length;t++){let n=this.marks[t];n.type.checkAttrs(n.attrs),e=n.addToSet(e)}if(!_n.sameSet(e,this.marks))throw RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(e=>e.type.name)}`);this.content.forEach(e=>e.check())}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(e=>e.toJSON())),e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Node.fromJSON`);let n;if(t.marks){if(!Array.isArray(t.marks))throw RangeError(`Invalid mark data for Node.fromJSON`);n=t.marks.map(e.markFromJSON)}if(t.type==`text`){if(typeof t.text!=`string`)throw RangeError(`Invalid text node in JSON`);return e.text(t.text,n)}let r=W.fromJSON(e,t.content),i=e.nodeType(t.type).create(t.attrs,r,n);return i.type.checkAttrs(i.attrs),i}};Ln.prototype.text=void 0;var Rn=class e extends Ln{constructor(e,t,n,r){if(super(e,t,null,r),!n)throw RangeError(`Empty text nodes are not allowed`);this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):zn(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,t){return this.text.slice(e,t)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new e(this.type,this.attrs,t,this.marks)}cut(e=0,t=this.text.length){return e==0&&t==this.text.length?this:this.withText(this.text.slice(e,t))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}};function zn(e,t){for(let n=e.length-1;n>=0;n--)t=e[n].type.name+`(`+t+`)`;return t}var Bn=class e{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(t,n){let r=new Vn(t,n);if(r.next==null)return e.empty;let i=Hn(r);r.next&&r.err(`Unexpected trailing text`);let a=Qn(Yn(i));return $n(a,r),a}matchType(e){for(let t=0;t<this.next.length;t++)if(this.next[t].type==e)return this.next[t].next;return null}matchFragment(e,t=0,n=e.childCount){let r=this;for(let i=t;r&&i<n;i++)r=r.matchType(e.child(i).type);return r}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:t}=this.next[e];if(!(t.isText||t.hasRequiredAttrs()))return t}return null}compatible(e){for(let t=0;t<this.next.length;t++)for(let n=0;n<e.next.length;n++)if(this.next[t].type==e.next[n].type)return!0;return!1}fillBefore(e,t=!1,n=0){let r=[this];function i(a,o){let s=a.matchFragment(e,n);if(s&&(!t||s.validEnd))return W.from(o.map(e=>e.createAndFill()));for(let e=0;e<a.next.length;e++){let{type:t,next:n}=a.next[e];if(!(t.isText||t.hasRequiredAttrs())&&r.indexOf(n)==-1){r.push(n);let e=i(n,o.concat(t));if(e)return e}}return null}return i(this,[])}findWrapping(e){for(let t=0;t<this.wrapCache.length;t+=2)if(this.wrapCache[t]==e)return this.wrapCache[t+1];let t=this.computeWrapping(e);return this.wrapCache.push(e,t),t}computeWrapping(e){let t=Object.create(null),n=[{match:this,type:null,via:null}];for(;n.length;){let r=n.shift(),i=r.match;if(i.matchType(e)){let e=[];for(let t=r;t.type;t=t.via)e.push(t.type);return e.reverse()}for(let e=0;e<i.next.length;e++){let{type:a,next:o}=i.next[e];!a.isLeaf&&!a.hasRequiredAttrs()&&!(a.name in t)&&(!r.type||o.validEnd)&&(n.push({match:a.contentMatch,type:a,via:r}),t[a.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function t(n){e.push(n);for(let r=0;r<n.next.length;r++)e.indexOf(n.next[r].next)==-1&&t(n.next[r].next)}return t(this),e.map((t,n)=>{let r=n+(t.validEnd?`*`:` `)+` `;for(let n=0;n<t.next.length;n++)r+=(n?`, `:``)+t.next[n].type.name+`->`+e.indexOf(t.next[n].next);return r}).join(`
1
+ import{o as e,t}from"./chunk-DD-I1_y5.js";import{a as n,i as r,n as i,o as a,r as o,t as s}from"./jsx-runtime-BjkIZEse.js";import{A as c,C as l,D as u,E as d,M as f,N as p,O as m,P as h,S as g,T as _,a as v,b as y,c as b,d as x,f as S,g as C,h as w,i as T,j as E,k as D,l as O,m as k,n as A,o as j,p as M,r as N,s as P,t as ee,u as te,v as F,w as ne,x as I,y as L}from"./useVoiceRecorder-fD0IWzJj.js";import{a as re,i as ie,o as ae,r as R,t as z}from"./page-CNKytKTe.js";import{a as oe,i as se,n as ce,r as le}from"./page-D_6h4ZZy.js";import{a as ue,i as de,l as fe,n as pe,o as me,r as he,s as ge}from"./useAdminFetch-Cex4bYm7.js";import{t as _e}from"./Checkbox-U-H3_oQu.js";var ve=r(),ye=o(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),be=o(`asterisk`,[[`path`,{d:`M12 6v12`,key:`1vza4d`}],[`path`,{d:`M17.196 9 6.804 15`,key:`1ah31z`}],[`path`,{d:`m6.804 9 10.392 6`,key:`1b6pxd`}]]),xe=o(`bold`,[[`path`,{d:`M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8`,key:`mg9rjx`}]]),Se=o(`bot-off`,[[`path`,{d:`M13.67 8H18a2 2 0 0 1 2 2v4.33`,key:`7az073`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M22 22 2 2`,key:`1r8tn9`}],[`path`,{d:`M8 8H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 1.414-.586`,key:`s09a7a`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}],[`path`,{d:`M9.67 4H12v2.33`,key:`110xot`}]]),Ce=o(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),we=o(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),Te=o(`calendar-days`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`M8 14h.01`,key:`6423bh`}],[`path`,{d:`M12 14h.01`,key:`1etili`}],[`path`,{d:`M16 14h.01`,key:`1gbofw`}],[`path`,{d:`M8 18h.01`,key:`lrp35t`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}],[`path`,{d:`M16 18h.01`,key:`kzsmim`}]]),Ee=o(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),B=o(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),De=o(`circle-plus`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),Oe=o(`clipboard-list`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M12 11h4`,key:`1jrz19`}],[`path`,{d:`M12 16h4`,key:`n85exb`}],[`path`,{d:`M8 11h.01`,key:`1dfujw`}],[`path`,{d:`M8 16h.01`,key:`18s6g9`}]]),V=o(`clipboard-plus`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`M9 14h6`,key:`159ibu`}],[`path`,{d:`M12 17v-6`,key:`1y8rbf`}]]),ke=o(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),Ae=o(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),je=o(`database-zap`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`,key:`14ibmq`}],[`path`,{d:`M21 5V8`,key:`1marbg`}],[`path`,{d:`M21 12L18 17H22L19 22`,key:`zafso`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`,key:`1y4wr8`}]]),Me=o(`database-search`,[[`path`,{d:`M21 11.693V5`,key:`175m1t`}],[`path`,{d:`m22 22-1.875-1.875`,key:`13zax7`}],[`path`,{d:`M3 12a9 3 0 0 0 8.697 2.998`,key:`151u9p`}],[`path`,{d:`M3 5v14a9 3 0 0 0 9.28 2.999`,key:`q2rs2p`}],[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}]]),Ne=o(`dot`,[[`circle`,{cx:`12.1`,cy:`12.1`,r:`1`,key:`18d7e5`}]]),Pe=o(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),Fe=o(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),Ie=o(`file-archive`,[[`path`,{d:`M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5`,key:`4pqfef`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 12v-1`,key:`1ej8lb`}],[`path`,{d:`M8 18v-2`,key:`qcmpov`}],[`path`,{d:`M8 7V6`,key:`1nbb54`}],[`circle`,{cx:`8`,cy:`20`,r:`2`,key:`ckkr5m`}]]),Le=o(`file-down`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M12 18v-6`,key:`17g6i2`}],[`path`,{d:`m9 15 3 3 3-3`,key:`1npd3o`}]]),Re=o(`file-exclamation-point`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),ze=o(`file-image`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),Be=o(`file-pen-line`,[[`path`,{d:`m18.226 5.226-2.52-2.52A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.351`,key:`1k2beg`}],[`path`,{d:`M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`,key:`2t3380`}],[`path`,{d:`M8 18h1`,key:`13wk12`}]]),Ve=o(`file-plus-corner`,[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`,key:`17jvcc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 19h6`,key:`bvotb8`}],[`path`,{d:`M17 16v6`,key:`18yu1i`}]]),He=o(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Ue=o(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),We=o(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),Ge=o(`italic`,[[`line`,{x1:`19`,x2:`10`,y1:`4`,y2:`4`,key:`15jd3p`}],[`line`,{x1:`14`,x2:`5`,y1:`20`,y2:`20`,key:`bu0au3`}],[`line`,{x1:`15`,x2:`9`,y1:`4`,y2:`20`,key:`uljnxc`}]]),Ke=o(`lightbulb-off`,[[`path`,{d:`M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5`,key:`1fkcox`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5`,key:`10m8kw`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),qe=o(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Je=o(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),Ye=o(`list-todo`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`,key:`cif1o7`}]]),Xe=o(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),Ze=o(`loader`,[[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m16.2 7.8 2.9-2.9`,key:`r700ao`}],[`path`,{d:`M18 12h4`,key:`wj9ykh`}],[`path`,{d:`m16.2 16.2 2.9 2.9`,key:`1bxg5t`}],[`path`,{d:`M12 18v4`,key:`jadmvz`}],[`path`,{d:`m4.9 19.1 2.9-2.9`,key:`bwix9q`}],[`path`,{d:`M2 12h4`,key:`j09sii`}],[`path`,{d:`m4.9 4.9 2.9 2.9`,key:`giyufr`}]]),Qe=o(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),$e=o(`message-circle`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}]]),et=o(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),tt=o(`messages-square`,[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`,key:`1n2ejm`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`,key:`1qfcsi`}]]),nt=o(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),rt=o(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),it=o(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),at=o(`monitor-smartphone`,[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`,key:`10dyio`}],[`path`,{d:`M10 19v-3.96 3.15`,key:`1irgej`}],[`path`,{d:`M7 19h5`,key:`qswx4l`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`,key:`1egngj`}]]),ot=o(`panel-left-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m16 15-3-3 3-3`,key:`14y99z`}]]),st=o(`panel-left-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m14 9 3 3-3 3`,key:`8010ee`}]]),ct=o(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),lt=o(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),ut=o(`scroll-text`,[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]),dt=o(`sparkle`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}]]),ft=o(`square-arrow-down-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`m16 8-8 8`,key:`166keh`}],[`path`,{d:`M16 16H8V8`,key:`1w2ppm`}]]),pt=o(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),mt=o(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),ht=o(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),gt=o(`user-plus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),_t=o(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),vt=o(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),yt=o(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),H=e(a(),1);function bt(){(0,H.useEffect)(()=>{function e(e){e.data?.type===`vnc-clipboard`&&typeof e.data.text==`string`&&I(e.data.text)}window.addEventListener(`message`,e);let t=null;return typeof BroadcastChannel<`u`&&(t=new BroadcastChannel(`maxy-vnc-clipboard`),t.onmessage=e=>{typeof e.data==`string`&&I(e.data)}),()=>{window.removeEventListener(`message`,e),t?.close()}},[])}function xt(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;return n>0?`${t}m ${n}s`:`${t}m`}function St(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function Ct(){let[e,t]=(0,H.useState)(0),n=(0,H.useRef)(0),r=(0,H.useRef)(0),i=(0,H.useRef)(null),[a,o]=(0,H.useState)(0),s=(0,H.useRef)(0),c=(0,H.useRef)(null),l=(0,H.useRef)(null);return{elapsedSeconds:e,sessionElapsed:a,sessionTurnStart:l,pausedElapsedRef:r,startElapsedTimer:(0,H.useCallback)((e=0)=>{l.current=Date.now(),c.current=setInterval(()=>{let e=s.current+(Date.now()-(l.current??Date.now()));o(Math.floor(e/1e3))},1e3),n.current=e,t(e),i.current=setInterval(()=>{n.current+=1,t(n.current)},1e3)},[]),stopElapsedTimer:(0,H.useCallback)(e=>{i.current&&=(clearInterval(i.current),null),c.current&&=(clearInterval(c.current),null),l.current&&(s.current+=Date.now()-l.current,l.current=null,o(Math.floor(s.current/1e3))),r.current=n.current;let t=n.current;e(e=>{let n=[...e].map((e,t)=>({m:e,i:t})).reverse().find(({m:e})=>e.role===`maxy`)?.i;if(n===void 0)return e;let r=[...e];return r[n]={...r[n],elapsedSeconds:t},r})},[]),resetTimerState:(0,H.useCallback)(()=>{s.current=0,o(0)},[])}}var wt=`image/jpeg,image/png,image/gif,image/webp,application/pdf,text/plain,text/markdown,text/csv,text/html,text/calendar,application/zip,application/x-zip-compressed`,Tt=new Set(wt.split(`,`)),Et=50*1024*1024,Dt=new Set([`action-list`,`document-editor`,`rich-content-editor`,`grid-editor`]);function Ot(e){switch(e){case`expanded`:return!0;case`collapsed`:return!1;default:return}}function kt(){let[e,t]=(0,H.useState)(`loading`),[n,r]=(0,H.useState)(``),[i,a]=(0,H.useState)(``),[o,s]=(0,H.useState)(``),[c,l]=(0,H.useState)(``),[u,d]=(0,H.useState)(!1),[f,p]=(0,H.useState)(!1),[m,h]=(0,H.useState)(!1),[g,_]=(0,H.useState)(!1),[v,y]=(0,H.useState)(!1),[b,x]=(0,H.useState)(null),[S,C]=(0,H.useState)(null),[w,T]=(0,H.useState)(void 0),[E,D]=(0,H.useState)(void 0),[O,k]=(0,H.useState)(null),[A,j]=(0,H.useState)(void 0),[M,N]=(0,H.useState)(null),[P,ee]=(0,H.useState)(null),[te,F]=(0,H.useState)([]),[ne,I]=(0,H.useState)(!1),[L,re]=(0,H.useState)(void 0),ie=(0,H.useRef)(void 0),ae=(0,H.useRef)(null),R=(0,H.useRef)(null),z=(0,H.useRef)(null);(0,H.useEffect)(()=>{async function e(){let e=null;try{e=sessionStorage.getItem(`maxy-admin-session-key`)}catch{}if(!e)return!1;try{let n=await fetch(`/api/admin/session?session_key=${encodeURIComponent(e)}`);if(n.status===401){try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}return!1}if(!n.ok)return!1;let r=await n.json();x(r.session_key),ee(r.conversationId??null),T(r.onboardingComplete),D(r.businessName),k(r.role??null),j(r.userName===void 0?null:r.userName),N(r.avatar??null);let i=Ot(r.thinkingView);return ie.current=i,re(i),t(`chat`),!0}catch(e){return console.error(`[admin] session restore failed:`,e),!1}}async function n(r=2){try{let i=await fetch(`/api/health`);if(!i.ok){if(r>0)return await new Promise(e=>setTimeout(e,1500)),n(r-1);console.error(`[admin] health check returned ${i.status} after retries`),t(`set-pin`);return}let a=await i.json();if(!a.pin_configured){t(`set-pin`);return}if(a.onboarding_complete===!1){t(`onboarding-choice`);return}if(!a.claude_authenticated){t(`connect-claude`);return}if(await e())return;t(`enter-pin`)}catch(e){if(r>0)return await new Promise(e=>setTimeout(e,1500)),n(r-1);console.error(`[admin] health check failed:`,e),t(`set-pin`)}}n()},[]),(0,H.useEffect)(()=>{e===`chat`&&fetch(`/api/admin/claude-info`).then(e=>{if(e.ok)return e.json()}).then(e=>{e&&C(e)}).catch(()=>{})},[e]),(0,H.useEffect)(()=>{if(e!==`chat`)return;let n=setInterval(async()=>{try{let e=await fetch(`/api/health`);if(!e.ok)return;let n=await e.json();(n.auth_status===`dead`||n.auth_status===`missing`)&&t(`connect-claude`)}catch{}},300*1e3);return()=>clearInterval(n)},[e]),(0,H.useEffect)(()=>{e===`connect-claude`&&fetch(`/api/health`).then(e=>e.ok?e.json():null).then(e=>{e?.claude_authenticated&&t(`enter-pin`)}).catch(()=>{})},[e]);async function oe(e,n){p(!0);try{let i=await fetch(`/api/admin/session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:e,...n?{accountId:n}:{}})});if(!i.ok){l((await i.json().catch(()=>({}))).error||`Invalid PIN`);return}let o=await i.json();if(o.accounts&&!o.session_key){console.log(`[admin] account picker shown: userId=${o.userId} accountCount=${o.accounts.length}`),F(o.accounts),t(`account-picker`);return}x(o.session_key),ee(o.conversationId??null),T(o.onboardingComplete??!0),D(o.businessName),k(o.role??null),j(o.userName===void 0?null:o.userName),N(o.avatar??null);let s=Ot(o.thinkingView);if(ie.current=s,re(s),n)try{sessionStorage.setItem(`maxy-account-id`,n)}catch{}try{sessionStorage.setItem(`maxy-admin-session-key`,o.session_key)}catch{}r(``),a(``),t(`chat`)}catch(e){console.error(`[admin] connection error:`,e),l(`Could not connect.`)}finally{p(!1),I(!1)}}let se=(0,H.useCallback)(async e=>{if(e.preventDefault(),f)return;l(``);let s=o.trim();if(!s){l(`Please enter your name.`);return}if(n.length<4){l(`PIN must be at least 4 characters.`);return}if(n!==i){l(`PINs do not match.`);return}let c=n;p(!0);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:c,name:s})});if(!e.ok){let n=await e.json().catch(()=>({}));if(e.status===409){console.log(`[admin] PIN already configured — re-checking health`);try{let e=await fetch(`/api/health`);if(e.ok){let r=await e.json();r.pin_configured&&r.claude_authenticated?t(`enter-pin`):r.pin_configured?t(`connect-claude`):l(n.error||`Failed to set PIN.`)}else t(`enter-pin`)}catch{t(`enter-pin`)}return}l(n.error||`Failed to set PIN.`);return}let n=await fetch(`/api/health`),i=n.ok?await n.json():null;if(i?.onboarding_complete===!1){r(``),a(``),t(`onboarding-choice`);return}if(i?.claude_authenticated){await oe(c);return}r(``),a(``),t(`onboarding-choice`)}catch(e){console.error(`[admin] connection error:`,e),l(`Could not connect.`)}finally{p(!1)}},[n,i,f,o]),ce=(0,H.useCallback)(async e=>{e.preventDefault(),l(``),await oe(n)},[n]),le=(0,H.useCallback)(async()=>{y(!0),await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`logout`})}),x(null),k(null),j(void 0),N(null);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}t(`connect-claude`)},[]),ue=(0,H.useCallback)(()=>{x(null),k(null),j(void 0),N(null);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}r(``),a(``),l(``),t(`enter-pin`)},[]);return{appState:e,setAppState:t,pin:n,setPin:r,confirmPin:i,setConfirmPin:a,operatorName:o,setOperatorName:s,pinError:c,setPinError:l,showPin:u,setShowPin:d,pinLoading:f,authPolling:m,setAuthPolling:h,authLoading:g,setAuthLoading:_,disconnecting:v,sessionKey:b,setSessionKey:x,claudeInfo:S,setClaudeInfo:C,onboardingComplete:w,setOnboardingComplete:T,businessName:E,role:O,userName:A,userAvatar:M,conversationId:P,setConversationId:ee,accounts:te,accountPickerLoading:ne,expandAll:L,setExpandAll:re,expandAllDefaultRef:ie,pinInputRef:ae,confirmPinInputRef:R,setPinFormRef:z,handleSetPin:se,handleLogin:ce,handleAccountSelect:(0,H.useCallback)(async e=>{I(!0),l(``),await oe(n,e)},[n]),handleDisconnect:le,handleLogout:ue,handleChangePin:(0,H.useCallback)(async()=>{if(!n){l(`Enter your current PIN first.`);return}p(!0),l(``);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({currentPin:n})});if(!e.ok){l((await e.json().catch(()=>({error:`Incorrect PIN.`}))).error||`Incorrect PIN.`);return}r(``),a(``),l(``),t(`set-pin`)}catch(e){console.error(`[admin-auth] change pin failed:`,e),l(e instanceof Error?e.message:String(e))}finally{p(!1)}},[n])}}var At={active:!1,heldMessage:null,existingTopic:null,confidence:0};function jt(){let[e,t]=(0,H.useState)(At),n=(0,H.useRef)(!1);return{offer:e,handleOfferEvent:(0,H.useCallback)((e,n,r)=>{t({active:!0,heldMessage:e,existingTopic:n,confidence:r})},[]),consumeOffer:(0,H.useCallback)(r=>{if(!e.active||!e.heldMessage||n.current)return null;n.current=!0;let i={heldMessage:e.heldMessage,action:r};return t(At),setTimeout(()=>{n.current=!1},0),i},[e]),dismissAndGetHeldMessage:(0,H.useCallback)(()=>{if(!e.active||!e.heldMessage)return null;let n=e.heldMessage;return t(At),n},[e])}}async function Mt(e,t){try{await fetch(`/api/_client-error`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({kind:`event`,source:e,...t})})}catch{}}var Nt=`maxy-admin-draft`,Pt=`maxy-admin-session-key`,Ft=[500,1e3,2e3,4e3,8e3,1e4,1e4],It=3e4,Lt=2e4,Rt=1e3;function zt(e){if(e instanceof TypeError){let t=e.message||``;return/network|failed to fetch|load failed/i.test(t)}return!1}async function Bt(e=2e3){try{return(await fetch(`/api/health`,{cache:`no-store`,signal:AbortSignal.timeout(e)})).ok}catch{return!1}}async function Vt(){let e=Date.now()+It;for(let t=0;t<Ft.length;t++){let n=Ft[t];if(await new Promise(e=>setTimeout(e,n)),Date.now()>e)return!1;if(await Bt(3e3))return!0}return!1}async function Ht(){let e=Date.now()+Lt,t=!1;for(;Date.now()<e;)if(await new Promise(e=>setTimeout(e,Rt)),!await Bt(1500)){t=!0;break}return t?Vt():(Mt(`post-restart-resume`,{phase:`brand-stayed-up`,boundMs:Lt}),!0)}function Ut(e){let{sessionKey:t,setSessionKey:n,setAppState:r,conversationId:i,setConversationId:a,startElapsedTimer:o,stopElapsedTimer:s,resetTimerState:c,pausedElapsedRef:l,expandAllDefaultRef:u,setExpandAll:d,getPendingFiles:f,clearPendingFiles:p,inputRef:m}=e,[h,g]=(0,H.useState)([]),[_,v]=(0,H.useState)(()=>{try{return localStorage.getItem(Nt)??``}catch{return``}}),b=(0,H.useRef)(null),[x,S]=(0,H.useState)(!1),[C,w]=(0,H.useState)([]),T=(0,H.useRef)([]),[E,D]=(0,H.useState)(!1),[O,k]=(0,H.useState)(!1),A=(0,H.useRef)(!1),[j,M]=(0,H.useState)(0),[N,P]=(0,H.useState)(!1),ee=(0,H.useRef)(null),te=(0,H.useRef)(()=>{}),[F,ne]=(0,H.useState)(new Set),I=jt();function L(e){T.current=e,w(e)}let re=(0,H.useRef)(t);re.current=t;let ie=(0,H.useRef)(i);ie.current=i;let ae=(0,H.useRef)(null),R=(0,H.useRef)(null),z=(0,H.useCallback)(e=>{if(R.current)return R.current;let t=Date.now();Mt(`post-restart-resume`,{phase:`start`,trigger:e});let n=(async()=>{if(!(e===`form-armed`?await Ht():await Vt())){Mt(`post-restart-resume`,{phase:`health-timeout`,trigger:e,durationMs:Date.now()-t});return}let n=re.current,r=ie.current;if(!n||!r){Mt(`post-restart-resume`,{phase:`skip-no-session`,trigger:e,hasSk:!!n,hasCid:!!r});return}try{let t=await fetch(`/api/admin/sessions/${encodeURIComponent(r)}/resume?session_key=${encodeURIComponent(n)}`,{method:`POST`});if(!t.ok){Mt(`post-restart-resume`,{phase:`resume-rejected`,trigger:e,status:t.status});return}}catch(t){Mt(`post-restart-resume`,{phase:`resume-error`,trigger:e,error:t instanceof Error?t.name:`unknown`});return}let i=ae.current;i?(ae.current=null,te.current(i.message,void 0,void 0,!0),Mt(`post-restart-resume`,{phase:`marker-replayed`,trigger:e,actionId:i.actionId,durationMs:Date.now()-t})):Mt(`post-restart-resume`,{phase:`resumed`,trigger:e,durationMs:Date.now()-t})})().finally(()=>{R.current===n&&(R.current=null)});return R.current=n,n},[]);(0,H.useEffect)(()=>{function e(e){let t=e.detail,n=t?.actionId,r=t?.message;if(typeof n!=`string`||n.length===0||typeof r!=`string`||r.length===0){Mt(`post-restart-resume`,{phase:`event-bad-payload`,actionIdType:typeof n,messageType:typeof r});return}ae.current={actionId:n,message:r,firedAt:Date.now()},z(`form-armed`)}return window.addEventListener(`admin-chat:post-restart-resume`,e),()=>{window.removeEventListener(`admin-chat:post-restart-resume`,e)}},[z]),(0,H.useEffect)(()=>(b.current=setTimeout(()=>{try{_?localStorage.setItem(Nt,_):localStorage.removeItem(Nt)}catch{}},300),()=>{b.current&&clearTimeout(b.current)}),[_]);function oe(){b.current&&clearTimeout(b.current);try{localStorage.removeItem(Nt)}catch{}}function se(e){ee.current?.abort(),P(e),t&&fetch(`/api/admin/chat/cancel`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:t})}).catch(()=>{})}async function ce(e){if(x||!t)return;P(!1),o(),S(!0);let i=new AbortController;ee.current=i,g([{role:`maxy`,events:[],timestamp:Date.now()}]);try{let o=await fetch(`/api/admin/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:e,session_key:t}),signal:i.signal});if(!o.ok){if(o.status===401){(await o.json().catch(()=>({}))).error===`auth_expired`?r(`connect-claude`):(n(null),r(`enter-pin`));return}let e=await o.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Request failed (${o.status})`)}let s=!1;for await(let e of y(o)){if(e.type===`session_reset`){A.current=!0,ee.current?.abort();break}if(e.type===`server_shutdown`){s=!0,g(e=>{let t=[...e];return t[0]?.role===`maxy`&&(t[0]={...t[0],events:[...t[0].events??[],{type:`text`,content:`Server is restarting — reconnect will happen automatically.`}]}),t});continue}if(e.type===`conversation_attributed`){let t=e.conversationId;typeof t==`string`&&t.length>0&&a(t);continue}if(e.type===`session_expired`){g(e=>{let t=[...e];return t[0]?.role===`maxy`&&(t[0]={...t[0],events:[...t[0].events??[],{type:`text`,content:`This conversation can no longer be resumed — its history is gone. The next message will start a fresh exchange under the same conversation thread.`}]}),t});continue}if(e.type===`done`||e.type===`session_init`)continue;if(e.type===`flush_error`){let t=e.reason,n={"missing-userId":`This session lost its user binding during a service restart — please refresh the page to sign back in.`,"writer-failed":`Could not save this conversation to the graph (database write failed). Please try again or refresh.`,"missing-session":`This session was not recognised by the server (likely cleared during a service restart). Please refresh the page.`}[t]??`Could not persist this turn (${t}). Please refresh the page.`;g(e=>{let t=[...e];return t[0]?.role===`maxy`&&(t[0]={...t[0],events:[...t[0].events??[],{type:`text`,content:n}]}),t});continue}let t=e;g(e=>{let n=[...e];return n[0]?.role===`maxy`&&(n[0]={...n[0],events:[...n[0].events??[],t]}),n})}s&&z(`sse-shutdown`)}catch(e){if(!(e instanceof DOMException&&e.name===`AbortError`)){console.error(`[chat] admin sendMessage failed:`,e);let t=e instanceof Error?e.message:String(e),n=zt(e);g(e=>{let r=[...e],i=r[0];if(i?.role===`maxy`){let e=n?`Server is restarting — reconnect will happen automatically.`:`Error: ${t}`;r[0]={...i,events:[...i.events??[],{type:`text`,content:e}]}}else r.push({role:`maxy`,events:[{type:`text`,content:`Error: ${t}`}],timestamp:Date.now()});return r}),n&&z(`sse-shutdown`)}}finally{s(g),S(!1),A.current?(A.current=!1,le()):m.current?.focus()}}function le(){g([]),k(!1),c(),ne(new Set),d(u.current),L([]),v(``),oe(),p(),P(!1),M(e=>e+1)}function ue(e){ne(new Set(e))}async function de(){if(x||E||!t){console.warn(`[chat] startNewConversation blocked: streaming=${x} compacting=${E} sessionKey=${!!t}`);return}le();try{let e=await fetch(`/api/admin/sessions/new?session_key=${encodeURIComponent(t)}`,{method:`POST`});if(e.ok){let t=await e.json();if(t.session_key){n(t.session_key);try{sessionStorage.setItem(Pt,t.session_key)}catch{}pe(t.session_key,`chat`)}t.conversationId&&a(t.conversationId)}else console.error(`[chat] new conversation failed: ${e.status}`),g([{role:`maxy`,events:[{type:`text`,content:`Could not start a new conversation. Please try again.`}],timestamp:Date.now()}])}catch(e){console.error(`[chat] new conversation failed:`,e),g([{role:`maxy`,events:[{type:`text`,content:`Could not start a new conversation. Please try again.`}],timestamp:Date.now()}])}}function fe(e,n,r,i){try{let e=JSON.parse(r);if(e._lifecycle&&t){fetch(`/api/admin/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:r,session_key:t})}).catch(()=>{});return}if(e.action===`save`)return}catch{}Dt.has(i??``)||ne(t=>new Set(t).add(`${e}_${n}`)),he(i?JSON.stringify({_componentDone:!0,component:i,payload:r}):r,void 0,void 0,!0)}let me=(0,H.useMemo)(()=>{let e=new Set(F),t=[];for(let e=0;e<h.length;e++){let n=h[e];if(!(n.role!==`maxy`||!n.events))for(let e=0;e<n.events.length;e++){let r=n.events[e];r.type===`component`&&r.name===`browser-viewer`&&t.push({key:`${n.timestamp}_${e}`})}}for(let n=0;n<t.length-1;n++)e.add(t[n].key);return e},[h,F]);async function he(e,i,c,u,d){if(!e&&(i??f()).length===0&&!N||x||!t)return;if(I.offer.active&&!d){let t=I.dismissAndGetHeldMessage();if(t)return L([...T.current,{text:e,files:i??[],timestamp:c??Date.now()}]),he(t,void 0,void 0,!0,{topicChangeAction:`continue`,heldMessage:t})}let _=N;P(!1),k(!1);let b=i??[...f()],C=b.map(e=>({attachmentId:``,filename:e.name,mimeType:e.type})),w={role:`admin`,content:e,attachments:C.length>0?C:void 0,timestamp:c??Date.now(),hidden:u||void 0},E=h.length;g(e=>[...e,w]),v(``),oe(),i||p(),o(_?l.current:0),S(!0);let D=new AbortController;ee.current=D;let O={role:`maxy`,events:[],timestamp:Date.now()};g(e=>[...e,O]);let j=E+1;try{let i,o={},s=c?new Date(c).toISOString():void 0;if(b.length>0){let n=new FormData;n.append(`message`,e),n.append(`session_key`,t),s&&n.append(`timestamp`,s);for(let e of b)n.append(`attachments`,e);i=n}else i=JSON.stringify({message:e,session_key:t,...s&&{timestamp:s},...d&&{topicChangeAction:d.topicChangeAction,heldMessage:d.heldMessage}}),o={"Content-Type":`application/json`};R.current&&await R.current;let l=await fetch(`/api/admin/chat`,{method:`POST`,headers:o,body:i,signal:D.signal});if(!l.ok){if(l.status===401){(await l.json().catch(()=>({}))).error===`auth_expired`?r(`connect-claude`):(n(null),r(`enter-pin`));return}let e=await l.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Request failed (${l.status})`)}let u=!1;for await(let e of y(l)){if(e.type===`session_reset`){A.current=!0;continue}if(e.type===`topic_change_offer`){I.handleOfferEvent(e.heldMessage,e.existingTopic,e.confidence);continue}if(e.type===`conversation_attributed`){let t=e.conversationId;typeof t==`string`&&t.length>0&&a(t);continue}if(e.type===`session_expired`){g(e=>{let t=[...e],n=t[j];return n&&n.role===`maxy`&&(t[j]={...n,events:[...n.events??[],{type:`text`,content:`This conversation can no longer be resumed — its history is gone. The next message will start a fresh exchange under the same conversation thread.`}]}),t});continue}if(e.type===`server_shutdown`){u=!0,g(e=>{let t=[...e],n=t[j];return n&&n.role===`maxy`&&(t[j]={...n,events:[...n.events??[],{type:`text`,content:`Server is restarting — reconnect will happen automatically.`}]}),t});continue}if(e.type===`done`||e.type===`session_init`)continue;if(e.type===`flush_error`){let t=e.reason,n={"missing-userId":`This session lost its user binding during a service restart — please refresh the page to sign back in.`,"writer-failed":`Could not save this conversation to the graph (database write failed). Please try again or refresh.`,"missing-session":`This session was not recognised by the server (likely cleared during a service restart). Please refresh the page.`}[t]??`Could not persist this turn (${t}). Please refresh the page.`;g(e=>{let t=[...e],r=t[j];return r&&r.role===`maxy`&&(t[j]={...r,events:[...r.events??[],{type:`text`,content:n}]}),t});continue}let t=e;g(e=>{let n=[...e],r=n[j];if(r&&r.role===`maxy`){let i=r.events??[];if(t.type===`component`&&i.some(e=>e.type===`component`&&e.name===t.name&&JSON.stringify(e.data)===JSON.stringify(t.data)))return e;n[j]={...r,events:[...i,t]}}return n})}u&&z(`sse-shutdown`)}catch(e){if(!(e instanceof DOMException&&e.name===`AbortError`)){console.error(`[chat] admin sendMessage failed:`,e);let t=e instanceof Error?e.message:String(e),n=zt(e);g(e=>{let r=[...e],i=r[j];if(i&&i.role===`maxy`){let e=n?`Server is restarting — reconnect will happen automatically.`:`Error: ${t}`;r[j]={...i,events:[...i.events??[],{type:`text`,content:e}]}}return r}),n&&z(`sse-shutdown`)}}finally{if(s(g),S(!1),A.current)A.current=!1,le();else{let e=T.current;if(e.length>0){let[t,...n]=e;L(n),te.current(t.text,t.files,t.timestamp)}else m.current?.focus()}}}te.current=he;let ge=(0,H.useCallback)(async()=>{if(!(!t||x||E)){D(!0);try{let e=await fetch(`/api/admin/compact`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:t})});for await(let t of y(e))if(t.type===`status`&&t.message){let e=t.message;g(t=>{let n=[...t],r=n[n.length-1];return r?.role===`maxy`&&(n[n.length-1]={...r,events:[...r.events??[],{type:`status`,message:e}]}),n})}else t.type===`done`&&t.ok&&k(!0)}finally{D(!1)}}},[t,x,E]);async function _e(){let e=I.consumeOffer(`fresh`);e&&(await de(),te.current(e.heldMessage))}function ve(){let e=I.consumeOffer(`continue`);e&&he(e.heldMessage,void 0,void 0,!0,{topicChangeAction:`continue`,heldMessage:e.heldMessage})}return{messages:h,setMessages:g,input:_,setInput:v,isStreaming:x,messageQueue:C,messageQueueRef:T,setQueue:L,isCompacting:E,conversationCompacted:O,greetingGeneration:j,wasPaused:N,sendMessageRef:te,submittedComponents:F,effectiveSubmitted:me,stopStreaming:se,sendSystemPrompt:ce,sendMessage:he,resetConversation:le,startNewConversation:de,seedSubmittedComponents:ue,handleComponentSubmit:fe,handleCompactNow:ge,topicChangeOffer:I.offer,handleTopicFreshStart:_e,handleTopicContinue:ve}}function Wt(){let[e,t]=(0,H.useState)([]),[n,r]=(0,H.useState)(!1),[i,a]=(0,H.useState)(null),o=(0,H.useRef)(null),s=(0,H.useCallback)(e=>{a(null);let n=e.find(e=>!Tt.has(e.type));if(n){a(`Unsupported file type: "${n.type}". Supported: images, PDF, plain text, markdown, CSV, calendar, zip.`);return}let r=e.find(e=>e.size>Et);if(r){a(`"${r.name}" exceeds the 50 MB limit.`);return}t(t=>[...t,...e].slice(0,5))},[]);return{pendingFiles:e,setPendingFiles:t,isDragOver:n,attachError:i,setAttachError:a,fileInputRef:o,addFiles:s,clearFiles:(0,H.useCallback)(()=>{t([]),a(null)},[]),removeFile:(0,H.useCallback)(e=>{t(t=>t.filter((t,n)=>n!==e))},[]),onDragOver:(0,H.useCallback)(e=>{e.preventDefault(),r(!0)},[]),onDragLeave:(0,H.useCallback)(()=>{r(!1)},[]),onDrop:(0,H.useCallback)(e=>{e.preventDefault(),r(!1),s([...e.dataTransfer.files])},[s])}}var U=s();function Gt({inputRef:e,value:t,onChange:n,onComplete:r,showPin:i,autoFocus:a}){let o=(0,H.useRef)([]);function s(e,r){r.key===`Backspace`?(r.preventDefault(),t[e]?n(t.slice(0,e)+t.slice(e+1)):e>0&&(n(t.slice(0,e-1)+t.slice(e)),o.current[e-1]?.focus())):r.key===`ArrowLeft`&&e>0?o.current[e-1]?.focus():r.key===`ArrowRight`&&e<5?o.current[e+1]?.focus():r.key===`Enter`&&(r.preventDefault(),r.currentTarget.form?.requestSubmit())}function c(e,i){let a=i.nativeEvent.data;if(!a||!/^\d$/.test(a))return;let s=t.split(``);for(s[e]=a;s.length<e;)s.push(``);let c=s.join(``).replace(/\D/g,``).slice(0,6);n(c),c.length===6?r?.(c):e<5&&o.current[e+1]?.focus()}function l(e){e.preventDefault();let t=e.clipboardData.getData(`text`).replace(/\D/g,``).slice(0,6);t&&(n(t),t.length===6?r?.(t):o.current[t.length]?.focus())}return(0,U.jsx)(`div`,{className:`pin-field`,children:Array.from({length:6}).map((n,r)=>(0,U.jsx)(`input`,{ref:t=>{o.current[r]=t,r===0&&e&&(e.current=t)},type:`text`,inputMode:`numeric`,className:`pin-box${t[r]?` pin-box-filled`:``}`,value:t[r]?i?t[r]:`•`:``,onKeyDown:e=>s(r,e),onInput:e=>c(r,e),onPaste:l,onFocus:e=>e.target.select(),autoFocus:a&&r===0,autoComplete:`off`,maxLength:1,"aria-label":`PIN digit ${r+1}`},r))})}function Kt(e){let{pin:t,setPin:n,confirmPin:r,setConfirmPin:i,showPin:a,setShowPin:o,pinLoading:s,pinError:c,pinInputRef:l,confirmPinInputRef:u,setPinFormRef:d,onSubmit:f,operatorName:p,setOperatorName:m}=e;return(0,U.jsx)(`div`,{className:`connect-page`,children:(0,U.jsxs)(`div`,{className:`connect-content`,children:[(0,U.jsx)(`img`,{src:L,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,U.jsxs)(`h1`,{className:`connect-title`,children:[`Welcome to `,C.productName]}),(0,U.jsxs)(`p`,{className:`connect-subtitle`,children:[`Tell `,C.productName,` who you are, then choose a PIN.`]}),(0,U.jsxs)(`form`,{ref:d,onSubmit:f,className:`connect-pin-form`,children:[(0,U.jsxs)(`div`,{className:`pin-input-row`,children:[(0,U.jsx)(`input`,{type:`text`,className:`connect-name-input`,placeholder:`Your full name`,value:p,onChange:e=>m(e.target.value),autoComplete:`name`,autoFocus:!0,required:!0,"aria-label":`Your full name`}),(0,U.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,U.jsxs)(`div`,{className:`pin-input-row`,children:[(0,U.jsx)(Gt,{inputRef:l,value:t,onChange:n,onComplete:()=>u.current?.focus(),showPin:a}),(0,U.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,U.jsxs)(`div`,{className:`pin-input-row`,children:[(0,U.jsx)(Gt,{inputRef:u,value:r,onChange:i,onComplete:()=>{},showPin:a}),(0,U.jsx)(w,{variant:`send`,type:`submit`,disabled:!t||!r||!p.trim(),loading:s,"aria-label":`Set PIN`,children:(0,U.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,U.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,U.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,U.jsx)(_e,{checked:a,onChange:()=>o(e=>!e),label:`Show PIN`})]}),c&&(0,U.jsx)(`p`,{className:`admin-pin-error`,children:c})]})})}function qt(e){let{pin:t,setPin:n,showPin:r,setShowPin:i,pinLoading:a,pinError:o,pinInputRef:s,onSubmit:c,onChangePin:l}=e;return(0,U.jsx)(`div`,{className:`connect-page`,children:(0,U.jsxs)(`div`,{className:`connect-content`,children:[(0,U.jsx)(`img`,{src:L,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,U.jsx)(`h1`,{className:`connect-title`,children:C.productName}),(0,U.jsxs)(`form`,{onSubmit:c,className:`connect-pin-form`,children:[(0,U.jsxs)(`div`,{className:`pin-input-row`,children:[(0,U.jsx)(Gt,{inputRef:s,value:t,onChange:n,onComplete:()=>{},showPin:r,autoFocus:!0}),(0,U.jsx)(w,{variant:`send`,type:`submit`,disabled:!t,loading:a,children:(0,U.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,U.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,U.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,U.jsxs)(`div`,{className:`pin-options`,children:[(0,U.jsx)(_e,{checked:r,onChange:()=>i(e=>!e),label:`Show PIN`}),(0,U.jsx)(w,{type:`button`,variant:`ghost`,onClick:l,children:`Change PIN`})]})]}),o&&(0,U.jsx)(`p`,{className:`admin-pin-error`,children:o})]})})}function Jt(e){let{accounts:t,loading:n,error:r,onSelect:i}=e;return(0,U.jsx)(`div`,{className:`connect-page`,children:(0,U.jsxs)(`div`,{className:`connect-content`,children:[(0,U.jsx)(`img`,{src:L,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,U.jsx)(`h1`,{className:`connect-title`,children:C.productName}),(0,U.jsx)(`p`,{className:`connect-subtitle`,children:`Select an account`}),(0,U.jsx)(`div`,{className:`account-picker-list`,children:t.map(e=>(0,U.jsxs)(`button`,{className:`account-picker-card`,onClick:()=>i(e.accountId),disabled:n,type:`button`,children:[(0,U.jsx)(`span`,{className:`account-picker-name`,children:e.businessName||e.accountId}),(0,U.jsx)(`span`,{className:`account-picker-role`,children:e.role}),n&&(0,U.jsx)(ge,{className:`account-picker-spinner`,size:16})]},e.accountId))}),r&&(0,U.jsx)(`p`,{className:`admin-pin-error`,children:r})]})})}function Yt(e){let{authPolling:t,setAuthPolling:n,authLoading:r,setAuthLoading:i,pinError:a,setPinError:o,setAppState:s}=e,[c,l]=(0,H.useState)(!1),[u,d]=(0,H.useState)(!1);async function f(){d(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`launch-browser`})})).json();e.launched?l(!0):e.error&&o(e.error)}catch(e){console.error(`[admin] browser launch error:`,e),o(`Could not launch browser.`)}d(!1)}async function p(){i(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`})).json();if(e.started){n(!0),l(!0),i(!1);for(let e=0;e<120;e++)if(await new Promise(e=>setTimeout(e,2e3)),(await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`wait`})})).json()).authenticated){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),s(`enter-pin`);return}o(`Timed out waiting for sign-in. Try again.`),n(!1)}else e.error&&o(e.error)}catch(e){console.error(`[admin] auth flow error:`,e),o(`Could not start auth flow.`)}i(!1)}async function m(){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),n(!1),o(``)}return t||c?(0,U.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100dvh`,overflow:`auto`},children:[(0,U.jsxs)(`header`,{className:`chat-header`,style:{paddingBottom:`12px`,flexShrink:0,position:`relative`,maxWidth:`680px`,width:`100%`,margin:`0 auto`,padding:`24px 20px 12px`},children:[t?(0,U.jsx)(`button`,{onClick:m,style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Cancel`,children:`✕`}):(0,U.jsx)(`button`,{onClick:()=>l(!1),style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Close browser`,children:`✕`}),(0,U.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`chat-logo`}),(0,U.jsx)(`h1`,{className:`chat-tagline`,children:`Connect Claude`}),(0,U.jsx)(`p`,{className:`chat-intro`,children:t?`Sign in and authorize in the browser below.`:`Open your email or prepare your accounts, then sign in.`}),!t&&(0,U.jsx)(`div`,{style:{marginTop:`12px`},children:(0,U.jsx)(w,{variant:`primary`,onClick:p,disabled:r,children:r?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`})})]}),(0,U.jsx)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,minHeight:0,gap:`10px`,padding:`0 0 16px`},children:(0,U.jsx)(`iframe`,{src:`/vnc-viewer.html`,style:{flex:1,width:`100%`,minHeight:0,border:`none`,background:`#111`,display:`block`},title:`Claude Sign-in`})}),a&&(0,U.jsx)(`p`,{className:`admin-pin-error`,style:{textAlign:`center`,padding:`0 20px 16px`},children:a})]}):(0,U.jsxs)(`div`,{className:`connect-page`,children:[(0,U.jsx)(`button`,{onClick:()=>s(`onboarding-choice`),style:{position:`fixed`,top:`16px`,left:`16px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Back to setup choice`,children:`← Back`}),(0,U.jsxs)(`div`,{className:`connect-content`,children:[(0,U.jsxs)(`div`,{className:`connect-logos`,children:[(0,U.jsx)(`div`,{className:`connect-logo-wrap`,children:(0,U.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`connect-logo`})}),(0,U.jsx)(`svg`,{className:`connect-arrow`,viewBox:`0 0 48 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,U.jsx)(`path`,{d:`M0 12h44m0 0l-8-8m8 8l-8 8`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,U.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,U.jsx)(`img`,{src:L,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,U.jsx)(`span`,{className:`connect-logo-label`,children:C.productName})]})]}),(0,U.jsxs)(`h1`,{className:`connect-title`,children:[`Connect Claude to power `,C.productName]}),(0,U.jsx)(`p`,{className:`connect-subtitle`,children:`Sign in with your Anthropic account to get started.`}),(0,U.jsx)(w,{variant:`primary`,onClick:p,disabled:r,children:r?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`}),(0,U.jsx)(`p`,{style:{marginTop:`6px`,fontSize:`11px`,color:`#999`,maxWidth:`300px`,textAlign:`center`,lineHeight:`1.4`},children:`First time? You may need to sign into your email and Anthropic account in the browser before connecting.`}),(0,U.jsx)(`button`,{onClick:f,disabled:u,style:{marginTop:`12px`,background:`none`,border:`none`,color:`var(--color-primary, #666)`,fontSize:`13px`,cursor:`pointer`,textDecoration:`underline`,textUnderlineOffset:`3px`},children:u?`Launching…`:`Open browser first`}),a&&(0,U.jsx)(`p`,{className:`admin-pin-error`,children:a})]})]})}function Xt({setAppState:e,setOnboardingComplete:t}){let[n,r]=(0,H.useState)(!1),[i,a]=(0,H.useState)(``);async function o(n){r(!0),a(``);try{let r=await fetch(`/api/onboarding/skip`,{method:`POST`,headers:n===`minimal`?{"Content-Type":`application/json`}:{},body:n===`minimal`?JSON.stringify({minimal:!0}):void 0});if(!r.ok){a((await r.json().catch(()=>({}))).error||`Failed to apply defaults.`);return}t(!0),e(`connect-claude`)}catch(e){console.error(`[admin] skip onboarding error:`,e),a(`Could not apply defaults.`)}finally{r(!1)}}function s(){e(`connect-claude`)}return(0,U.jsx)(`div`,{className:`connect-page`,children:(0,U.jsxs)(`div`,{className:`connect-content`,children:[(0,U.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,U.jsx)(`img`,{src:L,alt:C.productName,className:`connect-logo connect-logo--maxy`}),!C.logoContainsName&&(0,U.jsx)(`span`,{className:`connect-logo-label`,children:C.productName})]}),(0,U.jsx)(`h1`,{className:`connect-title`,children:`How would you like to get started?`}),(0,U.jsx)(`p`,{className:`connect-subtitle`,style:{fontSize:`0.8rem`,maxWidth:`320px`},children:`Defaults: core plugins only, auto-detected timezone, concise output style, and a minimal personality. No WiFi or optional plugins. Minimal also skips remote access, public-agent API key, and business profile.`}),(0,U.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`10px`,width:`100%`,maxWidth:`320px`,alignItems:`center`},children:[(0,U.jsx)(w,{variant:`primary`,onClick:()=>o(`default`),disabled:n,children:n?`Applying defaults…`:`Use defaults`}),(0,U.jsx)(`button`,{onClick:s,disabled:n,style:{background:`none`,border:`none`,padding:`8px`,cursor:`pointer`,fontSize:`0.95rem`,color:`var(--text-secondary, #666)`,textDecoration:`none`},children:`Guided setup`}),(0,U.jsx)(`button`,{onClick:()=>o(`minimal`),disabled:n,style:{background:`none`,border:`none`,padding:`8px`,cursor:`pointer`,fontSize:`0.95rem`,color:`var(--text-secondary, #666)`,textDecoration:`none`},children:`Minimal`})]}),(0,U.jsx)(`p`,{className:`connect-subtitle`,style:{marginTop:`12px`},children:`You can change any setting later through conversation.`}),i&&(0,U.jsx)(`p`,{className:`admin-pin-error`,children:i})]})})}function Zt({data:e,onSubmit:t,submitted:n}){let r=e,[i,a]=(0,H.useState)(`Submitted`);return r?.title?(0,U.jsx)(O,{submitted:n,submittedLabel:i,actions:[{label:r.rejectLabel??`Reject`,variant:`ghost`,onClick:()=>{n||(a(`Rejected`),t(r.rejectMessage??`Rejected: ${r.title}`))}},{label:r.confirmLabel??`Approve`,variant:`primary`,onClick:()=>{n||(a(`Approved`),t(r.confirmMessage??`Approved: ${r.title}`))}}],children:(0,U.jsxs)(`div`,{className:`confirm`,children:[(0,U.jsx)(`div`,{className:`confirm__title`,children:r.title}),r.description&&(0,U.jsx)(`div`,{className:`confirm__desc`,children:r.description}),r.items&&r.items.length>0&&(0,U.jsx)(`div`,{className:`confirm__items`,children:r.items.map((e,t)=>(0,U.jsxs)(`div`,{className:`confirm__item`,children:[(0,U.jsx)(`span`,{className:`confirm__item-label`,children:e.label}),(0,U.jsx)(`span`,{className:`confirm__item-value`,children:e.value})]},t))})]})}):null}function Qt({data:e,onSubmit:t,submitted:n}){let r=e,i=(0,H.useRef)(!1),a=!!(r?.title&&Array.isArray(r?.fields)&&r.fields.length>0),o=r?.actions&&r.actions.length>0;return(0,H.useEffect)(()=>{a&&!o&&!n&&!i.current&&(i.current=!0,t(``))},[a,o,n,t]),a?(0,U.jsx)(O,{submitted:n,submittedLabel:`Done`,actions:o?r.actions.map(e=>({label:e.label,variant:e.variant,onClick:()=>{n||t(e.message)}})):[],children:(0,U.jsxs)(`div`,{className:`info-card`,children:[(0,U.jsxs)(`div`,{className:`info-card__header`,children:[(0,U.jsx)(`div`,{className:`info-card__title`,children:r.title}),r.subtitle&&(0,U.jsx)(`div`,{className:`info-card__subtitle`,children:r.subtitle})]}),(0,U.jsx)(`div`,{className:`info-card__fields`,children:r.fields.map((e,t)=>(0,U.jsxs)(`div`,{className:`info-card__field`,children:[(0,U.jsx)(`span`,{className:`info-card__field-label`,children:e.label}),(0,U.jsx)(`span`,{className:`info-card__field-value${e.type===`status`?` info-card__field-value--status`:``}`,children:e.type===`link`?(0,U.jsx)(`a`,{href:e.value,target:`_blank`,rel:`noopener noreferrer`,children:e.value}):e.value})]},t))})]})}):null}function $t({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.items)?r.items:[],[a,o]=(0,H.useState)(new Set),[s,c]=(0,H.useState)(!1),[l,u]=(0,H.useState)(`Done`);if(i.length===0)return null;let d=n||s,f=(e,n)=>{d||a.has(e)||(o(t=>new Set(t).add(e)),t(n))};return(0,U.jsx)(O,{submitted:d,submittedLabel:l,actions:[{label:`Done`,variant:`primary`,onClick:()=>{d||(c(!0),u(`Done`),t(r?.doneMessage??`Done`))}}],children:(0,U.jsxs)(`div`,{className:`action-list`,children:[r?.title&&(0,U.jsx)(`div`,{className:`action-list__title`,children:r.title}),(0,U.jsx)(`div`,{className:`action-list__items`,children:i.map(e=>(0,U.jsxs)(`div`,{className:`action-list__item${a.has(e.id)?` action-list__item--acted`:``}`,children:[(0,U.jsxs)(`div`,{className:`action-list__item-info`,children:[(0,U.jsx)(`span`,{className:`action-list__item-label`,children:e.label}),e.description&&(0,U.jsx)(`span`,{className:`action-list__item-desc`,children:e.description})]}),(0,U.jsxs)(`div`,{className:`action-list__item-right`,children:[e.status&&(0,U.jsx)(`span`,{className:`action-list__item-status`,children:e.status}),(0,U.jsx)(`div`,{className:`action-list__item-actions`,children:e.actions.map((t,n)=>(0,U.jsx)(w,{variant:t.variant===`danger`?`danger`:t.variant===`ghost`?`ghost`:`primary`,size:`sm`,disabled:d||a.has(e.id),onClick:n=>{n.stopPropagation(),f(e.id,t.message)},children:t.label},n))})]})]},e.id))})]})})}function en({className:e,children:t,...n}){let r=e?`dropdown ${e}`:`dropdown`;return(0,U.jsx)(`select`,{...n,className:r,children:t})}function tn({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.fields)?r.fields:[],[a,o]=(0,H.useState)({}),[s,c]=(0,H.useState)({}),[l,u]=(0,H.useState)({}),[d,f]=(0,H.useState)(`Submitted`);if((0,H.useEffect)(()=>{i.length!==0&&(o(e=>{let t={...e};return i.forEach(e=>{e.type!==`list`&&(e.name in t||(t[e.name]=e.defaultValue??(e.type===`checkbox`?!1:``)))}),t}),c(e=>{let t={...e};return i.forEach(e=>{e.type===`list`&&(e.name in t||(t[e.name]=Array.isArray(e.defaultValue)?e.defaultValue:[]))}),t}))},[i]),i.length===0)return null;let p=(e,t)=>{n||o(n=>({...n,[e]:t}))},m=i.filter(e=>e.required&&e.type!==`list`).every(e=>{let t=a[e.name];return e.type===`checkbox`?t===!0:typeof t==`string`&&t.trim()!==``}),h=()=>{if(!m||n)return;f(`Submitted`);let e=r?.submitMessage??`Form submitted: {{json}}`,i=JSON.stringify(a),o=e;for(let[e,t]of Object.entries(a))o=o.replace(`{{${e}}}`,()=>String(t));o=o.replace(`{{json}}`,()=>i),o=o.replace(`{{values}}`,()=>i),t(o)},g=e=>e.description?`${e.label} — ${e.description}`:e.label,_=e=>{let r=(l[e.name]??``).trim();!r||n||(c(t=>({...t,[e.name]:[...t[e.name]??[],r]})),u(t=>({...t,[e.name]:``})),e.addMessage&&t(e.addMessage.replace(`{{value}}`,r)))},v=(e,r)=>{n||(c(t=>({...t,[e.name]:(t[e.name]??[]).filter(e=>e!==r)})),e.removeMessage&&t(e.removeMessage.replace(`{{value}}`,r)))};return(0,U.jsx)(O,{submitted:n,submittedLabel:d,actions:[{label:r?.submitLabel??`Submit`,variant:`primary`,disabled:!m,onClick:h}],children:(0,U.jsxs)(`div`,{className:`form-input`,children:[r?.title&&(0,U.jsx)(`div`,{className:`form-input__title`,children:r.title}),r?.description&&(0,U.jsx)(`div`,{className:`form-input__desc`,children:r.description}),(0,U.jsx)(`div`,{className:`form-input__fields`,children:i.map(e=>(0,U.jsx)(`div`,{className:`form-input__field`,children:e.type===`checkbox`?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(_e,{checked:a[e.name]===!0,onChange:t=>p(e.name,t),label:e.label,disabled:n}),e.description&&(0,U.jsx)(`div`,{className:`form-input__field-desc`,children:e.description})]}):e.type===`list`?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`label`,{className:`form-input__label`,children:e.label}),e.description&&(0,U.jsx)(`div`,{className:`form-input__field-desc`,children:e.description}),(0,U.jsxs)(`div`,{className:`form-input__list`,children:[(s[e.name]??[]).map(t=>(0,U.jsxs)(`div`,{className:`form-input__list-item`,children:[(0,U.jsx)(`span`,{className:`form-input__list-item-text`,children:t}),(0,U.jsx)(`button`,{type:`button`,className:`form-input__list-item-remove`,onClick:()=>v(e,t),disabled:n,"aria-label":`Remove ${t}`,children:`×`})]},t)),(0,U.jsxs)(`div`,{className:`form-input__list-add`,children:[(0,U.jsx)(`input`,{className:`form-input__input`,type:`text`,placeholder:e.addPlaceholder??``,value:l[e.name]??``,onChange:t=>u(n=>({...n,[e.name]:t.target.value})),onKeyDown:t=>{t.key===`Enter`&&(t.preventDefault(),_(e))},disabled:n}),(0,U.jsx)(`button`,{type:`button`,className:`form-input__list-add-btn`,onClick:()=>_(e),disabled:n||!(l[e.name]??``).trim(),children:`Add`})]})]})]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`label`,{className:`form-input__label`,htmlFor:`form-${e.name}`,children:[e.label,e.required&&(0,U.jsx)(`span`,{className:`form-input__required`,children:`*`})]}),e.description&&(0,U.jsx)(`div`,{className:`form-input__field-desc`,children:e.description}),e.type===`textarea`?(0,U.jsx)(`textarea`,{id:`form-${e.name}`,className:`form-input__textarea`,placeholder:e.placeholder,value:a[e.name]??``,onChange:t=>p(e.name,t.target.value),disabled:n,rows:3}):e.type===`select`?(0,U.jsxs)(en,{id:`form-${e.name}`,className:`form-input__select`,value:a[e.name]??``,onChange:t=>p(e.name,t.target.value),disabled:n,children:[(0,U.jsx)(`option`,{value:``,children:e.placeholder??`Select...`}),e.options?.map(e=>(0,U.jsx)(`option`,{value:e.value,children:g(e)},e.value))]}):(0,U.jsx)(`input`,{id:`form-${e.name}`,className:`form-input__input`,type:e.type,placeholder:e.placeholder,value:a[e.name]??``,onChange:t=>p(e.name,t.target.value),disabled:n})]})},e.name))})]})})}var nn={pending:`○`,active:`◉`,completed:`✓`,failed:`✗`,skipped:`–`};function rn({data:e,onSubmit:t,submitted:n}){let r=e,i=Array.isArray(r?.steps)?r.steps:[],a=(0,H.useRef)(!1),o=i.length>0&&i.every(e=>e.status===`completed`||e.status===`failed`||e.status===`skipped`);return(0,H.useEffect)(()=>{o&&!n&&!a.current&&(a.current=!0,t(r?.completedMessage??`All steps completed`))},[o,n,t,r?.completedMessage]),i.length===0?null:(0,U.jsxs)(`div`,{className:`progress-tracker${n?` progress-tracker--submitted`:``}`,children:[r?.title&&(0,U.jsx)(`div`,{className:`progress-tracker__title`,children:r.title}),(0,U.jsx)(`div`,{className:`progress-tracker__steps`,children:i.map((e,t)=>(0,U.jsxs)(`div`,{className:`progress-tracker__step progress-tracker__step--${e.status}`,children:[(0,U.jsx)(`span`,{className:`progress-tracker__icon`,children:nn[e.status]??`○`}),(0,U.jsxs)(`div`,{className:`progress-tracker__step-info`,children:[(0,U.jsx)(`span`,{className:`progress-tracker__step-label`,children:e.label}),e.description&&(0,U.jsx)(`span`,{className:`progress-tracker__step-desc`,children:e.description})]})]},t))})]})}function an({handlePopout:e,disabled:t=!1}){let n=(0,H.useCallback)(()=>{delete document.body.dataset.dragPopoutActive},[]);(0,H.useEffect)(()=>()=>n(),[n]);let r=(0,H.useCallback)(e=>{if(t){e.preventDefault();return}let n=e.target;if(n.closest(`.editor-base__actions`)||n.closest(`.browser-viewer__actions`)){e.preventDefault();return}if(!document.querySelector(`.chat-messages`)){e.preventDefault();return}e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,``),document.body.dataset.dragPopoutActive=`true`},[t,n]),i=(0,H.useCallback)(t=>{if(n(),t.clientX===0&&t.clientY===0)return;let r=document.querySelector(`.chat-messages`);if(!r)return;let i=r.getBoundingClientRect();(t.clientX<i.left||t.clientX>i.right||t.clientY<i.top||t.clientY>i.bottom)&&e()},[e,n]);return t?{draggable:!1,onDragStart:()=>{},onDragEnd:()=>{}}:{draggable:!0,onDragStart:r,onDragEnd:i}}function on({data:e,onSubmit:t,submitted:n,isStreaming:r}){bt();let{title:i}=e??{},[a,o]=(0,H.useState)(!1),[s,c]=(0,H.useState)(!1),[l,u]=(0,H.useState)(!1),d=(0,H.useRef)(null),f=(0,H.useRef)(null),p=i??C.productName,m=(0,H.useCallback)(()=>{f.current&&=(clearInterval(f.current),null),d.current&&!d.current.closed&&d.current.close(),d.current=null,c(!1)},[]),h=(0,H.useCallback)(()=>{o(!1),u(!1);let e=`/vnc-popout.html?title=${encodeURIComponent(p)}`,t=window.open(e,`maxy-vnc-popout`,`width=1024,height=768`);t&&(d.current=t,c(!0),f.current=setInterval(()=>{d.current?.closed&&(m(),u(!0))},500))},[p,m]),g=(0,H.useCallback)(()=>{m(),o(!1),u(!0)},[m]),_=(0,H.useCallback)(()=>{m(),u(!1)},[m]),v=(0,H.useCallback)(()=>{u(!1)},[]),y=(0,H.useCallback)(()=>{m(),u(!1),o(!0)},[m]),b=(0,H.useCallback)(()=>o(!1),[]);(0,H.useEffect)(()=>{if(!a)return;let e=e=>{e.key===`Escape`&&b()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a,b]),(0,H.useEffect)(()=>()=>m(),[m]);let x=an({handlePopout:h,disabled:s||a});if(n)return null;let S=`/vnc-viewer.html`;return a?(0,U.jsxs)(`div`,{className:`browser-viewer-fullscreen`,children:[(0,U.jsxs)(`div`,{className:`browser-viewer-fullscreen__bar`,...x,children:[(0,U.jsx)(D,{className:`browser-viewer__icon`}),(0,U.jsx)(`span`,{className:`browser-viewer-fullscreen__title`,children:p}),(0,U.jsxs)(`div`,{className:`browser-viewer-fullscreen__actions`,children:[(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:Fe,onClick:h,"aria-label":`Pop out`}),(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:rt,onClick:b,"aria-label":`Exit full screen`}),(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:it,onClick:g,"aria-label":`Minimise`})]})]}),(0,U.jsx)(`iframe`,{src:S,className:`browser-viewer-fullscreen__iframe`,title:p})]}):s?(0,U.jsx)(`div`,{className:`browser-viewer browser-viewer--popout`,children:(0,U.jsxs)(`div`,{className:`browser-viewer__bar`,...x,children:[(0,U.jsx)(D,{className:`browser-viewer__icon`}),(0,U.jsx)(`span`,{className:`browser-viewer__title`,children:p}),(0,U.jsxs)(`div`,{className:`browser-viewer__actions`,children:[(0,U.jsx)(`span`,{className:`browser-viewer__popout-label`,children:`Popped out`}),(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:ft,onClick:_,"aria-label":`Pop back in`})]})]})}):l?(0,U.jsxs)(`div`,{className:`browser-viewer browser-viewer--minimised`,onClick:v,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&v(),children:[(0,U.jsxs)(`div`,{className:`browser-viewer__bar`,...x,children:[(0,U.jsx)(D,{className:`browser-viewer__icon`}),(0,U.jsx)(`span`,{className:`browser-viewer__title`,children:p}),(0,U.jsxs)(`div`,{className:`browser-viewer__actions`,onClick:e=>e.stopPropagation(),children:[(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:Fe,onClick:h,"aria-label":`Pop out`}),(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:Qe,onClick:y,"aria-label":`Full screen`}),(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:lt,onClick:v,"aria-label":`Expand`})]})]}),(0,U.jsx)(`iframe`,{src:S,className:`browser-viewer__iframe`,title:p,"aria-hidden":`true`})]}):(0,U.jsxs)(`div`,{className:`browser-viewer`,children:[(0,U.jsxs)(`div`,{className:`browser-viewer__bar`,...x,children:[(0,U.jsx)(D,{className:`browser-viewer__icon`}),i&&(0,U.jsx)(`span`,{className:`browser-viewer__title`,children:i}),(0,U.jsxs)(`div`,{className:`browser-viewer__actions`,children:[(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:Fe,onClick:h,"aria-label":`Pop out`}),(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:Qe,onClick:y,"aria-label":`Full screen`}),(0,U.jsx)(w,{variant:`ghost`,size:`sm`,icon:it,onClick:g,"aria-label":`Minimise`})]})]}),(0,U.jsx)(`iframe`,{src:S,className:`browser-viewer__iframe`,title:p})]})}var sn=t((e=>{var t=a();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),a=r[0].inst,l=r[1];return s(function(){a.value=n,a.getSnapshot=t,u(a)&&l({inst:a})},[e,n,t]),o(function(){return u(a)&&l({inst:a}),e(function(){u(a)&&l({inst:a})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),cn=t(((e,t)=>{t.exports=sn()})),ln=cn(),un=e(n(),1);function dn(e){this.content=e}dn.prototype={constructor:dn,find:function(e){for(var t=0;t<this.content.length;t+=2)if(this.content[t]===e)return t;return-1},get:function(e){var t=this.find(e);return t==-1?void 0:this.content[t+1]},update:function(e,t,n){var r=n&&n!=e?this.remove(n):this,i=r.find(e),a=r.content.slice();return i==-1?a.push(n||e,t):(a[i+1]=t,n&&(a[i]=n)),new dn(a)},remove:function(e){var t=this.find(e);if(t==-1)return this;var n=this.content.slice();return n.splice(t,2),new dn(n)},addToStart:function(e,t){return new dn([e,t].concat(this.remove(e).content))},addToEnd:function(e,t){var n=this.remove(e).content.slice();return n.push(e,t),new dn(n)},addBefore:function(e,t,n){var r=this.remove(t),i=r.content.slice(),a=r.find(e);return i.splice(a==-1?i.length:a,0,t,n),new dn(i)},forEach:function(e){for(var t=0;t<this.content.length;t+=2)e(this.content[t],this.content[t+1])},prepend:function(e){return e=dn.from(e),e.size?new dn(e.content.concat(this.subtract(e).content)):this},append:function(e){return e=dn.from(e),e.size?new dn(this.subtract(e).content.concat(e.content)):this},subtract:function(e){var t=this;e=dn.from(e);for(var n=0;n<e.content.length;n+=2)t=t.remove(e.content[n]);return t},toObject:function(){var e={};return this.forEach(function(t,n){e[t]=n}),e},get size(){return this.content.length>>1}},dn.from=function(e){if(e instanceof dn)return e;var t=[];if(e)for(var n in e)t.push(n,e[n]);return new dn(t)};function fn(e,t,n){for(let r=0;;r++){if(r==e.childCount||r==t.childCount)return e.childCount==t.childCount?null:n;let i=e.child(r),a=t.child(r);if(i==a){n+=i.nodeSize;continue}if(!i.sameMarkup(a))return n;if(i.isText&&i.text!=a.text){for(let e=0;i.text[e]==a.text[e];e++)n++;return n}if(i.content.size||a.content.size){let e=fn(i.content,a.content,n+1);if(e!=null)return e}n+=i.nodeSize}}function pn(e,t,n,r){for(let i=e.childCount,a=t.childCount;;){if(i==0||a==0)return i==a?null:{a:n,b:r};let o=e.child(--i),s=t.child(--a),c=o.nodeSize;if(o==s){n-=c,r-=c;continue}if(!o.sameMarkup(s))return{a:n,b:r};if(o.isText&&o.text!=s.text){let e=0,t=Math.min(o.text.length,s.text.length);for(;e<t&&o.text[o.text.length-e-1]==s.text[s.text.length-e-1];)e++,n--,r--;return{a:n,b:r}}if(o.content.size||s.content.size){let e=pn(o.content,s.content,n-1,r-1);if(e)return e}n-=c,r-=c}}var W=class e{constructor(e,t){if(this.content=e,this.size=t||0,t==null)for(let t=0;t<e.length;t++)this.size+=e[t].nodeSize}nodesBetween(e,t,n,r=0,i){for(let a=0,o=0;o<t;a++){let s=this.content[a],c=o+s.nodeSize;if(c>e&&n(s,r+o,i||null,a)!==!1&&s.content.size){let i=o+1;s.nodesBetween(Math.max(0,e-i),Math.min(s.content.size,t-i),n,r+i)}o=c}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,t,n,r){let i=``,a=!0;return this.nodesBetween(e,t,(o,s)=>{let c=o.isText?o.text.slice(Math.max(e,s)-s,t-s):o.isLeaf?r?typeof r==`function`?r(o):r:o.type.spec.leafText?o.type.spec.leafText(o):``:``;o.isBlock&&(o.isLeaf&&c||o.isTextblock)&&n&&(a?a=!1:i+=n),i+=c},0),i}append(t){if(!t.size)return this;if(!this.size)return t;let n=this.lastChild,r=t.firstChild,i=this.content.slice(),a=0;for(n.isText&&n.sameMarkup(r)&&(i[i.length-1]=n.withText(n.text+r.text),a=1);a<t.content.length;a++)i.push(t.content[a]);return new e(i,this.size+t.size)}cut(t,n=this.size){if(t==0&&n==this.size)return this;let r=[],i=0;if(n>t)for(let e=0,a=0;a<n;e++){let o=this.content[e],s=a+o.nodeSize;s>t&&((a<t||s>n)&&(o=o.isText?o.cut(Math.max(0,t-a),Math.min(o.text.length,n-a)):o.cut(Math.max(0,t-a-1),Math.min(o.content.size,n-a-1))),r.push(o),i+=o.nodeSize),a=s}return new e(r,i)}cutByIndex(t,n){return t==n?e.empty:t==0&&n==this.content.length?this:new e(this.content.slice(t,n))}replaceChild(t,n){let r=this.content[t];if(r==n)return this;let i=this.content.slice(),a=this.size+n.nodeSize-r.nodeSize;return i[t]=n,new e(i,a)}addToStart(t){return new e([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new e(this.content.concat(t),this.size+t.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let t=0;t<this.content.length;t++)if(!this.content[t].eq(e.content[t]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let t=this.content[e];if(!t)throw RangeError(`Index `+e+` out of range for `+this);return t}maybeChild(e){return this.content[e]||null}forEach(e){for(let t=0,n=0;t<this.content.length;t++){let r=this.content[t];e(r,n,t),n+=r.nodeSize}}findDiffStart(e,t=0){return fn(this,e,t)}findDiffEnd(e,t=this.size,n=e.size){return pn(this,e,t,n)}findIndex(e){if(e==0)return hn(0,e);if(e==this.size)return hn(this.content.length,e);if(e>this.size||e<0)throw RangeError(`Position ${e} outside of fragment (${this})`);for(let t=0,n=0;;t++){let r=this.child(t),i=n+r.nodeSize;if(i>=e)return i==e?hn(t+1,i):hn(t,n);n=i}}toString(){return`<`+this.toStringInner()+`>`}toStringInner(){return this.content.join(`, `)}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(t,n){if(!n)return e.empty;if(!Array.isArray(n))throw RangeError(`Invalid input for Fragment.fromJSON`);return new e(n.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return e.empty;let n,r=0;for(let e=0;e<t.length;e++){let i=t[e];r+=i.nodeSize,e&&i.isText&&t[e-1].sameMarkup(i)?(n||=t.slice(0,e),n[n.length-1]=i.withText(n[n.length-1].text+i.text)):n&&n.push(i)}return new e(n||t,r)}static from(t){if(!t)return e.empty;if(t instanceof e)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new e([t],t.nodeSize);throw RangeError(`Can not convert `+t+` to a Fragment`+(t.nodesBetween?` (looks like multiple versions of prosemirror-model were loaded)`:``))}};W.empty=new W([],0);var mn={index:0,offset:0};function hn(e,t){return mn.index=e,mn.offset=t,mn}function gn(e,t){if(e===t)return!0;if(!(e&&typeof e==`object`)||!(t&&typeof t==`object`))return!1;let n=Array.isArray(e);if(Array.isArray(t)!=n)return!1;if(n){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!gn(e[n],t[n]))return!1}else{for(let n in e)if(!(n in t)||!gn(e[n],t[n]))return!1;for(let n in t)if(!(n in e))return!1}return!0}var _n=class e{constructor(e,t){this.type=e,this.attrs=t}addToSet(e){let t,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(this.eq(i))return e;if(this.type.excludes(i.type))t||=e.slice(0,r);else if(i.type.excludes(this.type))return e;else !n&&i.type.rank>this.type.rank&&(t||=e.slice(0,r),t.push(this),n=!0),t&&t.push(i)}return t||=e.slice(),n||t.push(this),t}removeFromSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return e.slice(0,t).concat(e.slice(t+1));return e}isInSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return!0;return!1}eq(e){return this==e||this.type==e.type&&gn(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Mark.fromJSON`);let n=e.marks[t.type];if(!n)throw RangeError(`There is no mark type ${t.type} in this schema`);let r=n.create(t.attrs);return n.checkAttrs(r.attrs),r}static sameSet(e,t){if(e==t)return!0;if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return e.none;if(t instanceof e)return[t];let n=t.slice();return n.sort((e,t)=>e.type.rank-t.type.rank),n}};_n.none=[];var vn=class extends Error{},G=class e{constructor(e,t,n){this.content=e,this.openStart=t,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,n){let r=bn(this.content,t+this.openStart,n);return r&&new e(r,this.openStart,this.openEnd)}removeBetween(t,n){return new e(yn(this.content,t+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+`(`+this.openStart+`,`+this.openEnd+`)`}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(t,n){if(!n)return e.empty;let r=n.openStart||0,i=n.openEnd||0;if(typeof r!=`number`||typeof i!=`number`)throw RangeError(`Invalid input for Slice.fromJSON`);return new e(W.fromJSON(t,n.content),r,i)}static maxOpen(t,n=!0){let r=0,i=0;for(let e=t.firstChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.firstChild)r++;for(let e=t.lastChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.lastChild)i++;return new e(t,r,i)}};G.empty=new G(W.empty,0,0);function yn(e,t,n){let{index:r,offset:i}=e.findIndex(t),a=e.maybeChild(r),{index:o,offset:s}=e.findIndex(n);if(i==t||a.isText){if(s!=n&&!e.child(o).isText)throw RangeError(`Removing non-flat range`);return e.cut(0,t).append(e.cut(n))}if(r!=o)throw RangeError(`Removing non-flat range`);return e.replaceChild(r,a.copy(yn(a.content,t-i-1,n-i-1)))}function bn(e,t,n,r){let{index:i,offset:a}=e.findIndex(t),o=e.maybeChild(i);if(a==t||o.isText)return r&&!r.canReplace(i,i,n)?null:e.cut(0,t).append(n).append(e.cut(t));let s=bn(o.content,t-a-1,n,o);return s&&e.replaceChild(i,o.copy(s))}function xn(e,t,n){if(n.openStart>e.depth)throw new vn(`Inserted content deeper than insertion position`);if(e.depth-n.openStart!=t.depth-n.openEnd)throw new vn(`Inconsistent open depths`);return Sn(e,t,n,0)}function Sn(e,t,n,r){let i=e.index(r),a=e.node(r);if(i==t.index(r)&&r<e.depth-n.openStart){let o=Sn(e,t,n,r+1);return a.copy(a.content.replaceChild(i,o))}else if(!n.content.size)return Dn(a,kn(e,t,r));else if(!n.openStart&&!n.openEnd&&e.depth==r&&t.depth==r){let r=e.parent,i=r.content;return Dn(r,i.cut(0,e.parentOffset).append(n.content).append(i.cut(t.parentOffset)))}else{let{start:i,end:o}=An(n,e);return Dn(a,On(e,i,o,t,r))}}function Cn(e,t){if(!t.type.compatibleContent(e.type))throw new vn(`Cannot join `+t.type.name+` onto `+e.type.name)}function wn(e,t,n){let r=e.node(n);return Cn(r,t.node(n)),r}function Tn(e,t){let n=t.length-1;n>=0&&e.isText&&e.sameMarkup(t[n])?t[n]=e.withText(t[n].text+e.text):t.push(e)}function En(e,t,n,r){let i=(t||e).node(n),a=0,o=t?t.index(n):i.childCount;e&&(a=e.index(n),e.depth>n?a++:e.textOffset&&(Tn(e.nodeAfter,r),a++));for(let e=a;e<o;e++)Tn(i.child(e),r);t&&t.depth==n&&t.textOffset&&Tn(t.nodeBefore,r)}function Dn(e,t){return e.type.checkContent(t),e.copy(t)}function On(e,t,n,r,i){let a=e.depth>i&&wn(e,t,i+1),o=r.depth>i&&wn(n,r,i+1),s=[];return En(null,e,i,s),a&&o&&t.index(i)==n.index(i)?(Cn(a,o),Tn(Dn(a,On(e,t,n,r,i+1)),s)):(a&&Tn(Dn(a,kn(e,t,i+1)),s),En(t,n,i,s),o&&Tn(Dn(o,kn(n,r,i+1)),s)),En(r,null,i,s),new W(s)}function kn(e,t,n){let r=[];return En(null,e,n,r),e.depth>n&&Tn(Dn(wn(e,t,n+1),kn(e,t,n+1)),r),En(t,null,n,r),new W(r)}function An(e,t){let n=t.depth-e.openStart,r=t.node(n).copy(e.content);for(let e=n-1;e>=0;e--)r=t.node(e).copy(W.from(r));return{start:r.resolveNoCache(e.openStart+n),end:r.resolveNoCache(r.content.size-e.openEnd-n)}}var jn=class e{constructor(e,t,n){this.pos=e,this.path=t,this.parentOffset=n,this.depth=t.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position before the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position after the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,t=this.index(this.depth);if(t==e.childCount)return null;let n=this.pos-this.path[this.path.length-1],r=e.child(t);return n?e.child(t).cut(n):r}get nodeBefore(){let e=this.index(this.depth),t=this.pos-this.path[this.path.length-1];return t?this.parent.child(e).cut(0,t):e==0?null:this.parent.child(e-1)}posAtIndex(e,t){t=this.resolveDepth(t);let n=this.path[t*3],r=t==0?0:this.path[t*3-1]+1;for(let t=0;t<e;t++)r+=n.child(t).nodeSize;return r}marks(){let e=this.parent,t=this.index();if(e.content.size==0)return _n.none;if(this.textOffset)return e.child(t).marks;let n=e.maybeChild(t-1),r=e.maybeChild(t);if(!n){let e=n;n=r,r=e}let i=n.marks;for(var a=0;a<i.length;a++)i[a].type.spec.inclusive===!1&&(!r||!i[a].isInSet(r.marks))&&(i=i[a--].removeFromSet(i));return i}marksAcross(e){let t=this.parent.maybeChild(this.index());if(!t||!t.isInline)return null;let n=t.marks,r=e.parent.maybeChild(e.index());for(var i=0;i<n.length;i++)n[i].type.spec.inclusive===!1&&(!r||!n[i].isInSet(r.marks))&&(n=n[i--].removeFromSet(n));return n}sharedDepth(e){for(let t=this.depth;t>0;t--)if(this.start(t)<=e&&this.end(t)>=e)return t;return 0}blockRange(e=this,t){if(e.pos<this.pos)return e.blockRange(this);for(let n=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);n>=0;n--)if(e.pos<=this.end(n)&&(!t||t(this.node(n))))return new Fn(this,e,n);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e=``;for(let t=1;t<=this.depth;t++)e+=(e?`/`:``)+this.node(t).type.name+`_`+this.index(t-1);return e+`:`+this.parentOffset}static resolve(t,n){if(!(n>=0&&n<=t.content.size))throw RangeError(`Position `+n+` out of range`);let r=[],i=0,a=n;for(let e=t;;){let{index:t,offset:n}=e.content.findIndex(a),o=a-n;if(r.push(e,t,i+n),!o||(e=e.child(t),e.isText))break;a=o-1,i+=n+1}return new e(n,r,a)}static resolveCached(t,n){let r=Pn.get(t);if(r)for(let e=0;e<r.elts.length;e++){let t=r.elts[e];if(t.pos==n)return t}else Pn.set(t,r=new Mn);let i=r.elts[r.i]=e.resolve(t,n);return r.i=(r.i+1)%Nn,i}},Mn=class{constructor(){this.elts=[],this.i=0}},Nn=12,Pn=new WeakMap,Fn=class{constructor(e,t,n){this.$from=e,this.$to=t,this.depth=n}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}},In=Object.create(null),Ln=class e{constructor(e,t,n,r=_n.none){this.type=e,this.attrs=t,this.marks=r,this.content=n||W.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,t,n,r=0){this.content.nodesBetween(e,t,n,r,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,``)}textBetween(e,t,n,r){return this.content.textBetween(e,t,n,r)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,t,n){return this.type==e&&gn(this.attrs,t||e.defaultAttrs||In)&&_n.sameSet(this.marks,n||_n.none)}copy(t=null){return t==this.content?this:new e(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.content,t)}cut(e,t=this.content.size){return e==0&&t==this.content.size?this:this.copy(this.content.cut(e,t))}slice(e,t=this.content.size,n=!1){if(e==t)return G.empty;let r=this.resolve(e),i=this.resolve(t),a=n?0:r.sharedDepth(t),o=r.start(a);return new G(r.node(a).content.cut(r.pos-o,i.pos-o),r.depth-a,i.depth-a)}replace(e,t,n){return xn(this.resolve(e),this.resolve(t),n)}nodeAt(e){for(let t=this;;){let{index:n,offset:r}=t.content.findIndex(e);if(t=t.maybeChild(n),!t)return null;if(r==e||t.isText)return t;e-=r+1}}childAfter(e){let{index:t,offset:n}=this.content.findIndex(e);return{node:this.content.maybeChild(t),index:t,offset:n}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:t,offset:n}=this.content.findIndex(e);if(n<e)return{node:this.content.child(t),index:t,offset:n};let r=this.content.child(t-1);return{node:r,index:t-1,offset:n-r.nodeSize}}resolve(e){return jn.resolveCached(this,e)}resolveNoCache(e){return jn.resolve(this,e)}rangeHasMark(e,t,n){let r=!1;return t>e&&this.nodesBetween(e,t,e=>(n.isInSet(e.marks)&&(r=!0),!r)),r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+=`(`+this.content.toStringInner()+`)`),zn(this.marks,e)}contentMatchAt(e){let t=this.type.contentMatch.matchFragment(this.content,0,e);if(!t)throw Error(`Called contentMatchAt on a node with invalid content`);return t}canReplace(e,t,n=W.empty,r=0,i=n.childCount){let a=this.contentMatchAt(e).matchFragment(n,r,i),o=a&&a.matchFragment(this.content,t);if(!o||!o.validEnd)return!1;for(let e=r;e<i;e++)if(!this.type.allowsMarks(n.child(e).marks))return!1;return!0}canReplaceWith(e,t,n,r){if(r&&!this.type.allowsMarks(r))return!1;let i=this.contentMatchAt(e).matchType(n),a=i&&i.matchFragment(this.content,t);return a?a.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=_n.none;for(let t=0;t<this.marks.length;t++){let n=this.marks[t];n.type.checkAttrs(n.attrs),e=n.addToSet(e)}if(!_n.sameSet(e,this.marks))throw RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(e=>e.type.name)}`);this.content.forEach(e=>e.check())}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(e=>e.toJSON())),e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Node.fromJSON`);let n;if(t.marks){if(!Array.isArray(t.marks))throw RangeError(`Invalid mark data for Node.fromJSON`);n=t.marks.map(e.markFromJSON)}if(t.type==`text`){if(typeof t.text!=`string`)throw RangeError(`Invalid text node in JSON`);return e.text(t.text,n)}let r=W.fromJSON(e,t.content),i=e.nodeType(t.type).create(t.attrs,r,n);return i.type.checkAttrs(i.attrs),i}};Ln.prototype.text=void 0;var Rn=class e extends Ln{constructor(e,t,n,r){if(super(e,t,null,r),!n)throw RangeError(`Empty text nodes are not allowed`);this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):zn(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,t){return this.text.slice(e,t)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new e(this.type,this.attrs,t,this.marks)}cut(e=0,t=this.text.length){return e==0&&t==this.text.length?this:this.withText(this.text.slice(e,t))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}};function zn(e,t){for(let n=e.length-1;n>=0;n--)t=e[n].type.name+`(`+t+`)`;return t}var Bn=class e{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(t,n){let r=new Vn(t,n);if(r.next==null)return e.empty;let i=Hn(r);r.next&&r.err(`Unexpected trailing text`);let a=Qn(Yn(i));return $n(a,r),a}matchType(e){for(let t=0;t<this.next.length;t++)if(this.next[t].type==e)return this.next[t].next;return null}matchFragment(e,t=0,n=e.childCount){let r=this;for(let i=t;r&&i<n;i++)r=r.matchType(e.child(i).type);return r}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:t}=this.next[e];if(!(t.isText||t.hasRequiredAttrs()))return t}return null}compatible(e){for(let t=0;t<this.next.length;t++)for(let n=0;n<e.next.length;n++)if(this.next[t].type==e.next[n].type)return!0;return!1}fillBefore(e,t=!1,n=0){let r=[this];function i(a,o){let s=a.matchFragment(e,n);if(s&&(!t||s.validEnd))return W.from(o.map(e=>e.createAndFill()));for(let e=0;e<a.next.length;e++){let{type:t,next:n}=a.next[e];if(!(t.isText||t.hasRequiredAttrs())&&r.indexOf(n)==-1){r.push(n);let e=i(n,o.concat(t));if(e)return e}}return null}return i(this,[])}findWrapping(e){for(let t=0;t<this.wrapCache.length;t+=2)if(this.wrapCache[t]==e)return this.wrapCache[t+1];let t=this.computeWrapping(e);return this.wrapCache.push(e,t),t}computeWrapping(e){let t=Object.create(null),n=[{match:this,type:null,via:null}];for(;n.length;){let r=n.shift(),i=r.match;if(i.matchType(e)){let e=[];for(let t=r;t.type;t=t.via)e.push(t.type);return e.reverse()}for(let e=0;e<i.next.length;e++){let{type:a,next:o}=i.next[e];!a.isLeaf&&!a.hasRequiredAttrs()&&!(a.name in t)&&(!r.type||o.validEnd)&&(n.push({match:a.contentMatch,type:a,via:r}),t[a.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function t(n){e.push(n);for(let r=0;r<n.next.length;r++)e.indexOf(n.next[r].next)==-1&&t(n.next[r].next)}return t(this),e.map((t,n)=>{let r=n+(t.validEnd?`*`:` `)+` `;for(let n=0;n<t.next.length;n++)r+=(n?`, `:``)+t.next[n].type.name+`->`+e.indexOf(t.next[n].next);return r}).join(`
2
2
  `)}};Bn.empty=new Bn(!0);var Vn=class{constructor(e,t){this.string=e,this.nodeTypes=t,this.inline=null,this.pos=0,this.tokens=e.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==``&&this.tokens.pop(),this.tokens[0]==``&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(e){return this.next==e&&(this.pos++||!0)}err(e){throw SyntaxError(e+` (in content expression '`+this.string+`')`)}};function Hn(e){let t=[];do t.push(Un(e));while(e.eat(`|`));return t.length==1?t[0]:{type:`choice`,exprs:t}}function Un(e){let t=[];do t.push(Wn(e));while(e.next&&e.next!=`)`&&e.next!=`|`);return t.length==1?t[0]:{type:`seq`,exprs:t}}function Wn(e){let t=Jn(e);for(;;)if(e.eat(`+`))t={type:`plus`,expr:t};else if(e.eat(`*`))t={type:`star`,expr:t};else if(e.eat(`?`))t={type:`opt`,expr:t};else if(e.eat(`{`))t=Kn(e,t);else break;return t}function Gn(e){/\D/.test(e.next)&&e.err(`Expected number, got '`+e.next+`'`);let t=Number(e.next);return e.pos++,t}function Kn(e,t){let n=Gn(e),r=n;return e.eat(`,`)&&(r=e.next==`}`?-1:Gn(e)),e.eat(`}`)||e.err(`Unclosed braced range`),{type:`range`,min:n,max:r,expr:t}}function qn(e,t){let n=e.nodeTypes,r=n[t];if(r)return[r];let i=[];for(let e in n){let r=n[e];r.isInGroup(t)&&i.push(r)}return i.length==0&&e.err(`No node type or group '`+t+`' found`),i}function Jn(e){if(e.eat(`(`)){let t=Hn(e);return e.eat(`)`)||e.err(`Missing closing paren`),t}else if(/\W/.test(e.next))e.err(`Unexpected token '`+e.next+`'`);else{let t=qn(e,e.next).map(t=>(e.inline==null?e.inline=t.isInline:e.inline!=t.isInline&&e.err(`Mixing inline and block content`),{type:`name`,value:t}));return e.pos++,t.length==1?t[0]:{type:`choice`,exprs:t}}}function Yn(e){let t=[[]];return i(a(e,0),n()),t;function n(){return t.push([])-1}function r(e,n,r){let i={term:r,to:n};return t[e].push(i),i}function i(e,t){e.forEach(e=>e.to=t)}function a(e,t){if(e.type==`choice`)return e.exprs.reduce((e,n)=>e.concat(a(n,t)),[]);if(e.type==`seq`)for(let r=0;;r++){let o=a(e.exprs[r],t);if(r==e.exprs.length-1)return o;i(o,t=n())}else if(e.type==`star`){let o=n();return r(t,o),i(a(e.expr,o),o),[r(o)]}else if(e.type==`plus`){let o=n();return i(a(e.expr,t),o),i(a(e.expr,o),o),[r(o)]}else if(e.type==`opt`)return[r(t)].concat(a(e.expr,t));else if(e.type==`range`){let o=t;for(let t=0;t<e.min;t++){let t=n();i(a(e.expr,o),t),o=t}if(e.max==-1)i(a(e.expr,o),o);else for(let t=e.min;t<e.max;t++){let t=n();r(o,t),i(a(e.expr,o),t),o=t}return[r(o)]}else if(e.type==`name`)return[r(t,void 0,e.value)];else throw Error(`Unknown expr type`)}}function Xn(e,t){return t-e}function Zn(e,t){let n=[];return r(t),n.sort(Xn);function r(t){let i=e[t];if(i.length==1&&!i[0].term)return r(i[0].to);n.push(t);for(let e=0;e<i.length;e++){let{term:t,to:a}=i[e];!t&&n.indexOf(a)==-1&&r(a)}}}function Qn(e){let t=Object.create(null);return n(Zn(e,0));function n(r){let i=[];r.forEach(t=>{e[t].forEach(({term:t,to:n})=>{if(!t)return;let r;for(let e=0;e<i.length;e++)i[e][0]==t&&(r=i[e][1]);Zn(e,n).forEach(e=>{r||i.push([t,r=[]]),r.indexOf(e)==-1&&r.push(e)})})});let a=t[r.join(`,`)]=new Bn(r.indexOf(e.length-1)>-1);for(let e=0;e<i.length;e++){let r=i[e][1].sort(Xn);a.next.push({type:i[e][0],next:t[r.join(`,`)]||n(r)})}return a}}function $n(e,t){for(let n=0,r=[e];n<r.length;n++){let e=r[n],i=!e.validEnd,a=[];for(let t=0;t<e.next.length;t++){let{type:n,next:o}=e.next[t];a.push(n.name),i&&!(n.isText||n.hasRequiredAttrs())&&(i=!1),r.indexOf(o)==-1&&r.push(o)}i&&t.err(`Only non-generatable nodes (`+a.join(`, `)+`) in a required position (see https://prosemirror.net/docs/guide/#generatable)`)}}function er(e){let t=Object.create(null);for(let n in e){let r=e[n];if(!r.hasDefault)return null;t[n]=r.default}return t}function tr(e,t){let n=Object.create(null);for(let r in e){let i=t&&t[r];if(i===void 0){let t=e[r];if(t.hasDefault)i=t.default;else throw RangeError(`No value supplied for attribute `+r)}n[r]=i}return n}function nr(e,t,n,r){for(let r in t)if(!(r in e))throw RangeError(`Unsupported attribute ${r} for ${n} of type ${r}`);for(let n in e){let r=e[n];r.validate&&r.validate(t[n])}}function rr(e,t){let n=Object.create(null);if(t)for(let r in t)n[r]=new or(e,r,t[r]);return n}var ir=class e{constructor(e,t,n){this.name=e,this.schema=t,this.spec=n,this.markSet=null,this.groups=n.group?n.group.split(` `):[],this.attrs=rr(e,n.attrs),this.defaultAttrs=er(this.attrs),this.contentMatch=null,this.inlineContent=null,this.isBlock=!(n.inline||e==`text`),this.isText=e==`text`}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==Bn.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}isInGroup(e){return this.groups.indexOf(e)>-1}get whitespace(){return this.spec.whitespace||(this.spec.code?`pre`:`normal`)}hasRequiredAttrs(){for(let e in this.attrs)if(this.attrs[e].isRequired)return!0;return!1}compatibleContent(e){return this==e||this.contentMatch.compatible(e.contentMatch)}computeAttrs(e){return!e&&this.defaultAttrs?this.defaultAttrs:tr(this.attrs,e)}create(e=null,t,n){if(this.isText)throw Error(`NodeType.create can't construct text nodes`);return new Ln(this,this.computeAttrs(e),W.from(t),_n.setFrom(n))}createChecked(e=null,t,n){return t=W.from(t),this.checkContent(t),new Ln(this,this.computeAttrs(e),t,_n.setFrom(n))}createAndFill(e=null,t,n){if(e=this.computeAttrs(e),t=W.from(t),t.size){let e=this.contentMatch.fillBefore(t);if(!e)return null;t=e.append(t)}let r=this.contentMatch.matchFragment(t),i=r&&r.fillBefore(W.empty,!0);return i?new Ln(this,e,t.append(i),_n.setFrom(n)):null}validContent(e){let t=this.contentMatch.matchFragment(e);if(!t||!t.validEnd)return!1;for(let t=0;t<e.childCount;t++)if(!this.allowsMarks(e.child(t).marks))return!1;return!0}checkContent(e){if(!this.validContent(e))throw RangeError(`Invalid content for node ${this.name}: ${e.toString().slice(0,50)}`)}checkAttrs(e){nr(this.attrs,e,`node`,this.name)}allowsMarkType(e){return this.markSet==null||this.markSet.indexOf(e)>-1}allowsMarks(e){if(this.markSet==null)return!0;for(let t=0;t<e.length;t++)if(!this.allowsMarkType(e[t].type))return!1;return!0}allowedMarks(e){if(this.markSet==null)return e;let t;for(let n=0;n<e.length;n++)this.allowsMarkType(e[n].type)?t&&t.push(e[n]):t||=e.slice(0,n);return t?t.length?t:_n.none:e}static compile(t,n){let r=Object.create(null);t.forEach((t,i)=>r[t]=new e(t,n,i));let i=n.spec.topNode||`doc`;if(!r[i])throw RangeError(`Schema is missing its top node type ('`+i+`')`);if(!r.text)throw RangeError(`Every schema needs a 'text' type`);for(let e in r.text.attrs)throw RangeError(`The text node type should not have attributes`);return r}};function ar(e,t,n){let r=n.split(`|`);return n=>{let i=n===null?`null`:typeof n;if(r.indexOf(i)<0)throw RangeError(`Expected value of type ${r} for attribute ${t} on type ${e}, got ${i}`)}}var or=class{constructor(e,t,n){this.hasDefault=Object.prototype.hasOwnProperty.call(n,`default`),this.default=n.default,this.validate=typeof n.validate==`string`?ar(e,t,n.validate):n.validate}get isRequired(){return!this.hasDefault}},sr=class e{constructor(e,t,n,r){this.name=e,this.rank=t,this.schema=n,this.spec=r,this.attrs=rr(e,r.attrs),this.excluded=null;let i=er(this.attrs);this.instance=i?new _n(this,i):null}create(e=null){return!e&&this.instance?this.instance:new _n(this,tr(this.attrs,e))}static compile(t,n){let r=Object.create(null),i=0;return t.forEach((t,a)=>r[t]=new e(t,i++,n,a)),r}removeFromSet(e){for(var t=0;t<e.length;t++)e[t].type==this&&(e=e.slice(0,t).concat(e.slice(t+1)),t--);return e}isInSet(e){for(let t=0;t<e.length;t++)if(e[t].type==this)return e[t]}checkAttrs(e){nr(this.attrs,e,`mark`,this.name)}excludes(e){return this.excluded.indexOf(e)>-1}},cr=class{constructor(e){this.linebreakReplacement=null,this.cached=Object.create(null);let t=this.spec={};for(let n in e)t[n]=e[n];t.nodes=dn.from(e.nodes),t.marks=dn.from(e.marks||{}),this.nodes=ir.compile(this.spec.nodes,this),this.marks=sr.compile(this.spec.marks,this);let n=Object.create(null);for(let e in this.nodes){if(e in this.marks)throw RangeError(e+` can not be both a node and a mark`);let t=this.nodes[e],r=t.spec.content||``,i=t.spec.marks;if(t.contentMatch=n[r]||(n[r]=Bn.parse(r,this.nodes)),t.inlineContent=t.contentMatch.inlineContent,t.spec.linebreakReplacement){if(this.linebreakReplacement)throw RangeError(`Multiple linebreak nodes defined`);if(!t.isInline||!t.isLeaf)throw RangeError(`Linebreak replacement nodes must be inline leaf nodes`);this.linebreakReplacement=t}t.markSet=i==`_`?null:i?lr(this,i.split(` `)):i==``||!t.inlineContent?[]:null}for(let e in this.marks){let t=this.marks[e],n=t.spec.excludes;t.excluded=n==null?[t]:n==``?[]:lr(this,n.split(` `))}this.nodeFromJSON=e=>Ln.fromJSON(this,e),this.markFromJSON=e=>_n.fromJSON(this,e),this.topNodeType=this.nodes[this.spec.topNode||`doc`],this.cached.wrappings=Object.create(null)}node(e,t=null,n,r){if(typeof e==`string`)e=this.nodeType(e);else if(!(e instanceof ir))throw RangeError(`Invalid node type: `+e);else if(e.schema!=this)throw RangeError(`Node type from different schema used (`+e.name+`)`);return e.createChecked(t,n,r)}text(e,t){let n=this.nodes.text;return new Rn(n,n.defaultAttrs,e,_n.setFrom(t))}mark(e,t){return typeof e==`string`&&(e=this.marks[e]),e.create(t)}nodeType(e){let t=this.nodes[e];if(!t)throw RangeError(`Unknown node type: `+e);return t}};function lr(e,t){let n=[];for(let r=0;r<t.length;r++){let i=t[r],a=e.marks[i],o=a;if(a)n.push(a);else for(let t in e.marks){let r=e.marks[t];(i==`_`||r.spec.group&&r.spec.group.split(` `).indexOf(i)>-1)&&n.push(o=r)}if(!o)throw SyntaxError(`Unknown mark type: '`+t[r]+`'`)}return n}function ur(e){return e.tag!=null}function dr(e){return e.style!=null}var fr=class e{constructor(e,t){this.schema=e,this.rules=t,this.tags=[],this.styles=[];let n=this.matchedStyles=[];t.forEach(e=>{if(ur(e))this.tags.push(e);else if(dr(e)){let t=/[^=]*/.exec(e.style)[0];n.indexOf(t)<0&&n.push(t),this.styles.push(e)}}),this.normalizeLists=!this.tags.some(t=>{if(!/^(ul|ol)\b/.test(t.tag)||!t.node)return!1;let n=e.nodes[t.node];return n.contentMatch.matchType(n)})}parse(e,t={}){let n=new xr(this,t,!1);return n.addAll(e,_n.none,t.from,t.to),n.finish()}parseSlice(e,t={}){let n=new xr(this,t,!0);return n.addAll(e,_n.none,t.from,t.to),G.maxOpen(n.finish())}matchTag(e,t,n){for(let r=n?this.tags.indexOf(n)+1:0;r<this.tags.length;r++){let n=this.tags[r];if(Cr(e,n.tag)&&(n.namespace===void 0||e.namespaceURI==n.namespace)&&(!n.context||t.matchesContext(n.context))){if(n.getAttrs){let t=n.getAttrs(e);if(t===!1)continue;n.attrs=t||void 0}return n}}}matchStyle(e,t,n,r){for(let i=r?this.styles.indexOf(r)+1:0;i<this.styles.length;i++){let r=this.styles[i],a=r.style;if(!(a.indexOf(e)!=0||r.context&&!n.matchesContext(r.context)||a.length>e.length&&(a.charCodeAt(e.length)!=61||a.slice(e.length+1)!=t))){if(r.getAttrs){let e=r.getAttrs(t);if(e===!1)continue;r.attrs=e||void 0}return r}}}static schemaRules(e){let t=[];function n(e){let n=e.priority==null?50:e.priority,r=0;for(;r<t.length;r++){let e=t[r];if((e.priority==null?50:e.priority)<n)break}t.splice(r,0,e)}for(let t in e.marks){let r=e.marks[t].spec.parseDOM;r&&r.forEach(e=>{n(e=wr(e)),e.mark||e.ignore||e.clearMark||(e.mark=t)})}for(let t in e.nodes){let r=e.nodes[t].spec.parseDOM;r&&r.forEach(e=>{n(e=wr(e)),e.node||e.ignore||e.mark||(e.node=t)})}return t}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new e(t,e.schemaRules(t)))}},pr={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},mr={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},hr={ol:!0,ul:!0},gr=1,_r=2,vr=4;function yr(e,t,n){return t==null?e&&e.whitespace==`pre`?gr|_r:n&~vr:(t?gr:0)|(t===`full`?_r:0)}var br=class{constructor(e,t,n,r,i,a){this.type=e,this.attrs=t,this.marks=n,this.solid=r,this.options=a,this.content=[],this.activeMarks=_n.none,this.match=i||(a&vr?null:e.contentMatch)}findWrapping(e){if(!this.match){if(!this.type)return[];let t=this.type.contentMatch.fillBefore(W.from(e));if(t)this.match=this.type.contentMatch.matchFragment(t);else{let t=this.type.contentMatch,n;return(n=t.findWrapping(e.type))?(this.match=t,n):null}}return this.match.findWrapping(e.type)}finish(e){if(!(this.options&gr)){let e=this.content[this.content.length-1],t;if(e&&e.isText&&(t=/[ \t\r\n\u000c]+$/.exec(e.text))){let n=e;e.text.length==t[0].length?this.content.pop():this.content[this.content.length-1]=n.withText(n.text.slice(0,n.text.length-t[0].length))}}let t=W.from(this.content);return!e&&this.match&&(t=t.append(this.match.fillBefore(W.empty,!0))),this.type?this.type.create(this.attrs,t,this.marks):t}inlineContext(e){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:e.parentNode&&!pr.hasOwnProperty(e.parentNode.nodeName.toLowerCase())}},xr=class{constructor(e,t,n){this.parser=e,this.options=t,this.isOpen=n,this.open=0,this.localPreserveWS=!1;let r=t.topNode,i,a=yr(null,t.preserveWhitespace,0)|(n?vr:0);i=r?new br(r.type,r.attrs,_n.none,!0,t.topMatch||r.type.contentMatch,a):n?new br(null,null,_n.none,!0,null,a):new br(e.schema.topNodeType,null,_n.none,!0,null,a),this.nodes=[i],this.find=t.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(e,t){e.nodeType==3?this.addTextNode(e,t):e.nodeType==1&&this.addElement(e,t)}addTextNode(e,t){let n=e.nodeValue,r=this.top,i=r.options&_r?`full`:this.localPreserveWS||(r.options&gr)>0,{schema:a}=this.parser;if(i===`full`||r.inlineContext(e)||/[^ \t\r\n\u000c]/.test(n)){if(!i){if(n=n.replace(/[ \t\r\n\u000c]+/g,` `),/^[ \t\r\n\u000c]/.test(n)&&this.open==this.nodes.length-1){let t=r.content[r.content.length-1],i=e.previousSibling;(!t||i&&i.nodeName==`BR`||t.isText&&/[ \t\r\n\u000c]$/.test(t.text))&&(n=n.slice(1))}}else if(i===`full`)n=n.replace(/\r\n?/g,`
3
3
  `);else if(a.linebreakReplacement&&/[\r\n]/.test(n)&&this.top.findWrapping(a.linebreakReplacement.create())){let e=n.split(/\r?\n|\r/);for(let n=0;n<e.length;n++)n&&this.insertNode(a.linebreakReplacement.create(),t,!0),e[n]&&this.insertNode(a.text(e[n]),t,!/\S/.test(e[n]));n=``}else n=n.replace(/\r?\n|\r/g,` `);n&&this.insertNode(a.text(n),t,!/\S/.test(n)),this.findInText(e)}else this.findInside(e)}addElement(e,t,n){let r=this.localPreserveWS,i=this.top;(e.tagName==`PRE`||/pre/.test(e.style&&e.style.whiteSpace))&&(this.localPreserveWS=!0);let a=e.nodeName.toLowerCase(),o;hr.hasOwnProperty(a)&&this.parser.normalizeLists&&Sr(e);let s=this.options.ruleFromNode&&this.options.ruleFromNode(e)||(o=this.parser.matchTag(e,this,n));out:if(s?s.ignore:mr.hasOwnProperty(a))this.findInside(e),this.ignoreFallback(e,t);else if(!s||s.skip||s.closeParent){s&&s.closeParent?this.open=Math.max(0,this.open-1):s&&s.skip.nodeType&&(e=s.skip);let n,r=this.needsBlock;if(pr.hasOwnProperty(a))i.content.length&&i.content[0].isInline&&this.open&&(this.open--,i=this.top),n=!0,i.type||(this.needsBlock=!0);else if(!e.firstChild){this.leafFallback(e,t);break out}let o=s&&s.skip?t:this.readStyles(e,t);o&&this.addAll(e,o),n&&this.sync(i),this.needsBlock=r}else{let n=this.readStyles(e,t);n&&this.addElementByRule(e,s,n,s.consuming===!1?o:void 0)}this.localPreserveWS=r}leafFallback(e,t){e.nodeName==`BR`&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(e.ownerDocument.createTextNode(`
4
4
  `),t)}ignoreFallback(e,t){e.nodeName==`BR`&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text(`-`),t,!0)}readStyles(e,t){let n=e.style;if(n&&n.length)for(let e=0;e<this.parser.matchedStyles.length;e++){let r=this.parser.matchedStyles[e],i=n.getPropertyValue(r);if(i)for(let e;;){let n=this.parser.matchStyle(r,i,this,e);if(!n)break;if(n.ignore)return null;if(t=n.clearMark?t.filter(e=>!n.clearMark(e)):t.concat(this.parser.schema.marks[n.mark].create(n.attrs)),n.consuming===!1)e=n;else break}}return t}addElementByRule(e,t,n,r){let i,a;if(t.node)if(a=this.parser.schema.nodes[t.node],a.isLeaf)this.insertNode(a.create(t.attrs),n,e.nodeName==`BR`)||this.leafFallback(e,n);else{let e=this.enter(a,t.attrs||null,n,t.preserveWhitespace);e&&(i=!0,n=e)}else{let e=this.parser.schema.marks[t.mark];n=n.concat(e.create(t.attrs))}let o=this.top;if(a&&a.isLeaf)this.findInside(e);else if(r)this.addElement(e,n,r);else if(t.getContent)this.findInside(e),t.getContent(e,this.parser.schema).forEach(e=>this.insertNode(e,n,!1));else{let r=e;typeof t.contentElement==`string`?r=e.querySelector(t.contentElement):typeof t.contentElement==`function`?r=t.contentElement(e):t.contentElement&&(r=t.contentElement),this.findAround(e,r,!0),this.addAll(r,n),this.findAround(e,r,!1)}i&&this.sync(o)&&this.open--}addAll(e,t,n,r){let i=n||0;for(let a=n?e.childNodes[n]:e.firstChild,o=r==null?null:e.childNodes[r];a!=o;a=a.nextSibling,++i)this.findAtPoint(e,i),this.addDOM(a,t);this.findAtPoint(e,i)}findPlace(e,t,n){let r,i;for(let t=this.open,a=0;t>=0;t--){let o=this.nodes[t],s=o.findWrapping(e);if(s&&(!r||r.length>s.length+a)&&(r=s,i=o,!s.length))break;if(o.solid){if(n)break;a+=2}}if(!r)return null;this.sync(i);for(let e=0;e<r.length;e++)t=this.enterInner(r[e],null,t,!1);return t}insertNode(e,t,n){if(e.isInline&&this.needsBlock&&!this.top.type){let e=this.textblockFromContext();e&&(t=this.enterInner(e,null,t))}let r=this.findPlace(e,t,n);if(r){this.closeExtra();let t=this.top;t.match&&=t.match.matchType(e.type);let n=_n.none;for(let i of r.concat(e.marks))(t.type?t.type.allowsMarkType(i.type):Tr(i.type,e.type))&&(n=i.addToSet(n));return t.content.push(e.mark(n)),!0}return!1}enter(e,t,n,r){let i=this.findPlace(e.create(t),n,!1);return i&&=this.enterInner(e,t,n,!0,r),i}enterInner(e,t,n,r=!1,i){this.closeExtra();let a=this.top;a.match=a.match&&a.match.matchType(e);let o=yr(e,i,a.options);a.options&vr&&a.content.length==0&&(o|=vr);let s=_n.none;return n=n.filter(t=>(a.type?a.type.allowsMarkType(t.type):Tr(t.type,e))?(s=t.addToSet(s),!1):!0),this.nodes.push(new br(e,t,s,r,null,o)),this.open++,n}closeExtra(e=!1){let t=this.nodes.length-1;if(t>this.open){for(;t>this.open;t--)this.nodes[t-1].content.push(this.nodes[t].finish(e));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(e){for(let t=this.open;t>=0;t--)if(this.nodes[t]==e)return this.open=t,!0;else this.localPreserveWS&&(this.nodes[t].options|=gr);return!1}get currentPos(){this.closeExtra();let e=0;for(let t=this.open;t>=0;t--){let n=this.nodes[t].content;for(let t=n.length-1;t>=0;t--)e+=n[t].nodeSize;t&&e++}return e}findAtPoint(e,t){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].node==e&&this.find[n].offset==t&&(this.find[n].pos=this.currentPos)}findInside(e){if(this.find)for(let t=0;t<this.find.length;t++)this.find[t].pos==null&&e.nodeType==1&&e.contains(this.find[t].node)&&(this.find[t].pos=this.currentPos)}findAround(e,t,n){if(e!=t&&this.find)for(let r=0;r<this.find.length;r++)this.find[r].pos==null&&e.nodeType==1&&e.contains(this.find[r].node)&&t.compareDocumentPosition(this.find[r].node)&(n?2:4)&&(this.find[r].pos=this.currentPos)}findInText(e){if(this.find)for(let t=0;t<this.find.length;t++)this.find[t].node==e&&(this.find[t].pos=this.currentPos-(e.nodeValue.length-this.find[t].offset))}matchesContext(e){if(e.indexOf(`|`)>-1)return e.split(/\s*\|\s*/).some(this.matchesContext,this);let t=e.split(`/`),n=this.options.context,r=!this.isOpen&&(!n||n.parent.type==this.nodes[0].type),i=-(n?n.depth+1:0)+(r?0:1),a=(e,o)=>{for(;e>=0;e--){let s=t[e];if(s==``){if(e==t.length-1||e==0)continue;for(;o>=i;o--)if(a(e-1,o))return!0;return!1}else{let e=o>0||o==0&&r?this.nodes[o].type:n&&o>=i?n.node(o-i).type:null;if(!e||e.name!=s&&!e.isInGroup(s))return!1;o--}}return!0};return a(t.length-1,this.open)}textblockFromContext(){let e=this.options.context;if(e)for(let t=e.depth;t>=0;t--){let n=e.node(t).contentMatchAt(e.indexAfter(t)).defaultType;if(n&&n.isTextblock&&n.defaultAttrs)return n}for(let e in this.parser.schema.nodes){let t=this.parser.schema.nodes[e];if(t.isTextblock&&t.defaultAttrs)return t}}};function Sr(e){for(let t=e.firstChild,n=null;t;t=t.nextSibling){let e=t.nodeType==1?t.nodeName.toLowerCase():null;e&&hr.hasOwnProperty(e)&&n?(n.appendChild(t),t=n):e==`li`?n=t:e&&(n=null)}}function Cr(e,t){return(e.matches||e.msMatchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector).call(e,t)}function wr(e){let t={};for(let n in e)t[n]=e[n];return t}function Tr(e,t){let n=t.schema.nodes;for(let r in n){let i=n[r];if(!i.allowsMarkType(e))continue;let a=[],o=e=>{a.push(e);for(let n=0;n<e.edgeCount;n++){let{type:r,next:i}=e.edge(n);if(r==t||a.indexOf(i)<0&&o(i))return!0}};if(o(i.contentMatch))return!0}}var Er=class e{constructor(e,t){this.nodes=e,this.marks=t}serializeFragment(e,t={},n){n||=Or(t).createDocumentFragment();let r=n,i=[];return e.forEach(e=>{if(i.length||e.marks.length){let n=0,a=0;for(;n<i.length&&a<e.marks.length;){let t=e.marks[a];if(!this.marks[t.type.name]){a++;continue}if(!t.eq(i[n][0])||t.type.spec.spanning===!1)break;n++,a++}for(;n<i.length;)r=i.pop()[1];for(;a<e.marks.length;){let n=e.marks[a++],o=this.serializeMark(n,e.isInline,t);o&&(i.push([n,r]),r.appendChild(o.dom),r=o.contentDOM||o.dom)}}r.appendChild(this.serializeNodeInner(e,t))}),n}serializeNodeInner(e,t){let{dom:n,contentDOM:r}=Mr(Or(t),this.nodes[e.type.name](e),null,e.attrs);if(r){if(e.isLeaf)throw RangeError(`Content hole not allowed in a leaf node spec`);this.serializeFragment(e.content,t,r)}return n}serializeNode(e,t={}){let n=this.serializeNodeInner(e,t);for(let r=e.marks.length-1;r>=0;r--){let i=this.serializeMark(e.marks[r],e.isInline,t);i&&((i.contentDOM||i.dom).appendChild(n),n=i.dom)}return n}serializeMark(e,t,n={}){let r=this.marks[e.type.name];return r&&Mr(Or(n),r(e,t),null,e.attrs)}static renderSpec(e,t,n=null,r){return Mr(e,t,n,r)}static fromSchema(t){return t.cached.domSerializer||(t.cached.domSerializer=new e(this.nodesFromSchema(t),this.marksFromSchema(t)))}static nodesFromSchema(e){let t=Dr(e.nodes);return t.text||=e=>e.text,t}static marksFromSchema(e){return Dr(e.marks)}};function Dr(e){let t={};for(let n in e){let r=e[n].spec.toDOM;r&&(t[n]=r)}return t}function Or(e){return e.document||window.document}var kr=new WeakMap;function Ar(e){let t=kr.get(e);return t===void 0&&kr.set(e,t=jr(e)),t}function jr(e){let t=null;function n(e){if(e&&typeof e==`object`)if(Array.isArray(e))if(typeof e[0]==`string`)t||=[],t.push(e);else for(let t=0;t<e.length;t++)n(e[t]);else for(let t in e)n(e[t])}return n(e),t}function Mr(e,t,n,r){if(typeof t==`string`)return{dom:e.createTextNode(t)};if(t.nodeType!=null)return{dom:t};if(t.dom&&t.dom.nodeType!=null)return t;let i=t[0],a;if(typeof i!=`string`)throw RangeError(`Invalid array passed to renderSpec`);if(r&&(a=Ar(r))&&a.indexOf(t)>-1)throw RangeError(`Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.`);let o=i.indexOf(` `);o>0&&(n=i.slice(0,o),i=i.slice(o+1));let s,c=n?e.createElementNS(n,i):e.createElement(i),l=t[1],u=1;if(l&&typeof l==`object`&&l.nodeType==null&&!Array.isArray(l)){u=2;for(let e in l)if(l[e]!=null){let t=e.indexOf(` `);t>0?c.setAttributeNS(e.slice(0,t),e.slice(t+1),l[e]):e==`style`&&c.style?c.style.cssText=l[e]:c.setAttribute(e,l[e])}}for(let i=u;i<t.length;i++){let a=t[i];if(a===0){if(i<t.length-1||i>u)throw RangeError(`Content hole must be the only child of its parent node`);return{dom:c,contentDOM:c}}else{let{dom:t,contentDOM:i}=Mr(e,a,n,r);if(c.appendChild(t),i){if(s)throw RangeError(`Multiple content holes`);s=i}}}return{dom:c,contentDOM:s}}var Nr=65535,Pr=2**16;function Fr(e,t){return e+t*Pr}function Ir(e){return e&Nr}function Lr(e){return(e-(e&Nr))/Pr}var Rr=1,zr=2,Br=4,Vr=8,Hr=class{constructor(e,t,n){this.pos=e,this.delInfo=t,this.recover=n}get deleted(){return(this.delInfo&Vr)>0}get deletedBefore(){return(this.delInfo&(Rr|Br))>0}get deletedAfter(){return(this.delInfo&(zr|Br))>0}get deletedAcross(){return(this.delInfo&Br)>0}},Ur=class e{constructor(t,n=!1){if(this.ranges=t,this.inverted=n,!t.length&&e.empty)return e.empty}recover(e){let t=0,n=Ir(e);if(!this.inverted)for(let e=0;e<n;e++)t+=this.ranges[e*3+2]-this.ranges[e*3+1];return this.ranges[n*3]+t+Lr(e)}mapResult(e,t=1){return this._map(e,t,!1)}map(e,t=1){return this._map(e,t,!0)}_map(e,t,n){let r=0,i=this.inverted?2:1,a=this.inverted?1:2;for(let o=0;o<this.ranges.length;o+=3){let s=this.ranges[o]-(this.inverted?r:0);if(s>e)break;let c=this.ranges[o+i],l=this.ranges[o+a],u=s+c;if(e<=u){let i=c?e==s?-1:e==u?1:t:t,a=s+r+(i<0?0:l);if(n)return a;let d=e==(t<0?s:u)?null:Fr(o/3,e-s),f=e==s?zr:e==u?Rr:Br;return(t<0?e!=s:e!=u)&&(f|=Vr),new Hr(a,f,d)}r+=l-c}return n?e+r:new Hr(e+r,0,null)}touches(e,t){let n=0,r=Ir(t),i=this.inverted?2:1,a=this.inverted?1:2;for(let t=0;t<this.ranges.length;t+=3){let o=this.ranges[t]-(this.inverted?n:0);if(o>e)break;let s=this.ranges[t+i];if(e<=o+s&&t==r*3)return!0;n+=this.ranges[t+a]-s}return!1}forEach(e){let t=this.inverted?2:1,n=this.inverted?1:2;for(let r=0,i=0;r<this.ranges.length;r+=3){let a=this.ranges[r],o=a-(this.inverted?i:0),s=a+(this.inverted?0:i),c=this.ranges[r+t],l=this.ranges[r+n];e(o,o+c,s,s+l),i+=l-c}}invert(){return new e(this.ranges,!this.inverted)}toString(){return(this.inverted?`-`:``)+JSON.stringify(this.ranges)}static offset(t){return t==0?e.empty:new e(t<0?[0,-t,0]:[0,0,t])}};Ur.empty=new Ur([]);var Wr=class e{constructor(e,t,n=0,r=e?e.length:0){this.mirror=t,this.from=n,this.to=r,this._maps=e||[],this.ownData=!(e||t)}get maps(){return this._maps}slice(t=0,n=this.maps.length){return new e(this._maps,this.mirror,t,n)}appendMap(e,t){this.ownData||=(this._maps=this._maps.slice(),this.mirror=this.mirror&&this.mirror.slice(),!0),this.to=this._maps.push(e),t!=null&&this.setMirror(this._maps.length-1,t)}appendMapping(e){for(let t=0,n=this._maps.length;t<e._maps.length;t++){let r=e.getMirror(t);this.appendMap(e._maps[t],r!=null&&r<t?n+r:void 0)}}getMirror(e){if(this.mirror){for(let t=0;t<this.mirror.length;t++)if(this.mirror[t]==e)return this.mirror[t+(t%2?-1:1)]}}setMirror(e,t){this.mirror||=[],this.mirror.push(e,t)}appendMappingInverted(e){for(let t=e.maps.length-1,n=this._maps.length+e._maps.length;t>=0;t--){let r=e.getMirror(t);this.appendMap(e._maps[t].invert(),r!=null&&r>t?n-r-1:void 0)}}invert(){let t=new e;return t.appendMappingInverted(this),t}map(e,t=1){if(this.mirror)return this._map(e,t,!0);for(let n=this.from;n<this.to;n++)e=this._maps[n].map(e,t);return e}mapResult(e,t=1){return this._map(e,t,!1)}_map(e,t,n){let r=0;for(let n=this.from;n<this.to;n++){let i=this._maps[n].mapResult(e,t);if(i.recover!=null){let t=this.getMirror(n);if(t!=null&&t>n&&t<this.to){n=t,e=this._maps[t].recover(i.recover);continue}}r|=i.delInfo,e=i.pos}return n?e:new Hr(e,r,null)}},Gr=Object.create(null),Kr=class{getMap(){return Ur.empty}merge(e){return null}static fromJSON(e,t){if(!t||!t.stepType)throw RangeError(`Invalid input for Step.fromJSON`);let n=Gr[t.stepType];if(!n)throw RangeError(`No step type ${t.stepType} defined`);return n.fromJSON(e,t)}static jsonID(e,t){if(e in Gr)throw RangeError(`Duplicate use of step JSON ID `+e);return Gr[e]=t,t.prototype.jsonID=e,t}},qr=class e{constructor(e,t){this.doc=e,this.failed=t}static ok(t){return new e(t,null)}static fail(t){return new e(null,t)}static fromReplace(t,n,r,i){try{return e.ok(t.replace(n,r,i))}catch(t){if(t instanceof vn)return e.fail(t.message);throw t}}};function Jr(e,t,n){let r=[];for(let i=0;i<e.childCount;i++){let a=e.child(i);a.content.size&&(a=a.copy(Jr(a.content,t,a))),a.isInline&&(a=t(a,n,i)),r.push(a)}return W.fromArray(r)}var Yr=class e extends Kr{constructor(e,t,n){super(),this.from=e,this.to=t,this.mark=n}apply(e){let t=e.slice(this.from,this.to),n=e.resolve(this.from),r=n.node(n.sharedDepth(this.to)),i=new G(Jr(t.content,(e,t)=>!e.isAtom||!t.type.allowsMarkType(this.mark.type)?e:e.mark(this.mark.addToSet(e.marks)),r),t.openStart,t.openEnd);return qr.fromReplace(e,this.from,this.to,i)}invert(){return new Xr(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new e(n.pos,r.pos,this.mark)}merge(t){return t instanceof e&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new e(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:`addMark`,mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for AddMarkStep.fromJSON`);return new e(n.from,n.to,t.markFromJSON(n.mark))}};Kr.jsonID(`addMark`,Yr);var Xr=class e extends Kr{constructor(e,t,n){super(),this.from=e,this.to=t,this.mark=n}apply(e){let t=e.slice(this.from,this.to),n=new G(Jr(t.content,e=>e.mark(this.mark.removeFromSet(e.marks)),e),t.openStart,t.openEnd);return qr.fromReplace(e,this.from,this.to,n)}invert(){return new Yr(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new e(n.pos,r.pos,this.mark)}merge(t){return t instanceof e&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new e(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:`removeMark`,mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for RemoveMarkStep.fromJSON`);return new e(n.from,n.to,t.markFromJSON(n.mark))}};Kr.jsonID(`removeMark`,Xr);var Zr=class e extends Kr{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return qr.fail(`No node at mark step's position`);let n=t.type.create(t.attrs,null,this.mark.addToSet(t.marks));return qr.fromReplace(e,this.pos,this.pos+1,new G(W.from(n),0,t.isLeaf?0:1))}invert(t){let n=t.nodeAt(this.pos);if(n){let t=this.mark.addToSet(n.marks);if(t.length==n.marks.length){for(let r=0;r<n.marks.length;r++)if(!n.marks[r].isInSet(t))return new e(this.pos,n.marks[r]);return new e(this.pos,this.mark)}}return new Qr(this.pos,this.mark)}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new e(n.pos,this.mark)}toJSON(){return{stepType:`addNodeMark`,pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for AddNodeMarkStep.fromJSON`);return new e(n.pos,t.markFromJSON(n.mark))}};Kr.jsonID(`addNodeMark`,Zr);var Qr=class e extends Kr{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return qr.fail(`No node at mark step's position`);let n=t.type.create(t.attrs,null,this.mark.removeFromSet(t.marks));return qr.fromReplace(e,this.pos,this.pos+1,new G(W.from(n),0,t.isLeaf?0:1))}invert(e){let t=e.nodeAt(this.pos);return!t||!this.mark.isInSet(t.marks)?this:new Zr(this.pos,this.mark)}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new e(n.pos,this.mark)}toJSON(){return{stepType:`removeNodeMark`,pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for RemoveNodeMarkStep.fromJSON`);return new e(n.pos,t.markFromJSON(n.mark))}};Kr.jsonID(`removeNodeMark`,Qr);var $r=class e extends Kr{constructor(e,t,n,r=!1){super(),this.from=e,this.to=t,this.slice=n,this.structure=r}apply(e){return this.structure&&ti(e,this.from,this.to)?qr.fail(`Structure replace would overwrite content`):qr.fromReplace(e,this.from,this.to,this.slice)}getMap(){return new Ur([this.from,this.to-this.from,this.slice.size])}invert(t){return new e(this.from,this.from+this.slice.size,t.slice(this.from,this.to))}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deletedAcross&&r.deletedAcross?null:new e(n.pos,Math.max(n.pos,r.pos),this.slice,this.structure)}merge(t){if(!(t instanceof e)||t.structure||this.structure)return null;if(this.from+this.slice.size==t.from&&!this.slice.openEnd&&!t.slice.openStart){let n=this.slice.size+t.slice.size==0?G.empty:new G(this.slice.content.append(t.slice.content),this.slice.openStart,t.slice.openEnd);return new e(this.from,this.to+(t.to-t.from),n,this.structure)}else if(t.to==this.from&&!this.slice.openStart&&!t.slice.openEnd){let n=this.slice.size+t.slice.size==0?G.empty:new G(t.slice.content.append(this.slice.content),t.slice.openStart,this.slice.openEnd);return new e(t.from,this.to,n,this.structure)}else return null}toJSON(){let e={stepType:`replace`,from:this.from,to:this.to};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for ReplaceStep.fromJSON`);return new e(n.from,n.to,G.fromJSON(t,n.slice),!!n.structure)}};Kr.jsonID(`replace`,$r);var ei=class e extends Kr{constructor(e,t,n,r,i,a,o=!1){super(),this.from=e,this.to=t,this.gapFrom=n,this.gapTo=r,this.slice=i,this.insert=a,this.structure=o}apply(e){if(this.structure&&(ti(e,this.from,this.gapFrom)||ti(e,this.gapTo,this.to)))return qr.fail(`Structure gap-replace would overwrite content`);let t=e.slice(this.gapFrom,this.gapTo);if(t.openStart||t.openEnd)return qr.fail(`Gap is not a flat range`);let n=this.slice.insertAt(this.insert,t.content);return n?qr.fromReplace(e,this.from,this.to,n):qr.fail(`Content does not fit in gap`)}getMap(){return new Ur([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(t){let n=this.gapTo-this.gapFrom;return new e(this.from,this.from+this.slice.size+n,this.from+this.insert,this.from+this.insert+n,t.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1),i=this.from==this.gapFrom?n.pos:t.map(this.gapFrom,-1),a=this.to==this.gapTo?r.pos:t.map(this.gapTo,1);return n.deletedAcross&&r.deletedAcross||i<n.pos||a>r.pos?null:new e(n.pos,r.pos,i,a,this.slice,this.insert,this.structure)}toJSON(){let e={stepType:`replaceAround`,from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`||typeof n.gapFrom!=`number`||typeof n.gapTo!=`number`||typeof n.insert!=`number`)throw RangeError(`Invalid input for ReplaceAroundStep.fromJSON`);return new e(n.from,n.to,n.gapFrom,n.gapTo,G.fromJSON(t,n.slice),n.insert,!!n.structure)}};Kr.jsonID(`replaceAround`,ei);function ti(e,t,n){let r=e.resolve(t),i=n-t,a=r.depth;for(;i>0&&a>0&&r.indexAfter(a)==r.node(a).childCount;)a--,i--;if(i>0){let e=r.node(a).maybeChild(r.indexAfter(a));for(;i>0;){if(!e||e.isLeaf)return!0;e=e.firstChild,i--}}return!1}function ni(e,t,n,r){let i=[],a=[],o,s;e.doc.nodesBetween(t,n,(e,c,l)=>{if(!e.isInline)return;let u=e.marks;if(!r.isInSet(u)&&l.type.allowsMarkType(r.type)){let l=Math.max(c,t),d=Math.min(c+e.nodeSize,n),f=r.addToSet(u);for(let e=0;e<u.length;e++)u[e].isInSet(f)||(o&&o.to==l&&o.mark.eq(u[e])?o.to=d:i.push(o=new Xr(l,d,u[e])));s&&s.to==l?s.to=d:a.push(s=new Yr(l,d,r))}}),i.forEach(t=>e.step(t)),a.forEach(t=>e.step(t))}function ri(e,t,n,r){let i=[],a=0;e.doc.nodesBetween(t,n,(e,o)=>{if(!e.isInline)return;a++;let s=null;if(r instanceof sr){let t=e.marks,n;for(;n=r.isInSet(t);)(s||=[]).push(n),t=n.removeFromSet(t)}else r?r.isInSet(e.marks)&&(s=[r]):s=e.marks;if(s&&s.length){let r=Math.min(o+e.nodeSize,n);for(let e=0;e<s.length;e++){let n=s[e],c;for(let e=0;e<i.length;e++){let t=i[e];t.step==a-1&&n.eq(i[e].style)&&(c=t)}c?(c.to=r,c.step=a):i.push({style:n,from:Math.max(o,t),to:r,step:a})}}}),i.forEach(t=>e.step(new Xr(t.from,t.to,t.style)))}function ii(e,t,n,r=n.contentMatch,i=!0){let a=e.doc.nodeAt(t),o=[],s=t+1;for(let t=0;t<a.childCount;t++){let c=a.child(t),l=s+c.nodeSize,u=r.matchType(c.type);if(!u)o.push(new $r(s,l,G.empty));else{r=u;for(let t=0;t<c.marks.length;t++)n.allowsMarkType(c.marks[t].type)||e.step(new Xr(s,l,c.marks[t]));if(i&&c.isText&&n.whitespace!=`pre`){let e,t=/\r?\n|\r/g,r;for(;e=t.exec(c.text);)r||=new G(W.from(n.schema.text(` `,n.allowedMarks(c.marks))),0,0),o.push(new $r(s+e.index,s+e.index+e[0].length,r))}}s=l}if(!r.validEnd){let t=r.fillBefore(W.empty,!0);e.replace(s,s,new G(t,0,0))}for(let t=o.length-1;t>=0;t--)e.step(o[t])}function ai(e,t,n){return(t==0||e.canReplace(t,e.childCount))&&(n==e.childCount||e.canReplace(0,n))}function oi(e){let t=e.parent.content.cutByIndex(e.startIndex,e.endIndex);for(let n=e.depth,r=0,i=0;;--n){let a=e.$from.node(n),o=e.$from.index(n)+r,s=e.$to.indexAfter(n)-i;if(n<e.depth&&a.canReplace(o,s,t))return n;if(n==0||a.type.spec.isolating||!ai(a,o,s))break;o&&(r=1),s<a.childCount&&(i=1)}return null}function si(e,t,n){let{$from:r,$to:i,depth:a}=t,o=r.before(a+1),s=i.after(a+1),c=o,l=s,u=W.empty,d=0;for(let e=a,t=!1;e>n;e--)t||r.index(e)>0?(t=!0,u=W.from(r.node(e).copy(u)),d++):c--;let f=W.empty,p=0;for(let e=a,t=!1;e>n;e--)t||i.after(e+1)<i.end(e)?(t=!0,f=W.from(i.node(e).copy(f)),p++):l++;e.step(new ei(c,l,o,s,new G(u.append(f),d,p),u.size-d,!0))}function ci(e,t,n=null,r=e){let i=ui(e,t),a=i&&di(r,t);return a?i.map(li).concat({type:t,attrs:n}).concat(a.map(li)):null}function li(e){return{type:e,attrs:null}}function ui(e,t){let{parent:n,startIndex:r,endIndex:i}=e,a=n.contentMatchAt(r).findWrapping(t);if(!a)return null;let o=a.length?a[0]:t;return n.canReplaceWith(r,i,o)?a:null}function di(e,t){let{parent:n,startIndex:r,endIndex:i}=e,a=n.child(r),o=t.contentMatch.findWrapping(a.type);if(!o)return null;let s=(o.length?o[o.length-1]:t).contentMatch;for(let e=r;s&&e<i;e++)s=s.matchType(n.child(e).type);return!s||!s.validEnd?null:o}function fi(e,t,n){let r=W.empty;for(let e=n.length-1;e>=0;e--){if(r.size){let t=n[e].type.contentMatch.matchFragment(r);if(!t||!t.validEnd)throw RangeError(`Wrapper type given to Transform.wrap does not form valid content of its parent wrapper`)}r=W.from(n[e].type.create(n[e].attrs,r))}let i=t.start,a=t.end;e.step(new ei(i,a,i,a,new G(r,0,0),n.length,!0))}function pi(e,t,n,r,i){if(!r.isTextblock)throw RangeError(`Type given to setBlockType should be a textblock`);let a=e.steps.length;e.doc.nodesBetween(t,n,(t,n)=>{let o=typeof i==`function`?i(t):i;if(t.isTextblock&&!t.hasMarkup(r,o)&&gi(e.doc,e.mapping.slice(a).map(n),r)){let i=null;if(r.schema.linebreakReplacement){let e=r.whitespace==`pre`,t=!!r.contentMatch.matchType(r.schema.linebreakReplacement);e&&!t?i=!1:!e&&t&&(i=!0)}i===!1&&hi(e,t,n,a),ii(e,e.mapping.slice(a).map(n,1),r,void 0,i===null);let s=e.mapping.slice(a),c=s.map(n,1),l=s.map(n+t.nodeSize,1);return e.step(new ei(c,l,c+1,l-1,new G(W.from(r.create(o,null,t.marks)),0,0),1,!0)),i===!0&&mi(e,t,n,a),!1}})}function mi(e,t,n,r){t.forEach((i,a)=>{if(i.isText){let o,s=/\r?\n|\r/g;for(;o=s.exec(i.text);){let i=e.mapping.slice(r).map(n+1+a+o.index);e.replaceWith(i,i+1,t.type.schema.linebreakReplacement.create())}}})}function hi(e,t,n,r){t.forEach((i,a)=>{if(i.type==i.type.schema.linebreakReplacement){let i=e.mapping.slice(r).map(n+1+a);e.replaceWith(i,i+1,t.type.schema.text(`