@jxsuite/studio 5.5.0 → 5.7.0

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 (244) hide show
  1. package/LICENSE +1 -1
  2. package/dist/chunks/{2020-g8mwpbkq.js → 2020-cs2sb9t1.js} +3 -3
  3. package/dist/chunks/adapter-y5gdq19c.js +4 -0
  4. package/dist/chunks/cf-account-picker-882a7ecm.js +4 -0
  5. package/dist/chunks/cf-settings-20dznc3j.js +4 -0
  6. package/dist/chunks/components-q037dya7.js +4 -0
  7. package/dist/chunks/content-source-37x3vsap.js +4 -0
  8. package/dist/chunks/convert-to-repeater-grfep2w8.js +4 -0
  9. package/dist/chunks/editor-j5sq149q.js +4 -0
  10. package/dist/chunks/entry-commands-c5h3nqck.js +4 -0
  11. package/dist/chunks/extension-sections-dp8endhx.js +4 -0
  12. package/dist/chunks/file-ops-937cvqk6.js +4 -0
  13. package/dist/chunks/files-tznwe1p1.js +4 -0
  14. package/dist/chunks/format-host-e2pjvd25.js +4 -0
  15. package/dist/chunks/fs-events-fv64ak3s.js +4 -0
  16. package/dist/chunks/git-panel-gb713ttc.js +4 -0
  17. package/dist/chunks/grid-view-5amhg604.js +51 -0
  18. package/dist/chunks/grid-view-5mqv1cbd.css +1 -0
  19. package/dist/chunks/iframe-host-t819mcg5.js +4 -0
  20. package/dist/chunks/{index-arg188jq.js → index-9ydfe04y.js} +3 -3
  21. package/dist/chunks/index-m0x5ztax.js +4 -0
  22. package/dist/chunks/{javascript-zcdmye2k.js → javascript-d9pqgc2p.js} +2 -2
  23. package/dist/chunks/{jsonMode-6x5e1nbf.js → jsonMode-800yvbem.js} +5 -5
  24. package/dist/chunks/jx-validate-zc9zp77s.js +4 -0
  25. package/dist/chunks/layers-4bsr82wz.js +4 -0
  26. package/dist/chunks/layers-panel-b6shnaax.js +4 -0
  27. package/dist/chunks/lit-html-cfn61dn7.js +4 -0
  28. package/dist/chunks/media-picker-ej0kdh1j.js +4 -0
  29. package/dist/chunks/menu-rtxf9chb.js +4 -0
  30. package/dist/chunks/{monaco-binding-4az2kh5p.js → monaco-binding-62dtmgbf.js} +3 -3
  31. package/dist/chunks/monaco-buffer-nn4dtx27.js +4 -0
  32. package/dist/chunks/{monaco-setup-d7mwkcx3.js → monaco-setup-tj13ndtm.js} +3 -3
  33. package/dist/chunks/notify-ahs57a2z.js +4 -0
  34. package/dist/chunks/platform-v9xyfkbx.js +4 -0
  35. package/dist/chunks/publish-panel-bq36xcmj.js +4 -0
  36. package/dist/chunks/quick-search-zm00h9dh.js +4 -0
  37. package/dist/chunks/references-99ws0b0m.js +4 -0
  38. package/dist/chunks/right-panel-pq2f71q3.js +4 -0
  39. package/dist/chunks/section-registry-b2yzp9sw.js +4 -0
  40. package/dist/chunks/studio-01kbbqg3.js +928 -0
  41. package/dist/chunks/{studio-hf4qdjc8.js → studio-01qza1n3.js} +4 -4
  42. package/dist/chunks/{studio-pkkw32j0.js → studio-03wwfvyt.js} +4 -4
  43. package/dist/chunks/{studio-7gqyhjns.js → studio-0bbxhhce.js} +4 -4
  44. package/dist/chunks/studio-0k9mvpgj.js +14 -0
  45. package/dist/chunks/studio-0scebvb9.js +6 -0
  46. package/dist/chunks/studio-1a99w39s.js +5 -0
  47. package/dist/chunks/studio-1wvfxkyy.js +5 -0
  48. package/dist/chunks/studio-1x8x26k3.js +5 -0
  49. package/dist/chunks/studio-222rqyyc.js +5 -0
  50. package/dist/chunks/studio-4xppwncr.js +4 -0
  51. package/dist/chunks/{studio-xcng8nx7.js → studio-54g077x3.js} +5 -5
  52. package/dist/chunks/studio-56z7evx4.js +10 -0
  53. package/dist/chunks/studio-5e9zsamh.js +9 -0
  54. package/dist/chunks/studio-65fhspdd.js +5 -0
  55. package/dist/chunks/studio-693nhyky.js +5 -0
  56. package/dist/chunks/{studio-7jazdy6y.js → studio-7pgy3xaf.js} +4 -4
  57. package/dist/chunks/studio-888knnkc.js +5 -0
  58. package/dist/chunks/studio-9mqfamps.js +5 -0
  59. package/dist/chunks/studio-a7xqhc3n.js +5 -0
  60. package/dist/chunks/studio-aje966s9.js +5 -0
  61. package/dist/chunks/studio-aqmph6k4.js +5 -0
  62. package/dist/chunks/studio-c6w3tq7t.js +5 -0
  63. package/dist/chunks/{studio-6j2jn55a.js → studio-c6zdm25z.js} +8 -8
  64. package/dist/chunks/{studio-f8jyp45j.js → studio-c9d3pxf7.js} +4 -4
  65. package/dist/chunks/studio-ceb34dxj.js +5 -0
  66. package/dist/chunks/studio-cvbkkfqb.js +5 -0
  67. package/dist/chunks/studio-cxt150pj.js +7 -0
  68. package/dist/chunks/studio-dkn3x3hz.js +5 -0
  69. package/dist/chunks/studio-e6re3rk1.js +5 -0
  70. package/dist/chunks/{studio-5n1km79v.js → studio-edbtvcd1.js} +4 -4
  71. package/dist/chunks/{studio-xc8ebsts.js → studio-eh0rac07.js} +4 -4
  72. package/dist/chunks/{studio-625ezz59.js → studio-evwgp1ym.js} +4 -4
  73. package/dist/chunks/{studio-he2fhrgp.js → studio-f195h2hq.js} +4 -4
  74. package/dist/chunks/studio-fqq890ap.js +4 -0
  75. package/dist/chunks/studio-frb0qbf7.js +6 -0
  76. package/dist/chunks/studio-gfn1kpxj.js +6 -0
  77. package/dist/chunks/studio-gh97gngt.js +5 -0
  78. package/dist/chunks/{studio-awqghqxv.js → studio-gp02nqnw.js} +4 -4
  79. package/dist/chunks/{studio-x9sagq2d.js → studio-hjbg8d5y.js} +7 -7
  80. package/dist/chunks/studio-j6gnhvaa.js +5 -0
  81. package/dist/chunks/studio-mwxgyn9h.js +7 -0
  82. package/dist/chunks/{studio-x5esgzct.js → studio-n78gjfy8.js} +4 -4
  83. package/dist/chunks/studio-nbxqcgvf.js +5 -0
  84. package/dist/chunks/{studio-p1eggxcf.js → studio-nt06yybj.js} +4 -4
  85. package/dist/chunks/{studio-hc9q4j24.js → studio-p7c1agz0.js} +5 -5
  86. package/dist/chunks/{studio-8r4y2x0z.js → studio-pwqfmt4p.js} +4 -4
  87. package/dist/chunks/{studio-5wfrgee9.js → studio-r3kaka4d.js} +4 -4
  88. package/dist/chunks/studio-semd1s8s.js +5 -0
  89. package/dist/chunks/studio-skzanb0k.js +5 -0
  90. package/dist/chunks/studio-spf2skgc.js +5 -0
  91. package/dist/chunks/{studio-b4epb26c.js → studio-st75kn99.js} +7 -7
  92. package/dist/chunks/{studio-eq27rrr0.js → studio-sxc0zvpt.js} +3 -3
  93. package/dist/chunks/studio-t1eedsyx.js +4 -0
  94. package/dist/chunks/{studio-73czgk6a.js → studio-tp642n5g.js} +4 -4
  95. package/dist/chunks/studio-tw7rre6s.js +5 -0
  96. package/dist/chunks/{studio-7by9a93k.js → studio-tzegmy4w.js} +4 -4
  97. package/dist/chunks/studio-vavmwshr.js +5 -0
  98. package/dist/chunks/studio-wma2c6g8.js +5 -0
  99. package/dist/chunks/studio-x92tgnee.js +64 -0
  100. package/dist/chunks/studio-xk0z6msk.js +5 -0
  101. package/dist/chunks/{studio-c4pnt1c6.js → studio-xry7tk3z.js} +5 -5
  102. package/dist/chunks/studio-xta2vxp6.js +9 -0
  103. package/dist/chunks/{studio-21enxdr8.js → studio-xy3tv3az.js} +4 -4
  104. package/dist/chunks/studio-y7jehjrp.js +5 -0
  105. package/dist/chunks/{studio-k1eaqyzm.js → studio-yr04mv2j.js} +4 -4
  106. package/dist/chunks/{studio-mhhc9btt.js → studio-zd4kayn2.js} +4 -4
  107. package/dist/chunks/studio-zpnk016a.js +16 -0
  108. package/dist/chunks/{tsMode-rtwt7w1a.js → tsMode-k9s9fcag.js} +5 -5
  109. package/dist/chunks/workspace-b69mgm0e.js +4 -0
  110. package/dist/chunks/ws-client-0ja08haa.js +4 -0
  111. package/dist/iframe-entry.js +14 -14
  112. package/dist/manifest.json +62 -59
  113. package/dist/studio.css +1 -1
  114. package/dist/studio.js +121 -123
  115. package/package.json +5 -5
  116. package/src/account/action-flow.ts +294 -0
  117. package/src/account/action-required.ts +68 -0
  118. package/src/account-status.ts +29 -1
  119. package/src/browse/library-model.ts +3 -1
  120. package/src/browse/library-preview.ts +6 -2
  121. package/src/canvas/asset-refs.ts +3 -1
  122. package/src/canvas/asset-resolve.ts +79 -1
  123. package/src/canvas/iframe-entry.ts +38 -1
  124. package/src/canvas/iframe-host.ts +85 -0
  125. package/src/canvas/iframe-protocol.ts +13 -0
  126. package/src/canvas/stage-scrollbar.ts +7 -7
  127. package/src/files/asset-versions.ts +294 -0
  128. package/src/files/file-ops.ts +5 -8
  129. package/src/files/files.ts +61 -9
  130. package/src/files/fs-events.ts +279 -28
  131. package/src/files/media-meta.ts +2 -1
  132. package/src/files/media-paths.ts +5 -2
  133. package/src/files/media-upload.ts +5 -1
  134. package/src/new-project/add-repo-modal.ts +12 -1
  135. package/src/new-project/new-project-modal.ts +12 -1
  136. package/src/panels/git-panel.ts +25 -2
  137. package/src/panels/jump-bar.ts +132 -158
  138. package/src/panels/pane-context.ts +8 -8
  139. package/src/panels/pane-grid.ts +18 -26
  140. package/src/panels/style-panel.ts +2 -2
  141. package/src/platform-errors.ts +61 -1
  142. package/src/platforms/cloud.ts +389 -50
  143. package/src/platforms/devserver.ts +17 -1
  144. package/src/publish/pages-service.ts +17 -7
  145. package/src/services/ai-models.ts +30 -6
  146. package/src/services/ai-system-prompt.ts +81 -51
  147. package/src/services/context-manager.ts +41 -70
  148. package/src/services/document-assistant.ts +12 -3
  149. package/src/services/harness/chat-reducer.ts +115 -0
  150. package/src/services/harness/turn-hooks.ts +50 -0
  151. package/src/services/tool-executor.ts +69 -288
  152. package/src/services/tool-outcomes.ts +12 -10
  153. package/src/settings/preferences-accounts.ts +42 -3
  154. package/src/settings/preferences-dialog.ts +8 -1
  155. package/src/studio.ts +20 -6
  156. package/src/surfaces/block-action-bar.json +6 -1
  157. package/src/surfaces/dialog.ts +5 -0
  158. package/src/surfaces/jump-bar.json +9 -12
  159. package/src/surfaces/jump-bar.ts +15 -16
  160. package/src/surfaces/pane-context.json +2 -2
  161. package/src/surfaces/pane-grid.json +8 -25
  162. package/src/surfaces/pane-grid.ts +7 -8
  163. package/src/surfaces/statusbar.json +71 -3
  164. package/src/surfaces/statusbar.ts +66 -139
  165. package/src/surfaces/style-panel.json +3 -3
  166. package/src/surfaces/style-panel.ts +11 -1
  167. package/src/surfaces/welcome.json +86 -1
  168. package/src/surfaces/welcome.ts +61 -2
  169. package/src/types.ts +84 -2
  170. package/src/ui/ai-managed-connect.ts +41 -4
  171. package/src/ui/media-picker.ts +2 -1
  172. package/dist/chunks/adapter-bsbs78x9.js +0 -4
  173. package/dist/chunks/cf-account-picker-gnm7xeqb.js +0 -4
  174. package/dist/chunks/cf-settings-9y6jyscp.js +0 -4
  175. package/dist/chunks/components-s51h3b7c.js +0 -4
  176. package/dist/chunks/content-source-ty3be0qg.js +0 -4
  177. package/dist/chunks/convert-to-repeater-c3e7q61z.js +0 -4
  178. package/dist/chunks/editor-t002b41m.js +0 -4
  179. package/dist/chunks/entry-commands-sb72e9gy.js +0 -4
  180. package/dist/chunks/extension-sections-ktn2ntnj.js +0 -4
  181. package/dist/chunks/file-ops-78zeytkm.js +0 -4
  182. package/dist/chunks/files-gatzrz8v.js +0 -4
  183. package/dist/chunks/format-host-r59b1651.js +0 -4
  184. package/dist/chunks/fs-events-f8h91ndt.js +0 -4
  185. package/dist/chunks/git-panel-y12zf7nj.js +0 -4
  186. package/dist/chunks/grid-view-rfd8b2pg.js +0 -51
  187. package/dist/chunks/grid-view-tafenfm2.css +0 -1
  188. package/dist/chunks/iframe-host-vsrsj20g.js +0 -4
  189. package/dist/chunks/index-5aghyrfh.js +0 -4
  190. package/dist/chunks/jx-validate-653krkrf.js +0 -4
  191. package/dist/chunks/layers-32p8gtae.js +0 -4
  192. package/dist/chunks/layers-panel-rs58m105.js +0 -4
  193. package/dist/chunks/lit-html-54bmkwz3.js +0 -4
  194. package/dist/chunks/media-picker-5bb04wct.js +0 -4
  195. package/dist/chunks/menu-cbha7w2e.js +0 -4
  196. package/dist/chunks/monaco-buffer-9vbbyfr1.js +0 -4
  197. package/dist/chunks/notify-dc1nz5ar.js +0 -4
  198. package/dist/chunks/platform-2m49s1zf.js +0 -4
  199. package/dist/chunks/publish-panel-nx3ycmma.js +0 -4
  200. package/dist/chunks/quick-search-yzrzh9x3.js +0 -4
  201. package/dist/chunks/references-vx7mbj9f.js +0 -4
  202. package/dist/chunks/right-panel-7jzpbxja.js +0 -4
  203. package/dist/chunks/section-registry-gjryse41.js +0 -4
  204. package/dist/chunks/studio-3znfhcxg.js +0 -5
  205. package/dist/chunks/studio-58qam27v.js +0 -4
  206. package/dist/chunks/studio-6j59fwaw.js +0 -5
  207. package/dist/chunks/studio-7z69g1gx.js +0 -5
  208. package/dist/chunks/studio-93j3v6zx.js +0 -5
  209. package/dist/chunks/studio-9gf6v8zy.js +0 -5
  210. package/dist/chunks/studio-9rhmettf.js +0 -4
  211. package/dist/chunks/studio-ac5aq677.js +0 -10
  212. package/dist/chunks/studio-as65vbns.js +0 -5
  213. package/dist/chunks/studio-bkv0sga4.js +0 -6
  214. package/dist/chunks/studio-bttmqef4.js +0 -5
  215. package/dist/chunks/studio-c3y9d41k.js +0 -5
  216. package/dist/chunks/studio-ccegp7gz.js +0 -9
  217. package/dist/chunks/studio-chxabn98.js +0 -6
  218. package/dist/chunks/studio-cktcdsxz.js +0 -16
  219. package/dist/chunks/studio-cnspfke5.js +0 -5
  220. package/dist/chunks/studio-de3p1ktm.js +0 -5
  221. package/dist/chunks/studio-fsbcn530.js +0 -928
  222. package/dist/chunks/studio-gftga7a3.js +0 -64
  223. package/dist/chunks/studio-hf1rpcq0.js +0 -4
  224. package/dist/chunks/studio-hz02hq70.js +0 -5
  225. package/dist/chunks/studio-jnb285we.js +0 -5
  226. package/dist/chunks/studio-jsv3s3s1.js +0 -5
  227. package/dist/chunks/studio-ks7cksh0.js +0 -5
  228. package/dist/chunks/studio-nptx0dbs.js +0 -5
  229. package/dist/chunks/studio-pg0z7k98.js +0 -5
  230. package/dist/chunks/studio-pve0b2f2.js +0 -5
  231. package/dist/chunks/studio-q7zmjv3b.js +0 -6
  232. package/dist/chunks/studio-rpmvw7kj.js +0 -5
  233. package/dist/chunks/studio-rwhss52s.js +0 -5
  234. package/dist/chunks/studio-sbg3g3h0.js +0 -5
  235. package/dist/chunks/studio-sq1bn60g.js +0 -14
  236. package/dist/chunks/studio-vwz7rma2.js +0 -5
  237. package/dist/chunks/studio-wa55e8gf.js +0 -5
  238. package/dist/chunks/studio-x0mzdha2.js +0 -5
  239. package/dist/chunks/studio-xrgpakvc.js +0 -9
  240. package/dist/chunks/studio-xt3djk1w.js +0 -7
  241. package/dist/chunks/studio-yh3nggx1.js +0 -7
  242. package/dist/chunks/studio-zmecp6hq.js +0 -5
  243. package/dist/chunks/workspace-g6dvaete.js +0 -4
  244. package/dist/chunks/ws-client-shf41j5p.js +0 -4
