@cleocode/cleo 2026.9.7 → 2026.9.10

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 (691) hide show
  1. package/dist/cli/index.js +3873 -2234
  2. package/package.json +14 -13
  3. package/scripts/check-cleo-tarball-size.mjs +105 -0
  4. package/scripts/copy-studio-dist.mjs +33 -9
  5. package/studio-dist/client/_app/immutable/chunks/{wI_OOyoh.js → BB7zPpV2.js} +1 -1
  6. package/studio-dist/client/_app/immutable/chunks/{D8NsLz6i.js → BOnrCZaR.js} +1 -1
  7. package/studio-dist/client/_app/immutable/chunks/{eK8hf4s7.js → BSRBuVG3.js} +1 -1
  8. package/studio-dist/client/_app/immutable/chunks/C6jhAnil.js +1 -0
  9. package/studio-dist/client/_app/immutable/chunks/C87Q3uxm.js +1 -0
  10. package/studio-dist/client/_app/immutable/chunks/{DVHIxkgs.js → CLZBEpLY.js} +1 -1
  11. package/studio-dist/client/_app/immutable/chunks/{CqF5Lomf.js → CTLGzgdN.js} +1 -1
  12. package/studio-dist/client/_app/immutable/chunks/{o1PZ6Kzq.js → CY3heNub.js} +1 -1
  13. package/studio-dist/client/_app/immutable/chunks/{RptFUp2P.js → Cge6qiwc.js} +1 -1
  14. package/studio-dist/client/_app/immutable/chunks/{BRgWBQlV.js → CnwXLaZJ.js} +1 -1
  15. package/studio-dist/client/_app/immutable/chunks/{Bxz2A0ZC.js → DEH43YwF.js} +1 -1
  16. package/studio-dist/client/_app/immutable/chunks/DGftG5oL.js +3 -0
  17. package/studio-dist/client/_app/immutable/chunks/DX_JOBSO.js +1 -0
  18. package/studio-dist/client/_app/immutable/chunks/{CEqOYim7.js → DZrdToAH.js} +1 -1
  19. package/studio-dist/client/_app/immutable/chunks/EZwHPWle.js +2 -0
  20. package/studio-dist/client/_app/immutable/chunks/cWVw9W0E.js +3 -0
  21. package/studio-dist/client/_app/immutable/chunks/{B9psmq5-.js → rB_71s8h.js} +1 -1
  22. package/studio-dist/client/_app/immutable/chunks/{JPJd4fEI.js → rUtW7Hx6.js} +1 -1
  23. package/studio-dist/client/_app/immutable/entry/app.tvu3-wbp.js +2 -0
  24. package/studio-dist/client/_app/immutable/entry/start.BS-rpdjH.js +1 -0
  25. package/studio-dist/client/_app/immutable/nodes/{0.CZzEEyVh.js → 0.DMP7swbx.js} +1 -1
  26. package/studio-dist/client/_app/immutable/nodes/{1.Bj3Opbua.js → 1.CYZMFpIp.js} +1 -1
  27. package/studio-dist/client/_app/immutable/nodes/{10.xe_Mc2Ko.js → 10.3rxHNnSx.js} +1 -1
  28. package/studio-dist/client/_app/immutable/nodes/{11.DuKPA7JD.js → 11.B6jWv3Kz.js} +1 -1
  29. package/studio-dist/client/_app/immutable/nodes/{12.BoZ_QrUS.js → 12.BrDHeTEq.js} +1 -1
  30. package/studio-dist/client/_app/immutable/nodes/{13.DFJiUiv8.js → 13.CE5bd4JV.js} +1 -1
  31. package/studio-dist/client/_app/immutable/nodes/{14.eaAlFU4w.js → 14.DgXD2LRx.js} +1 -1
  32. package/studio-dist/client/_app/immutable/nodes/{15.BfXgiwMC.js → 15.Cz1KI9Fv.js} +1 -1
  33. package/studio-dist/client/_app/immutable/nodes/{16.mEwy9cqh.js → 16.K9wYQPhb.js} +1 -1
  34. package/studio-dist/client/_app/immutable/nodes/{17.DP2QtQGn.js → 17.CtUmdfMg.js} +1 -1
  35. package/studio-dist/client/_app/immutable/nodes/{18.Bu0054sX.js → 18.mtosd0sL.js} +1 -1
  36. package/studio-dist/client/_app/immutable/nodes/{19.UWt6QbCm.js → 19.su55K8y_.js} +1 -1
  37. package/studio-dist/client/_app/immutable/nodes/{2.y5jKpHiR.js → 2.mqgFVWFQ.js} +1 -1
  38. package/studio-dist/client/_app/immutable/nodes/{20.B1AIHdkP.js → 20.NJuHLxuS.js} +1 -1
  39. package/studio-dist/client/_app/immutable/nodes/{21.CpAN71H8.js → 21.BhwhdQCq.js} +1 -1
  40. package/studio-dist/client/_app/immutable/nodes/{22.CrYKrN4c.js → 22.BmJEWwER.js} +1 -1
  41. package/studio-dist/client/_app/immutable/nodes/{23.pGRaHQjq.js → 23.CAVIJEH-.js} +1 -1
  42. package/studio-dist/client/_app/immutable/nodes/{24.BUoUu37z.js → 24.CMuXs5Sy.js} +1 -1
  43. package/studio-dist/client/_app/immutable/nodes/25.DhMBJYAo.js +39 -0
  44. package/studio-dist/client/_app/immutable/nodes/26.CJ4FA5FS.js +1 -0
  45. package/studio-dist/client/_app/immutable/nodes/{28.DcmYM7lb.js → 28.D64RBcfs.js} +1 -1
  46. package/studio-dist/client/_app/immutable/nodes/{29.lbHbMqNO.js → 29.yfuBeH1x.js} +1 -1
  47. package/studio-dist/client/_app/immutable/nodes/{3.Dyir4xXj.js → 3.y115j1d5.js} +1 -1
  48. package/studio-dist/client/_app/immutable/nodes/{30.DXj0Wm2A.js → 30.1WUv5bh9.js} +1 -1
  49. package/studio-dist/client/_app/immutable/nodes/4.D6vXYBoQ.js +1 -0
  50. package/studio-dist/client/_app/immutable/nodes/{5.VWSdP7oc.js → 5.hjw2O-4e.js} +1 -1
  51. package/studio-dist/client/_app/immutable/nodes/{6.Dl-XLwOj.js → 6.CAoDfDt6.js} +1 -1
  52. package/studio-dist/client/_app/immutable/nodes/{7.CFuC5L-y.js → 7.CLgPSQ8Z.js} +1 -1
  53. package/studio-dist/client/_app/immutable/nodes/{8.BCJ0DhOb.js → 8.zuaO1Hik.js} +1 -1
  54. package/studio-dist/client/_app/immutable/nodes/{9.Bq4SUzL9.js → 9.Cdsd85m2.js} +1 -1
  55. package/studio-dist/client/_app/version.json +1 -1
  56. package/studio-dist/server/chunks/0-BQvtFOrC.js +41 -0
  57. package/studio-dist/server/chunks/1-Bx2_yoiK.js +9 -0
  58. package/studio-dist/server/chunks/{10-DvOD4ksa.js → 10-CYLc3d5x.js} +3 -3
  59. package/studio-dist/server/chunks/{11-DMnBZ02H.js → 11-DcIYR5vm.js} +3 -3
  60. package/studio-dist/server/chunks/{12-CCyRyRWX.js → 12-WE1u104t.js} +3 -3
  61. package/studio-dist/server/chunks/{13-Dx1c3a_X.js → 13-joBDoxhK.js} +3 -3
  62. package/studio-dist/server/chunks/{14-Bo-dTCaZ.js → 14-Doj5F4uJ.js} +3 -3
  63. package/studio-dist/server/chunks/{15-BvUNl3KL.js → 15-nQTeHGD1.js} +3 -3
  64. package/studio-dist/server/chunks/{16-De6EzPSa.js → 16-CcTN0e8k.js} +5 -4
  65. package/studio-dist/server/chunks/{17-CZNsiZhi.js → 17-DWiFnzES.js} +10 -93
  66. package/studio-dist/server/chunks/{18-CbxxjZox.js → 18-Dcc9GnPo.js} +5 -4
  67. package/studio-dist/server/chunks/{19-DqHyladS.js → 19-BAQHPrMB.js} +3 -3
  68. package/studio-dist/server/chunks/{2-COvmA-ZA.js → 2-DXSVVaej.js} +10 -93
  69. package/studio-dist/server/chunks/20-DfQlGHPW.js +57 -0
  70. package/studio-dist/server/chunks/{21-DXK9ptAC.js → 21-qhGjkW41.js} +4 -31
  71. package/studio-dist/server/chunks/{22-DD5CLWJC.js → 22-Byy16hFA.js} +3 -3
  72. package/studio-dist/server/chunks/23-CZpFrGp4.js +97 -0
  73. package/studio-dist/server/chunks/24-EEysaT9T.js +67 -0
  74. package/studio-dist/server/chunks/{25-CAg6Xcmn.js → 25-CgiYn70L.js} +15 -96
  75. package/studio-dist/server/chunks/{26-_nfVTvNi.js → 26-Cfd6BaUb.js} +12 -93
  76. package/studio-dist/server/chunks/{27-C9edghG4.js → 27-Cqzlh9gZ.js} +3 -2
  77. package/studio-dist/server/chunks/{28-VemTJGyc.js → 28-DeYe2rpm.js} +8 -62
  78. package/studio-dist/server/chunks/{29-CXP-m29t.js → 29-6pjLM0Z1.js} +10 -93
  79. package/studio-dist/server/chunks/{3-B8KhfvHp.js → 3-E_fWDAkq.js} +9 -25
  80. package/studio-dist/server/chunks/{30-QiM1S4cJ.js → 30-Dw317sSW.js} +10 -93
  81. package/studio-dist/server/chunks/{31-BwdY9NnB.js → 31-Q4kHbp8j.js} +3 -2
  82. package/studio-dist/server/chunks/{4-CSaG4HjO.js → 4-C9BMSh4K.js} +4 -3
  83. package/studio-dist/server/chunks/{5-i5ry4y3C.js → 5-C0CF4WKG.js} +3 -3
  84. package/studio-dist/server/chunks/{6-DR1GWBMT.js → 6-BWyOJust.js} +3 -3
  85. package/studio-dist/server/chunks/{7-DSNwn3aQ.js → 7-CK4MK5gy.js} +3 -3
  86. package/studio-dist/server/chunks/{8-Bj0bx07K.js → 8-CiX7Xk9k.js} +3 -3
  87. package/studio-dist/server/chunks/{9-B3Tz0mZq.js → 9-Be5118w4.js} +3 -3
  88. package/studio-dist/server/chunks/{HeroHeader-v4Q9vaGr.js → HeroHeader-BrGN5WPw.js} +2 -2
  89. package/studio-dist/server/chunks/{Sparkline-BJ-GuhRd.js → Sparkline-DU_NVxz9.js} +2 -2
  90. package/studio-dist/server/chunks/{StatBlock-DHJMmOCx.js → StatBlock-jNsxycS1.js} +2 -2
  91. package/studio-dist/server/chunks/{Tabs-DzG6Bn9a.js → Tabs-DQKDflnT.js} +2 -2
  92. package/studio-dist/server/chunks/_dispatch-DTWViLGL.js +145 -0
  93. package/studio-dist/server/chunks/{_layout.svelte-BEIGQcIv.js → _layout.svelte-CL6GfET2.js} +7 -9
  94. package/studio-dist/server/chunks/{_page.svelte-al08ovKm.js → _page.svelte-6iMiGR11.js} +5 -5
  95. package/studio-dist/server/chunks/{_page.svelte-Byz2djto.js → _page.svelte-B-YXGvAW.js} +5 -5
  96. package/studio-dist/server/chunks/{_page.svelte-tYN7_LXI.js → _page.svelte-B5E6RqVb.js} +9 -11
  97. package/studio-dist/server/chunks/{_page.svelte-UYiF7YBK.js → _page.svelte-BCRyjlk2.js} +5 -5
  98. package/studio-dist/server/chunks/{_page.svelte-CCoTp89s.js → _page.svelte-BoYafqft.js} +3 -3
  99. package/studio-dist/server/chunks/{_page.svelte-nzffIbBP.js → _page.svelte-C7Wm6_HB.js} +3 -3
  100. package/studio-dist/server/chunks/{_page.svelte-C_VSL8NW.js → _page.svelte-Cgqt7ucn.js} +13 -71
  101. package/studio-dist/server/chunks/{_page.svelte-CophUar3.js → _page.svelte-CqI6hqMm.js} +5 -5
  102. package/studio-dist/server/chunks/{_page.svelte-BgwL2Gyu.js → _page.svelte-CvQ2rZZ1.js} +11 -13
  103. package/studio-dist/server/chunks/{_page.svelte-l4Z_xjl9.js → _page.svelte-CvTyJEyS.js} +9 -11
  104. package/studio-dist/server/chunks/{_page.svelte-DOWw416I.js → _page.svelte-CvzAttO9.js} +11 -13
  105. package/studio-dist/server/chunks/{_page.svelte-DYNorA0S.js → _page.svelte-Cx9Ptecp.js} +10 -67
  106. package/studio-dist/server/chunks/{_page.svelte-Wfx7ww_h.js → _page.svelte-Cx9dPjsT.js} +11 -13
  107. package/studio-dist/server/chunks/{_page.svelte-2cgtvHwW.js → _page.svelte-DGN5j-At.js} +13 -71
  108. package/studio-dist/server/chunks/{_page.svelte-BVVTrzTL.js → _page.svelte-DaheDIRs.js} +5 -5
  109. package/studio-dist/server/chunks/{_page.svelte-M5D2QnMS.js → _page.svelte-Dm8y5a8S.js} +10 -67
  110. package/studio-dist/server/chunks/{_page.svelte-B_pq-Z98.js → _page.svelte-DqXxyNsF.js} +7 -7
  111. package/studio-dist/server/chunks/{_page.svelte-C3aIui4o.js → _page.svelte-DqsbnAhk.js} +4 -4
  112. package/studio-dist/server/chunks/{_page.svelte-ksTJUXce.js → _page.svelte-Dt0_c1T-.js} +3 -3
  113. package/studio-dist/server/chunks/{_page.svelte-bGhsrIjS.js → _page.svelte-Dv6iwhu7.js} +3 -3
  114. package/studio-dist/server/chunks/{_page.svelte-BXyoMME1.js → _page.svelte-GPiHej3P.js} +5 -5
  115. package/studio-dist/server/chunks/{_page.svelte-CYDjW1R0.js → _page.svelte-LuRm8XxE.js} +5 -5
  116. package/studio-dist/server/chunks/{_page.svelte-Clbkk1gm.js → _page.svelte-Z7nL9SC-.js} +8 -9
  117. package/studio-dist/server/chunks/{_page.svelte-DUWbZjC7.js → _page.svelte-_kntHS6v.js} +4 -4
  118. package/studio-dist/server/chunks/{_page.svelte-BIlhmugm.js → _page.svelte-eiomv6Pa.js} +11 -13
  119. package/studio-dist/server/chunks/{_page.svelte-9OQphlnm.js → _page.svelte-jXJbd8Mx.js} +14 -69
  120. package/studio-dist/server/chunks/{_page.svelte-CHzXuw2Q.js → _page.svelte-me5SUosG.js} +3 -3
  121. package/studio-dist/server/chunks/{_server.ts-DSzRdt1U.js → _server.ts--2m_U4SL.js} +11 -94
  122. package/studio-dist/server/chunks/{_server.ts-ujoDR2_g.js → _server.ts--sGLmBsz.js} +10 -92
  123. package/studio-dist/server/chunks/{_server.ts-k2fApwOp.js → _server.ts-0ukyuE0I.js} +5 -60
  124. package/studio-dist/server/chunks/_server.ts-1eW2mTeh.js +40 -0
  125. package/studio-dist/server/chunks/{_server.ts-Bfr4u3EP.js → _server.ts-3LzqLzt0.js} +10 -92
  126. package/studio-dist/server/chunks/_server.ts-40h9Y46Y.js +122 -0
  127. package/studio-dist/server/chunks/_server.ts-5euivmMj.js +38 -0
  128. package/studio-dist/server/chunks/{_server.ts-CShsBkeE.js → _server.ts-B0uoay97.js} +7 -23
  129. package/studio-dist/server/chunks/{_server.ts-hL92cV7Z.js → _server.ts-B5vYKkI6.js} +9 -63
  130. package/studio-dist/server/chunks/{_server.ts-_RJXtmfi.js → _server.ts-B8dTbPHd.js} +8 -23
  131. package/studio-dist/server/chunks/{_server.ts-C3Jo-ju8.js → _server.ts-BA8Xdegq.js} +10 -92
  132. package/studio-dist/server/chunks/_server.ts-BBClE0n9.js +54 -0
  133. package/studio-dist/server/chunks/{_server.ts-ZS1_yMwR.js → _server.ts-BDwMoyZ_.js} +6 -32
  134. package/studio-dist/server/chunks/{_server.ts-sv4pA808.js → _server.ts-BE-Uhx4N.js} +5 -46
  135. package/studio-dist/server/chunks/{_server.ts-DV6pzF-M.js → _server.ts-BSHADOUJ.js} +4 -3
  136. package/studio-dist/server/chunks/_server.ts-BcsqAqXt.js +67 -0
  137. package/studio-dist/server/chunks/_server.ts-Bl9tMqwZ.js +159 -0
  138. package/studio-dist/server/chunks/_server.ts-BlzDnRI0.js +51 -0
  139. package/studio-dist/server/chunks/{_server.ts-DnE0f-iC.js → _server.ts-BtuemCsf.js} +4 -3
  140. package/studio-dist/server/chunks/{_server.ts-BPcErnS0.js → _server.ts-C2nYqbd9.js} +10 -92
  141. package/studio-dist/server/chunks/{_server.ts-4p6cp9ke.js → _server.ts-C6IDM_3I.js} +10 -92
  142. package/studio-dist/server/chunks/_server.ts-C8Z32vuL.js +45 -0
  143. package/studio-dist/server/chunks/_server.ts-CBXyadsy.js +26 -0
  144. package/studio-dist/server/chunks/{_server.ts-Do9RIPRo.js → _server.ts-CE6h2ATE.js} +5 -32
  145. package/studio-dist/server/chunks/_server.ts-CH06JVqZ.js +65 -0
  146. package/studio-dist/server/chunks/_server.ts-CNqcws-M.js +29 -0
  147. package/studio-dist/server/chunks/{_server.ts-CJA1djzJ.js → _server.ts-CPf8necd.js} +8 -92
  148. package/studio-dist/server/chunks/{_server.ts-uUx7uT2Y.js → _server.ts-CYv5YuHd.js} +6 -43
  149. package/studio-dist/server/chunks/{_server.ts-B2E7fxo9.js → _server.ts-CZ5GZRWX.js} +6 -91
  150. package/studio-dist/server/chunks/{_server.ts-DSAv66wD.js → _server.ts-CbThsyhY.js} +4 -3
  151. package/studio-dist/server/chunks/{_server.ts-DgbY5EB3.js → _server.ts-CeQolQOK.js} +10 -92
  152. package/studio-dist/server/chunks/_server.ts-ChoGyX5C.js +61 -0
  153. package/studio-dist/server/chunks/_server.ts-CjJYkLJH.js +61 -0
  154. package/studio-dist/server/chunks/{_server.ts-lPlBUIJX.js → _server.ts-CtjArzxf.js} +5 -60
  155. package/studio-dist/server/chunks/{_server.ts-Cq60m8Pw.js → _server.ts-D3QWZwt_.js} +4 -3
  156. package/studio-dist/server/chunks/{_server.ts-CkoJ2HCW.js → _server.ts-D6wP5bCh.js} +10 -92
  157. package/studio-dist/server/chunks/{_server.ts-DwTRjS4y.js → _server.ts-D7JwQTun.js} +10 -93
  158. package/studio-dist/server/chunks/_server.ts-DKFJdXPK.js +97 -0
  159. package/studio-dist/server/chunks/_server.ts-DNAPGKEF.js +55 -0
  160. package/studio-dist/server/chunks/_server.ts-DQiTiY3E.js +78 -0
  161. package/studio-dist/server/chunks/{_server.ts-BT0Uq2yq.js → _server.ts-DUyeSXbV.js} +10 -92
  162. package/studio-dist/server/chunks/{_server.ts-DRVz9D-J.js → _server.ts-DY7BwZCv.js} +9 -24
  163. package/studio-dist/server/chunks/{_server.ts-Cz0zgaUV.js → _server.ts-D_E276ms.js} +3 -2
  164. package/studio-dist/server/chunks/{_server.ts-B5g3eScF.js → _server.ts-DgtmTAp5.js} +5 -60
  165. package/studio-dist/server/chunks/{_server.ts-CboRJY0Q.js → _server.ts-DhTKaw7h.js} +10 -63
  166. package/studio-dist/server/chunks/_server.ts-DqKBSCPT.js +31 -0
  167. package/studio-dist/server/chunks/{_server.ts-CpmMp5D8.js → _server.ts-DyXBNnRD.js} +4 -3
  168. package/studio-dist/server/chunks/_server.ts-DzjUpduu.js +25 -0
  169. package/studio-dist/server/chunks/{_server.ts-CGiAXy5i.js → _server.ts-Dznqw6Dg.js} +8 -23
  170. package/studio-dist/server/chunks/{_server.ts-tKMjUFUP.js → _server.ts-EVwS7UXb.js} +4 -3
  171. package/studio-dist/server/chunks/_server.ts-J17j25VG.js +62 -0
  172. package/studio-dist/server/chunks/{_server.ts-BdN4AJ6o.js → _server.ts-VQchZxXq.js} +10 -91
  173. package/studio-dist/server/chunks/{_server.ts-C4BcDGqS.js → _server.ts-XLV5SvjH.js} +7 -63
  174. package/studio-dist/server/chunks/_server.ts-jZgqFIJz.js +45 -0
  175. package/studio-dist/server/chunks/{_server.ts-Bw7A4zgb.js → _server.ts-lyiGGv7w.js} +5 -3
  176. package/studio-dist/server/chunks/{brain-CXR7ZT7S.js → brain-xt_NeshR.js} +2 -2
  177. package/studio-dist/server/chunks/cleo-home-_XIqkZaL.js +109 -0
  178. package/studio-dist/server/chunks/{cli-action-DQcaqcfn.js → cli-action-VJPEn1pY.js} +2 -2
  179. package/studio-dist/server/chunks/{client-CgX38JBu.js → client-D71MZ7Vi.js} +5 -6
  180. package/studio-dist/server/chunks/cluster-label-layer-CysRMvhi.js +6721 -0
  181. package/studio-dist/server/chunks/connections-CWLPjwBP.js +15 -0
  182. package/studio-dist/server/chunks/{connections2-mi7mZqJM.js → connections2-DHVs5ytW.js} +32 -19
  183. package/studio-dist/server/chunks/{dev-BNpEUZI3.js → dev-Br5zieNA.js} +2 -2
  184. package/studio-dist/server/chunks/dist-BzgWhfUR.js +18748 -0
  185. package/studio-dist/server/chunks/{error.svelte-CplNulnS.js → error.svelte-BIToUowC.js} +6 -8
  186. package/studio-dist/server/chunks/{explorer-loader-BN_mkt3_.js → explorer-loader-B_uCSs9_.js} +2 -2
  187. package/studio-dist/server/chunks/exports-Dg-gdPPq.js +124 -0
  188. package/studio-dist/server/chunks/{hooks.server-DBsyphiX.js → hooks.server-CWBRp8NI.js} +10 -93
  189. package/studio-dist/server/chunks/{http-CRTZe306.js → http-DPU3HHl2.js} +3 -4
  190. package/studio-dist/server/chunks/{index-server-DocJvixA.js → index-server-BgfA6C0S.js} +17 -4
  191. package/studio-dist/server/chunks/{internal-D6eWgsHJ.js → internal-DPnIJYMs.js} +56 -92
  192. package/studio-dist/server/chunks/{memory2-Cgc_4D5q.js → memory-BZHnDZzu.js} +4 -4
  193. package/studio-dist/server/chunks/{nexus-adapter-9EL_VlGI.js → nexus-adapter-D1ryYG1Z.js} +5 -5
  194. package/studio-dist/server/chunks/{no-face-up-DcejJLy-.js → no-face-up-B_3h6Hgs.js} +2 -2
  195. package/studio-dist/server/chunks/project-context-BAXQmgch.js +188 -0
  196. package/studio-dist/server/chunks/{src-BUqGet2c.js → src-D2rW9bIF.js} +422 -5
  197. package/studio-dist/server/chunks/{stores-5DmdjPCH.js → stores-BZdYTyl7.js} +3 -3
  198. package/studio-dist/server/chunks/{tasks2-Bf9VHrv-.js → tasks-sWuEmiGW.js} +2349 -9
  199. package/studio-dist/server/chunks/{ui-DR8zOSpC.js → ui-CkQ-pCs3.js} +2 -2
  200. package/studio-dist/server/chunks/utils-g564cUMV.js +151 -0
  201. package/studio-dist/server/index.js +5 -16
  202. package/studio-dist/server/manifest.js +88 -88
  203. package/dist/cli/index.js.map +0 -6
  204. package/studio-dist/client/_app/immutable/assets/parse-worker.CSEr67Qi.js +0 -1127
  205. package/studio-dist/client/_app/immutable/chunks/2mEksghu2.js +0 -1
  206. package/studio-dist/client/_app/immutable/chunks/3KebaI-z.js +0 -53
  207. package/studio-dist/client/_app/immutable/chunks/3y2yNYEk2.js +0 -3
  208. package/studio-dist/client/_app/immutable/chunks/7UXYlaI1.js +0 -1
  209. package/studio-dist/client/_app/immutable/chunks/83VLmCvk.js +0 -4
  210. package/studio-dist/client/_app/immutable/chunks/84Rhmi6r.js +0 -2
  211. package/studio-dist/client/_app/immutable/chunks/9CV9TXTg2.js +0 -92
  212. package/studio-dist/client/_app/immutable/chunks/9LFtcz24.js +0 -1
  213. package/studio-dist/client/_app/immutable/chunks/9bLMgKwu2.js +0 -1
  214. package/studio-dist/client/_app/immutable/chunks/9kKqohVR2.js +0 -37
  215. package/studio-dist/client/_app/immutable/chunks/B-Ye28EY.js +0 -7
  216. package/studio-dist/client/_app/immutable/chunks/B-jnUl7o.js +0 -1
  217. package/studio-dist/client/_app/immutable/chunks/B0ORuy8x2.js +0 -1
  218. package/studio-dist/client/_app/immutable/chunks/B0xCM1wN2.js +0 -1
  219. package/studio-dist/client/_app/immutable/chunks/B0zCN4sX.js +0 -1
  220. package/studio-dist/client/_app/immutable/chunks/B1wt-iGW.js +0 -7
  221. package/studio-dist/client/_app/immutable/chunks/B2F3KUIU.js +0 -1
  222. package/studio-dist/client/_app/immutable/chunks/B2_6RrlL2.js +0 -1
  223. package/studio-dist/client/_app/immutable/chunks/B2qKEYxA2.js +0 -1
  224. package/studio-dist/client/_app/immutable/chunks/B2u2rNyI2.js +0 -8
  225. package/studio-dist/client/_app/immutable/chunks/B3_X3Lhd2.js +0 -1
  226. package/studio-dist/client/_app/immutable/chunks/B3sNtbqf.js +0 -1
  227. package/studio-dist/client/_app/immutable/chunks/B4NQP1Ax2.js +0 -6
  228. package/studio-dist/client/_app/immutable/chunks/BAtZg5v5.js +0 -2
  229. package/studio-dist/client/_app/immutable/chunks/BB6WKLm82.js +0 -1
  230. package/studio-dist/client/_app/immutable/chunks/BBX8UDtn.js +0 -1
  231. package/studio-dist/client/_app/immutable/chunks/BBs1U1iU.js +0 -1
  232. package/studio-dist/client/_app/immutable/chunks/BEli_4Jp2.js +0 -1
  233. package/studio-dist/client/_app/immutable/chunks/BEt2wIUt.js +0 -1
  234. package/studio-dist/client/_app/immutable/chunks/BEyM8qSW2.js +0 -1
  235. package/studio-dist/client/_app/immutable/chunks/BFZA3Dsk2.js +0 -1
  236. package/studio-dist/client/_app/immutable/chunks/BGdPweG1.js +0 -2
  237. package/studio-dist/client/_app/immutable/chunks/BGiusSqE.js +0 -1
  238. package/studio-dist/client/_app/immutable/chunks/BGmpyfzD.js +0 -1
  239. package/studio-dist/client/_app/immutable/chunks/BH5rhSIR.js +0 -1
  240. package/studio-dist/client/_app/immutable/chunks/BHciFt922.js +0 -2
  241. package/studio-dist/client/_app/immutable/chunks/BHnFwTQY.js +0 -1
  242. package/studio-dist/client/_app/immutable/chunks/BIvye3XP2.js +0 -59
  243. package/studio-dist/client/_app/immutable/chunks/BJ8mcpQA2.js +0 -1
  244. package/studio-dist/client/_app/immutable/chunks/BK17qSHw.js +0 -2
  245. package/studio-dist/client/_app/immutable/chunks/BLkgUtyb.js +0 -1
  246. package/studio-dist/client/_app/immutable/chunks/BMUko3r62.js +0 -5
  247. package/studio-dist/client/_app/immutable/chunks/BMwzdEaa.js +0 -2
  248. package/studio-dist/client/_app/immutable/chunks/BQZx6brg.js +0 -2
  249. package/studio-dist/client/_app/immutable/chunks/BUPJTTTd.js +0 -2
  250. package/studio-dist/client/_app/immutable/chunks/BVNGAeZe2.js +0 -146
  251. package/studio-dist/client/_app/immutable/chunks/BWfLryGm.js +0 -1
  252. package/studio-dist/client/_app/immutable/chunks/BXIfeogw.js +0 -1
  253. package/studio-dist/client/_app/immutable/chunks/BXTfFyUU.js +0 -1
  254. package/studio-dist/client/_app/immutable/chunks/BYJC6_MM.js +0 -2
  255. package/studio-dist/client/_app/immutable/chunks/BZV1ZJzH.js +0 -2
  256. package/studio-dist/client/_app/immutable/chunks/BZu9rehd.js +0 -1
  257. package/studio-dist/client/_app/immutable/chunks/Bbzm48C52.js +0 -1
  258. package/studio-dist/client/_app/immutable/chunks/BfGnlwjH.js +0 -1
  259. package/studio-dist/client/_app/immutable/chunks/Bfjb9LPp.js +0 -2
  260. package/studio-dist/client/_app/immutable/chunks/BieFfu-R.js +0 -1
  261. package/studio-dist/client/_app/immutable/chunks/Bmv63uXe2.js +0 -1
  262. package/studio-dist/client/_app/immutable/chunks/BtBW1A0u.js +0 -1
  263. package/studio-dist/client/_app/immutable/chunks/BxISGQCl2.js +0 -1
  264. package/studio-dist/client/_app/immutable/chunks/ByNR_KvT.js +0 -2
  265. package/studio-dist/client/_app/immutable/chunks/BzjhD6Hr2.js +0 -2
  266. package/studio-dist/client/_app/immutable/chunks/BzpWnq0c2.js +0 -1
  267. package/studio-dist/client/_app/immutable/chunks/C-yJVcyI2.js +0 -1
  268. package/studio-dist/client/_app/immutable/chunks/C0cQ-8kS2.js +0 -1
  269. package/studio-dist/client/_app/immutable/chunks/C1vWmhYe.js +0 -48
  270. package/studio-dist/client/_app/immutable/chunks/C1w6bBje.js +0 -1
  271. package/studio-dist/client/_app/immutable/chunks/C243sn7r.js +0 -4
  272. package/studio-dist/client/_app/immutable/chunks/C2oZaDvt.js +0 -67
  273. package/studio-dist/client/_app/immutable/chunks/C3OziSQx.js +0 -1
  274. package/studio-dist/client/_app/immutable/chunks/C3hFPbMK.js +0 -2
  275. package/studio-dist/client/_app/immutable/chunks/C4P9oFvU2.js +0 -6
  276. package/studio-dist/client/_app/immutable/chunks/C5Nlanei.js +0 -8
  277. package/studio-dist/client/_app/immutable/chunks/C6KBAXPl.js +0 -15
  278. package/studio-dist/client/_app/immutable/chunks/C8MZnWta.js +0 -1
  279. package/studio-dist/client/_app/immutable/chunks/CAoan3K12.js +0 -1
  280. package/studio-dist/client/_app/immutable/chunks/CBpcINYH.js +0 -29
  281. package/studio-dist/client/_app/immutable/chunks/CE7phgWq.js +0 -1
  282. package/studio-dist/client/_app/immutable/chunks/CFb4Co_K.js +0 -2
  283. package/studio-dist/client/_app/immutable/chunks/CGWoRK3t2.js +0 -1
  284. package/studio-dist/client/_app/immutable/chunks/CH3t4xo1.js +0 -1
  285. package/studio-dist/client/_app/immutable/chunks/CHJgk6g-.js +0 -1
  286. package/studio-dist/client/_app/immutable/chunks/CHgPjuDQ.js +0 -17
  287. package/studio-dist/client/_app/immutable/chunks/CHkCZrnr.js +0 -1
  288. package/studio-dist/client/_app/immutable/chunks/CI_91WUN.js +0 -4
  289. package/studio-dist/client/_app/immutable/chunks/CJ7-hP0H.js +0 -1
  290. package/studio-dist/client/_app/immutable/chunks/CKIrNnkY2.js +0 -1
  291. package/studio-dist/client/_app/immutable/chunks/CKoQ7Ko5.js +0 -1
  292. package/studio-dist/client/_app/immutable/chunks/CM8O4zqs.js +0 -56
  293. package/studio-dist/client/_app/immutable/chunks/CMz3AVRO.js +0 -1
  294. package/studio-dist/client/_app/immutable/chunks/CNToUR3P.js +0 -13
  295. package/studio-dist/client/_app/immutable/chunks/CNuQG1yl2.js +0 -1
  296. package/studio-dist/client/_app/immutable/chunks/CQLIZtxj.js +0 -2
  297. package/studio-dist/client/_app/immutable/chunks/CQYVNgM0.js +0 -20
  298. package/studio-dist/client/_app/immutable/chunks/CQeVOmFO2.js +0 -1
  299. package/studio-dist/client/_app/immutable/chunks/CSPHHq09.js +0 -1
  300. package/studio-dist/client/_app/immutable/chunks/CTJEdbIn.js +0 -1
  301. package/studio-dist/client/_app/immutable/chunks/CTTT3wYw.js +0 -35
  302. package/studio-dist/client/_app/immutable/chunks/CV4ck7fz.js +0 -2
  303. package/studio-dist/client/_app/immutable/chunks/CXQrVnHf.js +0 -11
  304. package/studio-dist/client/_app/immutable/chunks/CXTCtOUQ.js +0 -1
  305. package/studio-dist/client/_app/immutable/chunks/C_CsU7Qq.js +0 -1
  306. package/studio-dist/client/_app/immutable/chunks/C_IZx3682.js +0 -2
  307. package/studio-dist/client/_app/immutable/chunks/CbTnu2Po2.js +0 -1
  308. package/studio-dist/client/_app/immutable/chunks/Cba8RZ1a2.js +0 -8
  309. package/studio-dist/client/_app/immutable/chunks/Cc8xxDr5.js +0 -1
  310. package/studio-dist/client/_app/immutable/chunks/CdPxoldu.js +0 -1
  311. package/studio-dist/client/_app/immutable/chunks/CdqDTozW.js +0 -1
  312. package/studio-dist/client/_app/immutable/chunks/CdsmcCfC.js +0 -25
  313. package/studio-dist/client/_app/immutable/chunks/CeYPAoY9.js +0 -1
  314. package/studio-dist/client/_app/immutable/chunks/Cf4kGS9y.js +0 -1
  315. package/studio-dist/client/_app/immutable/chunks/CfWEqXtJ2.js +0 -1
  316. package/studio-dist/client/_app/immutable/chunks/Cg7Wj2b9.js +0 -2
  317. package/studio-dist/client/_app/immutable/chunks/CgTpKZfi2.js +0 -1
  318. package/studio-dist/client/_app/immutable/chunks/Chpy9ca7.js +0 -2
  319. package/studio-dist/client/_app/immutable/chunks/CiLKuLrQ.js +0 -4
  320. package/studio-dist/client/_app/immutable/chunks/CjNDJjwu.js +0 -1
  321. package/studio-dist/client/_app/immutable/chunks/Cjde0ZKr2.js +0 -1
  322. package/studio-dist/client/_app/immutable/chunks/Cjgnade02.js +0 -3
  323. package/studio-dist/client/_app/immutable/chunks/Ckp90om52.js +0 -2
  324. package/studio-dist/client/_app/immutable/chunks/ClAPVhCD.js +0 -1
  325. package/studio-dist/client/_app/immutable/chunks/ClT89UdO.js +0 -11
  326. package/studio-dist/client/_app/immutable/chunks/CnJf5tML.js +0 -1
  327. package/studio-dist/client/_app/immutable/chunks/CpF4Rrcc2.js +0 -1
  328. package/studio-dist/client/_app/immutable/chunks/CqCka5yX2.js +0 -1
  329. package/studio-dist/client/_app/immutable/chunks/CqtqZrOl.js +0 -1
  330. package/studio-dist/client/_app/immutable/chunks/CrJdywQt.js +0 -1
  331. package/studio-dist/client/_app/immutable/chunks/Cs0zC2l2.js +0 -1
  332. package/studio-dist/client/_app/immutable/chunks/CsMn5fBs.js +0 -141
  333. package/studio-dist/client/_app/immutable/chunks/CsvKLHQQ2.js +0 -2
  334. package/studio-dist/client/_app/immutable/chunks/Ctaresvj.js +0 -1
  335. package/studio-dist/client/_app/immutable/chunks/Ctetf8vc2.js +0 -2
  336. package/studio-dist/client/_app/immutable/chunks/Cv7yW6MG.js +0 -1
  337. package/studio-dist/client/_app/immutable/chunks/CxRIz-Zd.js +0 -1
  338. package/studio-dist/client/_app/immutable/chunks/CxbvtjIH.js +0 -3
  339. package/studio-dist/client/_app/immutable/chunks/CxfeoXkZ.js +0 -2
  340. package/studio-dist/client/_app/immutable/chunks/CySLscL2.js +0 -2
  341. package/studio-dist/client/_app/immutable/chunks/D0PKQAbM.js +0 -87
  342. package/studio-dist/client/_app/immutable/chunks/D0WQsLTu.js +0 -1
  343. package/studio-dist/client/_app/immutable/chunks/D1LBVx6r2.js +0 -1
  344. package/studio-dist/client/_app/immutable/chunks/D1NlFXu9.js +0 -1
  345. package/studio-dist/client/_app/immutable/chunks/D1QfC4hu2.js +0 -1
  346. package/studio-dist/client/_app/immutable/chunks/D1yrHAn72.js +0 -1
  347. package/studio-dist/client/_app/immutable/chunks/D2pa4reh.js +0 -7
  348. package/studio-dist/client/_app/immutable/chunks/D3QsWcIw2.js +0 -2
  349. package/studio-dist/client/_app/immutable/chunks/D4OkQuPl2.js +0 -1
  350. package/studio-dist/client/_app/immutable/chunks/D6UDnATk2.js +0 -1
  351. package/studio-dist/client/_app/immutable/chunks/D7w7HllH.js +0 -38
  352. package/studio-dist/client/_app/immutable/chunks/D93KpglN.js +0 -1
  353. package/studio-dist/client/_app/immutable/chunks/D99fQj2G2.js +0 -1
  354. package/studio-dist/client/_app/immutable/chunks/DB5ifLM-.js +0 -3
  355. package/studio-dist/client/_app/immutable/chunks/DBhP8ifO2.js +0 -15
  356. package/studio-dist/client/_app/immutable/chunks/DF_4OWhj.js +0 -2
  357. package/studio-dist/client/_app/immutable/chunks/DFpNK1vs2.js +0 -1
  358. package/studio-dist/client/_app/immutable/chunks/DGRYMk-W.js +0 -142
  359. package/studio-dist/client/_app/immutable/chunks/DH3CcQwq.js +0 -1
  360. package/studio-dist/client/_app/immutable/chunks/DHQfJeLU.js +0 -4
  361. package/studio-dist/client/_app/immutable/chunks/DL89yEDy2.js +0 -1
  362. package/studio-dist/client/_app/immutable/chunks/DLRku_0p2.js +0 -2
  363. package/studio-dist/client/_app/immutable/chunks/DMZkjPYT2.js +0 -1
  364. package/studio-dist/client/_app/immutable/chunks/DNP72foU.js +0 -1
  365. package/studio-dist/client/_app/immutable/chunks/DO2GztVm.js +0 -1
  366. package/studio-dist/client/_app/immutable/chunks/DOVNXmCK2.js +0 -1
  367. package/studio-dist/client/_app/immutable/chunks/DOqzs8kl2.js +0 -1
  368. package/studio-dist/client/_app/immutable/chunks/DQnR63hh2.js +0 -7
  369. package/studio-dist/client/_app/immutable/chunks/DTxtWPkw.js +0 -1
  370. package/studio-dist/client/_app/immutable/chunks/DVDgCC9A2.js +0 -20
  371. package/studio-dist/client/_app/immutable/chunks/DVVCJYjz.js +0 -1
  372. package/studio-dist/client/_app/immutable/chunks/DWRhYUMj2.js +0 -1
  373. package/studio-dist/client/_app/immutable/chunks/DWavBJBI.js +0 -4
  374. package/studio-dist/client/_app/immutable/chunks/DXDSWRw-.js +0 -1
  375. package/studio-dist/client/_app/immutable/chunks/DXoHaH4a.js +0 -2
  376. package/studio-dist/client/_app/immutable/chunks/DXpCX2Hi.js +0 -1
  377. package/studio-dist/client/_app/immutable/chunks/DYP3EJMY.js +0 -1
  378. package/studio-dist/client/_app/immutable/chunks/DYQphR_V.js +0 -1
  379. package/studio-dist/client/_app/immutable/chunks/DYUlIivP.js +0 -1
  380. package/studio-dist/client/_app/immutable/chunks/DYo2ye8X2.js +0 -1
  381. package/studio-dist/client/_app/immutable/chunks/DYxFu8yV.js +0 -1
  382. package/studio-dist/client/_app/immutable/chunks/DZ66sRb6.js +0 -1
  383. package/studio-dist/client/_app/immutable/chunks/D_XTiylm2.js +0 -1
  384. package/studio-dist/client/_app/immutable/chunks/DaRv9jn22.js +0 -1
  385. package/studio-dist/client/_app/immutable/chunks/DaXb9i_E.js +0 -1
  386. package/studio-dist/client/_app/immutable/chunks/Dccf4VP2.js +0 -24
  387. package/studio-dist/client/_app/immutable/chunks/DdODs-Sb.js +0 -1
  388. package/studio-dist/client/_app/immutable/chunks/DdekYWer.js +0 -2
  389. package/studio-dist/client/_app/immutable/chunks/DeHaovsF.js +0 -1
  390. package/studio-dist/client/_app/immutable/chunks/DeRRkRO52.js +0 -1
  391. package/studio-dist/client/_app/immutable/chunks/DeWI5qCn.js +0 -1
  392. package/studio-dist/client/_app/immutable/chunks/DfivR-Md.js +0 -1
  393. package/studio-dist/client/_app/immutable/chunks/DgmxpSo7.js +0 -1
  394. package/studio-dist/client/_app/immutable/chunks/DhPLWrun2.js +0 -1
  395. package/studio-dist/client/_app/immutable/chunks/DhhrVdfi.js +0 -2
  396. package/studio-dist/client/_app/immutable/chunks/Djr2dbcc2.js +0 -37
  397. package/studio-dist/client/_app/immutable/chunks/DjuRo5vv.js +0 -1
  398. package/studio-dist/client/_app/immutable/chunks/Djz4EDzO.js +0 -1
  399. package/studio-dist/client/_app/immutable/chunks/DkRfaw-K2.js +0 -1
  400. package/studio-dist/client/_app/immutable/chunks/DksB5g4W2.js +0 -1
  401. package/studio-dist/client/_app/immutable/chunks/Dmqenb5z2.js +0 -1
  402. package/studio-dist/client/_app/immutable/chunks/DnbToVyf.js +0 -2
  403. package/studio-dist/client/_app/immutable/chunks/DpGZwlmj.js +0 -1
  404. package/studio-dist/client/_app/immutable/chunks/Dq0lE5C32.js +0 -1
  405. package/studio-dist/client/_app/immutable/chunks/Dq54XqHT2.js +0 -1
  406. package/studio-dist/client/_app/immutable/chunks/DqK84mbb.js +0 -1
  407. package/studio-dist/client/_app/immutable/chunks/DqjFtSJD.js +0 -2
  408. package/studio-dist/client/_app/immutable/chunks/DrKWWDpL.js +0 -1
  409. package/studio-dist/client/_app/immutable/chunks/DsQIgu-4.js +0 -1
  410. package/studio-dist/client/_app/immutable/chunks/DsqdgJHS2.js +0 -1
  411. package/studio-dist/client/_app/immutable/chunks/DtNkZUkq.js +0 -17
  412. package/studio-dist/client/_app/immutable/chunks/DutIls4V2.js +0 -1
  413. package/studio-dist/client/_app/immutable/chunks/DvxYFW4C.js +0 -1
  414. package/studio-dist/client/_app/immutable/chunks/Dwp-76GQ.js +0 -2
  415. package/studio-dist/client/_app/immutable/chunks/DxSZd548.js +0 -1
  416. package/studio-dist/client/_app/immutable/chunks/DxiUMhk0.js +0 -5
  417. package/studio-dist/client/_app/immutable/chunks/DxslLswf.js +0 -23
  418. package/studio-dist/client/_app/immutable/chunks/Dy7EjGgb2.js +0 -9
  419. package/studio-dist/client/_app/immutable/chunks/DyGQ_VXC.js +0 -3
  420. package/studio-dist/client/_app/immutable/chunks/DySe3kTV2.js +0 -1
  421. package/studio-dist/client/_app/immutable/chunks/DyzE2Uxw.js +0 -1
  422. package/studio-dist/client/_app/immutable/chunks/DzhuJaxE2.js +0 -2
  423. package/studio-dist/client/_app/immutable/chunks/FmMHyrh6.js +0 -1
  424. package/studio-dist/client/_app/immutable/chunks/Gxs0J274.js +0 -5
  425. package/studio-dist/client/_app/immutable/chunks/HwtzDYxN.js +0 -2
  426. package/studio-dist/client/_app/immutable/chunks/ITRz_Q7H2.js +0 -15
  427. package/studio-dist/client/_app/immutable/chunks/KDNP98XY2.js +0 -1
  428. package/studio-dist/client/_app/immutable/chunks/LmVjFhpk2.js +0 -1
  429. package/studio-dist/client/_app/immutable/chunks/MiAejGV_.js +0 -1
  430. package/studio-dist/client/_app/immutable/chunks/Ml4JR6Jz2.js +0 -2
  431. package/studio-dist/client/_app/immutable/chunks/NU5S3nNs2.js +0 -2
  432. package/studio-dist/client/_app/immutable/chunks/Oh5zPjv3.js +0 -2
  433. package/studio-dist/client/_app/immutable/chunks/QZkvJ9vi.js +0 -1
  434. package/studio-dist/client/_app/immutable/chunks/Rbn8UpBm.js +0 -1
  435. package/studio-dist/client/_app/immutable/chunks/SPX3gYwn2.js +0 -1
  436. package/studio-dist/client/_app/immutable/chunks/TX-23QW3.js +0 -3
  437. package/studio-dist/client/_app/immutable/chunks/UyeQuL132.js +0 -12
  438. package/studio-dist/client/_app/immutable/chunks/VQszoXcV.js +0 -1
  439. package/studio-dist/client/_app/immutable/chunks/VtZsEMxD.js +0 -1
  440. package/studio-dist/client/_app/immutable/chunks/W2IeK61p2.js +0 -1
  441. package/studio-dist/client/_app/immutable/chunks/Wadww7ZG.js +0 -1
  442. package/studio-dist/client/_app/immutable/chunks/WgfA1zWk2.js +0 -1
  443. package/studio-dist/client/_app/immutable/chunks/WxIgAS1f.js +0 -21
  444. package/studio-dist/client/_app/immutable/chunks/XrsBoOj9.js +0 -2
  445. package/studio-dist/client/_app/immutable/chunks/Y3PX4poR.js +0 -2
  446. package/studio-dist/client/_app/immutable/chunks/YxfwqiF32.js +0 -1
  447. package/studio-dist/client/_app/immutable/chunks/Z7uO1YaO.js +0 -1
  448. package/studio-dist/client/_app/immutable/chunks/_4ykQk_8.js +0 -1
  449. package/studio-dist/client/_app/immutable/chunks/_kRcZFVn.js +0 -1
  450. package/studio-dist/client/_app/immutable/chunks/aQNM7eVA2.js +0 -1
  451. package/studio-dist/client/_app/immutable/chunks/bHKz_Fb2.js +0 -45
  452. package/studio-dist/client/_app/immutable/chunks/bJRyRGSZ.js +0 -1
  453. package/studio-dist/client/_app/immutable/chunks/dlzF6lnR.js +0 -1
  454. package/studio-dist/client/_app/immutable/chunks/fjRbpfEr2.js +0 -26
  455. package/studio-dist/client/_app/immutable/chunks/imLk4if5.js +0 -3
  456. package/studio-dist/client/_app/immutable/chunks/lgRG0R-32.js +0 -1
  457. package/studio-dist/client/_app/immutable/chunks/mFhCjxQJ2.js +0 -1
  458. package/studio-dist/client/_app/immutable/chunks/mgnH6qYg.js +0 -1
  459. package/studio-dist/client/_app/immutable/chunks/n6M_5LoW.js +0 -1
  460. package/studio-dist/client/_app/immutable/chunks/nLIOiDZp2.js +0 -1
  461. package/studio-dist/client/_app/immutable/chunks/nab7WB3u2.js +0 -1
  462. package/studio-dist/client/_app/immutable/chunks/orUmAKoW2.js +0 -1
  463. package/studio-dist/client/_app/immutable/chunks/p-fLQDfY2.js +0 -63
  464. package/studio-dist/client/_app/immutable/chunks/s0-WkOGk2.js +0 -1
  465. package/studio-dist/client/_app/immutable/chunks/sPuXfbUF.js +0 -1
  466. package/studio-dist/client/_app/immutable/chunks/t4h0vrqR2.js +0 -2
  467. package/studio-dist/client/_app/immutable/chunks/uE83FKL-.js +0 -1
  468. package/studio-dist/client/_app/immutable/chunks/uzhXlm0g2.js +0 -1
  469. package/studio-dist/client/_app/immutable/chunks/vTrEsGlD2.js +0 -1
  470. package/studio-dist/client/_app/immutable/chunks/xJgCk3dx2.js +0 -28
  471. package/studio-dist/client/_app/immutable/chunks/z0Mt579s2.js +0 -13
  472. package/studio-dist/client/_app/immutable/entry/app.BoQ7cgT2.js +0 -2
  473. package/studio-dist/client/_app/immutable/entry/start.Cg1v8DU4.js +0 -1
  474. package/studio-dist/client/_app/immutable/nodes/25.ddZ1_EFk.js +0 -1
  475. package/studio-dist/client/_app/immutable/nodes/26.6OcmQbLV.js +0 -1
  476. package/studio-dist/client/_app/immutable/nodes/4.CCjOEwVU.js +0 -1
  477. package/studio-dist/server/chunks/0-CvsKDxQ6.js +0 -126
  478. package/studio-dist/server/chunks/1-ck_x2Hf0.js +0 -9
  479. package/studio-dist/server/chunks/20-DVU22np7.js +0 -142
  480. package/studio-dist/server/chunks/23-D_tUnnoc.js +0 -181
  481. package/studio-dist/server/chunks/24-CVlymvLF.js +0 -151
  482. package/studio-dist/server/chunks/AwsRestJsonProtocol-BZuoNBmL.js +0 -416
  483. package/studio-dist/server/chunks/UnionSerde-BflIkhKj.js +0 -2653
  484. package/studio-dist/server/chunks/_dispatch-ncuRztUQ.js +0 -5597
  485. package/studio-dist/server/chunks/_server.ts-4NyKAneX.js +0 -116
  486. package/studio-dist/server/chunks/_server.ts-7hGdxdEI.js +0 -136
  487. package/studio-dist/server/chunks/_server.ts-B6b3b-yA.js +0 -131
  488. package/studio-dist/server/chunks/_server.ts-BOgGqaZp.js +0 -144
  489. package/studio-dist/server/chunks/_server.ts-BV1HiKZ0.js +0 -120
  490. package/studio-dist/server/chunks/_server.ts-BWp3g6Cr.js +0 -110
  491. package/studio-dist/server/chunks/_server.ts-C5NF-UgC.js +0 -122
  492. package/studio-dist/server/chunks/_server.ts-CDMurH5m.js +0 -2301
  493. package/studio-dist/server/chunks/_server.ts-COJHCgbq.js +0 -127
  494. package/studio-dist/server/chunks/_server.ts-CUl-Utkt.js +0 -148
  495. package/studio-dist/server/chunks/_server.ts-D0GAFJRb.js +0 -156
  496. package/studio-dist/server/chunks/_server.ts-DA6p3pmi.js +0 -117
  497. package/studio-dist/server/chunks/_server.ts-DThYFaZj.js +0 -160
  498. package/studio-dist/server/chunks/_server.ts-D_3Pm0gr.js +0 -179
  499. package/studio-dist/server/chunks/_server.ts-DcHxdMsm.js +0 -144
  500. package/studio-dist/server/chunks/_server.ts-Dlfadh2I.js +0 -144
  501. package/studio-dist/server/chunks/_server.ts-JallJnps.js +0 -240
  502. package/studio-dist/server/chunks/_server.ts-NEFTbJpM.js +0 -142
  503. package/studio-dist/server/chunks/_server.ts-d-2NvRwX.js +0 -122
  504. package/studio-dist/server/chunks/_server.ts-rUWMLkIw.js +0 -146
  505. package/studio-dist/server/chunks/abort-events-CDRAJSqb.js +0 -30
  506. package/studio-dist/server/chunks/adapters-BkMgPNUM.js +0 -359
  507. package/studio-dist/server/chunks/adapters2-CQ3PzoaK.js +0 -28
  508. package/studio-dist/server/chunks/api-mode2-3W-I1-XO.js +0 -36
  509. package/studio-dist/server/chunks/api2-CmNQzb0b.js +0 -96
  510. package/studio-dist/server/chunks/attention-consolidate-CidG1jfH.js +0 -485
  511. package/studio-dist/server/chunks/audit3-DMO_fUGp.js +0 -52
  512. package/studio-dist/server/chunks/auto-extract-B84La1Vs.js +0 -34
  513. package/studio-dist/server/chunks/brain-consolidator-JGm6mzFf.js +0 -373
  514. package/studio-dist/server/chunks/brain-doctor-Dc2WqVbs.js +0 -311
  515. package/studio-dist/server/chunks/brain-embedding-Djw9ekXu.js +0 -42
  516. package/studio-dist/server/chunks/brain-lifecycle-BOOa876K.js +0 -969
  517. package/studio-dist/server/chunks/brain-maintenance-U6VvsvmK.js +0 -133
  518. package/studio-dist/server/chunks/brain-maintenance2-CwVSmfDT.js +0 -43
  519. package/studio-dist/server/chunks/brain-retrieval2-exR8mdgh.js +0 -751
  520. package/studio-dist/server/chunks/brain-search-CpSh-SNi.js +0 -48
  521. package/studio-dist/server/chunks/brain-search2-CwI2cXgg.js +0 -716
  522. package/studio-dist/server/chunks/brain-similarity-DI4yzm9e.js +0 -113
  523. package/studio-dist/server/chunks/brain-stdp2-BxSBIlSr.js +0 -960
  524. package/studio-dist/server/chunks/brain-writer-handlers-Dwu0QCAA.js +0 -188
  525. package/studio-dist/server/chunks/brain-writer-thread-6n7wI7Gy.js +0 -360
  526. package/studio-dist/server/chunks/branch-lock-Cq7zzmFK.js +0 -1118
  527. package/studio-dist/server/chunks/branch-lock2-CmDc4CZW.js +0 -45
  528. package/studio-dist/server/chunks/cancelled-child-waiver-audit-DkesrN83.js +0 -54
  529. package/studio-dist/server/chunks/catalog-model-resolver-Bas9qnoP.js +0 -9
  530. package/studio-dist/server/chunks/catalog-model-resolver2-Cexk2TN0.js +0 -237
  531. package/studio-dist/server/chunks/catalog-resolver-CLot3XJO.js +0 -260
  532. package/studio-dist/server/chunks/catalog-resolver2-JmKb91kY.js +0 -33
  533. package/studio-dist/server/chunks/chunk-DDP5xfzh.js +0 -39
  534. package/studio-dist/server/chunks/cleo-home-CCfe6kAQ.js +0 -64
  535. package/studio-dist/server/chunks/concrete-session2-bb_vxJ2N.js +0 -43
  536. package/studio-dist/server/chunks/config-DHj9CcFs.js +0 -386
  537. package/studio-dist/server/chunks/config2-F6PPIn7D.js +0 -35
  538. package/studio-dist/server/chunks/connections-BMGJVYcS.js +0 -98
  539. package/studio-dist/server/chunks/credential-pool-vF6NdtT9.js +0 -4600
  540. package/studio-dist/server/chunks/credentials-C7EJFf5O.js +0 -35
  541. package/studio-dist/server/chunks/credentials-store-CFygIuB2.js +0 -35
  542. package/studio-dist/server/chunks/cross-db-cleanup-1LWTUKPi.js +0 -147
  543. package/studio-dist/server/chunks/data-accessor-CWgVndbR.js +0 -72
  544. package/studio-dist/server/chunks/data-safety-central-DaFxK27G.js +0 -683
  545. package/studio-dist/server/chunks/decisions-CmVXV2-H.js +0 -574
  546. package/studio-dist/server/chunks/decisions2-XQsSYdxa.js +0 -48
  547. package/studio-dist/server/chunks/depends-waiver-audit-CUmlBYHx.js +0 -56
  548. package/studio-dist/server/chunks/dialectic-evaluator2-BOyyXhdI.js +0 -96
  549. package/studio-dist/server/chunks/dist-es2-DQy2Mjn_.js +0 -43
  550. package/studio-dist/server/chunks/dist-es3-CBygU4n5.js +0 -365
  551. package/studio-dist/server/chunks/dist-es4-CavbNu4B.js +0 -162
  552. package/studio-dist/server/chunks/dist-es5-Crpm8Wsl.js +0 -465
  553. package/studio-dist/server/chunks/dist-es6-CgePHzh4.js +0 -99
  554. package/studio-dist/server/chunks/dist-es7-k6c5GEd7.js +0 -311
  555. package/studio-dist/server/chunks/dist-es8-Bd9v0_pE.js +0 -91
  556. package/studio-dist/server/chunks/dist3-23bsJhRw.js +0 -27
  557. package/studio-dist/server/chunks/dist4-DmC1zSXi.js +0 -35618
  558. package/studio-dist/server/chunks/dual-scope-db-DKnWu1KM.js +0 -5672
  559. package/studio-dist/server/chunks/dual-scope-db2-Dht3luRw.js +0 -31
  560. package/studio-dist/server/chunks/duplicate-bypass-audit-BN5w1H2y.js +0 -36
  561. package/studio-dist/server/chunks/duplicate-detector-CaVFMKdE.js +0 -692
  562. package/studio-dist/server/chunks/edge-types-CgBvb0w1.js +0 -28
  563. package/studio-dist/server/chunks/embedding-local-xEnym8Ho.js +0 -92
  564. package/studio-dist/server/chunks/event-streams-Bi2p_fVo.js +0 -232
  565. package/studio-dist/server/chunks/execution-learning-BVCw7Plq.js +0 -278
  566. package/studio-dist/server/chunks/exodus-BBuuN6aA.js +0 -2594
  567. package/studio-dist/server/chunks/externalDataInterceptor-C3C4cObe.js +0 -21
  568. package/studio-dist/server/chunks/extraction-gate-DDNBq7gu.js +0 -48
  569. package/studio-dist/server/chunks/extraction-gate2-D77EZBQ6.js +0 -375
  570. package/studio-dist/server/chunks/getSSOTokenFromFile-yZAJxDci.js +0 -21
  571. package/studio-dist/server/chunks/governor2-CtfV3wfX.js +0 -923
  572. package/studio-dist/server/chunks/graph-auto-populate-Dmsr9ZJM.js +0 -42
  573. package/studio-dist/server/chunks/graph-auto-populate2-Cz0qeebM.js +0 -156
  574. package/studio-dist/server/chunks/graph-memory-bridge-CY8ft_d7.js +0 -43
  575. package/studio-dist/server/chunks/graph-memory-bridge2-Cd0XZwqc.js +0 -429
  576. package/studio-dist/server/chunks/handler-helpers-AANBGA_p.js +0 -49
  577. package/studio-dist/server/chunks/hash-Cm6yMET4.js +0 -14
  578. package/studio-dist/server/chunks/health-monitor-FepUZN1m.js +0 -106
  579. package/studio-dist/server/chunks/identity-DRpurt56.js +0 -30
  580. package/studio-dist/server/chunks/identity2-DeAB5RXE.js +0 -114
  581. package/studio-dist/server/chunks/index-61916rmV.js +0 -632
  582. package/studio-dist/server/chunks/index-DAgVDouG.js +0 -268
  583. package/studio-dist/server/chunks/index-Dtt_h58T.js +0 -2116
  584. package/studio-dist/server/chunks/indexes-DZ52grq6.js +0 -615
  585. package/studio-dist/server/chunks/json-Bfixam3g.js +0 -126
  586. package/studio-dist/server/chunks/learnings-D6Y3YGMU.js +0 -47
  587. package/studio-dist/server/chunks/learnings2-MwBdR9vb.js +0 -171
  588. package/studio-dist/server/chunks/lifecycle-ops2-V2CR5-7X.js +0 -121
  589. package/studio-dist/server/chunks/list-BhObczvn.js +0 -229
  590. package/studio-dist/server/chunks/living-brain2-j0B_Ir8j.js +0 -285
  591. package/studio-dist/server/chunks/llm-backend-resolver-D4ANvUPL.js +0 -295
  592. package/studio-dist/server/chunks/llm-extraction-DVCu4heR.js +0 -408
  593. package/studio-dist/server/chunks/loadSharedConfigFiles-umvW7kuz.js +0 -73
  594. package/studio-dist/server/chunks/loadSso-iidd5iKx.js +0 -599
  595. package/studio-dist/server/chunks/local-model-fit-B0TxifnX.js +0 -53
  596. package/studio-dist/server/chunks/local-model-fit2-BMqo6GJm.js +0 -2664
  597. package/studio-dist/server/chunks/lock-CA7d6lj7.js +0 -57
  598. package/studio-dist/server/chunks/logger-DQIoyZbq.js +0 -34
  599. package/studio-dist/server/chunks/memory-BUbicBbE.js +0 -618
  600. package/studio-dist/server/chunks/memory-accessor-i3P-RHSg.js +0 -42
  601. package/studio-dist/server/chunks/memory-accessor2-B981tHDR.js +0 -467
  602. package/studio-dist/server/chunks/memory-bridge-BOlEWg9w.js +0 -424
  603. package/studio-dist/server/chunks/memory-sqlite2-B7dq8doO.js +0 -42
  604. package/studio-dist/server/chunks/model-runner2-B71xjp4y.js +0 -43
  605. package/studio-dist/server/chunks/mvi-helpers-BNsJ8ZpQ.js +0 -59
  606. package/studio-dist/server/chunks/nexus-plasticity-BTfU8cW_.js +0 -269
  607. package/studio-dist/server/chunks/nexus-risk-audit-p379-TU5.js +0 -54
  608. package/studio-dist/server/chunks/nexus-schema-zeygY8OD.js +0 -11
  609. package/studio-dist/server/chunks/nexus-schema2-DP0Qd7CA.js +0 -444
  610. package/studio-dist/server/chunks/nexus-sqlite-BVNIpwc7.js +0 -36
  611. package/studio-dist/server/chunks/nexus-sqlite2-BBfY2xnY.js +0 -1103
  612. package/studio-dist/server/chunks/node-http-handler-CJI8kn7X.js +0 -386
  613. package/studio-dist/server/chunks/observe-Bo9veHGe.js +0 -47
  614. package/studio-dist/server/chunks/observe2-wzO0MaMY.js +0 -245
  615. package/studio-dist/server/chunks/observer-reflector-BwNOuq1d.js +0 -62
  616. package/studio-dist/server/chunks/observer-reflector2-ggtC1hmk.js +0 -478
  617. package/studio-dist/server/chunks/on-open-Wpcw7DV4.js +0 -740
  618. package/studio-dist/server/chunks/open-cleo-db--8sYNaYY.js +0 -70
  619. package/studio-dist/server/chunks/parseKnownFiles-Dg0pMFcT.js +0 -18
  620. package/studio-dist/server/chunks/parseUrl-qgGfl-Vh.js +0 -120
  621. package/studio-dist/server/chunks/paths-CV7S5-Zm.js +0 -30012
  622. package/studio-dist/server/chunks/patterns-lh5kn13I.js +0 -48
  623. package/studio-dist/server/chunks/patterns2-CzIcT-ai.js +0 -177
  624. package/studio-dist/server/chunks/pipeline-stage-IB_pOft-.js +0 -63
  625. package/studio-dist/server/chunks/prediction-D1lSGJ4c.js +0 -217
  626. package/studio-dist/server/chunks/premature-close-audit-VG09uAco.js +0 -53
  627. package/studio-dist/server/chunks/project-context-BjiqfEBi.js +0 -166
  628. package/studio-dist/server/chunks/provider-registry2-Cu7rAF0R.js +0 -35
  629. package/studio-dist/server/chunks/quality-feedback-CuCGEI6S.js +0 -371
  630. package/studio-dist/server/chunks/quality-scoring-CCPuRQmJ.js +0 -160
  631. package/studio-dist/server/chunks/query-ops-DCrjbZb9.js +0 -78
  632. package/studio-dist/server/chunks/query-promise-BkPmGPJy.js +0 -1257
  633. package/studio-dist/server/chunks/readFile-CxwXhymG.js +0 -31
  634. package/studio-dist/server/chunks/registry-CL2gN1zd.js +0 -27
  635. package/studio-dist/server/chunks/registry2-DoPYJnUW.js +0 -233
  636. package/studio-dist/server/chunks/registry3-BajEb-ll.js +0 -42
  637. package/studio-dist/server/chunks/registry4-DCqffZkT.js +0 -142
  638. package/studio-dist/server/chunks/retry-B3oEKYpp.js +0 -105
  639. package/studio-dist/server/chunks/role-executor-CC8BU54L.js +0 -25379
  640. package/studio-dist/server/chunks/role-resolver-D9QaDT0e.js +0 -6544
  641. package/studio-dist/server/chunks/role-resolver2-nkhzS1oy.js +0 -37
  642. package/studio-dist/server/chunks/rollup-CiefjN_Y.js +0 -194
  643. package/studio-dist/server/chunks/safety-data-accessor-CniDmGJO.js +0 -276
  644. package/studio-dist/server/chunks/service-connections-accessor-yBCdcgU-.js +0 -282
  645. package/studio-dist/server/chunks/session-factory-vbengc42.js +0 -96
  646. package/studio-dist/server/chunks/session-grade-BF4ZZtN_.js +0 -244
  647. package/studio-dist/server/chunks/session-journal-Bvey70Ur.js +0 -235
  648. package/studio-dist/server/chunks/session-narrative-BirZINSU.js +0 -304
  649. package/studio-dist/server/chunks/session-store--N_xHxUH.js +0 -557
  650. package/studio-dist/server/chunks/session-store2-DAM-eVTH.js +0 -43
  651. package/studio-dist/server/chunks/sessions-33DD4hkt.js +0 -2273
  652. package/studio-dist/server/chunks/sessions2-BHswKRDP.js +0 -50
  653. package/studio-dist/server/chunks/sigil-B-RznFXz.js +0 -33
  654. package/studio-dist/server/chunks/sigil2-jRMG5DuR.js +0 -47
  655. package/studio-dist/server/chunks/signin-BAsW3mM8.js +0 -644
  656. package/studio-dist/server/chunks/sleep-consolidation-BnSwXrvq.js +0 -823
  657. package/studio-dist/server/chunks/specialists-B_ZbpQlK.js +0 -441
  658. package/studio-dist/server/chunks/sqlite-Bm5LzbPs.js +0 -5977
  659. package/studio-dist/server/chunks/sqlite-backup-CFG1-b2e.js +0 -42
  660. package/studio-dist/server/chunks/sqlite-data-accessor-DD_RFX6r.js +0 -987
  661. package/studio-dist/server/chunks/sqlite-data-accessor2-CRmgNBnq.js +0 -44
  662. package/studio-dist/server/chunks/sqlite-native-BwlIqtbs.js +0 -42
  663. package/studio-dist/server/chunks/sqlite2-CUPut2fh.js +0 -42
  664. package/studio-dist/server/chunks/src2-DK8DKufK.js +0 -290
  665. package/studio-dist/server/chunks/src3-BJjf7XRG.js +0 -798
  666. package/studio-dist/server/chunks/src4-DNleK_t_.js +0 -28
  667. package/studio-dist/server/chunks/sso-oidc-eUvwseuL.js +0 -861
  668. package/studio-dist/server/chunks/storage-B9UA3BHR.js +0 -198
  669. package/studio-dist/server/chunks/sts-g7LDMLEd.js +0 -4655
  670. package/studio-dist/server/chunks/surprisal-CwTfWQi8.js +0 -224
  671. package/studio-dist/server/chunks/surprisal-tree-7dfHsuw1.js +0 -230
  672. package/studio-dist/server/chunks/system-resolver2-Bzhue_zQ.js +0 -53
  673. package/studio-dist/server/chunks/tasks-SHX7UPGY.js +0 -19694
  674. package/studio-dist/server/chunks/tasks-schema2-CTMoQKQy.js +0 -42
  675. package/studio-dist/server/chunks/temporal-supersession-DP4GPG_B.js +0 -298
  676. package/studio-dist/server/chunks/token-cAhAD9f9.js +0 -139
  677. package/studio-dist/server/chunks/token-util-D6drEz8_.js +0 -353
  678. package/studio-dist/server/chunks/token-util2-8UPSGvbb.js +0 -97
  679. package/studio-dist/server/chunks/transcript-scanner-kJWhWmlg.js +0 -53
  680. package/studio-dist/server/chunks/transformers.node-_xbxmK5p.js +0 -38475
  681. package/studio-dist/server/chunks/typed-query-l1D_QElt.js +0 -18
  682. package/studio-dist/server/chunks/unique-constraint-BZrrwgwc.js +0 -88
  683. package/studio-dist/server/chunks/update-B2YVBZG0.js +0 -1594
  684. package/studio-dist/server/chunks/user-profile-B61ZhVmC.js +0 -89
  685. package/studio-dist/server/chunks/utils-BPSZyajG.js +0 -1176
  686. package/studio-dist/server/chunks/validation-rules-CE27rtoF.js +0 -44
  687. package/studio-dist/server/chunks/zod-DsAeKNLm.js +0 -141
  688. /package/studio-dist/client/_app/immutable/chunks/{CQCxd1p9.js → B8WnZMYa.js} +0 -0
  689. /package/studio-dist/client/_app/immutable/chunks/{D13Quv9e2.js → B_0_YCYG.js} +0 -0
  690. /package/studio-dist/client/_app/immutable/chunks/{djL6V-tr.js → CqgtdAx_.js} +0 -0
  691. /package/studio-dist/client/_app/immutable/chunks/{_FU7h_8p2.js → KrUPZzXZ.js} +0 -0
