tower-studio 0.2.6 → 0.2.8

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 (314) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  5. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -1
  12. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +43 -43
  13. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.rsc +14 -14
  17. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
  18. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  19. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +9 -9
  20. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  21. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  22. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  23. package/.next/standalone/.next/server/app/api/adapters/test/route.js +3 -2
  24. package/.next/standalone/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js +1 -2
  28. package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js +3 -2
  30. package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/internal/assistant/route.js +1 -2
  32. package/.next/standalone/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js +3 -2
  34. package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js +2 -3
  36. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js +3 -2
  38. package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js +2 -3
  40. package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js +2 -3
  42. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js +2 -3
  44. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js +3 -4
  46. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/index.html +1 -1
  48. package/.next/standalone/.next/server/app/index.rsc +14 -14
  49. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  50. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +14 -14
  51. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  52. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +9 -9
  53. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  54. package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +1 -1
  55. package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +75 -75
  56. package/.next/standalone/.next/server/app/missions/page.js +5 -5
  57. package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
  58. package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +1 -1
  60. package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +43 -43
  61. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  62. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  64. package/.next/standalone/.next/server/app/onboarding.rsc +16 -16
  65. package/.next/standalone/.next/server/app/onboarding.segments/_full.segment.rsc +16 -16
  66. package/.next/standalone/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
  67. package/.next/standalone/.next/server/app/onboarding.segments/_index.segment.rsc +9 -9
  68. package/.next/standalone/.next/server/app/onboarding.segments/_tree.segment.rsc +1 -1
  69. package/.next/standalone/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
  70. package/.next/standalone/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
  71. package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +1 -1
  72. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +43 -43
  73. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  74. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +1 -1
  76. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +56 -56
  77. package/.next/standalone/.next/server/app/settings/page.js +3 -3
  78. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  79. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/settings.html +1 -1
  81. package/.next/standalone/.next/server/app/settings.rsc +16 -16
  82. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +16 -16
  83. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  84. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +9 -9
  85. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  86. package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  87. package/.next/standalone/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  88. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +1 -1
  89. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +100 -100
  90. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
  91. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +1 -1
  93. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +82 -82
  94. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
  95. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +1 -1
  97. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +77 -77
  98. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +1 -1
  101. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +72 -72
  102. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js +3 -3
  103. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
  104. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +1 -1
  106. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +43 -43
  107. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
  108. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +1 -1
  110. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +82 -82
  111. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
  112. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +2 -2
  114. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +86 -86
  115. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +5 -5
  116. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
  117. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +1 -1
  119. package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +61 -61
  120. package/.next/standalone/.next/server/app/workspaces/page.js.nft.json +1 -1
  121. package/.next/standalone/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0h5yr8p.js +1 -1
  123. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0hrprmi.js +1 -1
  124. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00mjz~7._.js +3 -0
  125. package/.next/standalone/.next/server/chunks/[root-of-the-server]__028ucbo._.js +4 -0
  126. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03gi3ue._.js +4 -0
  127. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07f7~6u._.js +4 -0
  128. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09p152b._.js +3 -0
  129. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_90467._.js +3 -0
  130. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b-ib~7._.js +3 -0
  131. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0c513um._.js +1 -1
  132. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d~z6xs._.js +4 -0
  133. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e44k3f._.js +20 -0
  134. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0h.z9fm._.js +11 -0
  135. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0lioghc._.js +3 -0
  136. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0mw.9lg._.js +3 -0
  137. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ogh_qu._.js +20 -0
  138. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0tys9pv._.js +3 -0
  139. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12c9noi._.js +3 -0
  140. package/.next/standalone/.next/server/chunks/{_0trog_r._.js → _0_eodxe._.js} +1 -1
  141. package/.next/standalone/.next/server/chunks/_0_w835g._.js +4 -0
  142. package/.next/standalone/.next/server/chunks/{src_01ztl3b._.js → src_0bkvm8c._.js} +2 -2
  143. package/.next/standalone/.next/server/chunks/src_0weytpz._.js +1 -1
  144. package/.next/standalone/.next/server/chunks/src_lib_0ba0ntr._.js +1 -1
  145. package/.next/standalone/.next/server/chunks/src_lib_ai_0q-~me1._.js +1 -1
  146. package/.next/standalone/.next/server/chunks/src_lib_ai_0xx6y51._.js +1 -1
  147. package/.next/standalone/.next/server/chunks/src_lib_ai_providers_index_ts_0.y.3vp._.js +1 -1
  148. package/.next/standalone/.next/server/chunks/ssr/0iu._[workspaceId]_projects_[projectId]_versions_version-timeline-client_tsx_07o_kyi._.js +1 -1
  149. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0.ukame._.js +30 -0
  150. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__006_qh0._.js +1 -1
  151. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01j8ix6._.js +30 -0
  152. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02px.0y._.js +1 -1
  153. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__03ebsif._.js +3 -3
  154. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0-yld.d._.js → [root-of-the-server]__08901f9._.js} +2 -2
  155. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__08n5qbf._.js +1 -1
  156. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ca_ueb._.js +30 -0
  157. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dsdplu._.js +30 -0
  158. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0l43.5g._.js +1 -1
  159. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0nwue~m._.js → [root-of-the-server]__0miur_1._.js} +2 -2
  160. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0n.cuy2._.js +30 -0
  161. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0nbj.ml._.js +30 -0
  162. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ojv-d0._.js +3 -0
  163. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0pm2~fu._.js +30 -0
  164. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ps55l6._.js +1 -1
  165. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ribsk4._.js +1 -1
  166. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rjue04._.js +30 -0
  167. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0souuv~._.js +3 -0
  168. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0tc6uh2._.js +30 -0
  169. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0v2eslh._.js +30 -0
  170. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wjg_.n._.js +1 -1
  171. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wlmzzq._.js +30 -0
  172. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wvyks.._.js +1 -1
  173. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zbmoit._.js +1 -1
  174. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0~03tpv._.js +3 -0
  175. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0~a-emb._.js +30 -0
  176. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0c4.z1s._.js → [root-of-the-server]__121lss.._.js} +2 -2
  177. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__13vdw4w._.js +3 -0
  178. package/.next/standalone/.next/server/chunks/ssr/{_03xwww2._.js → _0.knmg-._.js} +2 -2
  179. package/.next/standalone/.next/server/chunks/ssr/{_08t2xag._.js → _0.oe3b8._.js} +2 -2
  180. package/.next/standalone/.next/server/chunks/ssr/_04b71ua._.js +1 -1
  181. package/.next/standalone/.next/server/chunks/ssr/_05h.8a~._.js +1 -1
  182. package/.next/standalone/.next/server/chunks/ssr/_05unqgy._.js +7 -0
  183. package/.next/standalone/.next/server/chunks/ssr/_0_l8.dg._.js +1 -1
  184. package/.next/standalone/.next/server/chunks/ssr/{_0f8jvpw._.js → _0_q~7z7._.js} +1 -1
  185. package/.next/standalone/.next/server/chunks/ssr/_0a2m~cj._.js +7 -0
  186. package/.next/standalone/.next/server/chunks/ssr/{_0i2usny._.js → _0c-49y3._.js} +1 -1
  187. package/.next/standalone/.next/server/chunks/ssr/_0cj9a7y._.js +1 -1
  188. package/.next/standalone/.next/server/chunks/ssr/{_0vqyzrr._.js → _0d2cdox._.js} +2 -2
  189. package/.next/standalone/.next/server/chunks/ssr/_0ds6nk2._.js +1 -1
  190. package/.next/standalone/.next/server/chunks/ssr/{_0rfo51k._.js → _0fq4yrr._.js} +2 -2
  191. package/.next/standalone/.next/server/chunks/ssr/_0i4__mf._.js +1 -1
  192. package/.next/standalone/.next/server/chunks/ssr/{_054w82_._.js → _0icu6m~._.js} +2 -2
  193. package/.next/standalone/.next/server/chunks/ssr/_0ihq._v._.js +1 -1
  194. package/.next/standalone/.next/server/chunks/ssr/{_00d1y-k._.js → _0kx.c-s._.js} +2 -2
  195. package/.next/standalone/.next/server/chunks/ssr/{_0ah80pn._.js → _0niubv5._.js} +1 -1
  196. package/.next/standalone/.next/server/chunks/ssr/{_0fri5n~._.js → _0pu8x.f._.js} +2 -2
  197. package/.next/standalone/.next/server/chunks/ssr/_0r9w-k8._.js +1 -1
  198. package/.next/standalone/.next/server/chunks/ssr/{_0_gqtgq._.js → _0rbai5c._.js} +1 -1
  199. package/.next/standalone/.next/server/chunks/ssr/_0rbctq7._.js +1 -1
  200. package/.next/standalone/.next/server/chunks/ssr/_0rt8hus._.js +1 -1
  201. package/.next/standalone/.next/server/chunks/ssr/_0vnfnib._.js +7 -0
  202. package/.next/standalone/.next/server/chunks/ssr/{_0_~ftjv._.js → _0xvsyc0._.js} +2 -2
  203. package/.next/standalone/.next/server/chunks/ssr/{_0ep3sg_._.js → _0y-7tle._.js} +1 -1
  204. package/.next/standalone/.next/server/chunks/ssr/{_049.box._.js → _0zgu282._.js} +1 -1
  205. package/.next/standalone/.next/server/chunks/ssr/{_086yn8o._.js → _0zszi6-._.js} +1 -1
  206. package/.next/standalone/.next/server/chunks/ssr/_0~80adm._.js +3 -3
  207. package/.next/standalone/.next/server/chunks/ssr/src_0eufeyj._.js +3 -0
  208. package/.next/standalone/.next/server/chunks/ssr/src_13jha60._.js +1 -1
  209. package/.next/standalone/.next/server/chunks/ssr/src_actions_agent-actions_ts_0~wc.sy._.js +1 -1
  210. package/.next/standalone/.next/server/chunks/ssr/src_actions_file-actions_ts_0gcvqwm._.js +1 -1
  211. package/.next/standalone/.next/server/chunks/ssr/src_app_missions_missions-client_tsx_11429lj._.js +1 -1
  212. package/.next/standalone/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +1 -1
  213. package/.next/standalone/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js +1 -1
  214. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0wyzpam._.js +1 -1
  215. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_board-page-client_tsx_0gips66._.js +1 -1
  216. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_02t7blt._.js +1 -1
  217. package/.next/standalone/.next/server/chunks/ssr/{src_lib_08n755q._.js → src_lib_07rspg0._.js} +1 -1
  218. package/.next/standalone/.next/server/chunks/ssr/{src_lib_0tb2yya._.js → src_lib_0_8frs_._.js} +1 -1
  219. package/.next/standalone/.next/server/chunks/ssr/{src_lib_123jf_a._.js → src_lib_0fjk3hr._.js} +1 -1
  220. package/.next/standalone/.next/server/chunks/ssr/{src_lib_12ulcxj._.js → src_lib_0g-92s-._.js} +1 -1
  221. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  222. package/.next/standalone/.next/server/pages/404.html +1 -1
  223. package/.next/standalone/.next/server/pages/500.html +1 -1
  224. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  225. package/.next/standalone/.next/server/server-reference-manifest.json +307 -307
  226. package/.next/standalone/.next/static/chunks/000k30wpair3e.js +5 -0
  227. package/.next/standalone/.next/static/chunks/005169or2nxlh.js +1 -0
  228. package/.next/standalone/.next/static/chunks/{0mfgulw-d49o9.js → 04uepvk5f~_a-.js} +1 -1
  229. package/.next/standalone/.next/static/chunks/{0nrbltth-7m~e.js → 07vas3ezrfrjg.js} +1 -1
  230. package/.next/standalone/.next/static/chunks/{0fovq74l0wh7c.js → 087l367c1psb6.js} +1 -1
  231. package/.next/standalone/.next/static/chunks/{0ee.~~ae-vl_q.js → 09m-rcwwlggjy.js} +1 -1
  232. package/.next/standalone/.next/static/chunks/{06shpikm5rcmu.js → 0h1-tehkx05kz.js} +1 -1
  233. package/.next/standalone/.next/static/chunks/0hueiuk3kjujl.js +5 -0
  234. package/.next/standalone/.next/static/chunks/0ikej72py2xo3.js +1 -0
  235. package/.next/standalone/.next/static/chunks/0lx08u-wp-gt6.js +2 -0
  236. package/.next/standalone/.next/static/chunks/0mu8uzvw4gvpf.js +1 -0
  237. package/.next/standalone/.next/static/chunks/{0r7jm27~cp-vs.js → 0ow7ynd7g7ptv.js} +1 -1
  238. package/.next/standalone/.next/static/chunks/{0v9ahxdsn0mse.js → 0szduy0e92e5g.js} +1 -1
  239. package/.next/standalone/.next/static/chunks/{0jscst0zjd2az.js → 0szie_5oyakv1.js} +1 -1
  240. package/.next/standalone/.next/static/chunks/{0m2lubto0vt0x.js → 0ur-499l_2jrc.js} +1 -1
  241. package/.next/standalone/.next/static/chunks/{0hxgzql5.szyz.js → 0xs0yzxjkoeas.js} +1 -1
  242. package/.next/standalone/.next/static/chunks/{07i~~ygu~oi26.js → 0ynbql~9oq0av.js} +1 -1
  243. package/.next/standalone/.next/static/chunks/{04-7c5m91nvj1.js → 0~88n47ys3due.js} +1 -1
  244. package/.next/standalone/.next/static/chunks/{186ahmq856rfj.js → 10nil20v3q7~..js} +1 -1
  245. package/.next/standalone/.next/static/chunks/12rh72_2o79jv.js +1 -0
  246. package/.next/standalone/.next/static/chunks/156si6w7d-_ct.js +5 -0
  247. package/.next/standalone/package.json +1 -2
  248. package/dist/mcp-server.cjs +257 -61
  249. package/package.json +1 -2
  250. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.9mj3v._.js +0 -4
  251. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05353yb._.js +0 -4
  252. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09h3i6m._.js +0 -4
  253. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_a8-jq._.js +0 -3
  254. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_mbhor._.js +0 -3
  255. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dsv3wl._.js +0 -4
  256. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0jmqy_3._.js +0 -3
  257. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0j~qauc._.js +0 -4
  258. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0nwxhai._.js +0 -3
  259. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o4z8qp._.js +0 -3
  260. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0p_ii~p._.js +0 -3
  261. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0puw1af._.js +0 -20
  262. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0py_jdb._.js +0 -3
  263. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qie1gs._.js +0 -11
  264. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qz9-me._.js +0 -3
  265. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0w2w3x.._.js +0 -20
  266. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0.5rcav._.js +0 -30
  267. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05kq890._.js +0 -30
  268. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__079.nog._.js +0 -3
  269. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0gaa~xc._.js +0 -30
  270. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0gcf4k3._.js +0 -30
  271. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ghfuuv._.js +0 -30
  272. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0k3isnk._.js +0 -3
  273. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0q7ho54._.js +0 -30
  274. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qe~p-n._.js +0 -30
  275. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0tf4zp_._.js +0 -30
  276. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vh-egg._.js +0 -3
  277. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0y.nw7l._.js +0 -30
  278. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11bequ2._.js +0 -30
  279. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11ko84j._.js +0 -30
  280. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12pnl8n._.js +0 -30
  281. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__13k4vkg._.js +0 -3
  282. package/.next/standalone/.next/server/chunks/ssr/_0-pqb_c._.js +0 -7
  283. package/.next/standalone/.next/server/chunks/ssr/_05-r00y._.js +0 -7
  284. package/.next/standalone/.next/server/chunks/ssr/_0h_~oum._.js +0 -7
  285. package/.next/standalone/.next/server/chunks/ssr/src_095o8x6._.js +0 -3
  286. package/.next/standalone/.next/static/chunks/0.zipr1bga3lu.js +0 -1
  287. package/.next/standalone/.next/static/chunks/037-verumdykv.js +0 -5
  288. package/.next/standalone/.next/static/chunks/082cedbq4pp.-.js +0 -1
  289. package/.next/standalone/.next/static/chunks/089ktlh~nim1x.js +0 -1
  290. package/.next/standalone/.next/static/chunks/0m~ltp.wfnbf7.js +0 -5
  291. package/.next/standalone/.next/static/chunks/0tk-ju9xhoh68.js +0 -5
  292. package/.next/standalone/.next/static/chunks/0w9x-ap4dcwy..js +0 -1
  293. package/.next/standalone/.next/static/chunks/17cayeebhpt~w.js +0 -2
  294. package/src/mcp/db.ts +0 -11
  295. package/src/mcp/index.ts +0 -15
  296. package/src/mcp/server.ts +0 -52
  297. package/src/mcp/tools/__tests__/label-tools.test.ts +0 -140
  298. package/src/mcp/tools/__tests__/project-tools.test.ts +0 -182
  299. package/src/mcp/tools/__tests__/report-tools.test.ts +0 -212
  300. package/src/mcp/tools/__tests__/task-tools.test.ts +0 -418
  301. package/src/mcp/tools/__tests__/terminal-tools.test.ts +0 -318
  302. package/src/mcp/tools/__tests__/workspace-tools.test.ts +0 -146
  303. package/src/mcp/tools/knowledge-tools.ts +0 -100
  304. package/src/mcp/tools/label-tools.ts +0 -70
  305. package/src/mcp/tools/note-asset-tools.ts +0 -271
  306. package/src/mcp/tools/project-tools.ts +0 -79
  307. package/src/mcp/tools/report-tools.ts +0 -220
  308. package/src/mcp/tools/search-tools.ts +0 -32
  309. package/src/mcp/tools/task-tools.ts +0 -272
  310. package/src/mcp/tools/terminal-tools.ts +0 -154
  311. package/src/mcp/tools/workspace-tools.ts +0 -73
  312. /package/.next/standalone/.next/static/{VGoiH5uRfCRm6SKXNPZoz → 7DBkEq_6oXffs_C5TFLBR}/_buildManifest.js +0 -0
  313. /package/.next/standalone/.next/static/{VGoiH5uRfCRm6SKXNPZoz → 7DBkEq_6oXffs_C5TFLBR}/_clientMiddlewareManifest.js +0 -0
  314. /package/.next/standalone/.next/static/{VGoiH5uRfCRm6SKXNPZoz → 7DBkEq_6oXffs_C5TFLBR}/_ssgManifest.js +0 -0