@@ -0,0 +1,16 @@
1
+ import{ge,Q,v,re,$I,k}from"./studio-fqq890ap.js";import{iv,$o,ai,cv,fp,q,ot,yi,li,Se,Do,oo,He,Qn,vp,m,$r,Ua}from"./studio-cvbkkfqb.js";import{p}from"./studio-y7jehjrp.js";import{th}from"./studio-1x8x26k3.js";import{_t,Lr,qr}from"./studio-semd1s8s.js";import{te}from"./studio-ery42sqr.js";import{D,Hl,vt}from"./studio-tp642n5g.js";import{me}from"./studio-0bbxhhce.js";function G(e){return e.replaceAll("~","~0").replaceAll("/","~1")}var Oe=100;function H(e){let t={blankAfter:new Set,escaped:new Map,inline:new Map},o=0,n=()=>{let a=0;while(o<e.length&&(e[o]===" "||e[o]==="\t"||e[o]==="\r"||e[o]===`
2
+ `)){if(e[o]===`
3
+ `)a+=1;o+=1}return a},r=()=>{let a=o,f=new Set;o+=1;while(o<e.length&&e[o]!=='"')if(e[o]==="\\")if(e[o+1]==="u"){let u=Number.parseInt(e.slice(o+2,o+6),16);if(u>=128)f.add(u);o+=6}else o+=2;else o+=1;return o+=1,{escaped:f,raw:e.slice(a,o)}},i=(a,f)=>{let u=n();if(e[o]===f)return o+=1,!0;if(o+=1,u+=n(),u>=2)t.blankAfter.add(a);return!1},s=(a)=>{n();let f=e[o];if(f==="{"){o+=1;let u=n()>0;if(e[o]==="}"){o+=1;return}t.inline.set(a,!u);while(o<e.length){let l=JSON.parse(r().raw);n(),o+=1;let c=`${a}/${G(l)}`;if(s(c),i(c,"}"))return}}else if(f==="["){if(o+=1,n(),e[o]==="]"){o+=1;return}for(let u=0;o<e.length;u+=1){let l=`${a}/${u}`;if(s(l),i(l,"]"))return}}else if(f==='"'){let{escaped:u}=r();if(u.size>0)t.escaped.set(a,u)}else while(o<e.length&&!`,]} \r
4
+ `.includes(e[o]))o+=1};return s(""),t}function hs(e){return{document:JSON.parse(e),layout:H(e)}}var Me=/[^\u0020-\u007E]/,Je=/^[\p{Mn}\p{Me}\p{Cf}]$/u,ze=/^\p{Emoji_Presentation}$/u;function Fe(e){return e>=4352&&(e<=4447||e===9001||e===9002||e>=11904&&e<=12871&&e!==12351||e>=12880&&e<=19903||e>=19968&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510||e>=110592&&e<=110593||e>=127488&&e<=127569||e>=131072&&e<=262141)}function ae(e){if(!Me.test(e))return e.length;let t=0;for(let o of e){if(Je.test(o))continue;t+=Fe(o.codePointAt(0))||ze.test(o)?2:1}return t}function Be(e){return e===void 0||typeof e==="function"||typeof e==="symbol"}function V(e){return Object.entries(e).filter(([,t])=>!Be(t))}function M(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function Ue(e){if(e.length<2)return!1;let t=Array.isArray(e[0])?"array":M(e[0])?"object":null;if(t===null)return!1;return e.every((o)=>t==="array"?Array.isArray(o)&&o.length>1:M(o)&&V(o).length>1)}function Ge(e){return e.length>1&&e.every((t)=>typeof t==="number")}function le(e,t){let o=JSON.stringify(e)??"null";return t===void 0?o:o.replaceAll(/[\u0080-\uFFFF]/g,(n)=>{let r=n.codePointAt(0);return t.has(r)?`\\u${r.toString(16).padStart(4,"0")}`:n})}function pr(e,t,o=Oe){let n=t?.inline??new Map,r=t?.blankAfter??new Set,i=t?.escaped??new Map,s=(l,c)=>n.get(l)??c,a=(l,c,d)=>{if(Array.isArray(l)){if(l.length===0)return"[]";if(Ue(l))return null;let g=[];for(let[b,h]of l.entries()){let w=`${c}/${b}`,x=r.has(w)?null:a(h,w,d);if(x===null)return null;g.push(x)}return`[${g.join(", ")}]`}if(M(l)){let g=V(l);if(g.length===0)return"{}";if(!s(c,d))return null;let b=[];for(let[h,w]of g){let x=`${c}/${G(h)}`,S=r.has(x)?null:a(w,x,!0);if(S===null)return null;b.push(`${JSON.stringify(h)}: ${S}`)}return`{ ${b.join(", ")} }`}return le(l,i.get(c))},f=(l)=>l.map(({path:c,text:d},g)=>g===l.length-1?d:`${d},
5
+ ${r.has(c)?`
6
+ `:""}`).join(""),u=(l,c,d,g,b,h)=>{let w=a(l,c,b),x=Array.isArray(l)||M(l);if(w!==null&&(!x||g+ae(w)+h<=o))return w;let S=" ".repeat(d+2),B=`
7
+ ${" ".repeat(d)}`;if(Array.isArray(l)){if(Ge(l))return`[
8
+ ${Ve(l,S,o,(_)=>r.has(`${c}/${_}`))}${B}]`;let E=l.map((N,_)=>{let A=`${c}/${_}`,O=_===l.length-1,U=u(N,A,d+2,S.length,b,O?0:1);return{path:A,text:`${S}${U}`}});return`[
9
+ ${f(E)}${B}]`}let se=V(l),Ee=s(c,b),Ne=se.map(([E,N],_)=>{let A=`${c}/${G(E)}`,O=`${JSON.stringify(E)}: `,U=_===se.length-1,$e=S.length+ae(O),De=u(N,A,d+2,$e,Ee,U?0:1);return{path:A,text:`${S}${O}${De}`}});return`{
10
+ ${f(Ne)}${B}}`};return`${u(e,"",0,0,!1,0)}
11
+ `}function Ve(e,t,o,n){let r=[],i="";for(let[s,a]of e.entries()){let f=`${le(a)}${s===e.length-1?"":","}`;if(i==="")i=`${t}${f}`;else if(i.length+1+f.length<=o)i=`${i} ${f}`;else r.push(i),i=`${t}${f}`;if(n(s)&&s<e.length-1)r.push(i,""),i=""}return r.push(i),r.join(`
12
+ `)}var ce=new Set([Qn,vp]),Ze=new Set(["auto","light","dark"]);function qe(e){let{ui:t}=e.session;return{activeMedia:t.activeMedia,canvasMode:t.canvasMode,editZoom:t.editZoom,preview:t.preview,previewColorScheme:t.previewColorScheme,previewLocale:t.previewLocale,showLayout:t.showLayout,zoom:t.zoom}}function ue(){let e={},t=[];for(let o of m.panes){if(o.derived)continue;let n=[];for(let i of o.tabOrder){let s=m.tabs.get(i);if(!s?.documentPath)continue;n.push(s.documentPath),e[s.documentPath]=qe(s)}if(n.length===0)continue;let r=o.activeTabId?m.tabs.get(o.activeTabId):null;t.push({activeFile:r?.documentPath??null,files:n,id:o.id})}return{focusedPane:m.activePaneId,panes:t,ui:e}}function We(e){if(typeof e!=="object"||e===null)return{};let t=e,o={};if(typeof t.canvasMode==="string")o.canvasMode=t.canvasMode;if(typeof t.preview==="boolean")o.preview=t.preview;if(typeof t.zoom==="number"&&Number.isFinite(t.zoom))o.zoom=t.zoom;if(typeof t.editZoom==="number"&&Number.isFinite(t.editZoom))o.editZoom=t.editZoom;if(t.activeMedia===null||typeof t.activeMedia==="string")o.activeMedia=t.activeMedia;if(typeof t.previewColorScheme==="string"&&Ze.has(t.previewColorScheme))o.previewColorScheme=t.previewColorScheme;if(t.previewLocale===null||iv(t.previewLocale))o.previewLocale=t.previewLocale;if(typeof t.showLayout==="boolean")o.showLayout=t.showLayout;return o}function fe(e){if(typeof e!=="object"||e===null)return null;let t=e;if(!Array.isArray(t.panes))return null;let o=[];for(let r of t.panes){if(typeof r!=="object"||r===null)continue;let i=r;if(typeof i.id!=="string"||!ce.has(i.id))continue;let s=Array.isArray(i.files)?i.files.filter((a)=>typeof a==="string"&&a!==""):[];if(s.length===0)continue;o.push({activeFile:typeof i.activeFile==="string"&&s.includes(i.activeFile)?i.activeFile:null,files:s,id:i.id})}if(o.length===0)return null;let n={};if(typeof t.ui==="object"&&t.ui!==null)for(let[r,i]of Object.entries(t.ui))n[r]=We(i);return{focusedPane:typeof t.focusedPane==="string"&&ce.has(t.focusedPane)?t.focusedPane:Qn,panes:o,ui:n}}async function XT(e,t){let o=0;if(e.panes.some((n)=>n.id===vp))t.ensureSecondPane();for(let n of e.panes)for(let r of n.files){try{await t.openFile(r,n.id)}catch{}if([...m.tabs.values()].some((i)=>i.documentPath===r))o+=1}if(o===0)return 0;for(let n of m.tabs.values()){let r=n.documentPath?e.ui[n.documentPath]:void 0;if(!r)continue;let{ui:i}=n.session;if(r.canvasMode&&n.capabilities.modes.includes(r.canvasMode))i.canvasMode=r.canvasMode;if(r.preview!==void 0)i.preview=r.preview;if(r.zoom!==void 0)i.zoom=r.zoom;if(r.editZoom!==void 0)i.editZoom=r.editZoom;if(r.activeMedia!==void 0)i.activeMedia=r.activeMedia;if(r.previewColorScheme!==void 0)i.previewColorScheme=r.previewColorScheme;if(r.previewLocale!==void 0)i.previewLocale=r.previewLocale;if(r.showLayout!==void 0)i.showLayout=r.showLayout}for(let n of e.panes){let r=m.panes.find((s)=>s.id===n.id);if(!r||!n.activeFile)continue;let i=r.tabOrder.find((s)=>m.tabs.get(s)?.documentPath===n.activeFile);if(i)r.activeTabId=i}if(m.panes.some((n)=>n.id===e.focusedPane))$r(e.focusedPane);return o}var pe={default:{description:"Resume whatever was persisted — layout, recents, settings, chat history.",id:"default",reset:"none"},fresh:{description:"A first-run app: no layout, no recents, no settings, no history.",id:"fresh",reset:"app-state"}},Ke="default",Ye=/^jx[-._:]/;function Xe(e){return Ye.test(e)}function Qe(){let e=globalThis.localStorage;if(!e)return[];let t=[];try{for(let o=0;o<e.length;o++){let n=e.key(o);if(n&&Xe(n))t.push(n)}for(let o of t)e.removeItem(o)}catch{}return t}function et(e){let t=pe[e];if(!t)throw RangeError(`unknown startup profile "${e}"; declared: ${Object.keys(pe).join(", ")}`);if(t.reset==="app-state")Qe();return t}var J=null;function de(e){if(J)return J;let t=new URLSearchParams(e??globalThis.location?.search??""),o=et(t.get("profile")??Ke),n=t.get("clock");return J={clock:n===null?null:$I(n),profile:o},J}var W=["files","search","git","i18n","layers","page","data","packages","insert"],tt={blocks:"insert",head:"page",imports:"packages",state:"data"},ye="layers";function ee(e){return typeof e==="string"&&W.includes(e)}function vx(e,t){if(!ee(e))throw Error(`${t}: "${e}" is not a declared Navigator panel id.`);return e}function be(e){if(typeof e!=="string")return null;let t=tt[e];if(t)return t;return ee(e)?e:null}var K=["properties","style","events","assistant"],qb="properties";function yx(e){return typeof e==="string"&&K.includes(e)}var Gb=["problems","logic","activity"],wx="problems";function Kb(e){return typeof e==="string"&&Gb.includes(e)}var Jb=["light","dark"],he="jx-studio-panel-widths",ve="jx-studio-project::",nt="dark";function rt(e){return typeof e==="string"&&Jb.includes(e)}function it(){let e=Lr(_t.theme);return rt(e)?e:nt}var Sd=["left","right","bottom"],R={bottom:{collapsed:!0,size:220},left:{collapsed:!1,size:240},right:{collapsed:!1,size:280}},QT={bottom:R.bottom.size,left:R.left.size,right:R.right.size},st={bottom:"--dock-h-bottom",left:"--panel-w-left",right:"--panel-w-right"},at={bottom:"bottom-collapsed",left:"left-collapsed",right:"right-collapsed"},AC=0.5,xx=0.2,_x=0.8;function lt(e){return typeof e==="number"&&e>=xx&&e<=_x?e:AC}function eL(e){y.paneSplit=Math.min(_x,Math.max(xx,e))}function ct(){try{return JSON.parse(localStorage.getItem(he)||"{}")}catch{return{}}}function we(){return{branches:null,commitMessage:"",diffState:null,error:null,lastUpdated:null,loading:!1,logEntries:null,rev:0,status:null,subTab:"changes"}}function Pe(){return{customizedOnly:!1,filter:"",selection:null,tab:"elements"}}function ke(){return[{bottomTab:"problems",docks:{bottom:{collapsed:!0,size:220},left:{collapsed:!1,size:240},right:{collapsed:!0,size:280}},id:"write",inspectorTab:"properties",name:"Write",navigatorPanel:"files"},{bottomTab:"problems",docks:{bottom:{collapsed:!0,size:220},left:{collapsed:!1,size:240},right:{collapsed:!1,size:320}},id:"design",inspectorTab:"style",name:"Design",navigatorPanel:"layers"},{bottomTab:"logic",docks:{bottom:{collapsed:!0,size:260},left:{collapsed:!1,size:280},right:{collapsed:!1,size:300}},id:"build",inspectorTab:"events",name:"Build",navigatorPanel:"data"},{bottomTab:"activity",docks:{bottom:{collapsed:!1,size:240},left:{collapsed:!1,size:300},right:{collapsed:!0,size:280}},id:"ship",inspectorTab:"properties",name:"Ship",navigatorPanel:"git"}]}var z="design";function ut(){let e=ct(),t={};for(let o of Sd){let n=e[o],r=e[`${o}Collapsed`];t[o]={collapsed:typeof r==="boolean"?r:R[o].collapsed,size:typeof n==="number"&&n>0?n:R[o].size}}return{bottomTab:Kb(e.bottomTab)?e.bottomTab:wx,docks:t,focusRegion:"pane",paneSplit:lt(e.paneSplit),git:we(),layout:z,layoutSelection:null,layouts:ke(),leftTab:be(e.leftTab)??ye,settingsTab:"stylebook",stylebook:Pe(),theme:it()}}de();var y=v(ut());function Ed(){try{localStorage.setItem(he,JSON.stringify({bottom:y.docks.bottom.size,bottomCollapsed:y.docks.bottom.collapsed,bottomTab:y.bottomTab,left:y.docks.left.size,leftCollapsed:y.docks.left.collapsed,leftTab:y.leftTab,paneSplit:y.paneSplit,right:y.docks.right.size,rightCollapsed:y.docks.right.collapsed}))}catch{}}var Y;function ft(e){if(typeof e!=="object"||e===null)return!1;let t=e;return typeof t.id==="string"&&t.id!==""&&typeof t.name==="string"&&ee(t.navigatorPanel)&&yx(t.inspectorTab)&&Kb(t.bottomTab)&&Sd.every((o)=>typeof t.docks?.[o]?.size==="number")}function oe(e){if(!e)return{};try{return JSON.parse(localStorage.getItem(`${ve}${e}`)||"{}")}catch{return{}}}function pt(e){let t={activeLayout:null,layouts:ke()};if(!e)return t;let o=oe(e),n=Array.isArray(o.layouts)?o.layouts.filter(ft):[];if(n.length===0)return t;return{activeLayout:typeof o.activeLayout==="string"?o.activeLayout:null,layouts:n}}function tL(e){return fe(oe(e).session)}var ne=null;function Yb(e){ne=e}function nL(){C()}function C(){let e=m.projectRoot;if(!e)return;try{localStorage.setItem(`${ve}${e}`,JSON.stringify({activeLayout:y.layout,layouts:y.layouts,session:e===ne?ue():oe(e).session}))}catch{}}function dt(e){if(e===Y)return;Y=e;let{activeLayout:t,layouts:o}=pt(e);y.layouts=o;let n=(r)=>r!==null&&o.some((i)=>i.id===r);y.layout=n(t)?t:n(y.layout)?y.layout:n(z)?z:o[0]?.id??z}function xe(e){return y.layouts.find((t)=>t.id===e)}function mt(e){return e.trim().toLowerCase().replaceAll(/[^a-z0-9]+/g,"-").replaceAll(/^-|-$/g,"")||"layout"}function Te(e,t){let o=xe(e);if(!o)throw RangeError(`no layout named "${e}" — this project has: ${y.layouts.map((n)=>n.id).join(", ")}`);y.layout=o.id,y.leftTab=o.navigatorPanel,y.bottomTab=o.bottomTab;for(let n of Sd)y.docks[n].collapsed=o.docks[n].collapsed,y.docks[n].size=o.docks[n].size;t.setInspectorTab(o.inspectorTab),Ed(),C()}function gt(e,t){let o=e.trim(),n=mt(o),r={};for(let a of Sd)r[a]={collapsed:y.docks[a].collapsed,size:y.docks[a].size};let i={bottomTab:Kb(y.bottomTab)?y.bottomTab:wx,docks:r,id:n,inspectorTab:t.inspectorTab(),name:o||n,navigatorPanel:be(y.leftTab)??ye},s=y.layouts.findIndex((a)=>a.id===n);if(s===-1)y.layouts.push(i);else y.layouts.splice(s,1,i);return y.layout=n,C(),i}function yt(e,t){let o=xe(e),n=t.trim();if(!o||!n)return;o.name=n,C()}function bt(e){if(y.layouts.length<2)return;let t=y.layouts.findIndex((o)=>o.id===e);if(t===-1)return;if(y.layouts.splice(t,1),y.layout===e)y.layout=y.layouts[0].id;C()}function ht(e){Te(y.layout,e)}function dp(e=y.theme){return e==="light"?"vs":"vs-dark"}function wt(){document.documentElement.dataset.theme=y.theme,th()?.editor.setTheme(dp())}function St(){let e=document.documentElement;for(let o of Sd)e.style.setProperty(st[o],`${y.docks[o].size}px`);let t=document.querySelector("#app");if(!t)return;for(let o of Sd)t.classList.toggle(at[o],y.docks[o].collapsed)}var Z=null,X=[];function dm(e){if(!X.includes(e))X.push(e)}function iL(){if(Z)return;for(let e of X)e.mount();Z=ge(),Z.run(()=>{Q(()=>{St()}),Q(()=>{wt()}),Q(()=>{dt(m.projectRoot)}),Q(()=>{let e=m.projectRoot;m.activePaneId;for(let t of m.panes)t.id,t.activeTabId,t.tabOrder.join("\x00");if(e)C()})})}function fr(e,t){if(y.docks[e].collapsed===t){Ed();return}y.docks[e].collapsed=t,Ed()}function Pt(e){fr(e,!y.docks[e].collapsed)}function oL(e,t){y.docks[e].size=t}function fs(e){y.leftTab=e,fr("left",!1),Ed()}function Td(e){y.bottomTab=e,fr("bottom",!1),Ed()}function NC(e){if(y.theme===e)return;y.theme=e,qr(_t.theme,e)}function rL(e){if(e===y.leftTab&&!y.docks.left.collapsed){fr("left",!0);return}fs(e)}function OC(e){y.layoutSelection=e}function Zb(){Object.assign(y.git,we()),Object.assign(y.stylebook,Pe()),y.settingsTab="stylebook",y.layoutSelection=null,ne=null,Y=void 0}var I=(e)=>e.project.open;function kt(e){return[{args:Se({tab:Do(W,"Which Navigator panel to show.")}),category:"View",id:"view.setActivity",level:"application",menus:["commandbar/overflow","palette"],group:"4_docks",requires:"an open project",when:I,run:(t,o)=>{let n=li("view.setActivity",o,"tab",W);if(e.panelAvailable&&!e.panelAvailable(n))throw RangeError(`command "view.setActivity" argument "tab": "${n}" names a panel that is registered but not available right now, so showing it would persist a Navigator tab nothing can draw`);fs(n)},title:"Show Navigator Panel"},{args:Se({tab:Do(K,"Which Inspector tab to show.")}),category:"View",id:"view.setRightTab",level:"document",menus:["palette"],group:"4_docks",requires:"an open document",when:(t)=>t.document.open,run:(t,o)=>{e.setInspectorTab(li("view.setRightTab",o,"tab",K))},title:"Show Inspector Tab"},{args:Se({open:oo("True to show the Navigator dock, false to collapse it.")}),category:"View",id:"view.setNavigator",level:"application",menus:["palette"],group:"4_docks",run:(t,o)=>{fr("left",!yi("view.setNavigator",o,"open"))},title:"Show Navigator Dock"},{args:Se({open:oo("True to show the Inspector dock, false to collapse it.")}),category:"View",id:"view.setRightPanel",level:"application",menus:["palette"],group:"4_docks",run:(t,o)=>{fr("right",!yi("view.setRightPanel",o,"open"))},title:"Show Inspector Dock"},{args:Se({open:oo("True to show the Bottom dock, false to collapse it.")}),category:"View",id:"view.setBottomDock",level:"application",menus:["palette"],group:"4_docks",run:(t,o)=>{fr("bottom",!yi("view.setBottomDock",o,"open"))},title:"Show Bottom Dock"},{category:"View",id:"view.toggleBottomDock",keybinding:"mod+j",level:"application",menus:["commandbar/overflow","palette"],group:"4_docks",run:()=>{Pt("bottom")},title:"Toggle Bottom Dock"},{args:Se({tab:Do(Gb,"Which Bottom dock tab to show.")}),category:"View",id:"view.setBottomTab",level:"application",menus:["palette"],group:"4_docks",run:(t,o)=>{let n=li("view.setBottomTab",o,"tab",Gb);if(e.panelAvailable&&!e.panelAvailable(n))throw RangeError(`command "view.setBottomTab" argument "tab": "${n}" names a panel that is registered but not available right now, so showing it would persist a Bottom dock tab nothing can draw`);Td(n)},title:"Show Bottom Dock Tab"},{args:Se({open:oo("True to show the Assistant tab, false to step off it.")}),category:"View",id:"view.setAssistant",level:"application",menus:["never"],group:"4_docks",run:(t,o)=>{if(yi("view.setAssistant",o,"open")){fr("right",!1),e.setInspectorTab("assistant");return}if(e.inspectorTab()==="assistant")e.setInspectorTab(qb)},title:"Show Assistant"},{args:Se({layout:He("The layout's id — one of this project's saved layouts.")}),category:"View",id:"view.setLayout",level:"application",menus:["palette"],group:"4_layouts",requires:"an open project",when:I,run:(t,o)=>{Te(ot("view.setLayout",o,"layout"),e)},title:"Switch Layout"},{args:Se({name:He("What to call this arrangement. An existing name is overwritten.")}),category:"View",id:"view.saveLayout",level:"application",menus:["palette"],group:"4_layouts",requires:"an open project",when:I,run:(t,o)=>{gt(ot("view.saveLayout",o,"name"),e)},title:"Save Layout"},{args:Se({layout:He("The layout's id."),name:He("Its new name. The id, and every reference to it, is unchanged.")}),category:"View",id:"view.renameLayout",level:"application",menus:["palette"],group:"4_layouts",requires:"an open project",when:I,run:(t,o)=>{yt(ot("view.renameLayout",o,"layout"),ot("view.renameLayout",o,"name"))},title:"Rename Layout"},{args:Se({layout:He("The layout's id. The last remaining layout is kept.")}),category:"View",id:"view.deleteLayout",level:"application",menus:["palette"],group:"4_layouts",requires:"an open project",when:I,run:(t,o)=>{bt(ot("view.deleteLayout",o,"layout"))},title:"Delete Layout"},{category:"View",id:"view.resetLayout",level:"application",menus:["palette"],group:"4_layouts",requires:"an open project",when:I,run:()=>{ht(e)},title:"Reset Layout"},{args:Se({color:Do(Jb,"The Studio chrome's theme.")}),category:"View",id:"view.setTheme",level:"application",menus:["palette"],group:"6_appearance",run:(t,o)=>{NC(li("view.setTheme",o,"color",Jb))},title:"Set Theme"}]}function sL(e,t){e.registerAll(kt(t))}function ju(e){return pr(e,xt())}var P=null,L=null,j=null,T=null;function xt(){return Ce()?.doc.layout??T}var ie=null;function Ce(){let e=m.tabs.get(ai);return e?re(e):null}function Tt(){if(L)fp(L),L=null;P=null,j=null,T=null,ie=null}function Le(){return ie??=(async()=>{try{let e=await p().readFile(ai),{document:t,layout:o}=hs(e);T=o,j=ju(t)}catch{j=null}})(),ie}async function DC(e){if(await Le(),e.doc.layout===null&&T!==null)e.doc.layout=T}function It(e){let t=vt();if(t.projectConfig===e)return;Hl({...t,projectConfig:e}),Ua(m.projectRoot,e)}function Ct(){let e=vt()?.projectConfig;return e?re(e):null}function je(e,t){for(let o of Object.keys(e))delete e[o];Object.assign(e,t)}function _e(e){return P=e,e.scope.run(()=>{Q(()=>{let t=e.doc.document;if(P!==e||!vt())return;It(re(t))})}),e}function Ae(){let e=vt(),t=Ce();if(P&&(P!==(t??L)||re(P.doc.document)!==e.projectConfig))Tt();if(P)return P;if(t)return _e(t);return L=cv({document:e.projectConfig??{},documentPath:ai,id:ai}),_e(L)}function Ie(e){return JSON.stringify(e.extensions??null)}async function Lt(){let{loadFormats:e,refreshExtensionUi:t,refreshFormats:o}=await (me("e2pjvd25"),import("./format-host-e2pjvd25.js"));o(),e(),t(p())}async function kd(e){let t=Ct(),o=Ae();await DC(o);let n=re(o.doc.document),r=ju(n),i=t&&t!==n&&ju(t)!==r?t:null;if(i&&o.doc.dirty){let d=Error(`${ai} has unsaved changes in its editor tab`);return k.error(`Could not save ${ai} — the file is open with unsaved changes. Save or `+"revert that tab, then make the settings change again.",{key:`save:${ai}`,path:ai,source:"Settings"}),{error:d,ok:!1}}let s=i??n,a=e?{...s,...e}:s,f=ju(a);if(!i&&!o.doc.dirty&&f===j)return{ok:!0};let u=Ie(n);q(o,(d)=>{let g=d.doc.document;if(i)je(g,i);for(let[b,h]of Object.entries(e??{}))g[b]=h});let l=re(o.doc.document),c=ju(l);try{await p().writeFile(ai,c)}catch(d){return k.error(`Could not save ${ai} — ${te(d)}`,{key:`save:${ai}`,path:ai,source:"Settings"}),{error:d,ok:!1}}if(j=c,o.doc.dirty=!1,Ie(l)!==u)await Lt();return{ok:!0}}async function KT(e,t){if(!vt()){Ua(m.projectRoot,e);return}let o=Ae();q(o,(n)=>je(n.doc.document,e),{skipHistory:!0}),o.doc.dirty=!1,await Le(),T=H(t),o.doc.layout=T,j=ju(e)}function Di(e){let t=D?.projectConfig?.$media;if(!t)return e||{};if(!e)return{...t};return{...t,...e}}function qo(e){let t=D?.projectConfig?.style;if(!t)return e||{};if(!e)return{...t};let o={...t};for(let[n,r]of Object.entries(e))o[n]=typeof r==="object"&&r!==null&&typeof o[n]==="object"&&o[n]!==null?{...o[n],...r}:r;return o}function JT(e){let t=D?.projectConfig?.imports;if(!t)return e||{};if(!e)return{...t};return{...t,...e}}function Vb(e){let t=D?.projectConfig?.$elements;if(!t?.length)return e||[];if(!e?.length)return[...t];let o=new Set,n=[];for(let r of[...t,...e]){let i=typeof r==="string"?r:r?.$ref;if(i&&!o.has(i))o.add(i),n.push(r)}return n}function YT(e){let t=D?.projectConfig?.$head;if(!t?.length)return e||[];if(!e?.length)return[...t];let o=new Set,n=[];for(let r of[...t,...e]){let i=String(r?.attributes?.href||r?.attributes?.src||"")||JSON.stringify(r);if(!o.has(i))o.add(i),n.push(r)}return n}function ps(){let e=D?.projectConfig;return e?$o(e).i18n:null}var F=new Map;function bx(){F.clear()}function $l(e){if(e===!1)return null;let t=D?.projectConfig?.defaults?.layout;return e||t||null}async function Ub(e){let t=e.replace(/^\.\//,"");if(F.has(t))return structuredClone(F.get(t));try{let n=await p().readFile(t),r=JSON.parse(n);return F.set(t,r),structuredClone(r)}catch{return null}}function ZT(e,t){let o=t.children??[],n=Array.isArray(o)?o:[],r=new Map,i=[];for(let s of n){let a=typeof s==="object"?s.attributes?.slot:void 0;if(typeof s==="object"&&typeof a==="string"&&a){if(!r.has(a))r.set(a,[]);r.get(a).push(s)}else i.push(s)}if(Re(e,r,i),t.state)e.state={...e.state,...t.state};if(t.$media)e.$media={...e.$media,...t.$media};if(t.style)e.style={...e.style,...t.style};if(t.attributes)e.attributes={...e.attributes,...t.attributes};return e}function Re(e,t,o){if(!e||typeof e!=="object")return;if(!Array.isArray(e.children))return;let n=[];for(let r of e.children)if(r&&typeof r==="object"&&r.tagName==="slot"){let i=r.attributes?.name;if(typeof i==="string"&&i&&t.has(i))n.push(...t.get(i)),t.delete(i);else if(!i&&o.length>0)n.push(...o);else if(Array.isArray(r.children))n.push(...r.children)}else{if(typeof r!=="string")Re(r,t,o);n.push(r)}e.children=n}async function Bi(e){let t=await kd(e);if(!t.ok)throw t.error}
13
+ export{hs,pr,ju,DC,kd,KT,Di,qo,JT,Vb,YT,ps,bx,$l,Ub,ZT,Bi,XT,vx,qb,yx,Gb,wx,Kb,Jb,Sd,QT,AC,xx,_x,eL,y,Ed,tL,Yb,nL,dp,dm,iL,fr,oL,fs,Td,NC,rL,OC,Zb,sL};
14
+
15
+ //# debugId=F4358AED35E7AC6364756E2164756E21
16
+ //# sourceMappingURL=studio-zpnk016a.js.map
@@ -1,14 +1,14 @@
1
- import{cu,Ls,ky,tc,Tn,pe}from"./studio-fsbcn530.js";import{kv}from"./studio-ccegp7gz.js";import{pS}from"./studio-gftga7a3.js";class z{constructor(o,e){this._modeId=o,this._defaults=e,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){if(this._worker)this._worker.dispose(),this._worker=null;this._client=null}async _updateExtraLibs(){if(!this._worker)return;let o=++this._updateExtraLibsToken,e=await this._worker.getProxy();if(this._updateExtraLibsToken!==o)return;e.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){if(!this._client)this._client=(async()=>{if(this._worker=kv({moduleId:"vs/language/typescript/tsWorker",createWorker:()=>new Worker(new URL("ts.worker.js",import.meta.url),{type:"module"}),label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync())return await this._worker.withSyncedResources(Tn.getModels().filter((o)=>o.getLanguageId()===this._modeId).map((o)=>o.uri));return await this._worker.getProxy()})();return this._client}async getLanguageServiceWorker(...o){let e=await this._getClient();if(this._worker)await this._worker.withSyncedResources(o);return e}}var i={};i["lib.d.ts"]=!0;i["lib.decorators.d.ts"]=!0;i["lib.decorators.legacy.d.ts"]=!0;i["lib.dom.asynciterable.d.ts"]=!0;i["lib.dom.d.ts"]=!0;i["lib.dom.iterable.d.ts"]=!0;i["lib.es2015.collection.d.ts"]=!0;i["lib.es2015.core.d.ts"]=!0;i["lib.es2015.d.ts"]=!0;i["lib.es2015.generator.d.ts"]=!0;i["lib.es2015.iterable.d.ts"]=!0;i["lib.es2015.promise.d.ts"]=!0;i["lib.es2015.proxy.d.ts"]=!0;i["lib.es2015.reflect.d.ts"]=!0;i["lib.es2015.symbol.d.ts"]=!0;i["lib.es2015.symbol.wellknown.d.ts"]=!0;i["lib.es2016.array.include.d.ts"]=!0;i["lib.es2016.d.ts"]=!0;i["lib.es2016.full.d.ts"]=!0;i["lib.es2016.intl.d.ts"]=!0;i["lib.es2017.arraybuffer.d.ts"]=!0;i["lib.es2017.d.ts"]=!0;i["lib.es2017.date.d.ts"]=!0;i["lib.es2017.full.d.ts"]=!0;i["lib.es2017.intl.d.ts"]=!0;i["lib.es2017.object.d.ts"]=!0;i["lib.es2017.sharedmemory.d.ts"]=!0;i["lib.es2017.string.d.ts"]=!0;i["lib.es2017.typedarrays.d.ts"]=!0;i["lib.es2018.asyncgenerator.d.ts"]=!0;i["lib.es2018.asynciterable.d.ts"]=!0;i["lib.es2018.d.ts"]=!0;i["lib.es2018.full.d.ts"]=!0;i["lib.es2018.intl.d.ts"]=!0;i["lib.es2018.promise.d.ts"]=!0;i["lib.es2018.regexp.d.ts"]=!0;i["lib.es2019.array.d.ts"]=!0;i["lib.es2019.d.ts"]=!0;i["lib.es2019.full.d.ts"]=!0;i["lib.es2019.intl.d.ts"]=!0;i["lib.es2019.object.d.ts"]=!0;i["lib.es2019.string.d.ts"]=!0;i["lib.es2019.symbol.d.ts"]=!0;i["lib.es2020.bigint.d.ts"]=!0;i["lib.es2020.d.ts"]=!0;i["lib.es2020.date.d.ts"]=!0;i["lib.es2020.full.d.ts"]=!0;i["lib.es2020.intl.d.ts"]=!0;i["lib.es2020.number.d.ts"]=!0;i["lib.es2020.promise.d.ts"]=!0;i["lib.es2020.sharedmemory.d.ts"]=!0;i["lib.es2020.string.d.ts"]=!0;i["lib.es2020.symbol.wellknown.d.ts"]=!0;i["lib.es2021.d.ts"]=!0;i["lib.es2021.full.d.ts"]=!0;i["lib.es2021.intl.d.ts"]=!0;i["lib.es2021.promise.d.ts"]=!0;i["lib.es2021.string.d.ts"]=!0;i["lib.es2021.weakref.d.ts"]=!0;i["lib.es2022.array.d.ts"]=!0;i["lib.es2022.d.ts"]=!0;i["lib.es2022.error.d.ts"]=!0;i["lib.es2022.full.d.ts"]=!0;i["lib.es2022.intl.d.ts"]=!0;i["lib.es2022.object.d.ts"]=!0;i["lib.es2022.regexp.d.ts"]=!0;i["lib.es2022.string.d.ts"]=!0;i["lib.es2023.array.d.ts"]=!0;i["lib.es2023.collection.d.ts"]=!0;i["lib.es2023.d.ts"]=!0;i["lib.es2023.full.d.ts"]=!0;i["lib.es2023.intl.d.ts"]=!0;i["lib.es2024.arraybuffer.d.ts"]=!0;i["lib.es2024.collection.d.ts"]=!0;i["lib.es2024.d.ts"]=!0;i["lib.es2024.full.d.ts"]=!0;i["lib.es2024.object.d.ts"]=!0;i["lib.es2024.promise.d.ts"]=!0;i["lib.es2024.regexp.d.ts"]=!0;i["lib.es2024.sharedmemory.d.ts"]=!0;i["lib.es2024.string.d.ts"]=!0;i["lib.es5.d.ts"]=!0;i["lib.es6.d.ts"]=!0;i["lib.esnext.array.d.ts"]=!0;i["lib.esnext.collection.d.ts"]=!0;i["lib.esnext.d.ts"]=!0;i["lib.esnext.decorators.d.ts"]=!0;i["lib.esnext.disposable.d.ts"]=!0;i["lib.esnext.error.d.ts"]=!0;i["lib.esnext.float16.d.ts"]=!0;i["lib.esnext.full.d.ts"]=!0;i["lib.esnext.intl.d.ts"]=!0;i["lib.esnext.iterator.d.ts"]=!0;i["lib.esnext.promise.d.ts"]=!0;i["lib.esnext.sharedmemory.d.ts"]=!0;i["lib.scripthost.d.ts"]=!0;i["lib.webworker.asynciterable.d.ts"]=!0;i["lib.webworker.d.ts"]=!0;i["lib.webworker.importscripts.d.ts"]=!0;i["lib.webworker.iterable.d.ts"]=!0;function M(o,e,n=0){if(typeof o==="string")return o;else if(o===void 0)return"";let c="";if(n){c+=e;for(let r=0;r<n;r++)c+=" "}if(c+=o.messageText,n++,o.next)for(let r of o.next)c+=M(r,e,n);return c}function v(o){if(o)return o.map((e)=>e.text).join("");return""}class b{constructor(o){this._worker=o}_textSpanToRange(o,e){let n=o.getPositionAt(e.start),c=o.getPositionAt(e.start+e.length),{lineNumber:r,column:s}=n,{lineNumber:d,column:t}=c;return{startLineNumber:r,startColumn:s,endLineNumber:d,endColumn:t}}}class A{constructor(o){this._worker=o,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(o){if(!o)return!1;if(o.path.indexOf("/lib.")===0)return!!i[o.path.slice(1)];return!1}getOrCreateModel(o){let e=tc.parse(o),n=Tn.getModel(e);if(n)return n;if(this.isLibFile(e)&&this._hasFetchedLibFiles)return Tn.createModel(this._libFiles[e.path.slice(1)],"typescript",e);let c=pS.getExtraLibs()[o];if(c)return Tn.createModel(c.content,"typescript",e);return null}_containsLibFile(o){for(let e of o)if(this.isLibFile(e))return!0;return!1}async fetchLibFilesIfNecessary(o){if(!this._containsLibFile(o))return;await this._fetchLibFiles()}_fetchLibFiles(){if(!this._fetchLibFilesPromise)this._fetchLibFilesPromise=this._worker().then((o)=>o.getLibFiles()).then((o)=>{this._hasFetchedLibFiles=!0,this._libFiles=o});return this._fetchLibFilesPromise}}class C extends b{constructor(o,e,n,c){super(c);this._libFiles=o,this._defaults=e,this._selector=n,this._disposables=[],this._listener=Object.create(null);let r=(t)=>{if(t.getLanguageId()!==n)return;let l=()=>{let{onlyVisible:u}=this._defaults.getDiagnosticsOptions();if(u){if(t.isAttachedToEditor())this._doValidate(t)}else this._doValidate(t)},p,g=t.onDidChangeContent(()=>{clearTimeout(p),p=window.setTimeout(l,500)}),m=t.onDidChangeAttached(()=>{let{onlyVisible:u}=this._defaults.getDiagnosticsOptions();if(u)if(t.isAttachedToEditor())l();else Tn.setModelMarkers(t,this._selector,[])});this._listener[t.uri.toString()]={dispose(){g.dispose(),m.dispose(),clearTimeout(p)}},l()},s=(t)=>{Tn.setModelMarkers(t,this._selector,[]);let l=t.uri.toString();if(this._listener[l])this._listener[l].dispose(),delete this._listener[l]};this._disposables.push(Tn.onDidCreateModel((t)=>r(t))),this._disposables.push(Tn.onWillDisposeModel(s)),this._disposables.push(Tn.onDidChangeModelLanguage((t)=>{s(t.model),r(t.model)})),this._disposables.push({dispose(){for(let t of Tn.getModels())s(t)}});let d=()=>{for(let t of Tn.getModels())s(t),r(t)};this._disposables.push(this._defaults.onDidChange(d)),this._disposables.push(this._defaults.onDidExtraLibsChange(d)),Tn.getModels().forEach((t)=>r(t))}dispose(){this._disposables.forEach((o)=>o&&o.dispose()),this._disposables=[]}async _doValidate(o){let e=await this._worker(o.uri);if(o.isDisposed())return;let n=[],{noSyntaxValidation:c,noSemanticValidation:r,noSuggestionDiagnostics:s}=this._defaults.getDiagnosticsOptions();if(!c)n.push(e.getSyntacticDiagnostics(o.uri.toString()));if(!r)n.push(e.getSemanticDiagnostics(o.uri.toString()));if(!s)n.push(e.getSuggestionDiagnostics(o.uri.toString()));let d=await Promise.all(n);if(!d||o.isDisposed())return;let t=d.reduce((p,g)=>g.concat(p),[]).filter((p)=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(p.code)===-1),l=t.map((p)=>p.relatedInformation||[]).reduce((p,g)=>g.concat(p),[]).map((p)=>p.file?tc.parse(p.file.fileName):null);if(await this._libFiles.fetchLibFilesIfNecessary(l),o.isDisposed())return;Tn.setModelMarkers(o,this._selector,t.map((p)=>this._convertDiagnostics(o,p)))}_convertDiagnostics(o,e){let n=e.start||0,c=e.length||1,{lineNumber:r,column:s}=o.getPositionAt(n),{lineNumber:d,column:t}=o.getPositionAt(n+c),l=[];if(e.reportsUnnecessary)l.push(ky.Unnecessary);if(e.reportsDeprecated)l.push(ky.Deprecated);return{severity:this._tsDiagnosticCategoryToMarkerSeverity(e.category),startLineNumber:r,startColumn:s,endLineNumber:d,endColumn:t,message:M(e.messageText,`
1
+ import{gu,Ns,jy,sc,Tn,pe}from"./studio-01kbbqg3.js";import{jv}from"./studio-5e9zsamh.js";import{Fk}from"./studio-x92tgnee.js";class z{constructor(o,e){this._modeId=o,this._defaults=e,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){if(this._worker)this._worker.dispose(),this._worker=null;this._client=null}async _updateExtraLibs(){if(!this._worker)return;let o=++this._updateExtraLibsToken,e=await this._worker.getProxy();if(this._updateExtraLibsToken!==o)return;e.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){if(!this._client)this._client=(async()=>{if(this._worker=jv({moduleId:"vs/language/typescript/tsWorker",createWorker:()=>new Worker(new URL("ts.worker.js",import.meta.url),{type:"module"}),label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync())return await this._worker.withSyncedResources(Tn.getModels().filter((o)=>o.getLanguageId()===this._modeId).map((o)=>o.uri));return await this._worker.getProxy()})();return this._client}async getLanguageServiceWorker(...o){let e=await this._getClient();if(this._worker)await this._worker.withSyncedResources(o);return e}}var i={};i["lib.d.ts"]=!0;i["lib.decorators.d.ts"]=!0;i["lib.decorators.legacy.d.ts"]=!0;i["lib.dom.asynciterable.d.ts"]=!0;i["lib.dom.d.ts"]=!0;i["lib.dom.iterable.d.ts"]=!0;i["lib.es2015.collection.d.ts"]=!0;i["lib.es2015.core.d.ts"]=!0;i["lib.es2015.d.ts"]=!0;i["lib.es2015.generator.d.ts"]=!0;i["lib.es2015.iterable.d.ts"]=!0;i["lib.es2015.promise.d.ts"]=!0;i["lib.es2015.proxy.d.ts"]=!0;i["lib.es2015.reflect.d.ts"]=!0;i["lib.es2015.symbol.d.ts"]=!0;i["lib.es2015.symbol.wellknown.d.ts"]=!0;i["lib.es2016.array.include.d.ts"]=!0;i["lib.es2016.d.ts"]=!0;i["lib.es2016.full.d.ts"]=!0;i["lib.es2016.intl.d.ts"]=!0;i["lib.es2017.arraybuffer.d.ts"]=!0;i["lib.es2017.d.ts"]=!0;i["lib.es2017.date.d.ts"]=!0;i["lib.es2017.full.d.ts"]=!0;i["lib.es2017.intl.d.ts"]=!0;i["lib.es2017.object.d.ts"]=!0;i["lib.es2017.sharedmemory.d.ts"]=!0;i["lib.es2017.string.d.ts"]=!0;i["lib.es2017.typedarrays.d.ts"]=!0;i["lib.es2018.asyncgenerator.d.ts"]=!0;i["lib.es2018.asynciterable.d.ts"]=!0;i["lib.es2018.d.ts"]=!0;i["lib.es2018.full.d.ts"]=!0;i["lib.es2018.intl.d.ts"]=!0;i["lib.es2018.promise.d.ts"]=!0;i["lib.es2018.regexp.d.ts"]=!0;i["lib.es2019.array.d.ts"]=!0;i["lib.es2019.d.ts"]=!0;i["lib.es2019.full.d.ts"]=!0;i["lib.es2019.intl.d.ts"]=!0;i["lib.es2019.object.d.ts"]=!0;i["lib.es2019.string.d.ts"]=!0;i["lib.es2019.symbol.d.ts"]=!0;i["lib.es2020.bigint.d.ts"]=!0;i["lib.es2020.d.ts"]=!0;i["lib.es2020.date.d.ts"]=!0;i["lib.es2020.full.d.ts"]=!0;i["lib.es2020.intl.d.ts"]=!0;i["lib.es2020.number.d.ts"]=!0;i["lib.es2020.promise.d.ts"]=!0;i["lib.es2020.sharedmemory.d.ts"]=!0;i["lib.es2020.string.d.ts"]=!0;i["lib.es2020.symbol.wellknown.d.ts"]=!0;i["lib.es2021.d.ts"]=!0;i["lib.es2021.full.d.ts"]=!0;i["lib.es2021.intl.d.ts"]=!0;i["lib.es2021.promise.d.ts"]=!0;i["lib.es2021.string.d.ts"]=!0;i["lib.es2021.weakref.d.ts"]=!0;i["lib.es2022.array.d.ts"]=!0;i["lib.es2022.d.ts"]=!0;i["lib.es2022.error.d.ts"]=!0;i["lib.es2022.full.d.ts"]=!0;i["lib.es2022.intl.d.ts"]=!0;i["lib.es2022.object.d.ts"]=!0;i["lib.es2022.regexp.d.ts"]=!0;i["lib.es2022.string.d.ts"]=!0;i["lib.es2023.array.d.ts"]=!0;i["lib.es2023.collection.d.ts"]=!0;i["lib.es2023.d.ts"]=!0;i["lib.es2023.full.d.ts"]=!0;i["lib.es2023.intl.d.ts"]=!0;i["lib.es2024.arraybuffer.d.ts"]=!0;i["lib.es2024.collection.d.ts"]=!0;i["lib.es2024.d.ts"]=!0;i["lib.es2024.full.d.ts"]=!0;i["lib.es2024.object.d.ts"]=!0;i["lib.es2024.promise.d.ts"]=!0;i["lib.es2024.regexp.d.ts"]=!0;i["lib.es2024.sharedmemory.d.ts"]=!0;i["lib.es2024.string.d.ts"]=!0;i["lib.es5.d.ts"]=!0;i["lib.es6.d.ts"]=!0;i["lib.esnext.array.d.ts"]=!0;i["lib.esnext.collection.d.ts"]=!0;i["lib.esnext.d.ts"]=!0;i["lib.esnext.decorators.d.ts"]=!0;i["lib.esnext.disposable.d.ts"]=!0;i["lib.esnext.error.d.ts"]=!0;i["lib.esnext.float16.d.ts"]=!0;i["lib.esnext.full.d.ts"]=!0;i["lib.esnext.intl.d.ts"]=!0;i["lib.esnext.iterator.d.ts"]=!0;i["lib.esnext.promise.d.ts"]=!0;i["lib.esnext.sharedmemory.d.ts"]=!0;i["lib.scripthost.d.ts"]=!0;i["lib.webworker.asynciterable.d.ts"]=!0;i["lib.webworker.d.ts"]=!0;i["lib.webworker.importscripts.d.ts"]=!0;i["lib.webworker.iterable.d.ts"]=!0;function M(o,e,n=0){if(typeof o==="string")return o;else if(o===void 0)return"";let c="";if(n){c+=e;for(let r=0;r<n;r++)c+=" "}if(c+=o.messageText,n++,o.next)for(let r of o.next)c+=M(r,e,n);return c}function v(o){if(o)return o.map((e)=>e.text).join("");return""}class b{constructor(o){this._worker=o}_textSpanToRange(o,e){let n=o.getPositionAt(e.start),c=o.getPositionAt(e.start+e.length),{lineNumber:r,column:s}=n,{lineNumber:d,column:t}=c;return{startLineNumber:r,startColumn:s,endLineNumber:d,endColumn:t}}}class A{constructor(o){this._worker=o,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(o){if(!o)return!1;if(o.path.indexOf("/lib.")===0)return!!i[o.path.slice(1)];return!1}getOrCreateModel(o){let e=sc.parse(o),n=Tn.getModel(e);if(n)return n;if(this.isLibFile(e)&&this._hasFetchedLibFiles)return Tn.createModel(this._libFiles[e.path.slice(1)],"typescript",e);let c=Fk.getExtraLibs()[o];if(c)return Tn.createModel(c.content,"typescript",e);return null}_containsLibFile(o){for(let e of o)if(this.isLibFile(e))return!0;return!1}async fetchLibFilesIfNecessary(o){if(!this._containsLibFile(o))return;await this._fetchLibFiles()}_fetchLibFiles(){if(!this._fetchLibFilesPromise)this._fetchLibFilesPromise=this._worker().then((o)=>o.getLibFiles()).then((o)=>{this._hasFetchedLibFiles=!0,this._libFiles=o});return this._fetchLibFilesPromise}}class C extends b{constructor(o,e,n,c){super(c);this._libFiles=o,this._defaults=e,this._selector=n,this._disposables=[],this._listener=Object.create(null);let r=(t)=>{if(t.getLanguageId()!==n)return;let l=()=>{let{onlyVisible:u}=this._defaults.getDiagnosticsOptions();if(u){if(t.isAttachedToEditor())this._doValidate(t)}else this._doValidate(t)},p,g=t.onDidChangeContent(()=>{clearTimeout(p),p=window.setTimeout(l,500)}),m=t.onDidChangeAttached(()=>{let{onlyVisible:u}=this._defaults.getDiagnosticsOptions();if(u)if(t.isAttachedToEditor())l();else Tn.setModelMarkers(t,this._selector,[])});this._listener[t.uri.toString()]={dispose(){g.dispose(),m.dispose(),clearTimeout(p)}},l()},s=(t)=>{Tn.setModelMarkers(t,this._selector,[]);let l=t.uri.toString();if(this._listener[l])this._listener[l].dispose(),delete this._listener[l]};this._disposables.push(Tn.onDidCreateModel((t)=>r(t))),this._disposables.push(Tn.onWillDisposeModel(s)),this._disposables.push(Tn.onDidChangeModelLanguage((t)=>{s(t.model),r(t.model)})),this._disposables.push({dispose(){for(let t of Tn.getModels())s(t)}});let d=()=>{for(let t of Tn.getModels())s(t),r(t)};this._disposables.push(this._defaults.onDidChange(d)),this._disposables.push(this._defaults.onDidExtraLibsChange(d)),Tn.getModels().forEach((t)=>r(t))}dispose(){this._disposables.forEach((o)=>o&&o.dispose()),this._disposables=[]}async _doValidate(o){let e=await this._worker(o.uri);if(o.isDisposed())return;let n=[],{noSyntaxValidation:c,noSemanticValidation:r,noSuggestionDiagnostics:s}=this._defaults.getDiagnosticsOptions();if(!c)n.push(e.getSyntacticDiagnostics(o.uri.toString()));if(!r)n.push(e.getSemanticDiagnostics(o.uri.toString()));if(!s)n.push(e.getSuggestionDiagnostics(o.uri.toString()));let d=await Promise.all(n);if(!d||o.isDisposed())return;let t=d.reduce((p,g)=>g.concat(p),[]).filter((p)=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(p.code)===-1),l=t.map((p)=>p.relatedInformation||[]).reduce((p,g)=>g.concat(p),[]).map((p)=>p.file?sc.parse(p.file.fileName):null);if(await this._libFiles.fetchLibFilesIfNecessary(l),o.isDisposed())return;Tn.setModelMarkers(o,this._selector,t.map((p)=>this._convertDiagnostics(o,p)))}_convertDiagnostics(o,e){let n=e.start||0,c=e.length||1,{lineNumber:r,column:s}=o.getPositionAt(n),{lineNumber:d,column:t}=o.getPositionAt(n+c),l=[];if(e.reportsUnnecessary)l.push(jy.Unnecessary);if(e.reportsDeprecated)l.push(jy.Deprecated);return{severity:this._tsDiagnosticCategoryToMarkerSeverity(e.category),startLineNumber:r,startColumn:s,endLineNumber:d,endColumn:t,message:M(e.messageText,`
2
2
  `),code:e.code.toString(),tags:l,relatedInformation:this._convertRelatedInformation(o,e.relatedInformation)}}_convertRelatedInformation(o,e){if(!e)return[];let n=[];return e.forEach((c)=>{let r=o;if(c.file)r=this._libFiles.getOrCreateModel(c.file.fileName);if(!r)return;let s=c.start||0,d=c.length||1,{lineNumber:t,column:l}=r.getPositionAt(s),{lineNumber:p,column:g}=r.getPositionAt(s+d);n.push({resource:r.uri,startLineNumber:t,startColumn:l,endLineNumber:p,endColumn:g,message:M(c.messageText,`
3
- `)})}),n}_tsDiagnosticCategoryToMarkerSeverity(o){switch(o){case 1:return Ls.Error;case 3:return Ls.Info;case 0:return Ls.Warning;case 2:return Ls.Hint}return Ls.Info}}class x extends b{get triggerCharacters(){return["."]}async provideCompletionItems(o,e,n,c){let r=o.getWordUntilPosition(e),s=new cu(e.lineNumber,r.startColumn,e.lineNumber,r.endColumn),d=o.uri,t=o.getOffsetAt(e),l=await this._worker(d);if(o.isDisposed())return;let p=await l.getCompletionsAtPosition(d.toString(),t);if(!p||o.isDisposed())return;return{suggestions:p.entries.map((m)=>{let u=s;if(m.replacementSpan){let k=o.getPositionAt(m.replacementSpan.start),y=o.getPositionAt(m.replacementSpan.start+m.replacementSpan.length);u=new cu(k.lineNumber,k.column,y.lineNumber,y.column)}let w=[];if(m.kindModifiers!==void 0&&m.kindModifiers.indexOf("deprecated")!==-1)w.push(pe.CompletionItemTag.Deprecated);return{uri:d,position:e,offset:t,range:u,label:m.name,insertText:m.name,sortText:m.sortText,kind:x.convertKind(m.kind),tags:w}})}}async resolveCompletionItem(o,e){let n=o,{uri:c,position:r,offset:s}=n,t=await(await this._worker(c)).getCompletionEntryDetails(c.toString(),s,n.label);if(!t)return n;return{uri:c,position:r,label:t.name,kind:x.convertKind(t.kind),detail:v(t.displayParts),documentation:{value:x.createDocumentationString(t)}}}static convertKind(o){switch(o){case a.primitiveType:case a.keyword:return pe.CompletionItemKind.Keyword;case a.variable:case a.localVariable:return pe.CompletionItemKind.Variable;case a.memberVariable:case a.memberGetAccessor:case a.memberSetAccessor:return pe.CompletionItemKind.Field;case a.function:case a.memberFunction:case a.constructSignature:case a.callSignature:case a.indexSignature:return pe.CompletionItemKind.Function;case a.enum:return pe.CompletionItemKind.Enum;case a.module:return pe.CompletionItemKind.Module;case a.class:return pe.CompletionItemKind.Class;case a.interface:return pe.CompletionItemKind.Interface;case a.warning:return pe.CompletionItemKind.File}return pe.CompletionItemKind.Property}static createDocumentationString(o){let e=v(o.documentation);if(o.tags)for(let n of o.tags)e+=`
3
+ `)})}),n}_tsDiagnosticCategoryToMarkerSeverity(o){switch(o){case 1:return Ns.Error;case 3:return Ns.Info;case 0:return Ns.Warning;case 2:return Ns.Hint}return Ns.Info}}class x extends b{get triggerCharacters(){return["."]}async provideCompletionItems(o,e,n,c){let r=o.getWordUntilPosition(e),s=new gu(e.lineNumber,r.startColumn,e.lineNumber,r.endColumn),d=o.uri,t=o.getOffsetAt(e),l=await this._worker(d);if(o.isDisposed())return;let p=await l.getCompletionsAtPosition(d.toString(),t);if(!p||o.isDisposed())return;return{suggestions:p.entries.map((m)=>{let u=s;if(m.replacementSpan){let k=o.getPositionAt(m.replacementSpan.start),y=o.getPositionAt(m.replacementSpan.start+m.replacementSpan.length);u=new gu(k.lineNumber,k.column,y.lineNumber,y.column)}let w=[];if(m.kindModifiers!==void 0&&m.kindModifiers.indexOf("deprecated")!==-1)w.push(pe.CompletionItemTag.Deprecated);return{uri:d,position:e,offset:t,range:u,label:m.name,insertText:m.name,sortText:m.sortText,kind:x.convertKind(m.kind),tags:w}})}}async resolveCompletionItem(o,e){let n=o,{uri:c,position:r,offset:s}=n,t=await(await this._worker(c)).getCompletionEntryDetails(c.toString(),s,n.label);if(!t)return n;return{uri:c,position:r,label:t.name,kind:x.convertKind(t.kind),detail:v(t.displayParts),documentation:{value:x.createDocumentationString(t)}}}static convertKind(o){switch(o){case a.primitiveType:case a.keyword:return pe.CompletionItemKind.Keyword;case a.variable:case a.localVariable:return pe.CompletionItemKind.Variable;case a.memberVariable:case a.memberGetAccessor:case a.memberSetAccessor:return pe.CompletionItemKind.Field;case a.function:case a.memberFunction:case a.constructSignature:case a.callSignature:case a.indexSignature:return pe.CompletionItemKind.Function;case a.enum:return pe.CompletionItemKind.Enum;case a.module:return pe.CompletionItemKind.Module;case a.class:return pe.CompletionItemKind.Class;case a.interface:return pe.CompletionItemKind.Interface;case a.warning:return pe.CompletionItemKind.File}return pe.CompletionItemKind.Property}static createDocumentationString(o){let e=v(o.documentation);if(o.tags)for(let n of o.tags)e+=`
4
4
 
5
5
  ${R(n)}`;return e}}function R(o){let e=`*@${o.name}*`;if(o.name==="param"&&o.text){let[n,...c]=o.text;if(e+=`\`${n.text}\``,c.length>0)e+=` — ${c.map((r)=>r.text).join(" ")}`}else if(Array.isArray(o.text))e+=` — ${o.text.map((n)=>n.text).join(" ")}`;else if(o.text)e+=` — ${o.text}`;return e}class L extends b{constructor(){super(...arguments);this.signatureHelpTriggerCharacters=["(",","]}static _toSignatureHelpTriggerReason(o){switch(o.triggerKind){case pe.SignatureHelpTriggerKind.TriggerCharacter:if(o.triggerCharacter)if(o.isRetrigger)return{kind:"retrigger",triggerCharacter:o.triggerCharacter};else return{kind:"characterTyped",triggerCharacter:o.triggerCharacter};else return{kind:"invoked"};case pe.SignatureHelpTriggerKind.ContentChange:return o.isRetrigger?{kind:"retrigger"}:{kind:"invoked"};case pe.SignatureHelpTriggerKind.Invoke:default:return{kind:"invoked"}}}async provideSignatureHelp(o,e,n,c){let r=o.uri,s=o.getOffsetAt(e),d=await this._worker(r);if(o.isDisposed())return;let t=await d.getSignatureHelpItems(r.toString(),s,{triggerReason:L._toSignatureHelpTriggerReason(c)});if(!t||o.isDisposed())return;let l={activeSignature:t.selectedItemIndex,activeParameter:t.argumentIndex,signatures:[]};return t.items.forEach((p)=>{let g={label:"",parameters:[]};g.documentation={value:v(p.documentation)},g.label+=v(p.prefixDisplayParts),p.parameters.forEach((m,u,w)=>{let k=v(m.displayParts),y={label:k,documentation:{value:v(m.documentation)}};if(g.label+=k,g.parameters.push(y),u<w.length-1)g.label+=v(p.separatorDisplayParts)}),g.label+=v(p.suffixDisplayParts),l.signatures.push(g)}),{value:l,dispose(){}}}}class S extends b{async provideHover(o,e,n){let c=o.uri,r=o.getOffsetAt(e),s=await this._worker(c);if(o.isDisposed())return;let d=await s.getQuickInfoAtPosition(c.toString(),r);if(!d||o.isDisposed())return;let t=v(d.documentation),l=d.tags?d.tags.map((g)=>R(g)).join(`
6
6
 
7
7
  `):"",p=v(d.displayParts);return{range:this._textSpanToRange(o,d.textSpan),contents:[{value:"```typescript\n"+p+"\n```\n"},{value:t+(l?`
8
8
 
9
- `+l:"")}]}}}class I extends b{async provideDocumentHighlights(o,e,n){let c=o.uri,r=o.getOffsetAt(e),s=await this._worker(c);if(o.isDisposed())return;let d=await s.getDocumentHighlights(c.toString(),r,[c.toString()]);if(!d||o.isDisposed())return;return d.flatMap((t)=>t.highlightSpans.map((l)=>({range:this._textSpanToRange(o,l.textSpan),kind:l.kind==="writtenReference"?pe.DocumentHighlightKind.Write:pe.DocumentHighlightKind.Text})))}}class T extends b{constructor(o,e){super(e);this._libFiles=o}async provideDefinition(o,e,n){let c=o.uri,r=o.getOffsetAt(e),s=await this._worker(c);if(o.isDisposed())return;let d=await s.getDefinitionAtPosition(c.toString(),r);if(!d||o.isDisposed())return;if(await this._libFiles.fetchLibFilesIfNecessary(d.map((l)=>tc.parse(l.fileName))),o.isDisposed())return;let t=[];for(let l of d){let p=this._libFiles.getOrCreateModel(l.fileName);if(p)t.push({uri:p.uri,range:this._textSpanToRange(p,l.textSpan)})}return t}}class D extends b{constructor(o,e){super(e);this._libFiles=o}async provideReferences(o,e,n,c){let r=o.uri,s=o.getOffsetAt(e),d=await this._worker(r);if(o.isDisposed())return;let t=await d.getReferencesAtPosition(r.toString(),s);if(!t||o.isDisposed())return;if(await this._libFiles.fetchLibFilesIfNecessary(t.map((p)=>tc.parse(p.fileName))),o.isDisposed())return;let l=[];for(let p of t){let g=this._libFiles.getOrCreateModel(p.fileName);if(g)l.push({uri:g.uri,range:this._textSpanToRange(g,p.textSpan)})}return l}}class j extends b{async provideDocumentSymbols(o,e){let n=o.uri,c=await this._worker(n);if(o.isDisposed())return;let r=await c.getNavigationTree(n.toString());if(!r||o.isDisposed())return;let s=(t,l)=>({name:t.text,detail:"",kind:h[t.kind]||pe.SymbolKind.Variable,range:this._textSpanToRange(o,t.spans[0]),selectionRange:this._textSpanToRange(o,t.spans[0]),tags:[],children:t.childItems?.map((g)=>s(g,t.text)),containerName:l});return r.childItems?r.childItems.map((t)=>s(t)):[]}}class a{}a.unknown="";a.keyword="keyword";a.script="script";a.module="module";a.class="class";a.interface="interface";a.type="type";a.enum="enum";a.variable="var";a.localVariable="local var";a.function="function";a.localFunction="local function";a.memberFunction="method";a.memberGetAccessor="getter";a.memberSetAccessor="setter";a.memberVariable="property";a.constructorImplementation="constructor";a.callSignature="call";a.indexSignature="index";a.constructSignature="construct";a.parameter="parameter";a.typeParameter="type parameter";a.primitiveType="primitive type";a.label="label";a.alias="alias";a.const="const";a.let="let";a.warning="warning";var h=Object.create(null);h[a.module]=pe.SymbolKind.Module;h[a.class]=pe.SymbolKind.Class;h[a.enum]=pe.SymbolKind.Enum;h[a.interface]=pe.SymbolKind.Interface;h[a.memberFunction]=pe.SymbolKind.Method;h[a.memberVariable]=pe.SymbolKind.Property;h[a.memberGetAccessor]=pe.SymbolKind.Property;h[a.memberSetAccessor]=pe.SymbolKind.Property;h[a.variable]=pe.SymbolKind.Variable;h[a.const]=pe.SymbolKind.Variable;h[a.localVariable]=pe.SymbolKind.Variable;h[a.variable]=pe.SymbolKind.Variable;h[a.function]=pe.SymbolKind.Function;h[a.localFunction]=pe.SymbolKind.Function;class f extends b{static _convertOptions(o){return{ConvertTabsToSpaces:o.insertSpaces,TabSize:o.tabSize,IndentSize:o.tabSize,IndentStyle:2,NewLineCharacter:`
9
+ `+l:"")}]}}}class I extends b{async provideDocumentHighlights(o,e,n){let c=o.uri,r=o.getOffsetAt(e),s=await this._worker(c);if(o.isDisposed())return;let d=await s.getDocumentHighlights(c.toString(),r,[c.toString()]);if(!d||o.isDisposed())return;return d.flatMap((t)=>t.highlightSpans.map((l)=>({range:this._textSpanToRange(o,l.textSpan),kind:l.kind==="writtenReference"?pe.DocumentHighlightKind.Write:pe.DocumentHighlightKind.Text})))}}class T extends b{constructor(o,e){super(e);this._libFiles=o}async provideDefinition(o,e,n){let c=o.uri,r=o.getOffsetAt(e),s=await this._worker(c);if(o.isDisposed())return;let d=await s.getDefinitionAtPosition(c.toString(),r);if(!d||o.isDisposed())return;if(await this._libFiles.fetchLibFilesIfNecessary(d.map((l)=>sc.parse(l.fileName))),o.isDisposed())return;let t=[];for(let l of d){let p=this._libFiles.getOrCreateModel(l.fileName);if(p)t.push({uri:p.uri,range:this._textSpanToRange(p,l.textSpan)})}return t}}class D extends b{constructor(o,e){super(e);this._libFiles=o}async provideReferences(o,e,n,c){let r=o.uri,s=o.getOffsetAt(e),d=await this._worker(r);if(o.isDisposed())return;let t=await d.getReferencesAtPosition(r.toString(),s);if(!t||o.isDisposed())return;if(await this._libFiles.fetchLibFilesIfNecessary(t.map((p)=>sc.parse(p.fileName))),o.isDisposed())return;let l=[];for(let p of t){let g=this._libFiles.getOrCreateModel(p.fileName);if(g)l.push({uri:g.uri,range:this._textSpanToRange(g,p.textSpan)})}return l}}class j extends b{async provideDocumentSymbols(o,e){let n=o.uri,c=await this._worker(n);if(o.isDisposed())return;let r=await c.getNavigationTree(n.toString());if(!r||o.isDisposed())return;let s=(t,l)=>({name:t.text,detail:"",kind:h[t.kind]||pe.SymbolKind.Variable,range:this._textSpanToRange(o,t.spans[0]),selectionRange:this._textSpanToRange(o,t.spans[0]),tags:[],children:t.childItems?.map((g)=>s(g,t.text)),containerName:l});return r.childItems?r.childItems.map((t)=>s(t)):[]}}class a{}a.unknown="";a.keyword="keyword";a.script="script";a.module="module";a.class="class";a.interface="interface";a.type="type";a.enum="enum";a.variable="var";a.localVariable="local var";a.function="function";a.localFunction="local function";a.memberFunction="method";a.memberGetAccessor="getter";a.memberSetAccessor="setter";a.memberVariable="property";a.constructorImplementation="constructor";a.callSignature="call";a.indexSignature="index";a.constructSignature="construct";a.parameter="parameter";a.typeParameter="type parameter";a.primitiveType="primitive type";a.label="label";a.alias="alias";a.const="const";a.let="let";a.warning="warning";var h=Object.create(null);h[a.module]=pe.SymbolKind.Module;h[a.class]=pe.SymbolKind.Class;h[a.enum]=pe.SymbolKind.Enum;h[a.interface]=pe.SymbolKind.Interface;h[a.memberFunction]=pe.SymbolKind.Method;h[a.memberVariable]=pe.SymbolKind.Property;h[a.memberGetAccessor]=pe.SymbolKind.Property;h[a.memberSetAccessor]=pe.SymbolKind.Property;h[a.variable]=pe.SymbolKind.Variable;h[a.const]=pe.SymbolKind.Variable;h[a.localVariable]=pe.SymbolKind.Variable;h[a.variable]=pe.SymbolKind.Variable;h[a.function]=pe.SymbolKind.Function;h[a.localFunction]=pe.SymbolKind.Function;class f extends b{static _convertOptions(o){return{ConvertTabsToSpaces:o.insertSpaces,TabSize:o.tabSize,IndentSize:o.tabSize,IndentStyle:2,NewLineCharacter:`
10
10
  `,InsertSpaceAfterCommaDelimiter:!0,InsertSpaceAfterSemicolonInForStatements:!0,InsertSpaceBeforeAndAfterBinaryOperators:!0,InsertSpaceAfterKeywordsInControlFlowStatements:!0,InsertSpaceAfterFunctionKeywordForAnonymousFunctions:!0,InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,PlaceOpenBraceOnNewLineForControlBlocks:!1,PlaceOpenBraceOnNewLineForFunctions:!1}}_convertTextChanges(o,e){return{text:e.newText,range:this._textSpanToRange(o,e.span)}}}class q extends f{constructor(){super(...arguments);this.canFormatMultipleRanges=!1}async provideDocumentRangeFormattingEdits(o,e,n,c){let r=o.uri,s=o.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),d=o.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),t=await this._worker(r);if(o.isDisposed())return;let l=await t.getFormattingEditsForRange(r.toString(),s,d,f._convertOptions(n));if(!l||o.isDisposed())return;return l.map((p)=>this._convertTextChanges(o,p))}}class B extends f{get autoFormatTriggerCharacters(){return[";","}",`
11
11
  `]}async provideOnTypeFormattingEdits(o,e,n,c,r){let s=o.uri,d=o.getOffsetAt(e),t=await this._worker(s);if(o.isDisposed())return;let l=await t.getFormattingEditsAfterKeystroke(s.toString(),d,n,f._convertOptions(c));if(!l||o.isDisposed())return;return l.map((p)=>this._convertTextChanges(o,p))}}class F extends f{async provideCodeActions(o,e,n,c){let r=o.uri,s=o.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),d=o.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),t=f._convertOptions(o.getOptions()),l=n.markers.filter((u)=>u.code).map((u)=>u.code).map(Number),p=await this._worker(r);if(o.isDisposed())return;let g=await p.getCodeFixesAtPosition(r.toString(),s,d,l,t);if(!g||o.isDisposed())return{actions:[],dispose:()=>{}};return{actions:g.filter((u)=>u.changes.filter((w)=>w.isNewFile).length===0).map((u)=>this._tsCodeFixActionToMonacoCodeAction(o,n,u)),dispose:()=>{}}}_tsCodeFixActionToMonacoCodeAction(o,e,n){let c=[];for(let s of n.changes)for(let d of s.textChanges)c.push({resource:o.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(o,d.span),text:d.newText}});return{title:n.description,edit:{edits:c},diagnostics:e.markers,kind:"quickfix"}}}class E extends b{constructor(o,e){super(e);this._libFiles=o}async provideRenameEdits(o,e,n,c){let r=o.uri,s=r.toString(),d=o.getOffsetAt(e),t=await this._worker(r);if(o.isDisposed())return;let l=await t.getRenameInfo(s,d,{allowRenameOfImportPath:!1});if(l.canRename===!1)return{edits:[],rejectReason:l.localizedErrorMessage};if(l.fileToRename!==void 0)throw Error("Renaming files is not supported.");let p=await t.findRenameLocations(s,d,!1,!1,!1);if(!p||o.isDisposed())return;let g=[];for(let m of p){let u=this._libFiles.getOrCreateModel(m.fileName);if(u)g.push({resource:u.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(u,m.textSpan),text:n}});else throw Error(`Unknown file ${m.fileName}.`)}return{edits:g}}}class N extends b{async provideInlayHints(o,e,n){let c=o.uri,r=c.toString(),s=o.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),d=o.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),t=await this._worker(c);if(o.isDisposed())return null;return{hints:(await t.provideInlayHints(r,s,d)).map((g)=>({...g,label:g.text,position:o.getPositionAt(g.position),kind:this._convertHintKind(g.kind)})),dispose:()=>{}}}_convertHintKind(o){switch(o){case"Parameter":return pe.InlayHintKind.Parameter;case"Type":return pe.InlayHintKind.Type;default:return pe.InlayHintKind.Type}}}var W,H;function Ot(o){H=O(o,"typescript")}function _t(o){W=O(o,"javascript")}function Pt(){return new Promise((o,e)=>{if(!W)return e("JavaScript not registered!");o(W)})}function Vt(){return new Promise((o,e)=>{if(!H)return e("TypeScript not registered!");o(H)})}function O(o,e){let n=[],c=new z(e,o),r=(...t)=>c.getLanguageServiceWorker(...t),s=new A(r);function d(){let{modeConfiguration:t}=o;if(_(n),t.completionItems)n.push(pe.registerCompletionItemProvider(e,new x(r)));if(t.signatureHelp)n.push(pe.registerSignatureHelpProvider(e,new L(r)));if(t.hovers)n.push(pe.registerHoverProvider(e,new S(r)));if(t.documentHighlights)n.push(pe.registerDocumentHighlightProvider(e,new I(r)));if(t.definitions)n.push(pe.registerDefinitionProvider(e,new T(s,r)));if(t.references)n.push(pe.registerReferenceProvider(e,new D(s,r)));if(t.documentSymbols)n.push(pe.registerDocumentSymbolProvider(e,new j(r)));if(t.rename)n.push(pe.registerRenameProvider(e,new E(s,r)));if(t.documentRangeFormattingEdits)n.push(pe.registerDocumentRangeFormattingEditProvider(e,new q(r)));if(t.onTypeFormattingEdits)n.push(pe.registerOnTypeFormattingEditProvider(e,new B(r)));if(t.codeActions)n.push(pe.registerCodeActionProvider(e,new F(r)));if(t.inlayHints)n.push(pe.registerInlayHintsProvider(e,new N(r)));if(t.diagnostics)n.push(new C(s,o,e,r))}return d(),r}function _(o){while(o.length)o.pop().dispose()}export{b as Adapter,F as CodeActionAdaptor,T as DefinitionAdapter,C as DiagnosticsAdapter,I as DocumentHighlightAdapter,q as FormatAdapter,f as FormatHelper,B as FormatOnTypeAdapter,N as InlayHintsAdapter,a as Kind,A as LibFiles,j as OutlineAdapter,S as QuickInfoAdapter,D as ReferenceAdapter,E as RenameAdapter,L as SignatureHelpAdapter,x as SuggestAdapter,z as WorkerManager,M as flattenDiagnosticMessageText,Pt as getJavaScriptWorker,Vt as getTypeScriptWorker,_t as setupJavaScript,Ot as setupTypeScript};