@@ -1,1127 +0,0 @@
1
- /**
2
- * Parse worker thread script for parallel multi-file TypeScript/JavaScript parsing.
3
- *
4
- * Runs in a Node.js Worker thread spawned by the worker pool. Receives file
5
- * batches via structured IPC, parses each file with tree-sitter, extracts
6
- * symbols/imports/heritage/calls using the CLEO TypeScript extractor, and
7
- * returns accumulated results via a flush message.
8
- *
9
- * IPC protocol (mirrors GitNexus parse-worker.ts):
10
- * Incoming: { type: 'sub-batch', files: ParseWorkerInput[] }
11
- * | { type: 'flush' }
12
- * Outgoing: { type: 'sub-batch-done' }
13
- * | { type: 'result', data: ParseWorkerResult }
14
- * | { type: 'progress', filesProcessed: number }
15
- * | { type: 'error', error: string }
16
- *
17
- * @task T540
18
- * @module pipeline/workers/parse-worker
19
- */
20
- import { createRequire } from 'node:module';
21
- import { parentPort } from 'node:worker_threads';
22
- if (!parentPort) {
23
- throw new Error('parse-worker.ts must be run as a Worker thread, not directly.');
24
- }
25
- // ---------------------------------------------------------------------------
26
- // Tree-sitter setup (native require — must use createRequire in ESM workers)
27
- // ---------------------------------------------------------------------------
28
- const _require = createRequire(import.meta.url);
29
- let _parser = null;
30
- /**
31
- * Sanitize source content for tree-sitter parsing.
32
- *
33
- * tree-sitter 0.21.x Node.js bindings throw `Error: Invalid argument`
34
- * when source strings contain non-ASCII Unicode characters (e.g. em-dash
35
- * `—`, curly quotes, etc.) in comments. Since all structural elements that
36
- * nexus cares about (function names, export specifiers, import paths) are
37
- * ASCII, replacing non-ASCII characters with spaces is safe and preserves
38
- * line/column positions for line number reporting.
39
- *
40
- * @param content - Raw file content read from disk
41
- * @returns Content with non-ASCII characters replaced by spaces
42
- */
43
- function sanitizeForParsing(content) {
44
- // eslint-disable-next-line no-control-regex
45
- return content.replace(/[^\x00-\x7F]/g, ' ');
46
- }
47
- /**
48
- * Hard limit for tree-sitter 0.21.x: native code uses a 15-bit byte-offset
49
- * counter that overflows at 32768 characters, causing `Error: Invalid argument`.
50
- * Files larger than this threshold use the regex-based fallback extractor.
51
- */
52
- const TREE_SITTER_MAX_CHARS = 32_767;
53
- /**
54
- * Regex-based import extractor for files that exceed the tree-sitter 32K char limit.
55
- *
56
- * Extracts named import bindings from `import { ... } from '...'` statements.
57
- * Used to populate the namedImportMap so barrel tracing can fire for callers
58
- * in large files (e.g. `@cleocode/core/internal` consumers).
59
- *
60
- * @param content - Raw file content
61
- * @param filePath - File path relative to repo root
62
- * @param language - Language key (for the language field)
63
- * @param imports - Accumulator array to push results into
64
- */
65
- function extractImportsRegex(content, filePath, language, imports) {
66
- const lines = content.split('\n');
67
- let i = 0;
68
- while (i < lines.length) {
69
- const line = lines[i].trim();
70
- // Check for `import { ... } from '...'` (may span multiple lines)
71
- if (/^import\s*\{/.test(line) || /^import\s+type\s*\{/.test(line)) {
72
- let block = line;
73
- let j = i + 1;
74
- // Gather continuation lines until we have closing `}` and `from`
75
- while ((!block.includes('}') || !block.includes('from')) && j < lines.length) {
76
- block += ' ' + lines[j].trim();
77
- j++;
78
- }
79
- const fromMatch = /from\s+['"]([^'"]+)['"]/m.exec(block);
80
- if (fromMatch) {
81
- const rawImportPath = fromMatch[1];
82
- const namedBindings = [];
83
- const innerMatch = /\{([^}]+)\}/.exec(block);
84
- if (innerMatch) {
85
- const inner = innerMatch[1];
86
- const specifiers = inner
87
- .split(',')
88
- .map((s) => s.trim())
89
- .filter(Boolean);
90
- for (const spec of specifiers) {
91
- // Remove `type ` prefix from `import { type Foo }`
92
- const cleanSpec = spec.replace(/^type\s+/, '').trim();
93
- const asMatch = /^(\w+)\s+as\s+(\w+)$/.exec(cleanSpec);
94
- if (asMatch) {
95
- namedBindings.push({ local: asMatch[2], exported: asMatch[1] });
96
- }
97
- else if (/^\w+$/.test(cleanSpec)) {
98
- namedBindings.push({ local: cleanSpec, exported: cleanSpec });
99
- }
100
- }
101
- }
102
- if (namedBindings.length > 0) {
103
- imports.push({
104
- filePath,
105
- rawImportPath,
106
- language,
107
- namedBindings,
108
- });
109
- }
110
- }
111
- i = j;
112
- continue;
113
- }
114
- i++;
115
- }
116
- }
117
- /**
118
- * Reserved words and common non-call identifiers that must never be emitted as
119
- * call targets during the regex fallback.
120
- *
121
- * These appear in source with `identifier(` syntax (e.g. `if (cond)`, `for (let i`)
122
- * but are control-flow keywords, not function calls.
123
- *
124
- * Note: JavaScript built-ins (Number, String, Boolean, etc.) and type guards
125
- * (typeof, instanceof) are also excluded. This list is conservative — false
126
- * negatives (missed calls) are preferred over false positives (spurious edges).
127
- */
128
- const REGEX_CALL_RESERVED = new Set([
129
- // Control flow keywords
130
- 'if',
131
- 'else',
132
- 'for',
133
- 'while',
134
- 'do',
135
- 'switch',
136
- 'case',
137
- 'catch',
138
- 'try',
139
- 'return',
140
- 'throw',
141
- 'typeof',
142
- 'instanceof',
143
- 'in',
144
- 'of',
145
- 'new',
146
- 'delete',
147
- 'void',
148
- 'await',
149
- 'yield',
150
- 'async',
151
- 'function',
152
- 'class',
153
- 'const',
154
- 'let',
155
- 'var',
156
- 'import',
157
- 'export',
158
- 'from',
159
- 'as',
160
- 'type',
161
- 'interface',
162
- 'enum',
163
- 'default',
164
- 'break',
165
- 'continue',
166
- 'debugger',
167
- 'this',
168
- 'super',
169
- 'null',
170
- 'undefined',
171
- 'true',
172
- 'false',
173
- 'Infinity',
174
- 'NaN',
175
- // JS built-ins commonly appearing with parens (kept narrow to avoid missing
176
- // real user-defined calls with these names — shadowing is rare)
177
- 'Promise',
178
- 'Array',
179
- 'Object',
180
- 'String',
181
- 'Number',
182
- 'Boolean',
183
- 'Symbol',
184
- 'Map',
185
- 'Set',
186
- 'Date',
187
- 'RegExp',
188
- 'Error',
189
- 'Math',
190
- ]);
191
- /**
192
- * Regex-based free-call extractor for files that exceed the tree-sitter 32K char limit.
193
- *
194
- * Extracts bare identifier call sites of the form `<name>(` so that barrel-traced
195
- * named imports (T617) can still be resolved to target CALLS edges. This enables
196
- * callers from oversized files (engine files, large barrels) to register against
197
- * functions like `findTasks`, `endSession`, etc.
198
- *
199
- * Limitations:
200
- * - Only free calls are extracted; member calls (`x.foo(`) and constructor calls
201
- * (`new Foo(`) are skipped. Free calls are sufficient for named-import CALLS edges.
202
- * - The enclosing function is unknown without an AST, so `sourceId` is set to
203
- * the file node (`file:<path>`). This produces file→function CALLS edges that
204
- * `cleo nexus context` renders correctly.
205
- * - Identifiers in strings and comments may produce false positives; the guard
206
- * against common reserved words mitigates this.
207
- * - Arguments are not counted; `argCount` is omitted so Tier 3 arity filtering
208
- * does not discard valid matches.
209
- *
210
- * @param content - Raw file content
211
- * @param filePath - File path relative to repo root
212
- * @param calls - Accumulator array to push results into
213
- */
214
- function extractCallsRegex(content, filePath, calls) {
215
- // Strip single-line comments to reduce false positives. We leave block
216
- // comments alone because stripping them changes line numbers; free-call
217
- // matches in block comments are rare and will fail resolution downstream.
218
- const sanitized = content.replace(/\/\/.*$/gm, '');
219
- // The enclosing function is unknown without an AST, so the source is the
220
- // File node. Structure-processor emits File nodes with ID = relative path
221
- // (no prefix) — match that format exactly so the CALLS edge resolves.
222
- const sourceId = filePath;
223
- const seen = new Set();
224
- // Match: word-boundary identifier followed by '('. The negative lookbehind
225
- // for '.' rules out member calls (foo.bar(). We also skip if the preceding
226
- // non-space char is a letter/digit (which would indicate a longer identifier
227
- // or keyword already consumed).
228
- const pattern = /(?<![.\w$])([A-Za-z_$][\w$]*)\s*\(/g;
229
- let match = pattern.exec(sanitized);
230
- while (match !== null) {
231
- const name = match[1];
232
- if (!REGEX_CALL_RESERVED.has(name)) {
233
- // Deduplicate per-file: emit at most one call edge per (file, name)
234
- // pair. The downstream resolver would emit duplicate edges otherwise
235
- // since the file-level sourceId is shared.
236
- if (!seen.has(name)) {
237
- seen.add(name);
238
- calls.push({
239
- filePath,
240
- sourceId,
241
- calledName: name,
242
- callForm: 'free',
243
- });
244
- }
245
- }
246
- match = pattern.exec(sanitized);
247
- }
248
- }
249
- /**
250
- * Regex-based re-export extractor for files that exceed the tree-sitter 32K char limit.
251
- *
252
- * Handles the three re-export forms we care about:
253
- * - `export { Foo, Bar as Baz } from './source'`
254
- * - `export * from './source'`
255
- * - `export type { Foo } from './source'` (types only — skipped for barrel tracing)
256
- *
257
- * This is intentionally simple: we only care about re-export path resolution,
258
- * not full AST correctness. False negatives (missed exports) are acceptable
259
- * since this is a fallback for unusually large barrel files.
260
- *
261
- * @param content - File content (may include non-ASCII chars — only used on lines)
262
- * @param filePath - File path relative to repo root
263
- * @param reExports - Accumulator array to push results into
264
- */
265
- function extractReExportsRegex(content, filePath, reExports) {
266
- // Matches: export { ... } from 'path'
267
- // Also handles: export type { ... } from 'path' (we skip these — types aren't call targets)
268
- // Also handles: export * from 'path'
269
- const lines = content.split('\n');
270
- // We need to handle multi-line export { ... } from '...' blocks.
271
- // Strategy: detect `export` lines and collect continuation lines until we see `from '...'`.
272
- let i = 0;
273
- while (i < lines.length) {
274
- const line = lines[i].trim();
275
- // Wildcard re-export: `export * from '...'`
276
- const wildcardMatch = /^export\s+\*\s+from\s+['"]([^'"]+)['"]/m.exec(line);
277
- if (wildcardMatch) {
278
- reExports.push({
279
- filePath,
280
- rawSourcePath: wildcardMatch[1],
281
- exportedName: null,
282
- localName: null,
283
- });
284
- i++;
285
- continue;
286
- }
287
- // Named re-export: `export { Foo, Bar as Baz } from '...'`
288
- // May span multiple lines — collect until closing `}`
289
- if (/^export\s*\{/.test(line) && !line.startsWith('export type')) {
290
- let block = line;
291
- let j = i + 1;
292
- // If block doesn't have closing `}` yet, gather continuation lines
293
- while (!block.includes('}') && j < lines.length) {
294
- block += ' ' + lines[j].trim();
295
- j++;
296
- }
297
- // Check if it has a `from '...'` clause
298
- const fromMatch = /from\s+['"]([^'"]+)['"]/m.exec(block);
299
- if (fromMatch) {
300
- const rawSourcePath = fromMatch[1];
301
- // Extract specifiers between { and }
302
- const innerMatch = /\{([^}]+)\}/.exec(block);
303
- if (innerMatch) {
304
- const inner = innerMatch[1];
305
- const specifiers = inner
306
- .split(',')
307
- .map((s) => s.trim())
308
- .filter(Boolean);
309
- for (const spec of specifiers) {
310
- // Handle `Foo as Bar` alias
311
- const asMatch = /^(\w+)\s+as\s+(\w+)$/.exec(spec);
312
- if (asMatch) {
313
- reExports.push({
314
- filePath,
315
- rawSourcePath,
316
- exportedName: asMatch[2],
317
- localName: asMatch[1],
318
- });
319
- }
320
- else if (/^\w+$/.test(spec)) {
321
- reExports.push({
322
- filePath,
323
- rawSourcePath,
324
- exportedName: spec,
325
- localName: spec,
326
- });
327
- }
328
- }
329
- }
330
- }
331
- i = j;
332
- continue;
333
- }
334
- i++;
335
- }
336
- }
337
- function getParser() {
338
- if (_parser)
339
- return _parser;
340
- try {
341
- const ParserClass = _require('tree-sitter');
342
- _parser = new ParserClass();
343
- return _parser;
344
- }
345
- catch {
346
- return null;
347
- }
348
- }
349
- // ---------------------------------------------------------------------------
350
- // Grammar loading
351
- // ---------------------------------------------------------------------------
352
- const grammarCache = new Map();
353
- function loadGrammar(langKey) {
354
- if (grammarCache.has(langKey))
355
- return grammarCache.get(langKey) ?? null;
356
- try {
357
- if (langKey === 'typescript') {
358
- const mod = _require('tree-sitter-typescript');
359
- grammarCache.set('typescript', mod.typescript ?? null);
360
- grammarCache.set('tsx', mod.tsx ?? null);
361
- return mod.typescript ?? null;
362
- }
363
- if (langKey === 'tsx') {
364
- const mod = _require('tree-sitter-typescript');
365
- grammarCache.set('typescript', mod.typescript ?? null);
366
- grammarCache.set('tsx', mod.tsx ?? null);
367
- return mod.tsx ?? null;
368
- }
369
- if (langKey === 'javascript') {
370
- const mod = _require('tree-sitter-javascript');
371
- grammarCache.set('javascript', mod);
372
- return mod;
373
- }
374
- grammarCache.set(langKey, null);
375
- return null;
376
- }
377
- catch {
378
- grammarCache.set(langKey, null);
379
- return null;
380
- }
381
- }
382
- function grammarKeyForPath(filePath) {
383
- if (filePath.endsWith('.tsx'))
384
- return 'tsx';
385
- if (filePath.endsWith('.ts') || filePath.endsWith('.mts') || filePath.endsWith('.cts'))
386
- return 'typescript';
387
- if (filePath.endsWith('.js') ||
388
- filePath.endsWith('.mjs') ||
389
- filePath.endsWith('.cjs') ||
390
- filePath.endsWith('.jsx'))
391
- return 'javascript';
392
- return null;
393
- }
394
- // ---------------------------------------------------------------------------
395
- // Extraction helpers — pure functions, no module-level state
396
- // ---------------------------------------------------------------------------
397
- /** Convert 0-based tree-sitter row to 1-based line number. */
398
- function toLine(row) {
399
- return row + 1;
400
- }
401
- /** Derive a stable node ID from file path and symbol name. */
402
- function mkNodeId(filePath, name) {
403
- return `${filePath}::${name}`;
404
- }
405
- /** Check whether a node carries an `export` keyword or has an export_statement parent. */
406
- function isExported(node) {
407
- for (let i = 0; i < node.children.length; i++) {
408
- const child = node.children[i];
409
- if (child && !child.isNamed && child.text === 'export')
410
- return true;
411
- }
412
- return node.parent !== null && node.parent.type === 'export_statement';
413
- }
414
- /** Extract first JSDoc/line comment preceding a node. */
415
- function extractDocSummary(node) {
416
- let sibling = node.previousSibling;
417
- while (sibling?.type === 'decorator') {
418
- sibling = sibling.previousSibling;
419
- }
420
- if (!sibling || sibling.type !== 'comment')
421
- return undefined;
422
- const raw = sibling.text;
423
- if (!raw.startsWith('/**') && !raw.startsWith('//'))
424
- return undefined;
425
- const lines = raw
426
- .replace(/^\/\*\*/, '')
427
- .replace(/\*\/$/, '')
428
- .split('\n')
429
- .map((l) => l.replace(/^\s*\*\s?/, '').trim())
430
- .filter((l) => l.length > 0 && !l.startsWith('@'));
431
- return lines[0];
432
- }
433
- /** Extract parameter names from a `formal_parameters` or `parameters` node. */
434
- function extractParamNames(paramsNode) {
435
- const names = [];
436
- for (let i = 0; i < paramsNode.namedChildCount; i++) {
437
- const param = paramsNode.namedChild(i);
438
- if (!param)
439
- continue;
440
- const patternNode = param.childForFieldName('pattern') ?? param.childForFieldName('name') ?? param;
441
- const text = patternNode.text;
442
- if (text)
443
- names.push(text);
444
- }
445
- return names;
446
- }
447
- /** Read a return type annotation from a function or method node. */
448
- function extractReturnType(funcNode) {
449
- const retTypeNode = funcNode.childForFieldName('return_type');
450
- if (!retTypeNode)
451
- return undefined;
452
- const text = retTypeNode.text.replace(/^:\s*/, '').trim();
453
- return text || undefined;
454
- }
455
- // ---------------------------------------------------------------------------
456
- // Definition extraction
457
- // ---------------------------------------------------------------------------
458
- const CONTAINER_TYPES = new Set([
459
- 'program',
460
- 'module',
461
- 'namespace',
462
- 'internal_module',
463
- 'module_declaration',
464
- ]);
465
- const EXPORTABLE_DECL_TYPES = new Set([
466
- 'function_declaration',
467
- 'generator_function_declaration',
468
- 'class_declaration',
469
- 'abstract_class_declaration',
470
- 'interface_declaration',
471
- 'type_alias_declaration',
472
- 'enum_declaration',
473
- 'lexical_declaration',
474
- 'variable_declaration',
475
- ]);
476
- function walkDefinitions(node, filePath, language, symbols) {
477
- switch (node.type) {
478
- case 'function_declaration':
479
- case 'generator_function_declaration': {
480
- const nameNode = node.childForFieldName('name');
481
- if (nameNode?.text) {
482
- const paramsNode = node.childForFieldName('parameters') ?? node.childForFieldName('formal_parameters');
483
- symbols.push({
484
- id: mkNodeId(filePath, nameNode.text),
485
- kind: 'function',
486
- name: nameNode.text,
487
- filePath,
488
- startLine: toLine(node.startPosition.row),
489
- endLine: toLine(node.endPosition.row),
490
- language,
491
- exported: isExported(node),
492
- parameters: paramsNode ? extractParamNames(paramsNode) : [],
493
- returnType: extractReturnType(node),
494
- docSummary: extractDocSummary(node),
495
- });
496
- }
497
- break;
498
- }
499
- case 'class_declaration':
500
- case 'abstract_class_declaration': {
501
- const nameNode = node.childForFieldName('name');
502
- if (nameNode?.text) {
503
- const className = nameNode.text;
504
- const classId = mkNodeId(filePath, className);
505
- symbols.push({
506
- id: classId,
507
- kind: 'class',
508
- name: className,
509
- filePath,
510
- startLine: toLine(node.startPosition.row),
511
- endLine: toLine(node.endPosition.row),
512
- language,
513
- exported: isExported(node),
514
- docSummary: extractDocSummary(node),
515
- });
516
- // Extract methods and properties from class body
517
- const bodyNode = node.childForFieldName('body');
518
- if (bodyNode) {
519
- for (let i = 0; i < bodyNode.namedChildCount; i++) {
520
- const member = bodyNode.namedChild(i);
521
- if (!member)
522
- continue;
523
- if (member.type === 'method_definition' || member.type === 'method_signature') {
524
- const mNameNode = member.childForFieldName('name');
525
- if (mNameNode?.text) {
526
- const mParamsNode = member.childForFieldName('parameters');
527
- symbols.push({
528
- id: mkNodeId(filePath, `${className}.${mNameNode.text}`),
529
- kind: 'method',
530
- name: mNameNode.text,
531
- filePath,
532
- startLine: toLine(member.startPosition.row),
533
- endLine: toLine(member.endPosition.row),
534
- language,
535
- exported: false,
536
- parameters: mParamsNode ? extractParamNames(mParamsNode) : [],
537
- returnType: extractReturnType(member),
538
- parent: classId,
539
- });
540
- }
541
- }
542
- else if (member.type === 'public_field_definition' ||
543
- member.type === 'field_definition') {
544
- const fNameNode = member.childForFieldName('name');
545
- if (fNameNode?.text) {
546
- symbols.push({
547
- id: mkNodeId(filePath, `${className}.${fNameNode.text}`),
548
- kind: 'property',
549
- name: fNameNode.text,
550
- filePath,
551
- startLine: toLine(member.startPosition.row),
552
- endLine: toLine(member.endPosition.row),
553
- language,
554
- exported: false,
555
- parent: classId,
556
- });
557
- }
558
- }
559
- }
560
- }
561
- }
562
- break;
563
- }
564
- case 'interface_declaration': {
565
- const nameNode = node.childForFieldName('name');
566
- if (nameNode?.text) {
567
- symbols.push({
568
- id: mkNodeId(filePath, nameNode.text),
569
- kind: 'interface',
570
- name: nameNode.text,
571
- filePath,
572
- startLine: toLine(node.startPosition.row),
573
- endLine: toLine(node.endPosition.row),
574
- language,
575
- exported: isExported(node),
576
- docSummary: extractDocSummary(node),
577
- });
578
- }
579
- break;
580
- }
581
- case 'type_alias_declaration': {
582
- const nameNode = node.childForFieldName('name');
583
- if (nameNode?.text) {
584
- symbols.push({
585
- id: mkNodeId(filePath, nameNode.text),
586
- kind: 'type_alias',
587
- name: nameNode.text,
588
- filePath,
589
- startLine: toLine(node.startPosition.row),
590
- endLine: toLine(node.endPosition.row),
591
- language,
592
- exported: isExported(node),
593
- docSummary: extractDocSummary(node),
594
- });
595
- }
596
- break;
597
- }
598
- case 'enum_declaration': {
599
- const nameNode = node.childForFieldName('name');
600
- if (nameNode?.text) {
601
- symbols.push({
602
- id: mkNodeId(filePath, nameNode.text),
603
- kind: 'enum',
604
- name: nameNode.text,
605
- filePath,
606
- startLine: toLine(node.startPosition.row),
607
- endLine: toLine(node.endPosition.row),
608
- language,
609
- exported: isExported(node),
610
- docSummary: extractDocSummary(node),
611
- });
612
- }
613
- break;
614
- }
615
- case 'export_statement': {
616
- for (let i = 0; i < node.namedChildCount; i++) {
617
- const child = node.namedChild(i);
618
- if (child && EXPORTABLE_DECL_TYPES.has(child.type)) {
619
- walkDefinitions(child, filePath, language, symbols);
620
- }
621
- }
622
- break;
623
- }
624
- case 'lexical_declaration':
625
- case 'variable_declaration': {
626
- for (let i = 0; i < node.namedChildCount; i++) {
627
- const declarator = node.namedChild(i);
628
- if (!declarator || declarator.type !== 'variable_declarator')
629
- continue;
630
- const nameNode = declarator.childForFieldName('name');
631
- const valueNode = declarator.childForFieldName('value');
632
- if (!nameNode?.text || !valueNode)
633
- continue;
634
- if (valueNode.type !== 'arrow_function' && valueNode.type !== 'function_expression')
635
- continue;
636
- const paramsNode = valueNode.childForFieldName('parameters') ??
637
- valueNode.childForFieldName('formal_parameters');
638
- symbols.push({
639
- id: mkNodeId(filePath, nameNode.text),
640
- kind: 'function',
641
- name: nameNode.text,
642
- filePath,
643
- startLine: toLine(node.startPosition.row),
644
- endLine: toLine(node.endPosition.row),
645
- language,
646
- exported: isExported(node),
647
- parameters: paramsNode ? extractParamNames(paramsNode) : [],
648
- returnType: extractReturnType(valueNode),
649
- docSummary: extractDocSummary(node),
650
- });
651
- }
652
- break;
653
- }
654
- default:
655
- break;
656
- }
657
- if (CONTAINER_TYPES.has(node.type)) {
658
- for (let i = 0; i < node.namedChildCount; i++) {
659
- const child = node.namedChild(i);
660
- if (child)
661
- walkDefinitions(child, filePath, language, symbols);
662
- }
663
- }
664
- }
665
- // ---------------------------------------------------------------------------
666
- // Import extraction
667
- // ---------------------------------------------------------------------------
668
- function extractImports(rootNode, filePath, language, imports) {
669
- for (let i = 0; i < rootNode.namedChildCount; i++) {
670
- const stmt = rootNode.namedChild(i);
671
- if (!stmt || stmt.type !== 'import_statement')
672
- continue;
673
- const sourceNode = stmt.childForFieldName('source');
674
- if (!sourceNode)
675
- continue;
676
- let raw = sourceNode.text;
677
- if ((raw.startsWith('"') && raw.endsWith('"')) || (raw.startsWith("'") && raw.endsWith("'"))) {
678
- raw = raw.slice(1, -1);
679
- }
680
- if (!raw)
681
- continue;
682
- // Extract named bindings for Tier 2a resolution (T617).
683
- // `import_clause` is a regular (unnamed field) child of `import_statement`
684
- // in the tree-sitter TypeScript grammar — NOT a named field — so
685
- // `childForFieldName('clause')` always returns null. Find it by type.
686
- const namedBindings = [];
687
- const importClause = stmt.children.find((c) => c.type === 'import_clause') ?? null;
688
- if (importClause) {
689
- for (let j = 0; j < importClause.namedChildCount; j++) {
690
- const clauseChild = importClause.namedChild(j);
691
- if (!clauseChild)
692
- continue;
693
- if (clauseChild.type === 'named_imports') {
694
- for (let k = 0; k < clauseChild.namedChildCount; k++) {
695
- const specifier = clauseChild.namedChild(k);
696
- if (!specifier || specifier.type !== 'import_specifier')
697
- continue;
698
- const nameNode = specifier.childForFieldName('name');
699
- const aliasNode = specifier.childForFieldName('alias');
700
- if (nameNode?.text) {
701
- const exported = nameNode.text;
702
- const local = aliasNode?.text ?? exported;
703
- namedBindings.push({ local, exported });
704
- }
705
- }
706
- }
707
- // Namespace import: `import * as X from '...'`
708
- if (clauseChild.type === 'namespace_import') {
709
- const aliasNode = clauseChild.namedChild(0);
710
- if (aliasNode?.text) {
711
- namedBindings.push({ local: aliasNode.text, exported: '*' });
712
- }
713
- }
714
- // Default import: `import Foo from '...'`
715
- if (clauseChild.type === 'identifier') {
716
- const local = clauseChild.text;
717
- if (local) {
718
- namedBindings.push({ local, exported: 'default' });
719
- }
720
- }
721
- }
722
- }
723
- imports.push({
724
- filePath,
725
- rawImportPath: raw,
726
- language,
727
- namedBindings: namedBindings.length > 0 ? namedBindings : undefined,
728
- });
729
- }
730
- }
731
- // ---------------------------------------------------------------------------
732
- // Re-export extraction (barrel files — T617)
733
- // ---------------------------------------------------------------------------
734
- function extractReExports(rootNode, filePath, reExports) {
735
- for (let i = 0; i < rootNode.namedChildCount; i++) {
736
- const stmt = rootNode.namedChild(i);
737
- if (!stmt || stmt.type !== 'export_statement')
738
- continue;
739
- // Only care about re-exports: `export ... from '...'`
740
- const sourceNode = stmt.childForFieldName('source');
741
- if (!sourceNode)
742
- continue;
743
- const rawSource = sourceNode.text.replace(/^['"]|['"]$/g, '');
744
- if (!rawSource)
745
- continue;
746
- // Detect `export * from '...'` vs `export { ... } from '...'`
747
- let isWildcard = false;
748
- let hasNamespace = false;
749
- for (let j = 0; j < stmt.children.length; j++) {
750
- const child = stmt.children[j];
751
- if (!child)
752
- continue;
753
- if (!child.isNamed && child.text === '*')
754
- isWildcard = true;
755
- if (child.type === 'namespace_export')
756
- hasNamespace = true;
757
- }
758
- if (isWildcard && !hasNamespace) {
759
- reExports.push({ filePath, rawSourcePath: rawSource, exportedName: null, localName: null });
760
- continue;
761
- }
762
- if (hasNamespace)
763
- continue; // `export * as ns from '...'` — skip
764
- // Named re-exports: `export { Foo, Bar as Baz } from '...'`
765
- for (let j = 0; j < stmt.namedChildCount; j++) {
766
- const child = stmt.namedChild(j);
767
- if (!child)
768
- continue;
769
- if (child.type !== 'export_clause' && child.type !== 'named_exports')
770
- continue;
771
- for (let k = 0; k < child.namedChildCount; k++) {
772
- const specifier = child.namedChild(k);
773
- if (!specifier || specifier.type !== 'export_specifier')
774
- continue;
775
- const nameNode = specifier.childForFieldName('name');
776
- const aliasNode = specifier.childForFieldName('alias');
777
- if (!nameNode)
778
- continue;
779
- const localName = nameNode.text;
780
- const exportedName = aliasNode?.text ?? localName;
781
- if (localName && exportedName) {
782
- reExports.push({ filePath, rawSourcePath: rawSource, exportedName, localName });
783
- }
784
- }
785
- }
786
- }
787
- }
788
- // ---------------------------------------------------------------------------
789
- // Heritage extraction
790
- // ---------------------------------------------------------------------------
791
- function extractHeritage(rootNode, filePath, heritage, symbols) {
792
- function walk(node) {
793
- if (node.type === 'class_declaration' || node.type === 'abstract_class_declaration') {
794
- const nameNode = node.childForFieldName('name');
795
- const className = nameNode?.text;
796
- if (className) {
797
- const typeNodeId = mkNodeId(filePath, className);
798
- const clauseNode = node.childForFieldName('type_parameters')
799
- ? node.childForFieldName('heritage')
800
- : null;
801
- // Walk children for heritage clauses
802
- for (let i = 0; i < node.namedChildCount; i++) {
803
- const child = node.namedChild(i);
804
- if (!child)
805
- continue;
806
- if (child.type === 'class_heritage') {
807
- for (let j = 0; j < child.namedChildCount; j++) {
808
- const clause = child.namedChild(j);
809
- if (!clause)
810
- continue;
811
- if (clause.type === 'extends_clause') {
812
- for (let k = 0; k < clause.namedChildCount; k++) {
813
- const parent = clause.namedChild(k);
814
- if (parent?.text) {
815
- // Strip type parameters e.g., Base<T> -> Base
816
- const parentName = parent.text.replace(/<.*>$/, '').trim();
817
- if (parentName) {
818
- heritage.push({
819
- filePath,
820
- typeName: className,
821
- typeNodeId,
822
- kind: 'extends',
823
- parentName,
824
- });
825
- }
826
- }
827
- }
828
- }
829
- else if (clause.type === 'implements_clause') {
830
- for (let k = 0; k < clause.namedChildCount; k++) {
831
- const iface = clause.namedChild(k);
832
- if (iface?.text) {
833
- const parentName = iface.text.replace(/<.*>$/, '').trim();
834
- if (parentName) {
835
- heritage.push({
836
- filePath,
837
- typeName: className,
838
- typeNodeId,
839
- kind: 'implements',
840
- parentName,
841
- });
842
- }
843
- }
844
- }
845
- }
846
- }
847
- }
848
- }
849
- void clauseNode; // referenced to suppress unused warning
850
- }
851
- }
852
- if (node.type === 'interface_declaration') {
853
- const nameNode = node.childForFieldName('name');
854
- const ifaceName = nameNode?.text;
855
- if (ifaceName) {
856
- const typeNodeId = mkNodeId(filePath, ifaceName);
857
- for (let i = 0; i < node.namedChildCount; i++) {
858
- const child = node.namedChild(i);
859
- if (!child || child.type !== 'extends_type_clause')
860
- continue;
861
- for (let j = 0; j < child.namedChildCount; j++) {
862
- const parent = child.namedChild(j);
863
- if (parent?.text) {
864
- const parentName = parent.text.replace(/<.*>$/, '').trim();
865
- if (parentName) {
866
- heritage.push({
867
- filePath,
868
- typeName: ifaceName,
869
- typeNodeId,
870
- kind: 'extends',
871
- parentName,
872
- });
873
- }
874
- }
875
- }
876
- }
877
- }
878
- }
879
- for (let i = 0; i < node.namedChildCount; i++) {
880
- const child = node.namedChild(i);
881
- if (child)
882
- walk(child);
883
- }
884
- }
885
- walk(rootNode);
886
- void symbols; // available for future enrichment
887
- }
888
- // ---------------------------------------------------------------------------
889
- // Call extraction (lightweight — calledName only)
890
- // ---------------------------------------------------------------------------
891
- function extractCalls(rootNode, filePath, symbols, calls) {
892
- // Build a list of callable symbols (functions/methods) for enclosing resolution
893
- const callableSymbols = symbols.filter((s) => s.kind === 'function' || s.kind === 'method');
894
- function findEnclosingId(row) {
895
- // Find deepest callable that contains this row (smallest line span)
896
- let best = null;
897
- for (const sym of callableSymbols) {
898
- if (sym.filePath === filePath && sym.startLine <= row + 1 && sym.endLine >= row + 1) {
899
- if (!best || sym.endLine - sym.startLine < best.endLine - best.startLine) {
900
- best = sym;
901
- }
902
- }
903
- }
904
- return best?.id ?? mkNodeId(filePath, '__file__');
905
- }
906
- function walk(node) {
907
- if (node.type === 'call_expression') {
908
- const funcNode = node.childForFieldName('function');
909
- if (funcNode) {
910
- let calledName = null;
911
- let callForm = 'free';
912
- let receiverName;
913
- if (funcNode.type === 'identifier') {
914
- calledName = funcNode.text;
915
- callForm = 'free';
916
- }
917
- else if (funcNode.type === 'member_expression') {
918
- const propNode = funcNode.childForFieldName('property');
919
- const objNode = funcNode.childForFieldName('object');
920
- if (propNode?.type === 'property_identifier') {
921
- calledName = propNode.text;
922
- callForm = 'member';
923
- if (objNode?.type === 'identifier') {
924
- receiverName = objNode.text;
925
- }
926
- }
927
- }
928
- if (calledName && calledName.length > 0) {
929
- const sourceId = findEnclosingId(node.startPosition.row);
930
- const entry = { filePath, sourceId, calledName, callForm };
931
- if (receiverName !== undefined)
932
- entry.receiverName = receiverName;
933
- calls.push(entry);
934
- }
935
- }
936
- }
937
- // new Foo() — constructor calls
938
- if (node.type === 'new_expression') {
939
- const constructorNode = node.childForFieldName('constructor');
940
- if (constructorNode?.type === 'identifier' && constructorNode.text) {
941
- const sourceId = findEnclosingId(node.startPosition.row);
942
- calls.push({
943
- filePath,
944
- sourceId,
945
- calledName: constructorNode.text,
946
- callForm: 'constructor',
947
- });
948
- }
949
- }
950
- for (let i = 0; i < node.namedChildCount; i++) {
951
- const child = node.namedChild(i);
952
- if (child)
953
- walk(child);
954
- }
955
- }
956
- walk(rootNode);
957
- }
958
- // ---------------------------------------------------------------------------
959
- // Process a batch of files
960
- // ---------------------------------------------------------------------------
961
- function processBatch(files, onProgress) {
962
- const result = {
963
- symbols: [],
964
- imports: [],
965
- heritage: [],
966
- calls: [],
967
- reExports: [],
968
- fileCount: 0,
969
- skippedCount: 0,
970
- };
971
- const parser = getParser();
972
- if (!parser) {
973
- result.skippedCount = files.length;
974
- return result;
975
- }
976
- let processed = 0;
977
- let lastReported = 0;
978
- const PROGRESS_INTERVAL = 100;
979
- for (const file of files) {
980
- const grammarKey = grammarKeyForPath(file.path);
981
- if (!grammarKey) {
982
- result.skippedCount++;
983
- continue;
984
- }
985
- const grammar = loadGrammar(grammarKey);
986
- if (!grammar) {
987
- result.skippedCount++;
988
- continue;
989
- }
990
- // tree-sitter 0.21.x has a hard limit of 32767 chars per file (15-bit offset counter).
991
- // Files larger than this threshold are handled with a regex fallback for imports
992
- // and re-exports (the data structures we need for barrel tracing).
993
- const sanitized = sanitizeForParsing(file.content);
994
- const useTreeSitter = sanitized.length <= TREE_SITTER_MAX_CHARS;
995
- if (!useTreeSitter) {
996
- // Regex-based fallback: extract re-exports, imports, and free calls for
997
- // barrel tracing (T617). Symbol definitions are still skipped — tree-sitter
998
- // is required for accurate scope and parent tracking. Free calls use the
999
- // file node as sourceId so CALLS edges can still be emitted against
1000
- // barrel-resolved named-import targets.
1001
- const reExportsBefore = result.reExports.length;
1002
- const importsBefore = result.imports.length;
1003
- const callsBefore = result.calls.length;
1004
- try {
1005
- extractReExportsRegex(file.content, file.path, result.reExports);
1006
- // Basic import extraction via regex for namedImportMap population
1007
- extractImportsRegex(file.content, file.path, grammarKey, result.imports);
1008
- // Free-call extraction so tier2a barrel-resolved calls emit CALLS edges
1009
- // even for oversized files (e.g. task-engine.ts @ 67K chars).
1010
- extractCallsRegex(file.content, file.path, result.calls);
1011
- }
1012
- catch {
1013
- // Skip errors in regex fallback — continue to next file
1014
- }
1015
- if (process.env['CLEO_BARREL_DEBUG']) {
1016
- const reAdded = result.reExports.length - reExportsBefore;
1017
- const impAdded = result.imports.length - importsBefore;
1018
- const callsAdded = result.calls.length - callsBefore;
1019
- process.stderr.write(`[worker-regex] ${file.path} bytes=${file.content.length} reExports=+${reAdded} imports=+${impAdded} calls=+${callsAdded}\n`);
1020
- }
1021
- result.fileCount++;
1022
- processed++;
1023
- if (onProgress && processed - lastReported >= PROGRESS_INTERVAL) {
1024
- lastReported = processed;
1025
- onProgress(processed);
1026
- }
1027
- continue;
1028
- }
1029
- let rootNode;
1030
- try {
1031
- parser.setLanguage(grammar);
1032
- const tree = parser.parse(sanitized);
1033
- rootNode = tree.rootNode;
1034
- }
1035
- catch {
1036
- result.skippedCount++;
1037
- continue;
1038
- }
1039
- const language = grammarKey === 'tsx' ? 'typescript' : grammarKey;
1040
- const fileSymbols = [];
1041
- try {
1042
- walkDefinitions(rootNode, file.path, language, fileSymbols);
1043
- for (const s of fileSymbols)
1044
- result.symbols.push(s);
1045
- extractImports(rootNode, file.path, language, result.imports);
1046
- extractReExports(rootNode, file.path, result.reExports);
1047
- extractHeritage(rootNode, file.path, result.heritage, fileSymbols);
1048
- extractCalls(rootNode, file.path, fileSymbols, result.calls);
1049
- }
1050
- catch {
1051
- // Skip extraction errors — file was still parseable
1052
- }
1053
- result.fileCount++;
1054
- processed++;
1055
- if (onProgress && processed - lastReported >= PROGRESS_INTERVAL) {
1056
- lastReported = processed;
1057
- onProgress(processed);
1058
- }
1059
- }
1060
- return result;
1061
- }
1062
- // ---------------------------------------------------------------------------
1063
- // Accumulated result (persists across sub-batches)
1064
- // ---------------------------------------------------------------------------
1065
- let accumulated = {
1066
- symbols: [],
1067
- imports: [],
1068
- heritage: [],
1069
- calls: [],
1070
- reExports: [],
1071
- fileCount: 0,
1072
- skippedCount: 0,
1073
- };
1074
- let cumulativeProcessed = 0;
1075
- function mergeResult(target, src) {
1076
- for (const s of src.symbols)
1077
- target.symbols.push(s);
1078
- for (const i of src.imports)
1079
- target.imports.push(i);
1080
- for (const h of src.heritage)
1081
- target.heritage.push(h);
1082
- for (const c of src.calls)
1083
- target.calls.push(c);
1084
- for (const r of src.reExports)
1085
- target.reExports.push(r);
1086
- target.fileCount += src.fileCount;
1087
- target.skippedCount += src.skippedCount;
1088
- }
1089
- // ---------------------------------------------------------------------------
1090
- // Message handler
1091
- // ---------------------------------------------------------------------------
1092
- parentPort.on('message', (msg) => {
1093
- try {
1094
- if (msg.type === 'sub-batch') {
1095
- const result = processBatch(msg.files, (filesProcessed) => {
1096
- parentPort.postMessage({
1097
- type: 'progress',
1098
- filesProcessed: cumulativeProcessed + filesProcessed,
1099
- });
1100
- });
1101
- cumulativeProcessed += result.fileCount;
1102
- mergeResult(accumulated, result);
1103
- parentPort.postMessage({ type: 'sub-batch-done' });
1104
- return;
1105
- }
1106
- if (msg.type === 'flush') {
1107
- parentPort.postMessage({ type: 'result', data: accumulated });
1108
- // Reset for reuse
1109
- accumulated = {
1110
- symbols: [],
1111
- imports: [],
1112
- heritage: [],
1113
- calls: [],
1114
- reExports: [],
1115
- fileCount: 0,
1116
- skippedCount: 0,
1117
- };
1118
- cumulativeProcessed = 0;
1119
- return;
1120
- }
1121
- }
1122
- catch (err) {
1123
- const message = err instanceof Error ? err.message : String(err);
1124
- parentPort.postMessage({ type: 'error', error: message });
1125
- }
1126
- });
1127
- //# sourceMappingURL=parse-worker.js.map