@@ -1,2 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,77597,485599,e=>{"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function r(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function n(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach(function(t){var r,i;r=t,i=n[t],(r=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(r))in e?Object.defineProperty(e,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[r]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function a(e){return function t(){for(var r=this,n=arguments.length,i=Array(n),s=0;s<n;s++)i[s]=arguments[s];return i.length>=e.length?e.apply(this,i):function(){for(var e=arguments.length,n=Array(e),s=0;s<e;s++)n[s]=arguments[s];return t.apply(r,[].concat(i,n))}}}function o(e){return({}).toString.call(e).includes("Object")}function c(e){return"function"==typeof e}var l,u,d=a(function(e,t){throw Error(e[t]||e.default)})({initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"}),h=function(e,t){return o(t)||d("changeType"),Object.keys(t).some(function(t){return!Object.prototype.hasOwnProperty.call(e,t)})&&d("changeField"),t},f=function(e){c(e)||d("selectorType")},g=function(e){c(e)||o(e)||d("handlerType"),o(e)&&Object.values(e).some(function(e){return!c(e)})&&d("handlersType")},m=function(e){e||d("initialIsRequired"),o(e)||d("initialType"),Object.keys(e).length||d("initialContent")};function p(e,t){return c(t)?t(e.current):t}function x(e,t){return e.current=s(s({},e.current),t),t}function y(e,t,r){return c(t)?t(e.current):Object.keys(r).forEach(function(r){var n;return null==(n=t[r])?void 0:n.call(t,e.current[r])}),r}var v={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:"Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n "},b=(l=function(e,t){throw Error(e[t]||e.default)},function e(){for(var t=this,r=arguments.length,n=Array(r),i=0;i<r;i++)n[i]=arguments[i];return n.length>=l.length?l.apply(this,n):function(){for(var r=arguments.length,i=Array(r),s=0;s<r;s++)i[s]=arguments[s];return e.apply(t,[].concat(n,i))}})(v),j=function(e){return(e||b("configIsRequired"),({}).toString.call(e).includes("Object")||b("configType"),e.urls)?(console.warn(v.deprecation),{paths:{vs:e.urls.monacoBase}}):e},w=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}},C={type:"cancelation",msg:"operation is manually canceled"};function k(e){var t=!1,r=new Promise(function(r,n){e.then(function(e){return t?n(C):r(e)}),e.catch(n)});return r.cancel=function(){return t=!0},r}var S=["monaco"],M=function(e){if(Array.isArray(e))return e}(u=({create:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(e),g(t);var r={current:e},n=a(y)(r,t),i=a(x)(r),s=a(h)(e),o=a(p)(r);return[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){return e};return f(e),e(r.current)},function(e){(function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}})(n,i,s,o)(e)}]}}).create({config:{paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs"}},isInitialized:!1,resolve:null,reject:null,monaco:null}))||function(e){var t=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,n,i,s,a=[],o=!0,c=!1;try{i=(t=t.call(e)).next,!1;for(;!(o=(r=i.call(t)).done)&&(a.push(r.value),2!==a.length);o=!0);}catch(e){c=!0,n=e}finally{try{if(!o&&null!=t.return&&(s=t.return(),Object(s)!==s))return}finally{if(c)throw n}}return a}}(u)||function(e){if(e){if("string"==typeof e)return t(e,2);var r=({}).toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,2):void 0}}(u)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),A=M[0],N=M[1];function E(e){return document.body.appendChild(e)}function D(e){var t,r,n=A(function(e){return{config:e.config,reject:e.reject}}),i=(t="".concat(n.config.paths.vs,"/loader.js"),r=document.createElement("script"),t&&(r.src=t),r);return i.onload=function(){return e()},i.onerror=n.reject,i}function F(){var e=A(function(e){return{config:e.config,resolve:e.resolve,reject:e.reject}}),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],function(t){var r=t.m||t;B(r),e.resolve(r)},function(t){e.reject(t)})}function B(e){A().monaco||N({monaco:e})}var R=new Promise(function(e,t){return N({resolve:e,reject:t})}),L={config:function(e){var t=j(e),r=t.monaco,i=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if(({}).hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],-1===t.indexOf(r)&&({}).propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(t,S);N(function(e){return{config:function e(t,r){return Object.keys(r).forEach(function(n){r[n]instanceof Object&&t[n]&&Object.assign(r[n],e(t[n],r[n]))}),n(n({},t),r)}(e.config,i),monaco:r}})},init:function(){var e=A(function(e){return{monaco:e.monaco,isInitialized:e.isInitialized,resolve:e.resolve}});if(!e.isInitialized){if(N({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),k(R);if(window.monaco&&window.monaco.editor)return B(window.monaco),e.resolve(window.monaco),k(R);w(E,D)(F)}return k(R)},__getMonacoInstance:function(){return A(function(e){return e.monaco})}};e.s(["default",0,L],485599);var O=e.i(965652),_={display:"flex",position:"relative",textAlign:"initial"},I={width:"100%"},$={display:"none"},P={display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"},T=function({children:e}){return O.default.createElement("div",{style:P},e)},z=(0,O.memo)(function({width:e,height:t,isEditorReady:r,loading:n,_ref:i,className:s,wrapperProps:a}){return O.default.createElement("section",{style:{..._,width:e,height:t},...a},!r&&O.default.createElement(T,null,n),O.default.createElement("div",{ref:i,style:{...I,...!r&&$},className:s}))}),U=function(e){(0,O.useEffect)(e,[])},W=function(e,t,r=!0){let n=(0,O.useRef)(!0);(0,O.useEffect)(n.current||!r?()=>{n.current=!1}:e,t)};function V(){}function q(e,t,r,n){var i,s,a,o,c,l;return i=e,s=n,i.editor.getModel(H(i,s))||(a=e,o=t,c=r,l=n,a.editor.createModel(o,c,l?H(a,l):void 0))}function H(e,t){return e.Uri.parse(t)}var G=(0,O.memo)(function({original:e,modified:t,language:r,originalLanguage:n,modifiedLanguage:i,originalModelPath:s,modifiedModelPath:a,keepCurrentOriginalModel:o=!1,keepCurrentModifiedModel:c=!1,theme:l="light",loading:u="Loading...",options:d={},height:h="100%",width:f="100%",className:g,wrapperProps:m={},beforeMount:p=V,onMount:x=V}){let[y,v]=(0,O.useState)(!1),[b,j]=(0,O.useState)(!0),w=(0,O.useRef)(null),C=(0,O.useRef)(null),k=(0,O.useRef)(null),S=(0,O.useRef)(x),M=(0,O.useRef)(p),A=(0,O.useRef)(!1);U(()=>{let e=L.init();return e.then(e=>(C.current=e)&&j(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>{let t;return w.current?(t=w.current?.getModel(),void(o||t?.original?.dispose(),c||t?.modified?.dispose(),w.current?.dispose())):e.cancel()}}),W(()=>{if(w.current&&C.current){let t=w.current.getOriginalEditor(),i=q(C.current,e||"",n||r||"text",s||"");i!==t.getModel()&&t.setModel(i)}},[s],y),W(()=>{if(w.current&&C.current){let e=w.current.getModifiedEditor(),n=q(C.current,t||"",i||r||"text",a||"");n!==e.getModel()&&e.setModel(n)}},[a],y),W(()=>{let e=w.current.getModifiedEditor();e.getOption(C.current.editor.EditorOption.readOnly)?e.setValue(t||""):t!==e.getValue()&&(e.executeEdits("",[{range:e.getModel().getFullModelRange(),text:t||"",forceMoveMarkers:!0}]),e.pushUndoStop())},[t],y),W(()=>{w.current?.getModel()?.original.setValue(e||"")},[e],y),W(()=>{let{original:e,modified:t}=w.current.getModel();C.current.editor.setModelLanguage(e,n||r||"text"),C.current.editor.setModelLanguage(t,i||r||"text")},[r,n,i],y),W(()=>{C.current?.editor.setTheme(l)},[l],y),W(()=>{w.current?.updateOptions(d)},[d],y);let N=(0,O.useCallback)(()=>{if(!C.current)return;M.current(C.current);let o=q(C.current,e||"",n||r||"text",s||""),c=q(C.current,t||"",i||r||"text",a||"");w.current?.setModel({original:o,modified:c})},[r,t,i,e,n,s,a]),E=(0,O.useCallback)(()=>{!A.current&&k.current&&(w.current=C.current.editor.createDiffEditor(k.current,{automaticLayout:!0,...d}),N(),C.current?.editor.setTheme(l),v(!0),A.current=!0)},[d,l,N]);return(0,O.useEffect)(()=>{y&&S.current(w.current,C.current)},[y]),(0,O.useEffect)(()=>{b||y||E()},[b,y,E]),O.default.createElement(z,{width:f,height:h,isEditorReady:y,loading:u,_ref:k,className:g,wrapperProps:m})}),K=function(e){let t=(0,O.useRef)();return(0,O.useEffect)(()=>{t.current=e},[e]),t.current},J=new Map,Q=(0,O.memo)(function({defaultValue:e,defaultLanguage:t,defaultPath:r,value:n,language:i,path:s,theme:a="light",line:o,loading:c="Loading...",options:l={},overrideServices:u={},saveViewState:d=!0,keepCurrentModel:h=!1,width:f="100%",height:g="100%",className:m,wrapperProps:p={},beforeMount:x=V,onMount:y=V,onChange:v,onValidate:b=V}){let[j,w]=(0,O.useState)(!1),[C,k]=(0,O.useState)(!0),S=(0,O.useRef)(null),M=(0,O.useRef)(null),A=(0,O.useRef)(null),N=(0,O.useRef)(y),E=(0,O.useRef)(x),D=(0,O.useRef)(void 0),F=(0,O.useRef)(n),B=K(s),R=(0,O.useRef)(!1),_=(0,O.useRef)(!1);U(()=>{let e=L.init();return e.then(e=>(S.current=e)&&k(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>M.current?void(D.current?.dispose(),h?d&&J.set(s,M.current.saveViewState()):M.current.getModel()?.dispose(),M.current.dispose(),M.current=null,R.current=!1,w(!1)):e.cancel()}),W(()=>{let a=q(S.current,e||n||"",t||i||"",s||r||"");a!==M.current?.getModel()&&(d&&J.set(B,M.current?.saveViewState()),M.current?.setModel(a),d&&M.current?.restoreViewState(J.get(s)))},[s],j),W(()=>{M.current?.updateOptions(l)},[l],j),W(()=>{M.current&&void 0!==n&&(M.current.getOption(S.current.editor.EditorOption.readOnly)?M.current.setValue(n):n!==M.current.getValue()&&(_.current=!0,M.current.executeEdits("",[{range:M.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),M.current.pushUndoStop(),_.current=!1))},[n],j),W(()=>{let e=M.current?.getModel();j&&e&&i&&S.current?.editor.setModelLanguage(e,i)},[i,j],j),W(()=>{void 0!==o&&M.current?.revealLine(o)},[o],j),W(()=>{S.current?.editor.setTheme(a)},[a],j);let I=(0,O.useCallback)(()=>{if(!(!A.current||!S.current)&&!R.current){E.current(S.current);let c=s||r,h=q(S.current,n||e||"",t||i||"",c||"");M.current=S.current?.editor.create(A.current,{model:h,automaticLayout:!0,...l},u),d&&M.current.restoreViewState(J.get(c)),S.current.editor.setTheme(a),void 0!==o&&M.current.revealLine(o),w(!0),R.current=!0}},[e,t,r,n,i,s,l,u,d,a,o]);return(0,O.useEffect)(()=>{j&&N.current(M.current,S.current)},[j]),(0,O.useEffect)(()=>{C||j||I()},[C,j,I]),F.current=n,(0,O.useEffect)(()=>{j&&v&&(D.current?.dispose(),D.current=M.current?.onDidChangeModelContent(e=>{_.current||v(M.current.getValue(),e)}))},[j,v]),(0,O.useEffect)(()=>{if(j){let e=S.current.editor.onDidChangeMarkers(e=>{let t=M.current.getModel()?.uri;if(t&&e.find(e=>e.path===t.path)){let e=S.current.editor.getModelMarkers({resource:t});b?.(e)}});return()=>{e?.dispose()}}return()=>{}},[j,b]),O.default.createElement(z,{width:f,height:g,isEditorReady:j,loading:c,_ref:A,className:m,wrapperProps:p})});e.s(["DiffEditor",0,G,"Editor",0,Q,"default",0,Q,"useMonaco",0,function(){let[e,t]=(0,O.useState)(L.__getMonacoInstance());return U(()=>{let r;return e||(r=L.init()).then(e=>{t(e)}),()=>r?.cancel()}),e}],77597)},867533,e=>{"use strict";let t=(0,e.i(572989).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",0,t],867533)},461526,e=>{"use strict";e.s(["PREVIEW_TASK_ID",0,"__preview__"])},759686,e=>{"use strict";var t=e.i(567098);e.s(["AlertTriangle",()=>t.default])},237988,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("408accb4cc4036960ffbe673d3c54faf7a444d87b1",t.callServer,void 0,t.findSourceMapURL,"getPrompts");e.s(["getPrompts",0,r])},991838,e=>{"use strict";var t=e.i(965652),r=e.i(770303);e.s(["useExtension",0,function(e){let n=(0,t.useContext)(r.ExtensionContext);if(!n)throw Error("useExtension must be used inside <ExtensionProvider>");return{status:n.statusMap[e],loading:n.loading,isInstalling:n.installing.has(e),install:()=>n.install(e),uninstall:()=>n.uninstall(e),refresh:()=>n.refresh(e)}}])},233589,712193,607812,950912,519227,773801,709547,131872,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("6062c26b8d82b8c25ef88f94e8fe51d01625f0c036",t.callServer,void 0,t.findSourceMapURL,"listDirectory");e.s(["listDirectory",0,r],233589);let n=(0,t.createServerReference)("700bd0f68cda76e7dbba61657033396a9fcce56029",t.callServer,void 0,t.findSourceMapURL,"getGitStatus");e.s(["getGitStatus",0,n],712193);let i=(0,t.createServerReference)("6020177fcab2d60b5a2529b3ce26ee692a8f70aaa7",t.callServer,void 0,t.findSourceMapURL,"createFile");e.s(["createFile",0,i],607812);let s=(0,t.createServerReference)("6057bb3daa13dd8054b8dd173d4e92614e4c11a0ea",t.callServer,void 0,t.findSourceMapURL,"createDirectory");e.s(["createDirectory",0,s],950912);let a=(0,t.createServerReference)("7061f6857c193d31e343ed66345a8c3bb92632506b",t.callServer,void 0,t.findSourceMapURL,"renameEntry");e.s(["renameEntry",0,a],519227);let o=(0,t.createServerReference)("605bc74f8959055fe3e2e0cdbae4ad8dc2a91a161e",t.callServer,void 0,t.findSourceMapURL,"deleteEntry");e.s(["deleteEntry",0,o],773801);let c=(0,t.createServerReference)("408e70784bd1e57294f0f8f923f6857fa3c8e1f491",t.callServer,void 0,t.findSourceMapURL,"listAllFiles");e.s(["listAllFiles",0,c],709547);let l=(0,t.createServerReference)("6032b7eaae485aa9831911fc70ced1cbeee691f467",t.callServer,void 0,t.findSourceMapURL,"readFileContent");e.s(["readFileContent",0,l],131872)},354514,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("70128b0bf81e97940edab71bb7d4820e9b6afb8d5a",t.callServer,void 0,t.findSourceMapURL,"writeFileContent");e.s(["writeFileContent",0,r])},998451,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("60c05c323138939c494f56185d899a8fe2ea7bbb61",t.callServer,void 0,t.findSourceMapURL,"readFileContentForce");e.s(["readFileContentForce",0,r])},259846,e=>{"use strict";let t=(0,e.i(572989).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],259846)},12659,e=>{"use strict";let t=(0,e.i(572989).default)("circle-play",[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["PlayCircle",0,t],12659)},960518,e=>{"use strict";let t=(0,e.i(572989).default)("git-compare",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]]);e.s(["GitCompare",0,t],960518)},340873,e=>{"use strict";let t=(0,e.i(572989).default)("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);e.s(["GitCommitHorizontal",0,t],340873)},707631,(e,t,r)=>{t.exports=e=>{if(!e||"string"!=typeof e||e.match(/^\s+$/))return[];let t=e.split(`
2
- `);if(0===t.length)return[];let r=[],n=null,i=null,a=0,c=0,l=null,u=e=>{let[t,i]=s(e)??[];n={chunks:[],deletions:0,additions:0,from:t,to:i},r.push(n)},d=()=>{(!n||n.chunks.length)&&u()},h=e=>{if(!i)return;let[t]=i.changes.slice(-1);i.changes.push({type:t.type,[t.type]:!0,ln1:t.ln1,ln2:t.ln2,ln:t.ln,content:e})},f=[[/^diff\s/,u],[/^new file mode (\d+)$/,(e,t)=>{d(),n.new=!0,n.newMode=t[1],n.from="/dev/null"}],[/^deleted file mode (\d+)$/,(e,t)=>{d(),n.deleted=!0,n.oldMode=t[1],n.to="/dev/null"}],[/^old mode (\d+)$/,(e,t)=>{d(),n.oldMode=t[1]}],[/^new mode (\d+)$/,(e,t)=>{d(),n.newMode=t[1]}],[/^index\s[\da-zA-Z]+\.\.[\da-zA-Z]+(\s(\d+))?$/,(e,t)=>{d(),n.index=e.split(" ").slice(1),t[1]&&(n.oldMode=n.newMode=t[1].trim())}],[/^---\s/,e=>{d(),n.from=o(e)}],[/^\+\+\+\s/,e=>{d(),n.to=o(e)}],[/^@@\s+-(\d+),?(\d+)?\s+\+(\d+),?(\d+)?\s@@/,(e,t)=>{n||u(e);let[r,s,o,d]=t.slice(1);a=+r,c=+o,i={content:e,changes:[],oldStart:+r,oldLines:+(s||1),newStart:+o,newLines:+(d||1)},l={oldLines:+(s||1),newLines:+(d||1)},n.chunks.push(i)}],[/^\$/,h]],g=[[/^\$/,h],[/^-/,e=>{i&&(i.changes.push({type:"del",del:!0,ln:a++,content:e}),n.deletions++,l.oldLines--)}],[/^\+/,e=>{i&&(i.changes.push({type:"add",add:!0,ln:c++,content:e}),n.additions++,l.newLines--)}],[/^\s*/,e=>{i?.changes.push({type:"normal",normal:!0,ln1:a++,ln2:c++,content:e}),l.oldLines--,l.newLines--}]],m=e=>{l?(e=>{for(let[t,r]of g){let n=e.match(t);if(n){r(e,n);break}}0===l.oldLines&&0===l.newLines&&(l=null)})(e):(e=>{for(let[t,r]of f){let n=e.match(t);if(n){r(e,n);break}}})(e)};for(let e of t)m(e);return r};let n=/(a|i|w|c|o|1|2)\/.*(?=["']? ["']?(b|i|w|c|o|1|2)\/)|(b|i|w|c|o|1|2)\/.*$/g,i=/^(a|b|i|w|c|o|1|2)\//,s=e=>e?.match(n)?.map(e=>e.replace(i,"").replace(/("|')$/,"")),a=/^\\?['"]|\\?['"]$/g,o=e=>{let t=c(e,"-+").trim();return(t=u(t)).replace(a,"").replace(i,"")},c=(e,t)=>{if(e=h(e),!t&&String.prototype.trimLeft)return e.trimLeft();let r=d(t);return e.replace(RegExp(`^${r}+`),"")},l=/\t.*|\d{4}-\d\d-\d\d\s\d\d:\d\d:\d\d(.\d+)?\s(\+|-)\d\d\d\d/,u=e=>{let t=l.exec(e);return t&&(e=e.substring(0,t.index).trim()),e},d=e=>null==e?"\\s":e instanceof RegExp?e.source:`[${h(e).replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1")}]`,h=e=>`${e??""}`},196199,e=>{"use strict";var t=e.i(707631);function r(e){return e.replace(/\r\n/g,"\n")}e.s(["normalizeLF",0,r,"parseUnifiedDiff",0,function(e){return(0,t.default)(r(e))}])},368490,e=>{"use strict";var t=e.i(776405);e.s(["ChevronRight",()=>t.default])},912505,e=>{"use strict";var t=e.i(289721),r=e.i(975157);e.s(["EmptyState",0,function({icon:e,title:n,description:i,action:s,className:a}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",a),children:[e&&(0,t.jsx)(e,{className:"h-10 w-10 text-muted-foreground/40"}),(0,t.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:n}),i&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground/60",children:i}),s&&(0,t.jsx)("div",{className:"mt-2",children:s})]})}])},487486,e=>{"use strict";var t=e.i(565455),r=e.i(581263),n=e.i(294237),i=e.i(975157);let s=(0,n.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function({className:e,variant:n="default",render:a,...o}){var c;return c={defaultTagName:"span",props:(0,t.mergeProps)({className:(0,i.cn)(s({variant:n}),e)},o),render:a,state:{slot:"badge",variant:n}},(0,r.useRenderElement)(c.defaultTagName??"div",c,c)}],487486)},922541,e=>{"use strict";let t=(0,e.i(572989).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",0,t],922541)},653023,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("7ca389c42512b842416808d6f06c3cfd7f9528d5c1",t.callServer,void 0,t.findSourceMapURL,"startPtyExecution");e.s(["startPtyExecution",0,r])},94306,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("40f92f8b71e63a406af9b55259ff16d1d1c17578b6",t.callServer,void 0,t.findSourceMapURL,"stopPtyExecution");e.s(["stopPtyExecution",0,r])},659470,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("609c70ee21d50fe0fdbaf2eb9d679dfd044a4b0f22",t.callServer,void 0,t.findSourceMapURL,"resumePtyExecution");e.s(["resumePtyExecution",0,r])},169751,e=>{"use strict";function t(e){return Array.isArray?Array.isArray(e):"[object Array]"===c(e)}function r(e){return null==e?"":function(e){if("string"==typeof e)return e;if("bigint"==typeof e)return e.toString();let t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(e)}function n(e){return"string"==typeof e}function i(e){return"number"==typeof e}function s(e){return"object"==typeof e}function a(e){return null!=e}function o(e){return!e.trim().length}function c(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let l=Object.prototype.hasOwnProperty;class u{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let r=d(e);this._keys.push(r),this._keyMap[r.id]=r,t+=r.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function d(e){let r=null,i=null,s=null,a=1,o=null;if(n(e)||t(e))s=e,r=h(e),i=f(e);else{if(!l.call(e,"name"))throw Error("Missing name property in key");let t=e.name;if(s=t,l.call(e,"weight")&&(a=e.weight)<=0)throw Error(`Property 'weight' in key '${t}' must be a positive integer`);r=h(t),i=f(t),o=e.getFn}return{path:r,id:i,weight:a,src:s,getFn:o}}function h(e){return t(e)?e:e.split(".")}function f(e){return t(e)?e.join("."):e}let g=Object.freeze({isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,useExtendedSearch:!1,useTokenSearch:!1,getFn:function(e,o){let l=[],u=!1,d=(e,o,h,f)=>{if(a(e))if(o[h]){var g,m;let p=e[o[h]];if(!a(p))return;if(h===o.length-1&&(n(p)||i(p)||!0===(g=p)||!1===g||s(m=g)&&null!==m&&"[object Boolean]"==c(g)||"bigint"==typeof p))l.push(void 0!==f?{v:r(p),i:f}:r(p));else if(t(p)){u=!0;for(let e=0,t=p.length;e<t;e+=1)d(p[e],o,h+1,e)}else o.length&&d(p,o,h+1,f)}else l.push(void 0!==f?{v:e,i:f}:e)};return d(e,n(o)?o.split("."):o,0),u?l:l[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1}),m=/[^ ]+/g;class p{constructor({getFn:e=g.getFn,fieldNormWeight:t=g.fieldNormWeight}={}){this.norm=function(e=1,t=3){let r=new Map,n=Math.pow(10,t);return{get(t){let i=t.match(m).length;if(r.has(i))return r.get(i);let s=parseFloat(Math.round(1/Math.pow(i,.5*e)*n)/n);return r.set(i,s),s},clear(){r.clear()}}}(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((e,t)=>{this._keysMap[e.id]=t})}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,n(this.docs[0])?this.docs.forEach((e,t)=>{this._addString(e,t)}):this.docs.forEach((e,t)=>{this._addObject(e,t)}),this.norm.clear())}add(e){let t=this.size();n(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,r=this.size();t<r;t+=1)this.records[t].i-=1}removeAll(e){for(let t=e.length-1;t>=0;t-=1)this.records.splice(e[t],1);for(let e=0,t=this.records.length;e<t;e+=1)this.records[e].i=e}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_addString(e,t){if(!a(e)||o(e))return;let r={v:e,i:t,n:this.norm.get(e)};this.records.push(r)}_addObject(e,i){let s={i:i,$:{}};this.keys.forEach((i,c)=>{let l=i.getFn?i.getFn(e):this.getFn(e,i.path);if(a(l)){if(t(l)){let e=[];for(let t=0,i=l.length;t<i;t+=1){let i=l[t];if(a(i)){if(n(i)){if(!o(i)){let r={v:i,i:t,n:this.norm.get(i)};e.push(r)}}else if(a(i.v)){let t=n(i.v)?i.v:r(i.v);if(!o(t)){let r={v:t,i:i.i,n:this.norm.get(t)};e.push(r)}}}}s.$[c]=e}else if(n(l)&&!o(l)){let e={v:l,n:this.norm.get(l)};s.$[c]=e}}}),this.records.push(s)}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}}function x(e,t,{getFn:r=g.getFn,fieldNormWeight:n=g.fieldNormWeight}={}){let i=new p({getFn:r,fieldNormWeight:n});return i.setKeys(e.map(d)),i.setSources(t),i.create(),i}function y(e){if(e.length<=1)return e;e.sort((e,t)=>e[0]-t[0]||e[1]-t[1]);let t=[e[0]];for(let r=1,n=e.length;r<n;r+=1){let n=t[t.length-1],i=e[r];i[0]<=n[1]+1?n[1]=Math.max(n[1],i[1]):t.push(i)}return t}let v={ł:"l",Ł:"L",đ:"d",Đ:"D",ø:"o",Ø:"O",ħ:"h",Ħ:"H",ŧ:"t",Ŧ:"T",ı:"i",ß:"ss"},b=RegExp("["+Object.keys(v).join("")+"]","g"),j=String.prototype.normalize?e=>e.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"").replace(b,e=>v[e]):e=>e;class w{constructor(e,{location:t=g.location,threshold:r=g.threshold,distance:n=g.distance,includeMatches:i=g.includeMatches,findAllMatches:s=g.findAllMatches,minMatchCharLength:a=g.minMatchCharLength,isCaseSensitive:o=g.isCaseSensitive,ignoreDiacritics:c=g.ignoreDiacritics,ignoreLocation:l=g.ignoreLocation}={}){if(this.options={location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:s,minMatchCharLength:a,isCaseSensitive:o,ignoreDiacritics:c,ignoreLocation:l},e=o?e:e.toLowerCase(),e=c?j(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;const u=(e,t)=>{this.chunks.push({pattern:e,alphabet:function(e){let t={};for(let r=0,n=e.length;r<n;r+=1){let i=e.charAt(r);t[i]=(t[i]||0)|1<<n-r-1}return t}(e),startIndex:t})},d=this.pattern.length;if(d>32){let e=0;const t=d%32,r=d-t;for(;e<r;)u(this.pattern.substr(e,32),e),e+=32;if(t){const e=d-32;u(this.pattern.substr(e),e)}}else u(this.pattern,0)}searchIn(e){let{isCaseSensitive:t,ignoreDiacritics:r,includeMatches:n}=this.options;if(e=t?e:e.toLowerCase(),e=r?j(e):e,this.pattern===e){let t={isMatch:!0,score:0};return n&&(t.indices=[[0,e.length-1]]),t}let{location:i,distance:s,threshold:a,findAllMatches:o,minMatchCharLength:c,ignoreLocation:l}=this.options,u=[],d=0,h=!1;this.chunks.forEach(({pattern:t,alphabet:r,startIndex:f})=>{let{isMatch:m,score:p,indices:x}=function(e,t,r,{location:n=g.location,distance:i=g.distance,threshold:s=g.threshold,findAllMatches:a=g.findAllMatches,minMatchCharLength:o=g.minMatchCharLength,includeMatches:c=g.includeMatches,ignoreLocation:l=g.ignoreLocation}={}){let u;if(t.length>32)throw Error("Pattern length exceeds max of 32.");let d=t.length,h=e.length,f=Math.max(0,Math.min(n,h)),m=s,p=f,x=(e,t)=>{let r=e/d;if(l)return r;let n=Math.abs(f-t);return i?r+n/i:n?1:r},y=o>1||c,v=y?Array(h):[];for(;(u=e.indexOf(t,p))>-1;)if(m=Math.min(x(0,u),m),p=u+d,y){let e=0;for(;e<d;)v[u+e]=1,e+=1}p=-1;let b=[],j=1,w=d+h,C=1<<d-1;for(let t=0;t<d;t+=1){let n=0,i=w;for(;n<i;)x(t,f+i)<=m?n=i:w=i,i=Math.floor((w-n)/2+n);w=i;let s=Math.max(1,f-i+1),o=a?h:Math.min(f+i,h)+d,c=Array(o+2);c[o+1]=(1<<t)-1;for(let n=o;n>=s;n-=1){let i=n-1,a=r[e[i]];if(y&&(v[i]=+!!a),c[n]=(c[n+1]<<1|1)&a,t&&(c[n]|=(b[n+1]|b[n])<<1|1|b[n+1]),c[n]&C&&(j=x(t,i))<=m){if(m=j,(p=i)<=f)break;s=Math.max(1,2*f-p)}}if(x(t+1,f)>m)break;b=c}let k={isMatch:p>=0,score:Math.max(.001,j)};if(y){let e=function(e=[],t=g.minMatchCharLength){let r=[],n=-1,i=-1,s=0;for(let a=e.length;s<a;s+=1){let a=e[s];a&&-1===n?n=s:a||-1===n||((i=s-1)-n+1>=t&&r.push([n,i]),n=-1)}return e[s-1]&&s-n>=t&&r.push([n,s-1]),r}(v,o);e.length?c&&(k.indices=e):k.isMatch=!1}return k}(e,t,r,{location:i+f,distance:s,threshold:a,findAllMatches:o,minMatchCharLength:c,includeMatches:n,ignoreLocation:l});m&&(h=!0),d+=p,m&&x&&u.push(...x)});let f={isMatch:h,score:h?d/this.chunks.length:1};return h&&n&&(f.indices=y(u)),f}}class C{constructor(e){this.pattern=e}static isMultiMatch(e){return k(e,this.multiRegex)}static isSingleMatch(e){return k(e,this.singleRegex)}search(e){return{isMatch:!1,score:1}}}function k(e,t){let r=e.match(t);return r?r[1]:null}class S extends C{constructor(e,{location:t=g.location,threshold:r=g.threshold,distance:n=g.distance,includeMatches:i=g.includeMatches,findAllMatches:s=g.findAllMatches,minMatchCharLength:a=g.minMatchCharLength,isCaseSensitive:o=g.isCaseSensitive,ignoreDiacritics:c=g.ignoreDiacritics,ignoreLocation:l=g.ignoreLocation}={}){super(e),this._bitapSearch=new w(e,{location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:s,minMatchCharLength:a,isCaseSensitive:o,ignoreDiacritics:c,ignoreLocation:l})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class M extends C{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t,r=0,n=[],i=this.pattern.length;for(;(t=e.indexOf(this.pattern,r))>-1;)r=t+i,n.push([t,r-1]);let s=!!n.length;return{isMatch:s,score:+!s,indices:n}}}let A=[class extends C{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){let t=e===this.pattern;return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}},M,class extends C{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){let t=e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}},class extends C{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){let t=!e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},class extends C{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){let t=!e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},class extends C{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){let t=e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[e.length-this.pattern.length,e.length-1]}}},class extends C{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){let t=-1===e.indexOf(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},S],N=A.length,E=new Set([S.type,M.type]),D=[];function F(...e){D.push(...e)}function B(e,t){for(let r=0,n=D.length;r<n;r+=1){let n=D[r];if(n.condition(e,t))return new n(e,t)}return new w(e,t)}let R="$and",L="$path",O=e=>!!(e[R]||e.$or),_=e=>({[R]:Object.keys(e).map(t=>({[t]:e[t]}))});function I(e,r,{auto:i=!0}={}){let a=e=>{if(n(e)){let t={keyId:null,pattern:e};return i&&(t.searcher=B(e,r)),t}let o=Object.keys(e),c=!!e[L];if(!c&&o.length>1&&!O(e))return a(_(e));if(!t(e)&&s(e)&&!O(e)){let t=c?e[L]:o[0],s=c?e.$val:e[t];if(!n(s))throw Error(`Invalid value for key ${t}`);let a={keyId:f(t),pattern:s};return i&&(a.searcher=B(s,r)),a}let l={children:[],operator:o[0]};return o.forEach(r=>{let n=e[r];t(n)&&n.forEach(e=>{l.children.push(a(e))})}),l};return O(e)||(e=_(e)),a(e)}function $(e,{ignoreFieldNorm:t=g.ignoreFieldNorm}){let r=1;return e.forEach(({key:e,norm:n,score:i})=>{let s=e?e.weight:null;r*=Math.pow(0===i&&s?Number.EPSILON:i,(s||1)*(t?1:n))}),r}class P{constructor(e){this.limit=e,this.heap=[]}get size(){return this.heap.length}shouldInsert(e){return this.size<this.limit||e<this.heap[0].score}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):e.score<this.heap[0].score&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(e){return this.heap.sort(e)}_bubbleUp(e){let t=this.heap;for(;e>0;){let r=e-1>>1;if(t[e].score<=t[r].score)break;let n=t[e];t[e]=t[r],t[r]=n,e=r}}_sinkDown(e){let t=this.heap,r=t.length,n=e;do{let i=2*(e=n)+1,s=2*e+2;if(i<r&&t[i].score>t[n].score&&(n=i),s<r&&t[s].score>t[n].score&&(n=s),n!==e){let r=t[e];t[e]=t[n],t[n]=r}}while(n!==e)}}function T(e,t){let r=e.matches;t.matches=[],a(r)&&r.forEach(e=>{if(!a(e.indices)||!e.indices.length)return;let{indices:r,value:n}=e,i={indices:r,value:n};e.key&&(i.key=e.key.src),e.idx>-1&&(i.refIndex=e.idx),t.matches.push(i)})}function z(e,t){t.score=e.score}let U=/\b\w+\b/g;function W({isCaseSensitive:e=!1,ignoreDiacritics:t=!1}={}){return{tokenize:r=>(e||(r=r.toLowerCase()),t&&(r=j(r)),r.match(U)||[])}}function V(e,t){for(let[r,n]of e.terms){let i=n.filter(e=>e.docIdx!==t),s=n.length-i.length;s>0&&(e.fieldCount-=s,e.df.set(r,(e.df.get(r)||0)-s),0===i.length?(e.terms.delete(r),e.df.delete(r)):e.terms.set(r,i))}}class q{constructor(e,t,r){this.options={...g,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new u(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,r),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;let t=B(e,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=e,this._lastSearcher=t,t}setCollection(e,t){if(this._docs=e,t&&!(t instanceof p))throw Error("Incorrect 'index' type");if(this._myIndex=t||x(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=W({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});this._invertedIndex=function(e,t,r){let n=new Map,i=new Map,s=0;function a(e,t,a,o){let c=r.tokenize(e);if(!c.length)return;s++;let l=new Map;for(let e of c)l.set(e,(l.get(e)||0)+1);for(let[e,r]of l){let s={docIdx:t,keyIdx:a,subIdx:o,tf:r},c=n.get(e);c||(c=[],n.set(e,c)),c.push(s),i.set(e,(i.get(e)||0)+1)}}for(let r of e){let{i:e,v:n,$:i}=r;if(void 0!==n){a(n,e,-1,-1);continue}if(i)for(let r=0;r<t;r++){let t=i[r];if(t)if(Array.isArray(t))for(let n of t)a(n.v,e,r,n.i??-1);else a(t.v,e,r,-1)}}return{terms:n,fieldCount:s,df:i}}(this._myIndex.records,this._myIndex.keys.length,e)}}add(e){if(a(e)&&(this._docs.push(e),this._myIndex.add(e),this._invertedIndex)){let e=this._myIndex.records[this._myIndex.records.length-1],t=W({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});!function(e,t,r,n){let{i:i,v:s,$:a}=t;function o(t,r,s){let a=n.tokenize(t);if(!a.length)return;e.fieldCount++;let o=new Map;for(let e of a)o.set(e,(o.get(e)||0)+1);for(let[t,n]of o){let a={docIdx:i,keyIdx:r,subIdx:s,tf:n},o=e.terms.get(t);o||(o=[],e.terms.set(t,o)),o.push(a),e.df.set(t,(e.df.get(t)||0)+1)}}if(void 0!==s)return o(s,-1,-1);if(a)for(let e=0;e<r;e++){let t=a[e];if(t)if(Array.isArray(t))for(let r of t)o(r.v,e,r.i??-1);else o(t.v,e,-1)}}(this._invertedIndex,e,this._myIndex.keys.length,t)}}remove(e=()=>!1){let t=[],r=[];for(let n=0,i=this._docs.length;n<i;n+=1)e(this._docs[n],n)&&(t.push(this._docs[n]),r.push(n));if(r.length){if(this._invertedIndex)for(let e of r)V(this._invertedIndex,e);for(let e=r.length-1;e>=0;e-=1)this._docs.splice(r[e],1);this._myIndex.removeAll(r)}return t}removeAt(e){this._invertedIndex&&V(this._invertedIndex,e);let t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),t}getIndex(){return this._myIndex}search(e,t){let r,{limit:s=-1}=t||{},{includeMatches:a,includeScore:o,shouldSort:c,sortFn:l,ignoreFieldNorm:u}=this.options;if(n(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return i(s)&&s>-1&&(e=e.slice(0,s)),e}if(i(s)&&s>0&&n(e)){let t=new P(s);n(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:u}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:u}),r=t.extractSorted(l)}else!function(e,{ignoreFieldNorm:t=g.ignoreFieldNorm}){e.forEach(e=>{e.score=$(e.matches,{ignoreFieldNorm:t})})}(r=n(e)?n(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),{ignoreFieldNorm:u}),c&&r.sort(l),i(s)&&s>-1&&(r=r.slice(0,s));return function(e,t,{includeMatches:r=g.includeMatches,includeScore:n=g.includeScore}={}){let i=[];return r&&i.push(T),n&&i.push(z),e.map(e=>{let{idx:r}=e,n={item:t[r],refIndex:r};return i.length&&i.forEach(t=>{t(e,n)}),n})}(r,this._docs,{includeMatches:a,includeScore:o})}_searchStringList(e,{heap:t,ignoreFieldNorm:r}={}){let n=this._getSearcher(e),{records:i}=this._myIndex,s=t?null:[];return i.forEach(({v:e,i:i,n:o})=>{if(!a(e))return;let{isMatch:c,score:l,indices:u}=n.searchIn(e);if(c){let n={item:e,idx:i,matches:[{score:l,value:e,norm:o,indices:u}]};t?(n.score=$(n.matches,{ignoreFieldNorm:r}),t.shouldInsert(n.score)&&t.insert(n)):s.push(n)}}),s}_searchLogical(e){let t=I(e,this.options),r=(e,t,n)=>{if(!("children"in e)){let r,{keyId:i,searcher:s}=e;return(null===i?(r=[],this._myIndex.keys.forEach((e,n)=>{r.push(...this._findMatches({key:e,value:t[n],searcher:s}))})):r=this._findMatches({key:this._keyStore.get(i),value:this._myIndex.getValueForItemAtKeyId(t,i),searcher:s}),r&&r.length)?[{idx:n,item:t,matches:r}]:[]}let{children:i,operator:s}=e,a=[];for(let e=0,o=i.length;e<o;e+=1){let o=r(i[e],t,n);if(o.length)a.push(...o);else if(s===R)return[]}return a},n=this._myIndex.records,i=new Map,s=[];return n.forEach(({$:e,i:n})=>{if(a(e)){let a=r(t,e,n);a.length&&(i.has(n)||(i.set(n,{idx:n,item:e,matches:[]}),s.push(i.get(n))),a.forEach(({matches:e})=>{i.get(n).matches.push(...e)}))}}),s}_searchObjectList(e,{heap:t,ignoreFieldNorm:r}={}){let n=this._getSearcher(e),{keys:i,records:s}=this._myIndex,o=t?null:[];return s.forEach(({$:e,i:s})=>{if(!a(e))return;let c=[],l=!1,u=!1;if(i.forEach((t,r)=>{let i=this._findMatches({key:t,value:e[r],searcher:n});i.length?(c.push(...i),i[0].hasInverse&&(u=!0)):l=!0}),(!u||!l)&&c.length){let n={idx:s,item:e,matches:c};t?(n.score=$(n.matches,{ignoreFieldNorm:r}),t.shouldInsert(n.score)&&t.insert(n)):o.push(n)}}),o}_findMatches({key:e,value:r,searcher:n}){if(!a(r))return[];let i=[];if(t(r))r.forEach(({v:t,i:r,n:s})=>{if(!a(t))return;let{isMatch:o,score:c,indices:l,hasInverse:u}=n.searchIn(t);o&&i.push({score:c,key:e,value:t,idx:r,norm:s,indices:l,hasInverse:u})});else{let{v:t,n:s}=r,{isMatch:a,score:o,indices:c,hasInverse:l}=n.searchIn(t);a&&i.push({score:o,key:e,value:t,norm:s,indices:c,hasInverse:l})}return i}}q.version="7.3.0",q.createIndex=x,q.parseIndex=function(e,{getFn:t=g.getFn,fieldNormWeight:r=g.fieldNormWeight}={}){let{keys:n,records:i}=e,s=new p({getFn:t,fieldNormWeight:r});return s.setKeys(n),s.setIndexRecords(i),s},q.config=g,q.match=function(e,t,r){return B(e,{...g,...r}).searchIn(t)},q.parseQuery=I,F(class{constructor(e,{isCaseSensitive:t=g.isCaseSensitive,ignoreDiacritics:r=g.ignoreDiacritics,includeMatches:n=g.includeMatches,minMatchCharLength:i=g.minMatchCharLength,ignoreLocation:s=g.ignoreLocation,findAllMatches:a=g.findAllMatches,location:o=g.location,threshold:c=g.threshold,distance:l=g.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:r,includeMatches:n,minMatchCharLength:i,findAllMatches:a,ignoreLocation:s,location:o,threshold:c,distance:l},e=t?e:e.toLowerCase(),e=r?j(e):e,this.pattern=e,this.query=function(e,t={}){return e.replace(/\\\|/g,"\0").split("|").map(e=>{let r=(function(e){let t=[],r=e.length,n=0;for(;n<r;){for(;n<r&&" "===e[n];)n++;if(n>=r)break;let i=n;for(;i<r&&" "!==e[i]&&'"'!==e[i];)i++;if(i<r&&'"'===e[i]){for(i++;i<r;){if('"'===e[i]){let t=i+1;if(t>=r||" "===e[t]){i++;break}if("$"===e[t]&&(t+1>=r||" "===e[t+1])){i+=2;break}}i++}t.push(e.substring(n,i)),n=i}else{for(;i<r&&" "!==e[i];)i++;t.push(e.substring(n,i)),n=i}}return t})(e.replace(/\u0000/g,"|").trim()).filter(e=>e&&!!e.trim()),n=[];for(let e=0,i=r.length;e<i;e+=1){let i=r[e],s=!1,a=-1;for(;!s&&++a<N;){let e=A[a],r=e.isMultiMatch(i);r&&(n.push(new e(r,t)),s=!0)}if(!s)for(a=-1;++a<N;){let e=A[a],r=e.isSingleMatch(i);if(r){n.push(new e(r,t));break}}}return n})}(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){let t=this.query;if(!t)return{isMatch:!1,score:1};let{includeMatches:r,isCaseSensitive:n,ignoreDiacritics:i}=this.options;e=n?e:e.toLowerCase(),e=i?j(e):e;let s=0,a=[],o=0,c=!1;for(let n=0,i=t.length;n<i;n+=1){let i=t[n];a.length=0,s=0,c=!1;for(let t=0,n=i.length;t<n;t+=1){let n=i[t],{isMatch:l,indices:u,score:d}=n.search(e);if(l){s+=1,o+=d;let e=n.constructor.type;e.startsWith("inverse")&&(c=!0),r&&(E.has(e)?a.push(...u):a.push(u))}else{o=0,s=0,a.length=0,c=!1;break}}if(s){let e={isMatch:!0,score:o/s};return c&&(e.hasInverse=!0),r&&(e.indices=y(a)),e}}return{isMatch:!1,score:1}}}),F(class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=W({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics});const r=this.analyzer.tokenize(e),{df:n,fieldCount:i}=t._invertedIndex;for(const e of(this.termSearchers=[],this.idfWeights=[],r)){this.termSearchers.push(new w(e,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));const r=n.get(e)||0,s=Math.log(1+(i-r+.5)/(r+.5));this.idfWeights.push(s)}}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};let t=[],r=0,n=0,i=0;for(let s=0;s<this.termSearchers.length;s++){let a=this.termSearchers[s].searchIn(e),o=this.idfWeights[s];n+=o,a.isMatch&&(i++,r+=o*(1-a.score),a.indices&&t.push(...a.indices))}if(0===i)return{isMatch:!1,score:1};let s={isMatch:!0,score:Math.max(.001,n>0?1-r/n:0)};return this.options.includeMatches&&t.length&&(s.indices=y(t)),s}}),q.use=function(...e){e.forEach(e=>F(e))},e.s(["default",0,q])},857875,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("406a94abee2646bf6ab6201c87bd5fdd9dd9beb72b",t.callServer,void 0,t.findSourceMapURL,"openInTerminal");e.s(["openInTerminal",0,r])},301348,181209,e=>{"use strict";var t=e.i(59737);e.s(["CheckCircle2",()=>t.default],301348);let r=(0,e.i(572989).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",0,r],181209)},567860,e=>{"use strict";let t=(0,e.i(572989).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",0,t],567860)},313029,e=>{"use strict";let t=(0,e.i(572989).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",0,t],313029)},14842,865514,e=>{"use strict";var t=e.i(289721),r=e.i(965652),n=e.i(368490),i=e.i(232280),s=e.i(759686),a=e.i(960518),o=e.i(340873),c=e.i(400355),l=e.i(519455),u=e.i(912505),d=e.i(487486),h=e.i(776639),f=e.i(624687),g=e.i(533499);function m({patchState:e,isLargeFold:r,onLoad:n}){let{t:i}=(0,g.useI18n)();return r?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-1 py-6",children:[(0,t.jsx)(l.Button,{variant:"link",onClick:n,className:"h-auto p-0 text-sm",children:i("diff.loadDiff")}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:i("diff.foldedLarge")})]}):e&&"loading"!==e.kind?"error"===e.kind?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-2 py-6 text-sm text-muted-foreground",children:[(0,t.jsx)("span",{children:i("diff.loadFailed")}),(0,t.jsx)(l.Button,{variant:"ghost",onClick:n,children:i("diff.retry")})]}):"binary"===e.kind?(0,t.jsx)("div",{className:"flex items-center justify-center py-6 text-sm text-muted-foreground",children:i("diff.binaryNotShown")}):"empty"===e.kind?(0,t.jsx)("div",{className:"flex items-center justify-center py-6 text-sm text-muted-foreground",children:i("diff.noChanges")}):(0,t.jsx)(p,{patch:e.patch??""}):(0,t.jsx)("div",{className:"flex items-center justify-center py-6",children:(0,t.jsx)(c.Loader2,{className:"h-5 w-5 animate-spin text-muted-foreground"})})}function p({patch:e}){let{t:r}=(0,g.useI18n)(),n=e.split("\n"),i=n.length>500,s=i?n.slice(0,500):n;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("pre",{className:"overflow-x-auto p-0 text-xs font-mono leading-5",children:s.map((e,r)=>{let n=e.startsWith("+++")||e.startsWith("---")?"px-4 block text-muted-foreground":e.startsWith("+")?"px-4 block bg-green-500/10 text-green-400":e.startsWith("-")?"px-4 block bg-red-500/10 text-red-400":e.startsWith("@@")?"px-4 block bg-blue-500/10 text-blue-300":"px-4 block text-muted-foreground";return(0,t.jsx)("span",{className:n,children:e||" "},r)})}),i&&(0,t.jsx)("div",{className:"px-4 py-2 text-xs text-muted-foreground border-t border-border",children:r("diff.patchTruncated",{n:String(500),total:String(n.length)})})]})}e.s(["TaskDiffView",0,function({taskId:e,files:c,totalAdded:p,totalRemoved:x,hasConflicts:y,conflictFiles:v,onCommit:b,hasUncommitted:j}){let{t:w}=(0,g.useI18n)(),[C,k]=(0,r.useState)(new Set),[S,M]=(0,r.useState)(new Map),[A,N]=(0,r.useState)(!1),[E,D]=(0,r.useState)(""),[F,B]=(0,r.useState)(!1),R=t=>{M(e=>new Map(e).set(t,{kind:"loading"})),fetch(`/api/tasks/${e}/diff-patch?file=${encodeURIComponent(t)}`).then(e=>e.ok?e.json():Promise.reject(Error(`HTTP ${e.status}`))).then(e=>{M(r=>{let n=new Map(r);return"binary"===e.kind?n.set(t,{kind:"binary"}):"empty"===e.kind?n.set(t,{kind:"empty"}):n.set(t,{kind:"ready",patch:e.patch??""}),n})}).catch(()=>{M(e=>new Map(e).set(t,{kind:"error"}))})};return(0,t.jsxs)("div",{className:"flex flex-col h-full",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3 flex-shrink-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 text-sm text-muted-foreground",children:[(0,t.jsxs)("span",{className:"font-medium text-foreground",children:[c.length," files changed"]}),(0,t.jsxs)("span",{className:"text-green-400 font-mono text-xs",children:["+",p]}),(0,t.jsxs)("span",{className:"text-red-400 font-mono text-xs",children:["-",x]})]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:j&&b&&(0,t.jsxs)(l.Button,{variant:"outline",onClick:()=>N(!0),className:"gap-2",children:[(0,t.jsx)(o.GitCommitHorizontal,{className:"h-4 w-4"}),w("diff.commit")]})})]}),y&&(0,t.jsxs)("div",{className:"flex flex-col gap-2 border-b border-border bg-amber-500/5 px-4 py-3 flex-shrink-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-amber-400",children:[(0,t.jsx)(s.AlertTriangle,{className:"h-4 w-4 flex-shrink-0"}),(0,t.jsxs)("span",{className:"text-sm font-medium",children:["Merge blocked: ",v.length," conflicting file",1!==v.length?"s":""]})]}),(0,t.jsx)("ul",{className:"ml-6 space-y-1",children:v.map(e=>(0,t.jsx)("li",{className:"text-xs font-mono text-amber-300/80",children:e},e))})]}),(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:0===c.length?(0,t.jsx)(u.EmptyState,{icon:a.GitCompare,title:w("diff.noChanges"),className:"h-full"}):(0,t.jsx)("div",{className:"divide-y divide-border",children:c.map(e=>{let r=C.has(e.filename),s=S.get(e.filename),a=e.added+e.removed;return(0,t.jsxs)("div",{children:[(0,t.jsxs)(l.Button,{variant:"ghost",type:"button",onClick:()=>{let t;return t=C.has(e.filename),void(k(t=>{let r=new Set(t);return r.has(e.filename)?r.delete(e.filename):r.add(e.filename),r}),t||e.isBinary||S.has(e.filename)||e.added+e.removed<=200&&R(e.filename))},className:"flex w-full items-center gap-2 px-4 py-2.5 text-left hover:bg-accent/50 transition-colors rounded-none h-auto",children:[r?(0,t.jsx)(i.ChevronDown,{className:"h-3.5 w-3.5 flex-shrink-0 text-muted-foreground"}):(0,t.jsx)(n.ChevronRight,{className:"h-3.5 w-3.5 flex-shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"flex-1 truncate text-sm font-mono text-foreground",children:e.filename}),e.isBinary?(0,t.jsx)(d.Badge,{variant:"secondary",className:"text-[10px] bg-muted text-muted-foreground border border-border",children:w("diff.binary")}):(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("span",{className:"text-xs font-mono text-green-400",children:["+",e.added]}),(0,t.jsxs)("span",{className:"text-xs font-mono text-red-400",children:["-",e.removed]})]})]}),r&&!e.isBinary&&(0,t.jsx)("div",{className:"border-t border-border bg-background",children:(0,t.jsx)(m,{filename:e.filename,patchState:s,isLargeFold:!s&&a>200,onLoad:()=>R(e.filename)})})]},e.filename)})})}),(0,t.jsx)(h.Dialog,{open:A,onOpenChange:N,children:(0,t.jsxs)(h.DialogContent,{className:"max-w-md",children:[(0,t.jsx)(h.DialogHeader,{children:(0,t.jsx)(h.DialogTitle,{children:w("diff.commitChanges")})}),(0,t.jsx)("div",{className:"flex flex-col gap-3",children:(0,t.jsx)(f.Textarea,{value:E,onChange:e=>D(e.target.value),placeholder:w("diff.commitMessagePlaceholder"),rows:5,className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none resize-y min-h-[80px]"})}),(0,t.jsxs)(h.DialogFooter,{children:[(0,t.jsx)(l.Button,{variant:"ghost",onClick:()=>N(!1),children:w("common.cancel")}),(0,t.jsx)(l.Button,{onClick:async()=>{if(E.trim()&&b){B(!0);try{await b(E.trim()),D(""),N(!1)}finally{B(!1)}}},disabled:!E.trim()||F,children:F?"...":w("diff.commit")})]})]})})]})}],14842);var x=e.i(538059);let y=(0,e.i(572989).default)("git-merge",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]]);e.s(["TaskMergeConfirmDialog",0,function({open:e,onOpenChange:n,taskId:i,taskTitle:s,baseBranch:a,fileCount:o,commitCount:u,commitLog:d=[],onMergeComplete:f}){let g=(0,x.useRouter)(),[m,p]=(0,r.useState)(!1),[v,b]=(0,r.useState)(null),j=async()=>{p(!0),b(null);try{let e=await fetch(`/api/tasks/${i}/merge`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(e.ok){n(!1),f(),g.refresh();return}let t=await e.json().catch(()=>({error:"Merge failed"}));409===e.status?b(`Merge conflicts detected: ${Array.isArray(t.conflictFiles)?t.conflictFiles.join(", "):"unknown files"}`):b(t.error??"Merge failed")}catch{b("Network error — merge failed")}finally{p(!1)}};return(0,t.jsx)(h.Dialog,{open:e,onOpenChange:n,children:(0,t.jsxs)(h.DialogContent,{showCloseButton:!0,className:"sm:max-w-md",children:[(0,t.jsx)(h.DialogHeader,{children:(0,t.jsxs)(h.DialogTitle,{className:"flex items-center gap-2",children:[(0,t.jsx)(y,{className:"h-4 w-4 text-emerald-400"}),"Confirm Merge"]})}),(0,t.jsxs)("div",{className:"space-y-3 py-2",children:[(0,t.jsxs)("div",{className:"rounded-lg border border-border bg-muted/30 p-3 space-y-2.5",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Target branch"}),(0,t.jsx)("code",{className:"text-xs font-mono bg-muted px-2 py-0.5 rounded text-foreground",children:a})]}),(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Changed files"}),(0,t.jsx)("span",{className:"text-xs font-medium text-foreground",children:o})]}),(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Commits"}),(0,t.jsx)("span",{className:"text-xs font-medium text-foreground",children:u})]})]}),d.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground mb-1 block",children:"Commits"}),(0,t.jsx)("div",{className:"rounded-md border border-border bg-muted/30 p-2 space-y-1 max-h-32 overflow-y-auto",children:d.map((e,r)=>(0,t.jsx)("div",{className:"text-xs font-mono text-foreground/80",children:e},r))})]}),v&&(0,t.jsx)("div",{className:"rounded-lg border border-red-500/20 bg-red-500/10 px-3 py-2",children:(0,t.jsx)("p",{className:"text-xs text-red-400",children:v})})]}),(0,t.jsxs)(h.DialogFooter,{children:[(0,t.jsx)(l.Button,{variant:"outline",onClick:()=>n(!1),disabled:m,children:"Cancel"}),(0,t.jsx)(l.Button,{onClick:j,disabled:m,className:"gap-2",children:m?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c.Loader2,{className:"h-4 w-4 animate-spin"}),"Merging..."]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(y,{className:"h-4 w-4"}),"Confirm Merge"]})})]})]})})}],865514)},989383,769824,e=>{"use strict";var t=e.i(572989);let r=(0,t.default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",0,r],989383);let n=(0,t.default)("history",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);e.s(["History",0,n],769824)},244354,e=>{"use strict";async function t(e,r,n={}){let i=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:r,path:e,...n})});if(!i.ok)throw Error((await i.json()).error||`${r} failed`);return i.json()}e.s(["gitAction",0,t])},375306,e=>{"use strict";let t=(0,e.i(572989).default)("arrow-up-from-line",[["path",{d:"m18 9-6-6-6 6",key:"kcunyi"}],["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 21h14",key:"11awu3"}]]);e.s(["ArrowUpFromLine",0,t],375306)},711554,e=>{"use strict";var t=e.i(289721),r=e.i(965652),n=e.i(226145),i=e.i(232280),s=e.i(738690),a=e.i(597746),o=e.i(400355),c=e.i(776639),l=e.i(519455),u=e.i(793479),d=e.i(624687),h=e.i(533499);e.s(["CreateBranchDialog",0,function({open:e,onOpenChange:f,branches:g,currentBranch:m,localPath:p,onCreated:x,onError:y}){let{t:v}=(0,h.useI18n)(),[b,j]=(0,r.useState)(""),[w,C]=(0,r.useState)(m),[k,S]=(0,r.useState)(""),[M,A]=(0,r.useState)(!1),[N,E]=(0,r.useState)(""),[D,F]=(0,r.useState)(!1);(0,r.useEffect)(()=>{e&&(j(""),C(m),S(""),E(""))},[e,m]);let B=[...new Set(g)].filter(e=>e.toLowerCase().includes(N.toLowerCase())),R=async()=>{if(b.trim()){A(!0);try{let e=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"create-branch",path:p,branch:b.trim(),baseBranch:w})});if(e.ok)f(!1),x();else{let t=await e.json();y(t.error||"Unknown error")}}catch{y("Network error")}finally{A(!1)}}};return(0,t.jsx)(c.Dialog,{open:e,onOpenChange:f,children:(0,t.jsxs)(c.DialogContent,{className:"sm:max-w-sm",children:[(0,t.jsx)(c.DialogHeader,{children:(0,t.jsx)(c.DialogTitle,{children:v("git.createBranch")})}),(0,t.jsxs)("div",{className:"space-y-3 py-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:v("git.branchName")}),(0,t.jsx)(u.Input,{value:b,onChange:e=>j(e.target.value),placeholder:v("git.branchNamePlaceholder"),className:"mt-1.5 font-mono text-xs",onKeyDown:e=>"Enter"===e.key&&R()})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:v("git.baseBranch")}),(0,t.jsxs)("div",{className:"relative mt-1.5",children:[(0,t.jsxs)("button",{onClick:()=>F(!D),className:"flex w-full items-center justify-between rounded-lg border border-border bg-muted/50 px-3 py-2 text-left transition-colors hover:bg-accent",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(n.GitBranch,{className:"h-3 w-3 text-emerald-400"}),(0,t.jsx)("span",{className:"font-mono text-xs text-foreground",children:w})]}),(0,t.jsx)(i.ChevronDown,{className:`h-3 w-3 text-muted-foreground transition-transform ${D?"rotate-180":""}`})]}),D&&(0,t.jsxs)("div",{className:"absolute left-0 right-0 top-full z-20 mt-1 rounded-lg border border-border bg-popover shadow-xl",children:[(0,t.jsx)("div",{className:"border-b border-border p-1.5",children:(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(s.Search,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-3 w-3 text-muted-foreground"}),(0,t.jsx)("input",{value:N,onChange:e=>E(e.target.value),placeholder:"Filter...",autoFocus:!0,className:"h-7 w-full rounded-md bg-muted/50 pl-7 pr-2 text-xs text-foreground placeholder-muted-foreground outline-none focus:ring-1 focus:ring-ring"})]})}),(0,t.jsx)("div",{className:"max-h-40 overflow-auto py-1",children:B.map(e=>(0,t.jsxs)("button",{onClick:()=>{C(e),F(!1)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left transition-colors ${e===w?"bg-emerald-500/10 text-emerald-400":"text-secondary-foreground hover:bg-accent"}`,children:[(0,t.jsx)(n.GitBranch,{className:"h-3 w-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate font-mono text-xs",children:e}),e===w&&(0,t.jsx)(a.Check,{className:"h-3 w-3 ml-auto shrink-0"})]},e))})]})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:v("git.branchDesc")}),(0,t.jsx)(d.Textarea,{value:k,onChange:e=>S(e.target.value),placeholder:v("git.branchDescPlaceholder"),rows:2,className:"mt-1.5 w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none transition-colors focus:border-ring focus:ring-1 focus:ring-ring resize-none"})]})]}),(0,t.jsxs)(c.DialogFooter,{children:[(0,t.jsx)(l.Button,{variant:"outline",onClick:()=>f(!1),children:v("common.cancel")}),(0,t.jsxs)(l.Button,{onClick:R,disabled:!b.trim()||M,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[M?(0,t.jsx)(o.Loader2,{className:"h-3 w-3 animate-spin mr-1"}):null,v("common.create")]})]})]})})}])},965322,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("6018c79bde2d7d7b690c57b9fef03c703cef7ac30f",t.callServer,void 0,t.findSourceMapURL,"updateTask");e.s(["updateTask",0,r])},862279,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("40c4b3da758ed99d058994e50125e2bacb87c02177",t.callServer,void 0,t.findSourceMapURL,"continueLatestPtyExecution");e.s(["continueLatestPtyExecution",0,r])},736530,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("40a813cdf74154bec902df674c529f867645c21632",t.callServer,void 0,t.findSourceMapURL,"getTaskExecutions");e.s(["getTaskExecutions",0,r])},482951,853640,464656,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("601172fb23e968143b4ab89f03812a9da36edda611",t.callServer,void 0,t.findSourceMapURL,"updateTaskStatus");e.s(["updateTaskStatus",0,r],482951);let n=(0,t.createServerReference)("40a0d04e2182c19049121a129bc097fd7a246bb71e",t.callServer,void 0,t.findSourceMapURL,"checkWorktreeClean");e.s(["checkWorktreeClean",0,n],853640);let i=(0,t.createServerReference)("601e1f2fa0826aad4b151f644631ed3de772839cf3",t.callServer,void 0,t.findSourceMapURL,"commitWorktreeChanges");e.s(["commitWorktreeChanges",0,i],464656)},486077,e=>{"use strict";let t=(0,e.i(572989).default)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);e.s(["Lightbulb",0,t],486077)},326883,e=>{"use strict";var t=e.i(289721),r=e.i(965652),n=e.i(232280),i=e.i(472074),s=e.i(301348),a=e.i(181209),o=e.i(400355),c=e.i(989383),l=e.i(12659),u=e.i(922541),d=e.i(486077),h=e.i(769824),f=e.i(519455),g=e.i(912505),m=e.i(533499);function p({status:e}){switch(e){case"COMPLETED":return(0,t.jsx)(s.CheckCircle2,{className:"h-4 w-4 text-emerald-400"});case"FAILED":return(0,t.jsx)(a.XCircle,{className:"h-4 w-4 text-red-400"});case"RUNNING":return(0,t.jsx)(o.Loader2,{className:"h-4 w-4 text-blue-400 animate-spin"});default:return(0,t.jsx)(c.Clock,{className:"h-4 w-4 text-neutral-500"})}}e.s(["ExecutionTimeline",0,function({executions:e,onResume:s,onContinueLatest:a}){let{t:o,locale:c}=(0,m.useI18n)(),[x,y]=(0,r.useState)(null),[v,b]=(0,r.useState)(null);return 0===e.length?(0,t.jsx)(g.EmptyState,{icon:h.History,title:o("execution.noHistory")}):(0,t.jsxs)("div",{className:"space-y-2 p-3",children:[(0,t.jsx)("p",{className:"px-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:o("execution.history")}),e.map(r=>{let h=function(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}(r.gitStats??null),g=function(e,t){if(!e||!t)return"";let r=new Date(t).getTime()-new Date(e).getTime();if(r<0)return"";let n=Math.floor(r/1e3);if(n<60)return`${n}s`;let i=Math.floor(n/60);if(i<60)return`${i}m ${n%60}s`;let s=Math.floor(i/60);return`${s}h ${i%60}m`}(r.startedAt??null,r.endedAt??null),m=x===r.id;return(0,t.jsxs)("div",{className:"rounded-lg border border-border bg-background/50 overflow-hidden",children:[(0,t.jsxs)("div",{className:"p-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(p,{status:r.status}),(0,t.jsx)("span",{className:`font-medium ${function(e){switch(e){case"COMPLETED":return"text-emerald-400";case"FAILED":return"text-red-400";case"RUNNING":return"text-blue-400";default:return"text-neutral-400"}}(r.status)}`,children:function(e,t){switch(e){case"COMPLETED":return t("execution.success");case"FAILED":return t("execution.failed");case"RUNNING":return t("execution.running");default:return e}}(r.status,o)}),(0,t.jsx)("span",{className:"text-muted-foreground",children:function(e,t="zh"){if(!e)return"";let r=new Date(e),n=Math.floor((new Date().getTime()-r.getTime())/864e5),i="zh"===t?"zh-CN":"en-US",s=r.toLocaleTimeString(i,{hour:"2-digit",minute:"2-digit"});return 0===n?s:1===n?"zh"===t?`昨天 ${s}`:`Yesterday ${s}`:n<7?"zh"===t?`${n}天前 ${s}`:`${n}d ago ${s}`:r.toLocaleDateString(i,{month:"2-digit",day:"2-digit"})+" "+s}(r.startedAt??null,c)}),g&&(0,t.jsxs)("span",{className:"text-muted-foreground/60",children:["(",g,")"]})]}),(0,t.jsx)("p",{className:"mt-1.5 text-sm text-foreground/80 line-clamp-2",children:r.summary||o("execution.noSummary")}),h&&(h.commits||h.filesChanged)&&(0,t.jsxs)("div",{className:"mt-1.5 flex items-center gap-2 text-[11px] text-muted-foreground font-mono",children:[h.commits?(0,t.jsxs)("span",{children:[h.commits," ",o("execution.commits")]}):null,h.filesChanged?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"·"}),(0,t.jsxs)("span",{children:[h.filesChanged," ",o("execution.files")]})]}):null,h.insertions||h.deletions?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"·"}),h.insertions?(0,t.jsxs)("span",{className:"text-emerald-500",children:["+",h.insertions]}):null,h.deletions?(0,t.jsxs)("span",{className:"text-red-400",children:["-",h.deletions]}):null]}):null]}),r.insightNote&&(0,t.jsxs)("div",{className:"mt-2",children:[(0,t.jsxs)("button",{onClick:()=>b(v===r.id?null:r.id),className:"flex items-center gap-1.5 text-xs text-primary/90 hover:text-primary transition-colors",children:[(0,t.jsx)(d.Lightbulb,{className:"h-3.5 w-3.5"}),(0,t.jsxs)("span",{className:"font-medium",children:[o("execution.insight"),":"]}),(0,t.jsx)("span",{className:"text-foreground/70 truncate max-w-[200px]",children:r.insightNote.title}),v===r.id?(0,t.jsx)(i.ChevronUp,{className:"h-3 w-3"}):(0,t.jsx)(n.ChevronDown,{className:"h-3 w-3"})]}),v===r.id&&(0,t.jsx)("div",{className:"mt-2 rounded-md bg-primary/[0.06] border border-primary/10 p-3 text-xs text-foreground/80 whitespace-pre-wrap",children:r.insightNote.content})]}),(0,t.jsxs)("div",{className:"mt-2.5 flex items-center gap-2",children:[r.sessionId&&s?(0,t.jsxs)(f.Button,{size:"sm",onClick:()=>s(r.sessionId),className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[(0,t.jsx)(l.PlayCircle,{className:"h-3.5 w-3.5"}),o("execution.resume")]}):!r.sessionId&&"FAILED"===r.status&&r.id===e[0]?.id&&a?(0,t.jsxs)(f.Button,{size:"sm",onClick:a,className:"bg-blue-500/15 text-blue-300 ring-1 ring-blue-500/20 hover:bg-blue-500/25",children:[(0,t.jsx)(u.RotateCcw,{className:"h-3.5 w-3.5"}),o("execution.tryRecover")]}):null,(0,t.jsxs)(f.Button,{variant:"ghost",size:"sm",onClick:()=>y(m?null:r.id),className:"bg-muted text-muted-foreground",children:[m?(0,t.jsx)(i.ChevronUp,{className:"h-3.5 w-3.5"}):(0,t.jsx)(n.ChevronDown,{className:"h-3.5 w-3.5"}),m?o("execution.collapse"):o("execution.details")]})]})]}),m&&(0,t.jsxs)("div",{className:"border-t border-border px-3 pb-3 space-y-3",children:[r.gitLog&&(0,t.jsxs)("div",{className:"mt-3",children:[(0,t.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground mb-1.5",children:o("execution.gitLog")}),(0,t.jsx)("pre",{className:"rounded-md bg-muted/50 p-2.5 text-xs font-mono text-foreground/70 overflow-x-auto whitespace-pre-wrap",children:r.gitLog.split("\n").slice(0,3).join("\n")})]}),r.terminalLog&&(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground mb-1.5",children:o("execution.terminalOutput")}),(0,t.jsx)("pre",{className:"rounded-md bg-[#0f1419] p-2.5 text-xs font-mono text-neutral-300 overflow-x-auto max-h-48 overflow-y-auto whitespace-pre-wrap",children:r.terminalLog})]}),"FAILED"===r.status&&null!=r.exitCode&&(0,t.jsxs)("p",{className:"text-xs text-red-400/70",children:["Exit code: ",r.exitCode]})]})]},r.id)})]})}])},922088,e=>{e.v(t=>Promise.all(["static/chunks/0w9x-ap4dcwy..js"].map(t=>e.l(t))).then(()=>t(69466)))},84973,e=>{e.v(t=>Promise.all(["static/chunks/06.0rr3vc.77j.js"].map(t=>e.l(t))).then(()=>t(609403)))},574372,e=>{e.v(t=>Promise.all(["static/chunks/167~e_c5qi8o2.js"].map(t=>e.l(t))).then(()=>t(318135)))},732137,e=>{e.v(t=>Promise.all(["static/chunks/07i~~ygu~oi26.js","static/chunks/0ep-qrl_zzch8.js","static/chunks/17oc2l.ekcs8b.css"].map(t=>e.l(t))).then(()=>t(461834)))}]);
package/src/mcp/db.ts DELETED
@@ -1,11 +0,0 @@
1
- import { PrismaClient, Prisma } from "@prisma/client";
2
-
3
- // Separate PrismaClient for the MCP stdio process (not shared with Next.js app)
4
- export const db = new PrismaClient();
5
-
6
- export async function initDb(): Promise<PrismaClient> {
7
- await db.$connect();
8
- await db.$queryRaw(Prisma.sql`PRAGMA journal_mode=WAL`);
9
- await db.$queryRaw(Prisma.sql`PRAGMA busy_timeout=5000`);
10
- return db;
11
- }
package/src/mcp/index.ts DELETED
@@ -1,15 +0,0 @@
1
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
2
- import { createServer } from "./server";
3
- import { initDb } from "./db";
4
-
5
- async function main() {
6
- await initDb();
7
- const server = createServer();
8
- const transport = new StdioServerTransport();
9
- await server.connect(transport);
10
- }
11
-
12
- main().catch((error) => {
13
- console.error("MCP Server failed to start:", error);
14
- process.exit(1);
15
- });
package/src/mcp/server.ts DELETED
@@ -1,52 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- import { workspaceTools } from "./tools/workspace-tools";
3
- import { projectTools } from "./tools/project-tools";
4
- import { taskTools } from "./tools/task-tools";
5
- import { labelTools } from "./tools/label-tools";
6
- import { searchTools } from "./tools/search-tools";
7
- import { knowledgeTools } from "./tools/knowledge-tools";
8
- import { noteAssetTools } from "./tools/note-asset-tools";
9
- import { terminalTools } from "./tools/terminal-tools";
10
- import { reportTools } from "./tools/report-tools";
11
-
12
- export function createServer(): McpServer {
13
- const server = new McpServer({ name: "tower", version: "0.1.0" });
14
-
15
- const allTools = {
16
- ...workspaceTools,
17
- ...projectTools,
18
- ...taskTools,
19
- ...labelTools,
20
- ...searchTools,
21
- ...knowledgeTools,
22
- ...noteAssetTools,
23
- ...terminalTools,
24
- ...reportTools,
25
- };
26
-
27
- for (const [name, tool] of Object.entries(allTools)) {
28
- server.tool(
29
- name,
30
- tool.description,
31
- tool.schema.shape,
32
- async (args: Record<string, unknown>) => {
33
- try {
34
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
- const result = await (tool.handler as (args: any) => Promise<unknown>)(args);
36
- return {
37
- content: [{ type: "text" as const, text: JSON.stringify(result, null, 2) }],
38
- };
39
- } catch (error) {
40
- const errorMessage =
41
- error instanceof Error ? error.message : String(error);
42
- return {
43
- isError: true,
44
- content: [{ type: "text" as const, text: errorMessage }],
45
- };
46
- }
47
- }
48
- );
49
- }
50
-
51
- return server;
52
- }
@@ -1,140 +0,0 @@
1
- import { vi, describe, it, expect, beforeEach } from "vitest";
2
-
3
- // Mock db before any imports
4
- vi.mock("../../db", () => ({
5
- db: {
6
- label: {
7
- findMany: vi.fn(),
8
- create: vi.fn(),
9
- delete: vi.fn(),
10
- },
11
- taskLabel: {
12
- deleteMany: vi.fn(),
13
- createMany: vi.fn(),
14
- },
15
- $transaction: vi.fn(),
16
- },
17
- }));
18
-
19
- import { db } from "../../db";
20
- import { labelTools } from "../label-tools";
21
-
22
- const mockDb = db as {
23
- label: {
24
- findMany: ReturnType<typeof vi.fn>;
25
- create: ReturnType<typeof vi.fn>;
26
- delete: ReturnType<typeof vi.fn>;
27
- };
28
- taskLabel: {
29
- deleteMany: ReturnType<typeof vi.fn>;
30
- createMany: ReturnType<typeof vi.fn>;
31
- };
32
- $transaction: ReturnType<typeof vi.fn>;
33
- };
34
-
35
- describe("label-tools", () => {
36
- beforeEach(() => {
37
- vi.clearAllMocks();
38
- });
39
-
40
- describe("list_labels", () => {
41
- it("calls db.label.findMany with OR condition for builtin and workspace-specific labels", async () => {
42
- const mockLabels = [
43
- { id: "l1", name: "Bug", color: "#ff0000", isBuiltin: true },
44
- { id: "l2", name: "Custom", color: "#00ff00", isBuiltin: false, workspaceId: "ws1" },
45
- ];
46
- mockDb.label.findMany.mockResolvedValue(mockLabels);
47
-
48
- const result = await labelTools.list_labels.handler({ workspaceId: "ws1" });
49
-
50
- expect(mockDb.label.findMany).toHaveBeenCalledOnce();
51
- const callArgs = mockDb.label.findMany.mock.calls[0][0];
52
- expect(callArgs.where.OR).toEqual(
53
- expect.arrayContaining([{ isBuiltin: true }, { workspaceId: "ws1" }])
54
- );
55
- expect(result).toEqual(mockLabels);
56
- });
57
- });
58
-
59
- describe("create_label", () => {
60
- it("calls db.label.create with name, color, and workspaceId", async () => {
61
- const mockLabel = { id: "l1", name: "Feature", color: "#0000ff", workspaceId: "ws1" };
62
- mockDb.label.create.mockResolvedValue(mockLabel);
63
-
64
- const result = await labelTools.create_label.handler({
65
- workspaceId: "ws1",
66
- name: "Feature",
67
- color: "#0000ff",
68
- });
69
-
70
- expect(mockDb.label.create).toHaveBeenCalledWith({
71
- data: { name: "Feature", color: "#0000ff", workspaceId: "ws1" },
72
- });
73
- expect(result).toEqual(mockLabel);
74
- });
75
- });
76
-
77
- describe("delete_label", () => {
78
- it("calls db.label.delete and returns { deleted: true }", async () => {
79
- mockDb.label.delete.mockResolvedValue({ id: "l1" });
80
-
81
- const result = await labelTools.delete_label.handler({ labelId: "l1" });
82
-
83
- expect(mockDb.label.delete).toHaveBeenCalledWith({ where: { id: "l1" } });
84
- expect(result).toEqual({ deleted: true });
85
- });
86
- });
87
-
88
- describe("set_task_labels", () => {
89
- it("calls tx.taskLabel.deleteMany then tx.taskLabel.createMany in transaction for non-empty labelIds", async () => {
90
- const mockTx = {
91
- taskLabel: {
92
- deleteMany: vi.fn().mockResolvedValue({}),
93
- createMany: vi.fn().mockResolvedValue({}),
94
- },
95
- };
96
- mockDb.$transaction.mockImplementation(
97
- async (fn: (tx: typeof mockTx) => Promise<void>) => fn(mockTx)
98
- );
99
-
100
- const result = await labelTools.set_task_labels.handler({
101
- taskId: "task1",
102
- labelIds: ["l1", "l2"],
103
- });
104
-
105
- expect(mockTx.taskLabel.deleteMany).toHaveBeenCalledWith({
106
- where: { taskId: "task1" },
107
- });
108
- expect(mockTx.taskLabel.createMany).toHaveBeenCalledWith({
109
- data: [
110
- { taskId: "task1", labelId: "l1" },
111
- { taskId: "task1", labelId: "l2" },
112
- ],
113
- });
114
- expect(result).toEqual({ taskId: "task1", labelIds: ["l1", "l2"] });
115
- });
116
-
117
- it("calls tx.taskLabel.deleteMany but NOT createMany for empty labelIds", async () => {
118
- const mockTx = {
119
- taskLabel: {
120
- deleteMany: vi.fn().mockResolvedValue({}),
121
- createMany: vi.fn().mockResolvedValue({}),
122
- },
123
- };
124
- mockDb.$transaction.mockImplementation(
125
- async (fn: (tx: typeof mockTx) => Promise<void>) => fn(mockTx)
126
- );
127
-
128
- const result = await labelTools.set_task_labels.handler({
129
- taskId: "task1",
130
- labelIds: [],
131
- });
132
-
133
- expect(mockTx.taskLabel.deleteMany).toHaveBeenCalledWith({
134
- where: { taskId: "task1" },
135
- });
136
- expect(mockTx.taskLabel.createMany).not.toHaveBeenCalled();
137
- expect(result).toEqual({ taskId: "task1", labelIds: [] });
138
- });
139
- });
140
- });
@@ -1,182 +0,0 @@
1
- // @vitest-environment node
2
- import { vi, describe, it, expect, beforeEach } from "vitest";
3
-
4
- // Mock db BEFORE imports
5
- vi.mock("../../db", () => ({
6
- db: {
7
- project: {
8
- findMany: vi.fn(),
9
- create: vi.fn(),
10
- update: vi.fn(),
11
- delete: vi.fn(),
12
- },
13
- },
14
- }));
15
-
16
- import { db } from "../../db";
17
- import { projectTools } from "../project-tools";
18
-
19
- const mockDb = db as {
20
- project: {
21
- findMany: ReturnType<typeof vi.fn>;
22
- create: ReturnType<typeof vi.fn>;
23
- update: ReturnType<typeof vi.fn>;
24
- delete: ReturnType<typeof vi.fn>;
25
- };
26
- };
27
-
28
- describe("project-tools", () => {
29
- beforeEach(() => {
30
- vi.clearAllMocks();
31
- });
32
-
33
- // ─── list_projects ──────────────────────────────────────────────────────
34
-
35
- describe("list_projects", () => {
36
- it("returns projects with taskCount and repositoryCount derived from array lengths", async () => {
37
- const mockProjects = [
38
- {
39
- id: "proj1",
40
- name: "Project Alpha",
41
- workspaceId: "ws1",
42
- tasks: [{ id: "t1" }, { id: "t2" }, { id: "t3" }],
43
- repositories: [{ id: "r1" }],
44
- updatedAt: new Date("2026-04-20"),
45
- },
46
- {
47
- id: "proj2",
48
- name: "Project Beta",
49
- workspaceId: "ws1",
50
- tasks: [],
51
- repositories: [],
52
- updatedAt: new Date("2026-04-19"),
53
- },
54
- ];
55
- mockDb.project.findMany.mockResolvedValue(mockProjects);
56
-
57
- const result = await projectTools.list_projects.handler({ workspaceId: "ws1" });
58
-
59
- expect(mockDb.project.findMany).toHaveBeenCalledWith(
60
- expect.objectContaining({
61
- where: { workspaceId: "ws1" },
62
- })
63
- );
64
- expect(result).toHaveLength(2);
65
- // tasks and repositories arrays should not appear in output
66
- expect(result[0]).not.toHaveProperty("tasks");
67
- expect(result[0]).not.toHaveProperty("repositories");
68
- // counts derived from array lengths
69
- expect(result[0].taskCount).toBe(3);
70
- expect(result[0].repositoryCount).toBe(1);
71
- expect(result[1].taskCount).toBe(0);
72
- expect(result[1].repositoryCount).toBe(0);
73
- });
74
- });
75
-
76
- // ─── create_project ──────────────────────────────────────────────────────
77
-
78
- describe("create_project", () => {
79
- it("sets type to GIT when gitUrl is provided", async () => {
80
- const createdProject = {
81
- id: "proj1",
82
- name: "Git Project",
83
- type: "GIT",
84
- gitUrl: "https://github.com/org/repo",
85
- workspaceId: "ws1",
86
- };
87
- mockDb.project.create.mockResolvedValue(createdProject);
88
-
89
- const result = await projectTools.create_project.handler({
90
- workspaceId: "ws1",
91
- name: "Git Project",
92
- gitUrl: "https://github.com/org/repo",
93
- });
94
-
95
- expect(mockDb.project.create).toHaveBeenCalledWith({
96
- data: expect.objectContaining({
97
- type: "GIT",
98
- gitUrl: "https://github.com/org/repo",
99
- }),
100
- });
101
- expect(result.type).toBe("GIT");
102
- });
103
-
104
- it("sets type to NORMAL when gitUrl is absent", async () => {
105
- const createdProject = {
106
- id: "proj2",
107
- name: "Normal Project",
108
- type: "NORMAL",
109
- workspaceId: "ws1",
110
- };
111
- mockDb.project.create.mockResolvedValue(createdProject);
112
-
113
- const result = await projectTools.create_project.handler({
114
- workspaceId: "ws1",
115
- name: "Normal Project",
116
- });
117
-
118
- expect(mockDb.project.create).toHaveBeenCalledWith({
119
- data: expect.objectContaining({
120
- type: "NORMAL",
121
- }),
122
- });
123
- // Ensure type is NORMAL not GIT — caller cannot override this
124
- expect(result.type).toBe("NORMAL");
125
- });
126
-
127
- it("passes alias to db.project.create when provided", async () => {
128
- const createdProject = { id: "proj3", name: "Aliased Project", alias: "myproj", type: "NORMAL", workspaceId: "ws1" };
129
- mockDb.project.create.mockResolvedValue(createdProject);
130
-
131
- await projectTools.create_project.handler({
132
- workspaceId: "ws1",
133
- name: "Aliased Project",
134
- alias: "myproj",
135
- });
136
-
137
- expect(mockDb.project.create).toHaveBeenCalledWith({
138
- data: expect.objectContaining({
139
- alias: "myproj",
140
- type: "NORMAL",
141
- }),
142
- });
143
- });
144
- });
145
-
146
- // ─── update_project ──────────────────────────────────────────────────────
147
-
148
- describe("update_project", () => {
149
- it("excludes projectId from update data and spreads remaining fields", async () => {
150
- const updatedProject = { id: "proj1", name: "New Name", localPath: "/new/path" };
151
- mockDb.project.update.mockResolvedValue(updatedProject);
152
-
153
- const result = await projectTools.update_project.handler({
154
- projectId: "proj1",
155
- name: "New Name",
156
- localPath: "/new/path",
157
- });
158
-
159
- expect(mockDb.project.update).toHaveBeenCalledWith({
160
- where: { id: "proj1" },
161
- data: { name: "New Name", localPath: "/new/path" },
162
- });
163
- // projectId must not appear in the data
164
- const updateCall = mockDb.project.update.mock.calls[0][0];
165
- expect(updateCall.data).not.toHaveProperty("projectId");
166
- expect(result).toEqual(updatedProject);
167
- });
168
- });
169
-
170
- // ─── delete_project ──────────────────────────────────────────────────────
171
-
172
- describe("delete_project", () => {
173
- it("deletes project and returns confirmation with projectId", async () => {
174
- mockDb.project.delete.mockResolvedValue({ id: "proj1" });
175
-
176
- const result = await projectTools.delete_project.handler({ projectId: "proj1" });
177
-
178
- expect(mockDb.project.delete).toHaveBeenCalledWith({ where: { id: "proj1" } });
179
- expect(result).toEqual({ deleted: true, projectId: "proj1" });
180
- });
181
- });
182
- });