12
12
 
13
- //# debugId=08347A3B261D537464756E2164756E21
14
- //# sourceMappingURL=tsMode-rtwt7w1a.js.map
13
+ //# debugId=EE4336E500CF28AB64756E2164756E21
14
+ //# sourceMappingURL=tsMode-k9s9fcag.js.map
@@ -0,0 +1,4 @@
1
+ import{Qn,vp,ZC,m,u,Rr,Hn,Gu,$r,yp,Ox,Mx,Pl,wp,xp,_p,Ku,Ua,Cp,Sc,No,Fl,Px,kv,XC,Fx,QC,ek,ci,Cm,Sv,tk}from"./studio-cvbkkfqb.js";import"./studio-7pgy3xaf.js";import"./studio-1x8x26k3.js";import"./studio-y7jehjrp.js";import"./studio-fqq890ap.js";export{ZC as MAX_PANES,Qn as PRIMARY_PANE,vp as SECONDARY_PANE,ci as activateTab,Rr as activePane,u as activeTab,QC as closeAllTabs,wp as closePane,Fx as closeTab,_p as detachTab,$r as focusPane,Ku as insertIntoPane,yp as isPaneFocused,Cp as isTabActive,XC as moveTab,Cm as moveTabToPane,No as openTab,Mx as paneBeside,Hn as paneById,xp as paneIsEmpty,Gu as paneOfTab,Px as promoteDirtyPreviewTabs,Fl as promoteTab,Pl as receivingPane,tk as registerTabCommands,Sv as renameTab,ek as replaceAllTabs,kv as setTabPinned,Ua as setWorkspaceProject,Ox as splitRight,Sc as tabIsLive,m as workspace};
2
+
3
+ //# debugId=1D3E7F0FC61927CE64756E2164756E21
4
+ //# sourceMappingURL=workspace-b69mgm0e.js.map
@@ -0,0 +1,4 @@
1
+ import{ac,fS,mS,gS,kf,y_,Sf,Uy,w_,x_}from"./studio-c6zdm25z.js";import{zg}from"./studio-1wvfxkyy.js";var O=Math.floor;var Q=(t,e)=>t<e?t:e,tt=(t,e)=>t>e?t:e;var F=128;var w=127;var{MAX_SAFE_INTEGER:rt,MIN_SAFE_INTEGER:ne}=Number;var nt=()=>new Set;var st=Array.from;var{fromCharCode:Dt,fromCodePoint:se}=String,ie=Dt(65535);var Et=(t)=>{let e=unescape(encodeURIComponent(t)),o=e.length,r=new Uint8Array(o);for(let i=0;i<o;i++)r[i]=e.codePointAt(i);return r},B=typeof TextEncoder<"u"?new TextEncoder:null,Ot=(t)=>B.encode(t),it=B?Ot:Et;var U=typeof TextDecoder>"u"?null:new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0});if(U&&U.decode(new Uint8Array).length===1)U=null;class at{constructor(){this.cpos=0,this.cbuf=new Uint8Array(100),this.bufs=[]}}var lt=()=>new at;var _t=(t)=>{let e=t.cpos;for(let o=0;o<t.bufs.length;o++)e+=t.bufs[o].length;return e};var pt=(t)=>{let e=new Uint8Array(_t(t)),o=0;for(let r=0;r<t.bufs.length;r++){let i=t.bufs[r];e.set(i,o),o+=i.length}return e.set(new Uint8Array(t.cbuf.buffer,0,t.cpos),o),e};var V=(t,e)=>{let o=t.cbuf.length;if(t.cpos===o)t.bufs.push(t.cbuf),t.cbuf=new Uint8Array(o*2),t.cpos=0;t.cbuf[t.cpos++]=e};var b=(t,e)=>{while(e>w)V(t,F|w&e),e=O(e/128);V(t,w&e)};var q=new Uint8Array(30000),Nt=q.length/3,Mt=(t,e)=>{if(e.length<Nt){let o=B.encodeInto(e,q).written||0;b(t,o);for(let r=0;r<o;r++)V(t,q[r])}else C(t,it(e))},Lt=(t,e)=>{let o=unescape(encodeURIComponent(e)),r=o.length;b(t,r);for(let i=0;i<r;i++)V(t,o.codePointAt(i))},ut=B&&B.encodeInto?Mt:Lt;var Rt=(t,e)=>{let o=t.cbuf.length,r=t.cpos,i=Q(o-r,e.length),c=e.length-i;if(t.cbuf.set(e.subarray(0,i),r),t.cpos+=i,c>0)t.bufs.push(t.cbuf),t.cbuf=new Uint8Array(tt(o*2,c)),t.cbuf.set(e.subarray(i)),t.cpos=c},C=(t,e)=>{b(t,e.byteLength),Rt(t,e)};var ue=new DataView(new ArrayBuffer(4));var j=(t)=>Error(t);var qt=j("Unexpected end of array"),jt=j("Integer out of Range");class dt{constructor(t){this.arr=t,this.pos=0}}var yt=(t)=>new dt(t);var zt=(t,e)=>{let o=new Uint8Array(t.arr.buffer,t.pos+t.arr.byteOffset,e);return t.pos+=e,o},_=(t)=>zt(t,I(t));var ht=(t)=>t.arr[t.pos++];var I=(t)=>{let e=0,o=1,r=t.arr.length;while(t.pos<r){let i=t.arr[t.pos++];if(e=e+(i&w)*o,o*=128,i<F)return e;if(e>rt)throw jt}throw qt};var Yt=(t)=>{let e=I(t);if(e===0)return"";else{let o=String.fromCodePoint(ht(t));if(--e<100)while(e--)o+=String.fromCodePoint(ht(t));else while(e>0){let r=e<1e4?e:1e4,i=t.arr.subarray(t.pos,t.pos+r);t.pos+=r,o+=String.fromCodePoint.apply(null,i),e-=r}return decodeURIComponent(escape(o))}},Wt=(t)=>U.decode(_(t)),xt=U?Wt:Yt;var D=Date.now;var N=()=>new Map;var mt=(t,e,o)=>{let r=t.get(e);if(r===void 0)t.set(e,r=o());return r};class z{constructor(){this._observers=N()}on(t,e){mt(this._observers,t,nt).add(e)}once(t,e){let o=(...r)=>{this.off(t,o),e(...r)};this.on(t,o)}off(t,e){let o=this._observers.get(t);if(o!==void 0){if(o.delete(e),o.size===0)this._observers.delete(t)}}emit(t,e){return st((this._observers.get(t)||N()).values()).forEach((o)=>o(...e))}destroy(){this._observers=N()}}var Y=Symbol("Equality");var Zt=Object.keys;var W=(t)=>Zt(t).length;var bt=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var v=(t,e)=>{if(t===e)return!0;if(t==null||e==null||t.constructor!==e.constructor&&(t.constructor||Object)!==(e.constructor||Object))return!1;if(t[Y]!=null)return t[Y](e);switch(t.constructor){case ArrayBuffer:t=new Uint8Array(t),e=new Uint8Array(e);case Uint8Array:{if(t.byteLength!==e.byteLength)return!1;for(let o=0;o<t.length;o++)if(t[o]!==e[o])return!1;break}case Set:{if(t.size!==e.size)return!1;for(let o of t)if(!e.has(o))return!1;break}case Map:{if(t.size!==e.size)return!1;for(let o of t.keys())if(!e.has(o)||!v(t.get(o),e.get(o)))return!1;break}case void 0:case Object:if(W(t)!==W(e))return!1;for(let o in t)if(!bt(t,o)||!v(t[o],e[o]))return!1;break;case Array:if(t.length!==e.length)return!1;for(let o=0;o<t.length;o++)if(!v(t[o],e[o]))return!1;break;default:return!1}return!0};var H=30000;class G extends z{constructor(t){super();this.doc=t,this.clientID=t.clientID,this.states=new Map,this.meta=new Map,this._checkInterval=setInterval(()=>{let e=D();if(this.getLocalState()!==null&&H/2<=e-this.meta.get(this.clientID).lastUpdated)this.setLocalState(this.getLocalState());let o=[];if(this.meta.forEach((r,i)=>{if(i!==this.clientID&&H<=e-r.lastUpdated&&this.states.has(i))o.push(i)}),o.length>0)X(this,o,"timeout")},O(H/10)),t.on("destroy",()=>{this.destroy()}),this.setLocalState({})}destroy(){this.emit("destroy",[this]),this.setLocalState(null),super.destroy(),clearInterval(this._checkInterval)}getLocalState(){return this.states.get(this.clientID)||null}setLocalState(t){let e=this.clientID,o=this.meta.get(e),r=o===void 0?0:o.clock+1,i=this.states.get(e);if(t===null)this.states.delete(e);else this.states.set(e,t);this.meta.set(e,{clock:r,lastUpdated:D()});let c=[],l=[],h=[],d=[];if(t===null)d.push(e);else if(i==null){if(t!=null)c.push(e)}else if(l.push(e),!v(i,t))h.push(e);if(c.length>0||h.length>0||d.length>0)this.emit("change",[{added:c,updated:h,removed:d},"local"]);this.emit("update",[{added:c,updated:l,removed:d},"local"])}setLocalStateField(t,e){let o=this.getLocalState();if(o!==null)this.setLocalState({...o,[t]:e})}getStates(){return this.states}}var X=(t,e,o)=>{let r=[];for(let i=0;i<e.length;i++){let c=e[i];if(t.states.has(c)){if(t.states.delete(c),c===t.clientID){let l=t.meta.get(c);t.meta.set(c,{clock:l.clock+1,lastUpdated:D()})}r.push(c)}}if(r.length>0)t.emit("change",[{added:[],updated:[],removed:r},o]),t.emit("update",[{added:[],updated:[],removed:r},o])},Z=(t,e,o=t.states)=>{let r=e.length,i=lt();b(i,r);for(let c=0;c<r;c++){let l=e[c],h=o.get(l)||null,d=t.meta.get(l).clock;b(i,l),b(i,d),ut(i,JSON.stringify(h))}return pt(i)};var It=(t,e,o)=>{let r=yt(e),i=D(),c=[],l=[],h=[],d=[],A=I(r);for(let S=0;S<A;S++){let y=I(r),x=I(r),m=JSON.parse(xt(r)),T=t.meta.get(y),L=t.states.get(y),k=T===void 0?0:T.clock;if(k<x||k===x&&m===null&&t.states.has(y)){if(m===null)if(y===t.clientID&&t.getLocalState()!=null)x++;else t.states.delete(y);else t.states.set(y,m);if(t.meta.set(y,{clock:x,lastUpdated:i}),T===void 0&&m!==null)c.push(y);else if(T!==void 0&&m===null)d.push(y);else if(m!==null){if(!v(m,L))h.push(y);l.push(y)}}}if(c.length>0||h.length>0||d.length>0)t.emit("change",[{added:c,updated:h,removed:d},o]);if(c.length>0||l.length>0||d.length>0)t.emit("update",[{added:c,updated:l,removed:d},o])};var St=0,M=1,Tt=2,wt=(t,e)=>{b(t,St);let o=gS(e);C(t,o)},Qt=(t,e,o)=>{b(t,M),C(t,mS(e,o))},te=(t,e,o)=>Qt(e,o,_(t)),Ut=(t,e,o,r)=>{try{fS(e,_(t),o)}catch(i){if(r!=null)r(i);console.error("Caught error while handling a Yjs update",i)}},Bt=(t,e)=>{b(t,Tt),C(t,e)},ee=Ut,vt=(t,e,o,r,i)=>{let c=I(t);switch(c){case St:te(t,e,o);break;case M:Ut(t,o,r,i);break;case Tt:ee(t,o,r,i);break;default:throw Error("Unknown message type")}return c};var re=1;function Te(t){let e=t.webSocketImpl??globalThis.WebSocket,o=t.openTimeoutMs??1e4,r=new Map,i=new Set,c=new ac,l=new G(c);l.setLocalState(null);let h=null,d=null,A="connecting",S=!1,y=(n)=>{if(A===n)return;A=n;for(let s of i)s(n)},x=(n)=>{if(h&&h.readyState===re)try{h.send(w_(n))}catch{}},m=(n)=>{x({message:{path:n,type:"open"},type:"control"})};l.on("update",(n,s)=>{if(s==="remote")return;let p=[...n.added,...n.updated,...n.removed];x({body:Z(l,p),type:"awareness"})});let T=(n)=>{switch(n.type){case"hello":{d={color:n.color,login:n.login,permission:n.permission,...n.name===void 0?{}:{name:n.name},...n.avatarUrl===void 0?{}:{avatarUrl:n.avatarUrl}};return}case"opened":{let s=r.get(n.path);if(!s)return;if(s.opened&&s.epoch!==n.epoch){k(n.path,s);return}s.epoch=n.epoch,s.opened=!0,s.resolveOpen?.(!0),s.resolveOpen=null;let p=kf();wt(p,s.doc),x({body:Sf(p),epoch:s.epoch,path:n.path,type:"doc-sync"});return}case"doc-reset":{let s=r.get(n.path);if(s)k(n.path,s);return}case"flush-ack":{let s=r.get(n.path);if(s){for(let p of s.pendingFlush)p();s.pendingFlush.clear()}return}case"doc-dirty":{let s=r.get(n.path);if(s){s.dirty=n.dirty;for(let p of s.dirtyCbs)p(n.dirty)}return}case"error":{if(!n.path)return;let s=r.get(n.path);if(!s)return;if(n.code==="content-not-loaded"&&t.hydratePath&&!s.hydrated){s.hydrated=!0,t.hydratePath(n.path).then(()=>m(n.path),()=>{s.resolveOpen?.(!1),s.resolveOpen=null});return}if(!s.opened)s.resolveOpen?.(!1),s.resolveOpen=null;break}default:break}},L=(n,s,p)=>{let f=r.get(n);if(!f||!f.opened||f.epoch!==s)return;let a=Uy(p),g=kf(),K=vt(a,g,f.doc,"remote");if(y_(g)>0)x({body:Sf(g),epoch:s,path:n,type:"doc-sync"});if(K===M&&!f.synced)f.synced=!0,f.resolveSynced()},k=(n,s)=>{r.delete(n),s.resolveOpen?.(!1),s.resolveOpen=null;for(let p of s.resetCbs)p();s.doc.destroy()},J=()=>{y("connecting");let n=t.protocols,s=n===void 0||n.length===0?new e(t.url):new e(t.url,n);h=s,s.binaryType="arraybuffer",s.onopen=()=>{R.opened(),y("connected");for(let f of r.keys())m(f);if(l.getLocalState()!==null)x({body:Z(l,[l.clientID]),type:"awareness"})},s.onmessage=(p)=>{let f=p.data,a=f instanceof ArrayBuffer?new Uint8Array(f):f instanceof Uint8Array?f:null;if(!a)return;let g;try{g=x_(a)}catch{return}switch(g.type){case"control":{T(g.message);return}case"doc-sync":{L(g.path,g.epoch,g.body);return}case"awareness":{It(l,g.body,"remote");break}default:break}},s.onclose=()=>{if(S)return;y("offline");for(let p of r.values())p.opened=!1;R.scheduleRetry()},s.onerror=()=>{}},R=zg(J,{...t.reconnectDelayMs===void 0?{}:{baseMs:t.reconnectDelayMs},...t.reconnectRandom===void 0?{}:{random:t.reconnectRandom}});return J(),{destroy(){if(S)return;S=!0,R.dispose(),X(l,[l.clientID],"destroy"),l.destroy(),c.destroy();for(let[n,s]of r)s.resolveOpen?.(!1),s.doc.destroy(),r.delete(n);h?.close()},async openDoc(n){if(S)return null;let s=r.get(n);if(s&&!s.handleDestroyed)return null;let p=()=>{},f=new Promise((u)=>{p=u}),a={dirty:!1,dirtyCbs:new Set,doc:new ac,epoch:0,handleDestroyed:!1,hydrated:!1,opened:!1,pendingFlush:new Set,resetCbs:new Set,resolveOpen:null,resolveSynced:p,synced:!1,whenSynced:f};if(r.set(n,a),a.doc.on("update",(u,P)=>{if(P==="remote"||!a.opened)return;let E=kf();Bt(E,u),x({body:Sf(E),epoch:a.epoch,path:n,type:"doc-sync"})}),!await new Promise((u)=>{a.resolveOpen=u;let P=setTimeout(()=>{a.resolveOpen=null,u(!1)},o);a.resolveOpen=(E)=>{clearTimeout(P),u(E)},m(n)})){if(r.get(n)===a)r.delete(n);return a.doc.destroy(),null}return{awareness:l,destroy:()=>{if(a.handleDestroyed)return;if(a.handleDestroyed=!0,r.get(n)===a)r.delete(n),x({path:n,type:"doc-close"});a.doc.destroy()},doc:a.doc,flush:()=>new Promise((u)=>{a.pendingFlush.add(u),x({message:{path:n,type:"flush"},type:"control"})}),identity:()=>d,onDirty:(u)=>(a.dirtyCbs.add(u),u(a.dirty),()=>a.dirtyCbs.delete(u)),onReset:(u)=>(a.resetCbs.add(u),()=>a.resetCbs.delete(u)),onStatus:(u)=>(i.add(u),()=>i.delete(u)),whenSynced:a.whenSynced}},status:()=>A}}export{Te as createWsCollabConnection};
2
+
3
+ //# debugId=37B8910A9080C27064756E2164756E21
4
+ //# sourceMappingURL=ws-client-0ja08haa.js.map