tower-studio 0.2.45 → 0.2.47

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 (495) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/routes-manifest.json +8 -0
  6. package/.next/standalone/.next/server/app/_global-error/page.js +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +3 -3
  17. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +149 -89
  18. package/.next/standalone/.next/server/app/_not-found/page.js +8 -8
  19. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/api/adapters/test/route.js +2 -2
  22. package/.next/standalone/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/browse-fs/route.js +1 -1
  24. package/.next/standalone/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/git/route.js +1 -1
  27. package/.next/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js +2 -4
  31. package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js +2 -2
  33. package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/internal/assistant/route.js +5 -4
  35. package/.next/standalone/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js +3 -5
  38. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/internal/harness/ask/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/internal/harness/notify/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/internal/harness/pending/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/internal/harness/reply/route.js +4 -4
  44. package/.next/standalone/.next/server/app/api/internal/harness/reply/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/internal/hooks/session/route.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js +1 -1
  48. package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js +1 -1
  50. package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/api/internal/monaco/[...path]/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js +1 -1
  53. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js +1 -1
  55. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +1 -1
  56. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/paste-image/route.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/resume/route.js +4 -4
  58. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/resume/route.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js +4 -4
  60. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
  61. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/stop/route.js +4 -4
  62. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/stop/route.js.nft.json +1 -1
  63. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js +1 -1
  64. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +1 -1
  65. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff-patch/route.js +1 -1
  66. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff-patch/route.js.nft.json +1 -1
  67. package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js +5 -3
  68. package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
  69. package/.next/standalone/.next/server/app/harness/page/react-loadable-manifest.json +3 -3
  70. package/.next/standalone/.next/server/app/harness/page/server-reference-manifest.json +172 -112
  71. package/.next/standalone/.next/server/app/harness/page.js +8 -8
  72. package/.next/standalone/.next/server/app/harness/page.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/harness/page_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +3 -2
  75. package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +254 -158
  76. package/.next/standalone/.next/server/app/missions/page.js +10 -9
  77. package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +3 -3
  80. package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +149 -89
  81. package/.next/standalone/.next/server/app/onboarding/page.js +8 -8
  82. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +3 -3
  85. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +149 -89
  86. package/.next/standalone/.next/server/app/page.js +8 -8
  87. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +3 -3
  90. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +245 -149
  91. package/.next/standalone/.next/server/app/settings/page.js +10 -11
  92. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +3 -3
  95. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +286 -238
  96. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js +9 -9
  97. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +3 -3
  100. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +251 -203
  101. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js +9 -9
  102. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
  103. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/app-paths-manifest.json +3 -0
  105. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/build-manifest.json +18 -0
  106. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/next-font-manifest.json +11 -0
  107. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/react-loadable-manifest.json +18 -0
  108. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/server-reference-manifest.json +413 -0
  109. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page.js +25 -0
  110. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page.js.nft.json +1 -0
  111. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page_client-reference-manifest.js +3 -0
  112. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +3 -3
  113. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +228 -180
  114. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js +9 -9
  115. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +3 -3
  118. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +266 -218
  119. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js +10 -11
  120. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
  121. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +3 -3
  123. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +149 -89
  124. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js +9 -9
  125. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +3 -3
  128. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +226 -178
  129. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js +9 -9
  130. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
  131. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
  132. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +4 -4
  133. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +293 -233
  134. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +11 -12
  135. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +3 -3
  138. package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +177 -129
  139. package/.next/standalone/.next/server/app/workspaces/page.js +8 -8
  140. package/.next/standalone/.next/server/app/workspaces/page.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
  143. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_09ikw5j.js +5 -0
  144. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0eh8dj_.js +9 -5
  145. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0gr2wxq.js +1 -1
  146. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-1~xqo._.js +3 -0
  147. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.3n3t.._.js +3 -0
  148. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.wsvr6._.js +4 -0
  149. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0y3adwk._.js → [root-of-the-server]__0.yf1mx._.js} +2 -2
  150. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0o6i1wy._.js → [root-of-the-server]__00xe-t8._.js} +2 -2
  151. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0vh3112._.js → [root-of-the-server]__02yvm55._.js} +2 -2
  152. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__09arklv._.js → [root-of-the-server]__04-ty51._.js} +2 -2
  153. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0v98a~t._.js → [root-of-the-server]__065hi6e._.js} +2 -2
  154. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0k9rz_z._.js → [root-of-the-server]__06iuq17._.js} +2 -2
  155. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06x1zwj._.js +1 -1
  156. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06~wmlx._.js +3 -0
  157. package/.next/standalone/.next/server/chunks/[root-of-the-server]__092475e._.js +3 -0
  158. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0atap--._.js +3 -0
  159. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0c3je91._.js +3 -0
  160. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dz.knv._.js +3 -0
  161. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ehwsa1._.js +4 -0
  162. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0esywxf._.js +3 -0
  163. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fd9z.r._.js +30 -0
  164. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gcg7i.._.js +3 -0
  165. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0iyp~.k._.js +2 -2
  166. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__07xsu6m._.js → [root-of-the-server]__0j7565a._.js} +2 -2
  167. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kkrbn-._.js +4 -0
  168. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0m8t3vi._.js +3 -0
  169. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0nv83.p._.js +4 -0
  170. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0squ613._.js +3 -0
  171. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0u8tl88._.js +2 -2
  172. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wugb-9._.js +3 -0
  173. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0yeg1kp._.js +4 -0
  174. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zchqv1._.js +43 -0
  175. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0_~s0z4._.js → [root-of-the-server]__0zcy11y._.js} +2 -2
  176. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~1-i5h._.js +3 -0
  177. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~ju4-d._.js +1 -1
  178. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10qclz-._.js +3 -0
  179. package/.next/standalone/.next/server/chunks/_02hac5p._.js +25 -2
  180. package/.next/standalone/.next/server/chunks/_0_w835g._.js +4 -0
  181. package/.next/standalone/.next/server/chunks/_0je3dz2._.js +25 -2
  182. package/.next/standalone/.next/server/chunks/_0tidm8l._.js +25 -2
  183. package/.next/standalone/.next/server/chunks/_0zok2an._.js +25 -2
  184. package/.next/standalone/.next/server/chunks/src_05balzk._.js +1 -1
  185. package/.next/standalone/.next/server/chunks/src_0aygchu._.js +1 -1
  186. package/.next/standalone/.next/server/chunks/src_0gif-f5._.js +1 -1
  187. package/.next/standalone/.next/server/chunks/src_0pg9w-x._.js +3 -0
  188. package/.next/standalone/.next/server/chunks/src_0vp6.co._.js +1 -1
  189. package/.next/standalone/.next/server/chunks/src_11k6i~l._.js +1 -1
  190. package/.next/standalone/.next/server/chunks/src_actions_agent-actions_ts_10q9r5b._.js +3 -3
  191. package/.next/standalone/.next/server/chunks/src_lib_0d~1~wz._.js +1 -1
  192. package/.next/standalone/.next/server/chunks/src_lib_0ylel_1._.js +1 -1
  193. package/.next/standalone/.next/server/chunks/src_lib_ai_0xx6y51._.js +1 -1
  194. package/.next/standalone/.next/server/chunks/src_lib_ai_providers_index_ts_0.y.3vp._.js +1 -1
  195. package/.next/standalone/.next/server/chunks/src_lib_config-defaults_ts_10ayktg._.js +1 -1
  196. package/.next/standalone/.next/server/chunks/ssr/0iu._[workspaceId]_projects_[projectId]_versions_version-timeline-client_tsx_07o_kyi._.js +1 -1
  197. package/.next/standalone/.next/server/chunks/ssr/0se9_next_dist_0i5qmqd._.js +1 -1
  198. package/.next/standalone/.next/server/chunks/ssr/0se9_next_dist_esm_build_templates_app-page_04~dhws.js +4 -0
  199. package/.next/standalone/.next/server/chunks/ssr/{0ws9_lucide-react_dist_esm_icons_0r~ty--._.js → 0ws9_lucide-react_dist_esm_icons_0gv_cwy._.js} +2 -2
  200. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__00qdvw7._.js +3 -0
  201. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01bz3_g._.js +3 -0
  202. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__051tpij._.js → [root-of-the-server]__0282989._.js} +1 -1
  203. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0dfqa5a._.js → [root-of-the-server]__03jikql._.js} +1 -1
  204. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0ixgha6._.js → [root-of-the-server]__04dod9d._.js} +1 -1
  205. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05tx27l._.js +3 -0
  206. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0fl0l82._.js → [root-of-the-server]__07ha-7q._.js} +1 -1
  207. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__07~giyb._.js +3 -0
  208. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0872sqe._.js +4 -0
  209. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__090y_.y._.js +3 -0
  210. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__096w7g2._.js → [root-of-the-server]__09qoc8v._.js} +3 -3
  211. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b.ej5q._.js +1 -1
  212. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0dmjt7o._.js → [root-of-the-server]__0bl842b._.js} +1 -1
  213. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0lau3k_._.js → [root-of-the-server]__0c81jqz._.js} +3 -3
  214. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dh0alq._.js +3 -0
  215. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e79g0v._.js +3 -0
  216. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0t_zq~v._.js → [root-of-the-server]__0fy8mj6._.js} +1 -1
  217. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0g2wrd2._.js → [root-of-the-server]__0gsk~9d._.js} +1 -1
  218. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h4ltpn._.js +5 -0
  219. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0hx2p17._.js +3 -0
  220. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0iaw1ms._.js +3 -0
  221. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ie8~g5._.js +3 -0
  222. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0~s8otw._.js → [root-of-the-server]__0j1w7ro._.js} +1 -1
  223. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0i0k_zi._.js → [root-of-the-server]__0jxfeb6._.js} +1 -1
  224. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0jymb~t._.js +1 -1
  225. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0l0~scn._.js +1 -1
  226. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0tb.1li._.js → [root-of-the-server]__0mi.v4q._.js} +3 -3
  227. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0vi-5xg._.js → [root-of-the-server]__0nell0t._.js} +3 -3
  228. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0odoa97._.js +30 -0
  229. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0o9jkew._.js → [root-of-the-server]__0q8o5us._.js} +2 -2
  230. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0dv.-zu._.js → [root-of-the-server]__0qjjy1r._.js} +1 -1
  231. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rg73f.._.js +3 -0
  232. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s~4y3y._.js +1 -1
  233. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s~ak20._.js +3 -0
  234. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0t3q30a._.js +3 -0
  235. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0tpho3f._.js +3 -0
  236. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__08etd~v._.js → [root-of-the-server]__0tusyj0._.js} +1 -1
  237. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__06s-_gx._.js → [root-of-the-server]__0x6eyvj._.js} +1 -1
  238. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0xftcya._.js +3 -0
  239. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0xiiocg._.js +30 -0
  240. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0xnuz05._.js +5 -0
  241. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0znl9us._.js +3 -0
  242. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zsnp~d._.js +5 -0
  243. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0~fdua7._.js +3 -0
  244. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11fp64w._.js +1 -1
  245. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1290yo~._.js +3 -0
  246. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12s3kky._.js +3 -0
  247. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0ydiu_y._.js → [root-of-the-server]__136sh9u._.js} +1 -1
  248. package/.next/standalone/.next/server/chunks/ssr/{_0dye20y._.js → _0-wp_zu._.js} +2 -2
  249. package/.next/standalone/.next/server/chunks/ssr/_0-~9em3._.js +1 -1
  250. package/.next/standalone/.next/server/chunks/ssr/_0.-.0zk._.js +3 -0
  251. package/.next/standalone/.next/server/chunks/ssr/_0..h3hk._.js +1 -1
  252. package/.next/standalone/.next/server/chunks/ssr/{_09rq08e._.js → _0111pr2._.js} +1 -1
  253. package/.next/standalone/.next/server/chunks/ssr/{_0~6pqk.._.js → _029yl-g._.js} +1 -1
  254. package/.next/standalone/.next/server/chunks/ssr/_02mcoex._.js +3 -0
  255. package/.next/standalone/.next/server/chunks/ssr/_02p-udo._.js +3 -0
  256. package/.next/standalone/.next/server/chunks/ssr/_02t7f2_._.js +3 -0
  257. package/.next/standalone/.next/server/chunks/ssr/_04brhyt._.js +3 -0
  258. package/.next/standalone/.next/server/chunks/ssr/_08b3kyv._.js +43 -0
  259. package/.next/standalone/.next/server/chunks/ssr/_0a___34._.js +3 -0
  260. package/.next/standalone/.next/server/chunks/ssr/{_0ljrvyt._.js → _0b4v~ls._.js} +2 -2
  261. package/.next/standalone/.next/server/chunks/ssr/_0bdyusg._.js +6 -0
  262. package/.next/standalone/.next/server/chunks/ssr/_0c8-9m9._.js +3 -0
  263. package/.next/standalone/.next/server/chunks/ssr/{_0xnn~jq._.js → _0gcox_6._.js} +1 -1
  264. package/.next/standalone/.next/server/chunks/ssr/{_01fdzzv._.js → _0gte_c4._.js} +1 -1
  265. package/.next/standalone/.next/server/chunks/ssr/_0hyn4md._.js +3 -0
  266. package/.next/standalone/.next/server/chunks/ssr/{_13_b8hh._.js → _0lqjtwo._.js} +1 -1
  267. package/.next/standalone/.next/server/chunks/ssr/_0noar.v._.js +3 -0
  268. package/.next/standalone/.next/server/chunks/ssr/_0os43sb._.js +1 -1
  269. package/.next/standalone/.next/server/chunks/ssr/_0rilhs1._.js +3 -0
  270. package/.next/standalone/.next/server/chunks/ssr/{_078cdw~._.js → _0sbkase._.js} +3 -3
  271. package/.next/standalone/.next/server/chunks/ssr/{_08bq4g8._.js → _0t-0.1o._.js} +2 -2
  272. package/.next/standalone/.next/server/chunks/ssr/_0wbcp88._.js +1 -1
  273. package/.next/standalone/.next/server/chunks/ssr/_0w~~xn0._.js +3 -0
  274. package/.next/standalone/.next/server/chunks/ssr/{_12la163._.js → _0xexuoi._.js} +2 -2
  275. package/.next/standalone/.next/server/chunks/ssr/_0xu906p._.js +4 -0
  276. package/.next/standalone/.next/server/chunks/ssr/_0z-z415._.js +3 -0
  277. package/.next/standalone/.next/server/chunks/ssr/_0z5~opf._.js +3 -0
  278. package/.next/standalone/.next/server/chunks/ssr/_0zx1ubq._.js +3 -0
  279. package/.next/standalone/.next/server/chunks/ssr/_0~2k74h._.js +43 -0
  280. package/.next/standalone/.next/server/chunks/ssr/_0~rpgs_._.js +3 -0
  281. package/.next/standalone/.next/server/chunks/ssr/_10a_vqn._.js +3 -0
  282. package/.next/standalone/.next/server/chunks/ssr/{_0h0b46r._.js → _10or.ne._.js} +1 -1
  283. package/.next/standalone/.next/server/chunks/ssr/{_09z-55_._.js → _10q2mbe._.js} +2 -2
  284. package/.next/standalone/.next/server/chunks/ssr/_11.knhq._.js +3 -0
  285. package/.next/standalone/.next/server/chunks/ssr/{_0ytcm0j._.js → _124j7aj._.js} +1 -1
  286. package/.next/standalone/.next/server/chunks/ssr/_13yv8at._.js +3 -0
  287. package/.next/standalone/.next/server/chunks/ssr/src_11j0qlp._.js +3 -0
  288. package/.next/standalone/.next/server/chunks/ssr/src_actions_07_wts6._.js +47 -0
  289. package/.next/standalone/.next/server/chunks/ssr/src_actions_agent-actions_ts_0~wc.sy._.js +1 -1
  290. package/.next/standalone/.next/server/chunks/ssr/src_actions_file-actions_ts_0gcvqwm._.js +1 -1
  291. package/.next/standalone/.next/server/chunks/ssr/src_app_missions_missions-client_tsx_11429lj._.js +1 -1
  292. package/.next/standalone/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +1 -1
  293. package/.next/standalone/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js +1 -1
  294. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0wyzpam._.js +1 -1
  295. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_board-page-client_tsx_0gips66._.js +1 -1
  296. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_notes_notes-page-client_tsx_10gyo3v._.js +1 -1
  297. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_02t7blt._.js +1 -1
  298. package/.next/standalone/.next/server/chunks/ssr/src_components_0rowjw~._.js +2 -2
  299. package/.next/standalone/.next/server/chunks/ssr/{_0bndp1~._.js → src_components_ui_popover_tsx_0a78wqo._.js} +2 -2
  300. package/.next/standalone/.next/server/chunks/ssr/{src_lib_03xtona._.js → src_lib_0-3zx.v._.js} +2 -2
  301. package/.next/standalone/.next/server/chunks/ssr/src_lib_00ial55._.js +3 -0
  302. package/.next/standalone/.next/server/chunks/ssr/src_lib_01-0ix1._.js +3 -0
  303. package/.next/standalone/.next/server/chunks/ssr/src_lib_01d~ml9._.js +3 -0
  304. package/.next/standalone/.next/server/chunks/ssr/{src_lib_04y-65j._.js → src_lib_0278czx._.js} +1 -1
  305. package/.next/standalone/.next/server/chunks/ssr/src_lib_07o.0r6._.js +3 -0
  306. package/.next/standalone/.next/server/chunks/ssr/src_lib_09jpiip._.js +3 -0
  307. package/.next/standalone/.next/server/chunks/ssr/src_lib_0bmg7ix._.js +3 -0
  308. package/.next/standalone/.next/server/chunks/ssr/src_lib_0cb~2g1._.js +3 -0
  309. package/.next/standalone/.next/server/chunks/ssr/src_lib_0fdsvpu._.js +3 -0
  310. package/.next/standalone/.next/server/chunks/ssr/src_lib_0fyrfen._.js +3 -0
  311. package/.next/standalone/.next/server/chunks/ssr/{src_lib_0-x.wbd._.js → src_lib_0gqe-g3._.js} +1 -1
  312. package/.next/standalone/.next/server/chunks/ssr/src_lib_0ixnmd0._.js +3 -0
  313. package/.next/standalone/.next/server/chunks/ssr/src_lib_0lpxsj~._.js +3 -0
  314. package/.next/standalone/.next/server/chunks/ssr/src_lib_0pgz5n6._.js +3 -0
  315. package/.next/standalone/.next/server/chunks/ssr/{src_lib_00p-ir2._.js → src_lib_0tq69ek._.js} +1 -1
  316. package/.next/standalone/.next/server/chunks/ssr/src_lib_0y5zzg-._.js +3 -0
  317. package/.next/standalone/.next/server/chunks/ssr/src_lib_pty_11~ojr2._.js +3 -0
  318. package/.next/standalone/.next/server/chunks/ssr/src_lib_pty_orphan-reaper_ts_0a0qmlo._.js +3 -0
  319. package/.next/standalone/.next/server/chunks/ssr/{_0ng0eku._.js → src_lib_schemas_ts_0ph~1ak._.js} +3 -3
  320. package/.next/standalone/.next/server/chunks/ssr/src_lib_worktree_ts_06cucy3._.js +1 -1
  321. package/.next/standalone/.next/server/functions-config-manifest.json +1 -0
  322. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  323. package/.next/standalone/.next/server/next-font-manifest.js +1 -1
  324. package/.next/standalone/.next/server/next-font-manifest.json +4 -0
  325. package/.next/standalone/.next/server/pages/500.html +1 -1
  326. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  327. package/.next/standalone/.next/server/server-reference-manifest.json +2308 -1642
  328. package/.next/standalone/.next/static/chunks/0.2y9uc38xso-.js +1 -0
  329. package/.next/standalone/.next/static/chunks/00agq5_c-.llc.js +1 -0
  330. package/.next/standalone/.next/static/chunks/015i97g3voot2.js +2 -0
  331. package/.next/standalone/.next/static/chunks/01wvj~s3skc-5.js +1 -0
  332. package/.next/standalone/.next/static/chunks/{0c4-6qdhi645s.js → 031br6.h-zycv.js} +1 -1
  333. package/.next/standalone/.next/static/chunks/04.2m8l~ws19v.js +1 -0
  334. package/.next/standalone/.next/static/chunks/054ztat09k8d8.js +1 -0
  335. package/.next/standalone/.next/static/chunks/07c4b1kp_85qg.js +1 -0
  336. package/.next/standalone/.next/static/chunks/07f592yv~pptf.js +1 -0
  337. package/.next/standalone/.next/static/chunks/{0bvhkgitn__gl.js → 08j4ettv1zbmn.js} +1 -1
  338. package/.next/standalone/.next/static/chunks/08kc0~d-bpqxd.js +1 -0
  339. package/.next/standalone/.next/static/chunks/{0c.t.evwah_m4.js → 08s_oyki61yjf.js} +1 -1
  340. package/.next/standalone/.next/static/chunks/09bc_~h466~tj.js +1 -0
  341. package/.next/standalone/.next/static/chunks/0_hj_1l73v-on.js +1 -0
  342. package/.next/standalone/.next/static/chunks/0a54zbhpg7-ql.js +1 -0
  343. package/.next/standalone/.next/static/chunks/0c2po53wqe-op.js +1 -0
  344. package/.next/standalone/.next/static/chunks/0clhvl~13pwv2.js +1 -0
  345. package/.next/standalone/.next/static/chunks/0fi1kdxrc9m~d.js +1 -0
  346. package/.next/standalone/.next/static/chunks/0ix28r65.7o_r.js +12 -0
  347. package/.next/standalone/.next/static/chunks/0j56_.0_wup.m.js +1 -0
  348. package/.next/standalone/.next/static/chunks/0lokkque~1fox.js +1 -0
  349. package/.next/standalone/.next/static/chunks/0m5k~sgt78d8a.js +1 -0
  350. package/.next/standalone/.next/static/chunks/0mzzaly9-cwhd.js +5 -0
  351. package/.next/standalone/.next/static/chunks/0ov_akpudbv96.js +5 -0
  352. package/.next/standalone/.next/static/chunks/0pg~fc3o64-u0.js +1 -0
  353. package/.next/standalone/.next/static/chunks/0pvc93qomwhkq.js +1 -0
  354. package/.next/standalone/.next/static/chunks/0seo-lerjdkbn.js +1 -0
  355. package/.next/standalone/.next/static/chunks/0smoiulyzysrc.js +2 -0
  356. package/.next/standalone/.next/static/chunks/0ufatfbq87c84.js +1 -0
  357. package/.next/standalone/.next/static/chunks/{09bezwcb__18t.js → 0ujznvfinjpzn.js} +1 -1
  358. package/.next/standalone/.next/static/chunks/{02xqrfqu.s8-i.js → 0ux~8zee88x-j.js} +1 -1
  359. package/.next/standalone/.next/static/chunks/0vy01_a6xhhrr.js +1 -0
  360. package/.next/standalone/.next/static/chunks/0wl8cpmvyhv0l.js +1 -0
  361. package/.next/standalone/.next/static/chunks/0xd_tk4asn0qj.js +1 -0
  362. package/.next/standalone/.next/static/chunks/0~l470bpaoz9f.js +1 -0
  363. package/.next/standalone/.next/static/chunks/118j.0w2pbdea.js +1 -0
  364. package/.next/standalone/.next/static/chunks/11yhe31en~dvt.js +1 -0
  365. package/.next/standalone/.next/static/chunks/13yfli6~6o4z~.js +1 -0
  366. package/.next/standalone/.next/static/chunks/14fch6~swodjf.css +1 -0
  367. package/.next/standalone/.next/static/chunks/15rlbf5rw1dd..js +1 -0
  368. package/.next/standalone/package.json +1 -2
  369. package/dist/mcp-server.cjs +1205 -4330
  370. package/package.json +1 -2
  371. package/prisma/schema.prisma +46 -5
  372. package/scripts/migrations/0006-project-knowledge.ts +58 -0
  373. package/scripts/migrations/0007-product-group.ts +67 -0
  374. package/skills/tower/SKILL.md +22 -92
  375. package/skills/tower/references/task-source.md +80 -0
  376. package/.next/standalone/.next/server/chunks/[externals]__0x_wqa7._.js +0 -3
  377. package/.next/standalone/.next/server/chunks/[root-of-the-server]__034jopu._.js +0 -4
  378. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08-s.nv._.js +0 -4
  379. package/.next/standalone/.next/server/chunks/[root-of-the-server]__098.3z2._.js +0 -3
  380. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ehx6q.._.js +0 -3
  381. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0iggiij._.js +0 -3
  382. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0pmamzv._.js +0 -3
  383. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0pzyjqf._.js +0 -20
  384. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0tplo5s._.js +0 -3
  385. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0tpzojh._.js +0 -3
  386. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xasom7._.js +0 -4
  387. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xy1t4x._.js +0 -4
  388. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0y~y6sh._.js +0 -3
  389. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10jnn26._.js +0 -3
  390. package/.next/standalone/.next/server/chunks/[root-of-the-server]__116v_bx._.js +0 -4
  391. package/.next/standalone/.next/server/chunks/[root-of-the-server]__119rbly._.js +0 -3
  392. package/.next/standalone/.next/server/chunks/_0qk_esg._.js +0 -4
  393. package/.next/standalone/.next/server/chunks/_0t31z6q._.js +0 -5
  394. package/.next/standalone/.next/server/chunks/src_0aqjfcv._.js +0 -3
  395. package/.next/standalone/.next/server/chunks/src_lib_0nw5n~t._.js +0 -3
  396. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0.q~~2p._.js +0 -3
  397. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01zrinc._.js +0 -3
  398. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__03x8axh._.js +0 -47
  399. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__04wbr9x._.js +0 -3
  400. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05xg05r._.js +0 -3
  401. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__06t.cx~._.js +0 -47
  402. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0__klx0._.js +0 -47
  403. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ccy_gg._.js +0 -3
  404. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0cjmeyl._.js +0 -3
  405. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dx9sp-._.js +0 -47
  406. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0f57j8r._.js +0 -47
  407. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0j1dx6p._.js +0 -47
  408. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0kn~asi._.js +0 -47
  409. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0m.hayd._.js +0 -47
  410. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0mpjat-._.js +0 -3
  411. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0sg4fde._.js +0 -4
  412. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w24qox._.js +0 -47
  413. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wq~4aj._.js +0 -30
  414. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0yihqy6._.js +0 -3
  415. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0z7je5_._.js +0 -5
  416. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zouyfp._.js +0 -3
  417. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1184s~q._.js +0 -3
  418. package/.next/standalone/.next/server/chunks/ssr/_0.iq8t8._.js +0 -4
  419. package/.next/standalone/.next/server/chunks/ssr/_00.myc6._.js +0 -3
  420. package/.next/standalone/.next/server/chunks/ssr/_00eymu8._.js +0 -3
  421. package/.next/standalone/.next/server/chunks/ssr/_03-we0p._.js +0 -47
  422. package/.next/standalone/.next/server/chunks/ssr/_04szgc6._.js +0 -3
  423. package/.next/standalone/.next/server/chunks/ssr/_0kd_tda._.js +0 -47
  424. package/.next/standalone/.next/server/chunks/ssr/_0ktexki._.js +0 -47
  425. package/.next/standalone/.next/server/chunks/ssr/_0lo1nei._.js +0 -6
  426. package/.next/standalone/.next/server/chunks/ssr/_0mdd702._.js +0 -3
  427. package/.next/standalone/.next/server/chunks/ssr/_0n0q6~9._.js +0 -3
  428. package/.next/standalone/.next/server/chunks/ssr/_0pab_al._.js +0 -3
  429. package/.next/standalone/.next/server/chunks/ssr/_0pg6-.y._.js +0 -3
  430. package/.next/standalone/.next/server/chunks/ssr/_0pvp63a._.js +0 -47
  431. package/.next/standalone/.next/server/chunks/ssr/_0qi4x-5._.js +0 -3
  432. package/.next/standalone/.next/server/chunks/ssr/_0qnobd-._.js +0 -43
  433. package/.next/standalone/.next/server/chunks/ssr/_0rdyrfd._.js +0 -3
  434. package/.next/standalone/.next/server/chunks/ssr/_0ts~td3._.js +0 -3
  435. package/.next/standalone/.next/server/chunks/ssr/_0y0_4zs._.js +0 -3
  436. package/.next/standalone/.next/server/chunks/ssr/_0yva1-.._.js +0 -3
  437. package/.next/standalone/.next/server/chunks/ssr/_0yz5dmq._.js +0 -47
  438. package/.next/standalone/.next/server/chunks/ssr/_11w13--._.js +0 -3
  439. package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_09eeb85._.js +0 -3
  440. package/.next/standalone/.next/server/chunks/ssr/src_0djxlqx._.js +0 -3
  441. package/.next/standalone/.next/server/chunks/ssr/src_0eufeyj._.js +0 -3
  442. package/.next/standalone/.next/server/chunks/ssr/src_0vv366l._.js +0 -3
  443. package/.next/standalone/.next/server/chunks/ssr/src_lib_03x1i~1._.js +0 -5
  444. package/.next/standalone/.next/server/chunks/ssr/src_lib_08gthaz._.js +0 -3
  445. package/.next/standalone/.next/server/chunks/ssr/src_lib_090~6pq._.js +0 -3
  446. package/.next/standalone/.next/server/chunks/ssr/src_lib_0k8dkbn._.js +0 -3
  447. package/.next/standalone/.next/server/chunks/ssr/src_lib_0knbpxk._.js +0 -3
  448. package/.next/standalone/.next/server/chunks/ssr/src_lib_0p_iehl._.js +0 -3
  449. package/.next/standalone/.next/server/chunks/ssr/src_lib_0qve1ri._.js +0 -3
  450. package/.next/standalone/.next/server/chunks/ssr/src_lib_0s35u~4._.js +0 -3
  451. package/.next/standalone/.next/server/chunks/ssr/src_lib_0x2ui80._.js +0 -3
  452. package/.next/standalone/.next/server/chunks/ssr/src_lib_0ypc5_d._.js +0 -3
  453. package/.next/standalone/.next/server/chunks/ssr/src_lib_10jh2mz._.js +0 -3
  454. package/.next/standalone/.next/static/chunks/0-nppzqp-r.9c.js +0 -1
  455. package/.next/standalone/.next/static/chunks/0-te2tg6~a23u.js +0 -1
  456. package/.next/standalone/.next/static/chunks/0.64.6c1mh7d2.js +0 -1
  457. package/.next/standalone/.next/static/chunks/0.8n1ce9lggg4.js +0 -1
  458. package/.next/standalone/.next/static/chunks/0.nsmn6shzidu.js +0 -2
  459. package/.next/standalone/.next/static/chunks/0.zgqz~m3sjej.js +0 -1
  460. package/.next/standalone/.next/static/chunks/00.eotegra08r.js +0 -1
  461. package/.next/standalone/.next/static/chunks/01j9m895w64zn.js +0 -1
  462. package/.next/standalone/.next/static/chunks/03y272e6e9o8i.js +0 -1
  463. package/.next/standalone/.next/static/chunks/08eyd7sq064r0.js +0 -1
  464. package/.next/standalone/.next/static/chunks/09b33znj4m__c.js +0 -1
  465. package/.next/standalone/.next/static/chunks/0d0zm8viq3ol4.js +0 -12
  466. package/.next/standalone/.next/static/chunks/0dktl5t_dtxu..js +0 -1
  467. package/.next/standalone/.next/static/chunks/0e5~nzt657k92.js +0 -1
  468. package/.next/standalone/.next/static/chunks/0erwxvpb9w29_.js +0 -1
  469. package/.next/standalone/.next/static/chunks/0gf~0e3xpa0fj.js +0 -5
  470. package/.next/standalone/.next/static/chunks/0gy79dfi~lnig.js +0 -1
  471. package/.next/standalone/.next/static/chunks/0gz3xwb5_8xwv.js +0 -1
  472. package/.next/standalone/.next/static/chunks/0i75~pu.bp20..js +0 -1
  473. package/.next/standalone/.next/static/chunks/0jn_w5b9r~beu.js +0 -1
  474. package/.next/standalone/.next/static/chunks/0l59z2mf1ouxu.js +0 -1
  475. package/.next/standalone/.next/static/chunks/0m4xd-ie7j.hx.js +0 -1
  476. package/.next/standalone/.next/static/chunks/0mx9ebe6we4z0.js +0 -1
  477. package/.next/standalone/.next/static/chunks/0nsggimu5je3g.js +0 -1
  478. package/.next/standalone/.next/static/chunks/0nw8nx8kafy79.js +0 -1
  479. package/.next/standalone/.next/static/chunks/0pzjryav9pm7p.js +0 -1
  480. package/.next/standalone/.next/static/chunks/0q-rl50zskr35.js +0 -1
  481. package/.next/standalone/.next/static/chunks/0qqy2x-fsmmmx.js +0 -1
  482. package/.next/standalone/.next/static/chunks/0t59wpux0g1~l.js +0 -1
  483. package/.next/standalone/.next/static/chunks/0uezq8wiwkq8d.js +0 -1
  484. package/.next/standalone/.next/static/chunks/0vrc~7m1_cuvl.js +0 -1
  485. package/.next/standalone/.next/static/chunks/0xbh24-hxrt~m.css +0 -1
  486. package/.next/standalone/.next/static/chunks/0xkkmruo8p.l_.js +0 -1
  487. package/.next/standalone/.next/static/chunks/0xx0pe_j2kmr9.js +0 -2
  488. package/.next/standalone/.next/static/chunks/0zqjqiqmorenw.js +0 -5
  489. package/.next/standalone/.next/static/chunks/136l78utn~v08.js +0 -1
  490. package/.next/standalone/.next/static/chunks/171x9kw9wcyk4.js +0 -1
  491. package/.next/standalone/.next/static/chunks/17m4o~gdsvuo3.js +0 -1
  492. package/next.config.ts +0 -18
  493. /package/.next/standalone/.next/static/{f1860bJqnbYj-1WLMj7F- → dFewkdixeBoRBY6Fvw11J}/_buildManifest.js +0 -0
  494. /package/.next/standalone/.next/static/{f1860bJqnbYj-1WLMj7F- → dFewkdixeBoRBY6Fvw11J}/_clientMiddlewareManifest.js +0 -0
  495. /package/.next/standalone/.next/static/{f1860bJqnbYj-1WLMj7F- → dFewkdixeBoRBY6Fvw11J}/_ssgManifest.js +0 -0
@@ -0,0 +1,6 @@
1
+ module.exports=[712072,(a,b,c)=>{b.exports={name:"tower-studio",version:"0.2.47",description:"AI Task Orchestration Platform — Kanban + Terminal + Code Editor + MCP",bin:{tower:"bin/tower.mjs"},files:["bin/",".next/standalone/","prisma/schema.prisma","prisma/init-fts.ts","prisma/pre-migration.sql","scripts/init-db.ts","scripts/generate-prisma-client.js","scripts/link-prisma.js","scripts/fix-native-permissions.js","scripts/post-install-banner.js","scripts/prune-standalone-natives.js","scripts/migrate-data.ts","scripts/run-migrations.ts","scripts/migrations/","scripts/tower-post-tool-hook.js","scripts/tower-session-start-hook.js","scripts/tower-stop-hook.js","dist/mcp-server.cjs","skills/","tsconfig.json"],scripts:{predev:'TOWER_DATA_DIR="$HOME/.tower-dev" DATABASE_URL="file:$HOME/.tower-dev/database/tower.db" node scripts/ensure-dev-db.js && pnpm db:migrate && pnpm mcp:build',dev:'NEXT_DISTDIR=.next-dev TOWER_DATA_DIR="$HOME/.tower-dev" DATABASE_URL="file:$HOME/.tower-dev/database/tower.db" env -u TURBOPACK next dev --webpack -p 9022',build:"pnpm mcp:build && rm -rf .next && next build && find .next -name '*.map' -delete && cp -R .next/static .next/standalone/.next/ && cp -R public .next/standalone/ && node scripts/prune-standalone-natives.js",release:"pnpm build && npm pack","release:smoke":"node scripts/release-smoke.js","release:publish":"pnpm build && npm publish","release:ship":"bash scripts/release.sh",start:"node bin/tower.mjs",lint:"eslint","db:generate":"prisma generate","db:push":'DATABASE_URL="file:$HOME/.tower-dev/database/tower.db" prisma db push',"db:seed":'DATABASE_URL="file:$HOME/.tower-dev/database/tower.db" tsx prisma/seed.ts',"db:studio":'DATABASE_URL="file:$HOME/.tower-dev/database/tower.db" prisma studio',"db:init":'TOWER_DATA_DIR="$HOME/.tower-dev" DATABASE_URL="file:$HOME/.tower-dev/database/tower.db" tsx scripts/init-db.ts',"db:init-fts":'DATABASE_URL="file:$HOME/.tower-dev/database/tower.db" tsx prisma/init-fts.ts',"db:migrate":'TOWER_DATA_DIR="$HOME/.tower-dev" DATABASE_URL="file:$HOME/.tower-dev/database/tower.db" tsx scripts/run-migrations.ts',test:"vitest","test:run":"vitest run","test:e2e":"NO_PROXY=localhost,127.0.0.1 no_proxy=localhost,127.0.0.1 playwright test",changelog:"conventional-changelog -p angular -i CHANGELOG.md -s",mcp:"node dist/mcp-server.cjs","mcp:build":"esbuild src/mcp/index.ts --bundle --platform=node --target=node18 --format=cjs --outfile=dist/mcp-server.cjs --external:@prisma/client --external:@modelcontextprotocol/sdk --external:@opentelemetry/api --alias:@=./src","mcp:dev":"tsx src/mcp/index.ts",postinstall:"node scripts/generate-prisma-client.js && node scripts/link-prisma.js && node scripts/fix-native-permissions.js && node scripts/post-install-banner.js"},pnpm:{onlyBuiltDependencies:["@prisma/engines","esbuild","node-pty","prisma"]},dependencies:{"@modelcontextprotocol/sdk":"^1.28.0","@prisma/client":"^6.19.2","@vscode/ripgrep":"1.18.0","node-pty":"^1.1.0",prisma:"^6.19.2",tinykeys:"^4.0.0",tsx:"^4.21.0",ws:"^8.20.0"},devDependencies:{"@anthropic-ai/claude-agent-sdk":"^0.2.114","@base-ui/react":"^1.3.0","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@iconify/react":"^6.0.2","@monaco-editor/react":"4.8.0-rc.3","@playwright/test":"^1.58.2","@tailwindcss/postcss":"^4","@tailwindcss/typography":"^0.5.19","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^20","@types/react":"^19","@types/react-dom":"^19","@types/shell-quote":"^1.7.5","@types/tar":"^7.0.87","@types/ws":"^8.18.1","@uiw/react-md-editor":"^4.0.11","@vitejs/plugin-react":"^6.0.1","@xterm/addon-attach":"^0.12.0","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","@xterm/addon-webgl":"^0.19.0","@xterm/xterm":"^6.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1",cmdk:"^1.1.1","conventional-changelog-cli":"^5.0.0",eslint:"^9","eslint-config-next":"16.2.1","fuse.js":"^7.3.0",ignore:"^7.0.5",jsdom:"^29.0.1","lucide-react":"^1.6.0","monaco-editor":"^0.55.1",next:"16.2.1","next-themes":"^0.4.6","parse-diff":"^0.12.0",react:"19.2.4","react-dom":"19.2.4","react-resizable-panels":"^2.1.9","react-reverse-portal":"^2.3.0",shadcn:"^4.1.0","shell-quote":"^1.8.3","simple-git":"^3.36.0",sonner:"^2.0.7",streamdown:"^2.5.0","tailwind-merge":"^3.5.0",tailwindcss:"^4",tar:"^7.5.13","tw-animate-css":"^1.4.0",typescript:"^5",vitest:"^4.1.1",zod:"^4.3.6",zustand:"^5.0.12"}}},765847,a=>{"use strict";var b=a.i(244256),c=a.i(495370),d=a.i(827981),e=a.i(980999),f=a.i(101844),g=a.i(491890),h=a.i(748383),i=a.i(563736),j=a.i(4634),k=a.i(925886),l=a.i(815429),m=a.i(761469),n=a.i(830296),o=a.i(630048);let p="task.systemDirective";function q(){return n.CONFIG_DEFAULTS[p].defaultValue}async function r(){let a=q(),b=await (0,e.getConfigValue)(p,a);return{systemDirective:b,systemDirectiveDefault:a,systemDirectiveIsCustom:b!==a,childReviewPrompt:"[Tower] 你派生的子任务「{{childTitle}}」(taskId: {{childTaskId}})刚结束一轮、正在等指令 —— 可能完成、也可能没完成。\n\n子任务最后的回复:\n{{childReply}}\n\n请你作为中枢 review:\n1. 若要核实它具体改了什么,用 get_task_terminal_output 读它的终端产出。\n2. 若已正确完成 → stop_task_execution 关闭它 + move_task 置 DONE。\n3. 若没完成 / 有问题 → send_task_terminal_input 给它具体反馈,让它继续改。\n4. 把你的判断与决定用 manage_notes 记录下来,供用户事后查看。"}}async function s(a){await (0,e.setConfigValue)(p,a)}async function t(){return await m.db.systemConfig.deleteMany({where:{key:p}}),q()}(0,o.ensureServerEntryExports)([r,s,t]),(0,l.registerServerReference)(r,"0017bb73a0a2aab62e73b999b48cf8ae58bebdade8",null),(0,l.registerServerReference)(s,"40400da8b2732c30eb841d6d056afb8d8f091348ff",null),(0,l.registerServerReference)(t,"0005a8b52fd7ff55a3594b6dca6915bad94dc95210",null);var u=a.i(188139),v=a.i(378322),w=a.i(855806);let x=["terminal","summary","dreaming","analysis","assistant"];async function y(){return m.db.aiCapabilityConfig.findMany({orderBy:{slot:"asc"}})}async function z(a,b){if(!x.includes(a))throw Error(`无效的插槽: ${a}`);if(!v.providerRegistry.get(b.provider))throw Error(`未知的 Provider: ${b.provider}`);if("terminal"===a&&"cli"!==b.mode)throw Error("终端执行只支持 CLI 模式");if(!await (0,w.isProviderConnected)(b.provider))throw Error(`Provider "${b.provider}" 未连接或集成未注入完整 — 请到 Settings → Test Connection 测试通过后再选`);await m.db.aiCapabilityConfig.upsert({where:{slot:a},create:{slot:a,provider:b.provider,mode:b.mode,model:b.model??null},update:{provider:b.provider,mode:b.mode,model:b.model??null}}),(0,u.revalidatePath)("/settings")}async function A(){return v.providerRegistry.getAvailableProviders()}(0,o.ensureServerEntryExports)([y,z,A]),(0,l.registerServerReference)(y,"0028521a0b4fcf38aae6e0676543a7b380b2c86c14",null),(0,l.registerServerReference)(z,"6064a8a5437a018ac0f0cdedd125941869938d1ea6",null),(0,l.registerServerReference)(A,"001f9294e9e0bb248e7878413b2cc8361234aeb91c",null);var B=a.i(319997),C=a.i(750227),D=a.i(902157),E=a.i(660526),F=a.i(744992);let G=".lock";function H(a){let b=(0,C.join)(a,G);if((0,D.existsSync)(b)){let a=parseInt((0,D.readFileSync)(b,"utf-8").trim(),10);try{throw process.kill(a,0),Error("Another backup operation is in progress")}catch(a){if(a instanceof Error&&a.message.includes("Another backup"))throw a}}(0,D.writeFileSync)(b,String(process.pid))}function I(a){let b=(0,C.join)(a,G);try{(0,D.unlinkSync)(b)}catch{}}let J=/^tower-(backup|auto)-\d{8}-\d{6}\.tar\.gz$/;function K(a){if(!J.test(a))throw Error(`Invalid backup filename: ${a}`)}async function L(a,b,c,d){let e,f,g,h,i=`${d?"tower-auto":"tower-backup"}-${(e=new Date,f=a=>String(a).padStart(2,"0"),g=`${e.getFullYear()}${f(e.getMonth()+1)}${f(e.getDate())}`,h=`${f(e.getHours())}${f(e.getMinutes())}${f(e.getSeconds())}`,`${g}-${h}`)}.tar.gz`,j=(0,C.join)(b,i),k=(0,C.join)(a,"metadata.json");(0,D.writeFileSync)(k,JSON.stringify(c,null,2));try{let b=["metadata.json"];(0,D.existsSync)((0,C.join)(a,"database","tower.db"))&&b.push((0,C.join)("database","tower.db")),(0,D.existsSync)((0,C.join)(a,"storage","assets"))&&b.push((0,C.join)("storage","assets")),(0,D.existsSync)((0,C.join)(a,"assistant"))&&b.push("assistant"),(0,D.existsSync)((0,C.join)(a,"logs"))&&b.push("logs"),await F.create({gzip:!0,file:j,cwd:a},b);let e=(0,D.statSync)(j);return{filename:i,size:e.size,createdAt:c.createdAt,autoBackup:d,label:c.label??"",stats:c.stats,preview:c.preview}}catch(a){try{(0,D.unlinkSync)(j)}catch{}throw a}finally{try{(0,D.unlinkSync)(k)}catch{}}}async function M(a){let b=(0,C.join)((0,C.dirname)(a),`_meta_tmp_${Date.now()}`);try{(0,D.mkdirSync)(b,{recursive:!0}),await F.extract({file:a,cwd:b,filter:a=>"metadata.json"===a});let c=(0,C.join)(b,"metadata.json");if(!(0,D.existsSync)(c))return null;return JSON.parse((0,D.readFileSync)(c,"utf-8"))}catch{return null}finally{(0,D.rmSync)(b,{recursive:!0,force:!0})}}async function N(a){if(!(0,D.existsSync)(a))return[];let b=(0,D.readdirSync)(a).filter(a=>J.test(a)).sort().reverse(),c=[];for(let d of b){let b=(0,C.join)(a,d),e=(0,D.statSync)(b),f=await M(b);c.push({filename:d,size:e.size,createdAt:f?.createdAt??e.mtime.toISOString(),autoBackup:f?.autoBackup??d.startsWith("tower-auto"),label:f?.label??"",stats:f?.stats??{workspaces:0,projects:0,tasks:0},preview:f?.preview??[]})}return c}async function O(a,b){if((0,D.mkdirSync)(b,{recursive:!0}),await F.extract({file:a,cwd:b,filter:a=>!((0,C.isAbsolute)(a)||a.includes(".."))}),!(0,D.existsSync)((0,C.join)(b,"database","tower.db")))throw Error("Invalid archive: missing database/tower.db")}let P=["database",(0,C.join)("storage","assets"),"assistant","logs"];async function Q(){return await (0,e.getConfigValue)("system.backupDir","")||(0,B.getBackupsDir)()}async function R(b,c){let[d,e,f]=await Promise.all([m.db.workspace.count(),m.db.project.count(),m.db.task.count()]),g=(await m.db.workspace.findMany({take:3,orderBy:{updatedAt:"desc"},select:{name:!0,description:!0,projects:{take:3,select:{name:!0},orderBy:{updatedAt:"desc"}}}})).map(a=>{let b=a.description??"";return{workspace:b?`${b} ${a.name}`:a.name,projects:a.projects.map(a=>a.name)}});return{version:1,createdAt:new Date().toISOString(),towerVersion:function(){try{return a.r(712072).version??"unknown"}catch{return"unknown"}}(),autoBackup:b,label:c||void 0,stats:{workspaces:d,projects:e,tasks:f},preview:g}}async function S(a){let b=await Q();H(b);try{let c=await R(!1,a);return await m.db.$queryRaw`PRAGMA wal_checkpoint(TRUNCATE)`,await L((0,B.getTowerDir)(),b,c,!1)}finally{I(b)}}async function T(){return N(await Q())}async function U(a){K(a);let b=await Q(),c=(0,C.join)(b,a);if(!(0,D.existsSync)(c))throw Error("Backup file not found");(0,D.unlinkSync)(c)}async function V(b){K(b);let c=(0,B.getTowerDir)(),d=await Q(),e=(0,C.join)(d,b);if(!(0,D.existsSync)(e))throw Error("Backup file not found");H(d);let f=(0,C.join)(c,"_restore_tmp");try{let b=await R(!0);await m.db.$queryRaw`PRAGMA wal_checkpoint(TRUNCATE)`,await L(c,d,b,!0);let{destroyAllSessions:g}=await a.A(98813);g(),await O(e,f),await m.db.$disconnect();let h=(0,C.join)(c,"database");for(let a of["-wal","-shm"]){let b=(0,C.join)(h,`tower.db${a}`);try{(0,D.unlinkSync)(b)}catch{}}!function(a,b){let c=(0,C.join)(a,"_old_tmp");(0,D.mkdirSync)(c,{recursive:!0});try{for(let b of P){let d=(0,C.join)(a,b),e=(0,C.join)(c,b);(0,D.existsSync)(d)&&((0,D.mkdirSync)((0,C.dirname)((0,C.join)(c,b)),{recursive:!0}),(0,D.renameSync)(d,e))}for(let c of P){let d=(0,C.join)(b,c),e=(0,C.join)(a,c);(0,D.existsSync)(d)&&((0,D.mkdirSync)((0,C.dirname)((0,C.join)(a,c)),{recursive:!0}),(0,D.renameSync)(d,e))}(0,D.rmSync)(c,{recursive:!0,force:!0})}catch(b){for(let b of P){let d=(0,C.join)(c,b),e=(0,C.join)(a,b);if((0,D.existsSync)(d)&&!(0,D.existsSync)(e))try{(0,D.renameSync)(d,e)}catch{}}throw(0,D.rmSync)(c,{recursive:!0,force:!0}),b}}(c,f),await (0,m.resetDbConnection)(),await m.db.$executeRawUnsafe(`
2
+ CREATE VIRTUAL TABLE IF NOT EXISTS notes_fts
3
+ USING fts5(note_id UNINDEXED, title, content, tokenize='trigram case_sensitive 0')
4
+ `);let{syncNoteToFts:i}=await a.A(195404);for(let a of(await m.db.projectNote.findMany({select:{id:!0,title:!0,content:!0}})))await i(m.db,a);(0,u.revalidatePath)("/")}finally{for(let a of["_restore_tmp","_old_tmp"]){let b=(0,C.join)(c,a);(0,D.existsSync)(b)&&(0,D.rmSync)(b,{recursive:!0,force:!0})}I(d)}}async function W(b){if("RESET"!==b)throw Error("Invalid confirmation");let c=(0,B.getTowerDir)(),d=await Q();H(d);try{let b=await R(!0);await m.db.$queryRaw`PRAGMA wal_checkpoint(TRUNCATE)`,await L(c,d,b,!0);let{destroyAllSessions:e}=await a.A(98813);e(),await m.db.$disconnect();for(let a of["database",(0,C.join)("storage","assets"),"assistant","logs"]){let b=(0,C.join)(c,a);(0,D.existsSync)(b)&&(0,D.rmSync)(b,{recursive:!0,force:!0})}await (0,m.resetDbConnection)(),(0,u.revalidatePath)("/")}finally{I(d)}}async function X(){return await (0,e.getConfigValue)("system.backupDir","")||(0,B.getBackupsDir)()}async function Y(a){if(!(0,C.isAbsolute)(a))throw Error("Backup directory must be an absolute path");let b=(0,E.homedir)(),c=(0,C.relative)(b,a);if(c.startsWith("..")||(0,C.isAbsolute)(c))throw Error("Backup directory must be within your home directory");await (0,e.setConfigValue)("system.backupDir",a)}(0,o.ensureServerEntryExports)([S,T,U,V,W,X,Y]),(0,l.registerServerReference)(S,"4081190646dfd19e5905cd07949d52c1db0b9cd492",null),(0,l.registerServerReference)(T,"00fb83e94a084a727104d92f4030891ffe21394ea2",null),(0,l.registerServerReference)(U,"405b7ce520badaa31ddeeeb003d8c7ecaa75ff8ceb",null),(0,l.registerServerReference)(V,"405fb31348735d530b2fbd1bfa3bd32338c9c00fca",null),(0,l.registerServerReference)(W,"40b667c41c647e1a354912820b3477b34bfcc0ff05",null),(0,l.registerServerReference)(X,"00a5aad9940317624b10224648af03f34420f2f827",null),(0,l.registerServerReference)(Y,"4062e1805dec87d49081686a99971d70b7d081d1ba",null);var Z=a.i(75681);async function $(){return{current:(0,B.getStorageDir)(),default:(0,B.getDefaultStorageDir)(),isDefault:null===(0,B.readStoragePointer)()}}let _=Z.z.object({newPath:Z.z.string().min(1)});async function aa(a){let{newPath:b}=_.parse(a),c=C.resolve(b),d=C.resolve((0,B.getStorageDir)()),e=C.resolve((0,B.getDefaultStorageDir)());if(!C.isAbsolute(c))return{ok:!1,error:"请输入绝对路径"};if(c===d)return{ok:!0,moved:0};if(c.startsWith(d+C.sep)||d.startsWith(c+C.sep))return{ok:!1,error:"新路径不能是当前存储目录的父级或子级"};if(D.existsSync(c)){if(!D.statSync(c).isDirectory())return{ok:!1,error:"目标路径已存在且不是目录"};if(D.readdirSync(c).length>0)return{ok:!1,error:"目标目录非空,请选择一个空目录或新目录"}}let f=C.dirname(c);try{D.mkdirSync(c,{recursive:!0}),D.accessSync(c,D.constants.W_OK)}catch{return{ok:!1,error:`无法写入目标目录(检查权限):${f}`}}try{D.existsSync(d)&&(D.cpSync(d,c,{recursive:!0}),D.rmSync(d,{recursive:!0,force:!0}))}catch(a){return{ok:!1,error:`迁移文件失败:${a instanceof Error?a.message:String(a)}`}}let g=0,h=d+C.sep;for(let a of(await m.db.projectAsset.findMany({select:{id:!0,path:!0}})))if(a.path.startsWith(h)){let b=C.join(c,a.path.slice(d.length+1));await m.db.projectAsset.update({where:{id:a.id},data:{path:b}}),g+=1}return(0,B.writeStoragePointer)(c===e?null:c),{ok:!0,moved:g}}(0,o.ensureServerEntryExports)([$,aa]),(0,l.registerServerReference)($,"00f566bdb4d932daa40b6e7d5a8600739be31e9666",null),(0,l.registerServerReference)(aa,"408ec1c9fc327f6f8c68102f3d511371bcc13100e7",null);var ab=a.i(333500);a.s([],220637),a.i(220637),a.s(["0005a8b52fd7ff55a3594b6dca6915bad94dc95210",0,t,"0017bb73a0a2aab62e73b999b48cf8ae58bebdade8",0,r,"001f9294e9e0bb248e7878413b2cc8361234aeb91c",0,A,"0028521a0b4fcf38aae6e0676543a7b380b2c86c14",0,y,"004cbab2b0471abdbcfcc5ef54e684df499d08b135",()=>j.getOnboardingStatus,"0055c22bfa591cefc244c9861540576efd52b47373",()=>w.getConnectedProviders,"0056908f664e1cfc956a914cdb7e860a14e02a1a68",()=>i.listAllExtensionStatus,"00778c274386fee10c6d07fa7208ebf73366110d21",()=>e.getAvailableTerminalApps,"00a5aad9940317624b10224648af03f34420f2f827",0,X,"00aa596e8a642e9da3810152361d231b3773ba7ef1",()=>e.getAvailableEditors,"00b93da732303a83722bd916c65267329745912186",()=>e.getActualWsPort,"00f3a5ac6d0359935f53136426cb705d31add6dfce",()=>b.getWorkspacesWithProjects,"00f566bdb4d932daa40b6e7d5a8600739be31e9666",0,$,"00fb83e94a084a727104d92f4030891ffe21394ea2",0,T,"400e98afbf4be9265fb00eb09ee7003b696f2a2e65",()=>g.getProductGroups,"40201142c8434d2a9d8d0e9b1a740240cfb9586985",()=>k.deletePrompt,"402f1c8fea387ae3e4b8b95a7585573fa8e977f439",()=>i.installExtension,"403bbb3a0c4e5987756db5b8775884827c4f3dee27",()=>i.uninstallExtension,"40400da8b2732c30eb841d6d056afb8d8f091348ff",0,s,"405b7ce520badaa31ddeeeb003d8c7ecaa75ff8ceb",0,U,"405fb31348735d530b2fbd1bfa3bd32338c9c00fca",0,V,"4062e1805dec87d49081686a99971d70b7d081d1ba",0,Y,"406473195132668ce9f5012a6ba1be75726c26c67e",()=>g.createProductGroup,"40679167b977a899bb5e92182c20234d20acfa9786",()=>h.getVersionsForPicker,"4069cb12fc0a4402d5562cdb8d9ff6471eee7db186",()=>e.resolveGitLocalPathWithSource,"40754cf5b6c66131775e7b7110bda058637e4154fc",()=>f.checkMigrationSafety,"4080b7c93be76dae986f6275ea896a09088e9822ba",()=>c.deleteLabel,"4081190646dfd19e5905cd07949d52c1db0b9cd492",0,S,"408b0b902f8e30950bae165365050794717fcfbf4d",()=>j.dispatchTaskCompletionEvent,"408dfa4996a800c25f14c60104920161daea7bfa95",()=>b.reorderWorkspaces,"408ec1c9fc327f6f8c68102f3d511371bcc13100e7",0,aa,"4090c37dd20c2677b3504fe2b36ade239e1bed3a98",()=>k.createPrompt,"409514d2e6ba0203c3eef2ce4c33c92eda1ac6df5b",()=>j.setOnboardingProgress,"409ca1c6b55313919ac08fa17a459e37f90236f264",()=>k.getPrompts,"40b0f9516a5d0a08eb43d0676e627fc6fe9fe50a1a",()=>b.createProject,"40b2454e5a6e7279a521ca122e07c0cd09921f168e",()=>b.deleteWorkspace,"40b667c41c647e1a354912820b3477b34bfcc0ff05",0,W,"40bdf69eb4e028eade59c9767eb683c9fb6b4f6b8f",()=>i.checkExtension,"40c81ae66fb2ac3dd2e0eaeb48b9679649a1db7316",()=>e.resolveGitLocalPath,"40ce353f7ed8ef76ed1e60f66cb5d4a20fa8e9b47d",()=>ab.testHarnessTarget,"40d067b565f43c671ffdfc1085c9b0d4e9e8ecea72",()=>c.createLabel,"40d83973e43b58905a590e6e82361b1dd9c6de3fe9",()=>e.getConfigValues,"40e5b166685c935cb04b28ab1d5e039878b35e11da",()=>c.getLabelsForWorkspace,"40f1e601320b4b90d15cada0795af8373777f5ae7e",()=>b.createWorkspace,"6001484b600fdf5a61d003498751d8a8d6d8c8bd73",()=>f.migrateProjectPath,"60142d3511951329d3e470987027ec7fc4e43f8477",()=>d.globalSearch,"601e7d7ae616cc21a01819f777ca5d40bb12b2bbd6",()=>e.setConfigValue,"6021f728b947809f3764db1dcdeb0c25f933a3a0c5",()=>b.updateWorkspace,"6031d4e7ada91646ecb2f99fe9cd65e9da30957c74",()=>f.analyzeProjectDirectory,"6064a8a5437a018ac0f0cdedd125941869938d1ea6",0,z,"6074118a8dceb454a2fcacbfbb05530a32522be2d7",()=>g.setProjectGroup,"607eaa281a5072d41ad4d099e8ccafb2d5e0da2b19",()=>j.setOnboardingExtensions,"60a4ada82f71564fac6a21d2e1acd2b54d08785d4f",()=>j.completeOnboarding,"60ce39e32c91bb6f8bbfcd28b776e54cfeabe8c9f7",()=>e.getConfigValue,"60f2d33f3f63dff7c9c024b2dfa8449c54e7beeb7d",()=>k.updatePrompt],765847)}];
5
+
6
+ //# sourceMappingURL=_0bdyusg._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[10390,a=>{"use strict";var b=a.i(421992);a.s(["ChevronRight",()=>b.default])},912868,a=>{"use strict";let b=(0,a.i(711796).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",0,b],912868)},899896,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("40d83973e43b58905a590e6e82361b1dd9c6de3fe9",b.callServer,void 0,b.findSourceMapURL,"getConfigValues");a.s(["getConfigValues",0,c])},786304,a=>{"use strict";var b=a.i(475295),c=a.i(213200),d=a.i(142261),e=a.i(368114);let f=(0,d.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"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){var i;return i={defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}},(0,c.useRenderElement)(i.defaultTagName??"div",i,i)}],786304)},161664,a=>{"use strict";let b=(0,a.i(711796).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"}]]);a.s(["RotateCcw",0,b],161664)},425026,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("4041c848fb76545498a6d488a044d4a61b6162b075",b.callServer,void 0,b.findSourceMapURL,"openInTerminal");a.s(["openInTerminal",0,c])},579834,a=>{"use strict";var b=a.i(728778),c=a.i(368114);a.s(["EmptyState",0,function({icon:a,title:d,description:e,action:f,className:g}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",g),children:[a&&(0,b.jsx)(a,{className:"h-10 w-10 text-muted-foreground/40"}),(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:d}),e&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:e}),f&&(0,b.jsx)("div",{className:"mt-2",children:f})]})}])},116563,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("40cc116fdbafda50a73d43dc99883a0b2575d177c1",b.callServer,void 0,b.findSourceMapURL,"stopPtyExecution");a.s(["stopPtyExecution",0,c])},262227,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("40e995770f40d331eb50e4f3328bc90825b88448f0",b.callServer,void 0,b.findSourceMapURL,"checkWorktreeClean");a.s(["checkWorktreeClean",0,c])},554468,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("6042ec18c48616a634f1ac5f6735201d6b1328062a",b.callServer,void 0,b.findSourceMapURL,"updateTaskStatus");a.s(["updateTaskStatus",0,c])},88757,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(553798),e=a.i(814574),f=a.i(699570);let g=(0,a.i(711796).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"}]]);var h=a.i(704494);a.s(["TaskMergeConfirmDialog",0,function({open:a,onOpenChange:i,taskId:j,taskTitle:k,baseBranch:l,fileCount:m,commitCount:n,commitLog:o=[],onMergeComplete:p}){let q=(0,d.useRouter)(),[r,s]=(0,c.useState)(!1),[t,u]=(0,c.useState)(null),v=async()=>{s(!0),u(null);try{let a=await fetch(`/api/tasks/${j}/merge`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(a.ok){i(!1),p(),q.refresh();return}let b=await a.json().catch(()=>({error:"Merge failed"}));409===a.status?u(`Merge conflicts detected: ${Array.isArray(b.conflictFiles)?b.conflictFiles.join(", "):"unknown files"}`):u(b.error??"Merge failed")}catch{u("Network error — merge failed")}finally{s(!1)}};return(0,b.jsx)(e.Dialog,{open:a,onOpenChange:i,children:(0,b.jsxs)(e.DialogContent,{showCloseButton:!0,className:"sm:max-w-md",children:[(0,b.jsx)(e.DialogHeader,{children:(0,b.jsxs)(e.DialogTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(g,{className:"h-4 w-4 text-emerald-400"}),"Confirm Merge"]})}),(0,b.jsxs)("div",{className:"space-y-3 py-2",children:[(0,b.jsxs)("div",{className:"rounded-lg border border-border bg-muted/30 p-3 space-y-2.5",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Target branch"}),(0,b.jsx)("code",{className:"text-xs font-mono bg-muted px-2 py-0.5 rounded text-foreground",children:l})]}),(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Changed files"}),(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:m})]}),(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Commits"}),(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:n})]})]}),o.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground mb-1 block",children:"Commits"}),(0,b.jsx)("div",{className:"rounded-md border border-border bg-muted/30 p-2 space-y-1 max-h-32 overflow-y-auto",children:o.map((a,c)=>(0,b.jsx)("div",{className:"text-xs font-mono text-foreground/80",children:a},c))})]}),t&&(0,b.jsx)("div",{className:"rounded-lg border border-red-500/20 bg-red-500/10 px-3 py-2",children:(0,b.jsx)("p",{className:"text-xs text-red-400",children:t})})]}),(0,b.jsxs)(e.DialogFooter,{children:[(0,b.jsx)(f.Button,{variant:"outline",onClick:()=>i(!1),disabled:r,children:"Cancel"}),(0,b.jsx)(f.Button,{onClick:v,disabled:r,className:"gap-2",children:r?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.Loader2,{className:"h-4 w-4 animate-spin"}),"Merging..."]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g,{className:"h-4 w-4"}),"Confirm Merge"]})})]})]})})}],88757)},796510,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("60e3b1cc6c297b47e9f430860e96636110f7d5415e",b.callServer,void 0,b.findSourceMapURL,"commitWorktreeChanges");a.s(["commitWorktreeChanges",0,c])},799250,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("602c786af9fab79fbafd04b467da0b832dc9e41d15",b.callServer,void 0,b.findSourceMapURL,"resumePtyExecution");a.s(["resumePtyExecution",0,c])},333033,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("7cac708ed3bb7d685da2c7f993d03b00b9ca296045",b.callServer,void 0,b.findSourceMapURL,"startPtyExecution");a.s(["startPtyExecution",0,c])}];
2
+
3
+ //# sourceMappingURL=_0c8-9m9._.js.map
@@ -27,4 +27,4 @@ Rules:
27
27
  - insights array can be empty if nothing notable
28
28
  - Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},719041,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0ti8vng._.js","server/chunks/ssr/07-d_@anthropic-ai_claude-agent-sdk_sdk_mjs_0myippv._.js"].map(b=>a.l(b))).then(()=>b(845454)))}];
29
29
 
30
- //# sourceMappingURL=_0xnn~jq._.js.map
30
+ //# sourceMappingURL=_0gcox_6._.js.map
@@ -27,4 +27,4 @@ Rules:
27
27
  - insights array can be empty if nothing notable
28
28
  - Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},719041,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0ti8vng._.js","server/chunks/ssr/07-d_@anthropic-ai_claude-agent-sdk_sdk_mjs_0myippv._.js"].map(b=>a.l(b))).then(()=>b(845454)))}];
29
29
 
30
- //# sourceMappingURL=_01fdzzv._.js.map
30
+ //# sourceMappingURL=_0gte_c4._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[264589,a=>{"use strict";let b=(0,a.i(711796).default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);a.s(["Package",0,b],264589)},786304,a=>{"use strict";var b=a.i(475295),c=a.i(213200),d=a.i(142261),e=a.i(368114);let f=(0,d.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"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){var i;return i={defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}},(0,c.useRenderElement)(i.defaultTagName??"div",i,i)}],786304)},161664,a=>{"use strict";let b=(0,a.i(711796).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"}]]);a.s(["RotateCcw",0,b],161664)},648512,a=>{"use strict";let b=(0,a.i(711796).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",0,b],648512)},509405,a=>{"use strict";let b=(0,a.i(711796).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"}]]);a.s(["Eye",0,b],509405)},10390,a=>{"use strict";var b=a.i(421992);a.s(["ChevronRight",()=>b.default])},912868,a=>{"use strict";let b=(0,a.i(711796).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",0,b],912868)},899896,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("40d83973e43b58905a590e6e82361b1dd9c6de3fe9",b.callServer,void 0,b.findSourceMapURL,"getConfigValues");a.s(["getConfigValues",0,c])},412783,22761,a=>{"use strict";var b=a.i(728778),c=a.i(368114);a.s(["Label",0,function({className:a,...d}){return(0,b.jsx)("label",{"data-slot":"label",className:(0,c.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...d})}],412783);let d=(0,a.i(711796).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",0,d],22761)},344393,a=>{"use strict";let b=(0,a.i(711796).default)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);a.s(["Send",0,b],344393)},963326,a=>{"use strict";let b=(0,a.i(711796).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);a.s(["ExternalLink",0,b],963326)},324954,a=>{"use strict";let b=(0,a.i(711796).default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);a.s(["Upload",0,b],324954)},268317,a=>{"use strict";var b=a.i(374637);a.s(["useScrollOverflow",0,function(a,c=[]){let[d,e]=(0,b.useState)({canScrollLeft:!1,canScrollRight:!1}),f=(0,b.useCallback)(()=>{let b=a.current;b&&e({canScrollLeft:b.scrollLeft>0,canScrollRight:b.scrollLeft<b.scrollWidth-b.clientWidth-1})},[a]);return(0,b.useEffect)(()=>{let b=a.current;if(!b)return;f(),b.addEventListener("scroll",f);let c=new ResizeObserver(f);return c.observe(b),window.addEventListener("resize",f),()=>{b.removeEventListener("scroll",f),c.disconnect(),window.removeEventListener("resize",f)}},[f,...c]),d}])},913284,761818,468862,a=>{"use strict";var b=a.i(884664);a.s(["CheckCircle2",()=>b.default],913284);let c=(0,a.i(711796).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"}]]);a.s(["default",0,c],761818),a.s(["XCircle",0,c],468862)},336042,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("409ca1c6b55313919ac08fa17a459e37f90236f264",b.callServer,void 0,b.findSourceMapURL,"getPrompts");a.s(["getPrompts",0,c])},811344,a=>{"use strict";var b=a.i(622945);a.s(["AlertTriangle",()=>b.default])},627141,a=>{"use strict";var b=a.i(374637),c=a.i(87309);a.s(["useExtension",0,function(a){let d=(0,b.useContext)(c.ExtensionContext);if(!d)throw Error("useExtension must be used inside <ExtensionProvider>");return{status:d.statusMap[a],loading:d.loading,isInstalling:d.installing.has(a),install:()=>d.install(a),uninstall:()=>d.uninstall(a),refresh:()=>d.refresh(a)}}])}];
2
+
3
+ //# sourceMappingURL=_0hyn4md._.js.map
@@ -27,4 +27,4 @@ Rules:
27
27
  - insights array can be empty if nothing notable
28
28
  - Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},818992,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(761469),e=a.i(897667),f=a.i(103071);function g(a,c){return(0,b.execFileSync)("git",a,{cwd:c,timeout:1e4,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}function h(a,b){if(b)return b;for(let b of["main","master","develop"])try{return g(["merge-base","HEAD",b],a)}catch{}return null}function i(a){if(!a)return null;let b=a.split("\n").filter(Boolean);if(0===b.length)return null;let c=b[0].replace(/^[a-f0-9]+\s+/,"");return 1===b.length?c:`${b.length} commits: ${c}`}async function j(a,b,f,k,l,m=null){try{let b;console.error(`[captureExecutionSummary] Starting: exec=${a.slice(0,8)} exit=${f} buffer=${k.length}chars worktree=${l} fork=${m?.slice(0,8)??"none"}`);let j=null,n=null,o=null;if(l&&(0,c.existsSync)(l))try{if(g(["rev-parse","--git-dir"],l),j=function(a,b){try{let c=h(a,b);if(!c)return null;return g(["log","--oneline",`${c}..HEAD`],a)||null}catch{return null}}(l,m),(n=function(a,b){try{let c=h(a,b);if(!c)return null;let d=g(["diff","--stat",`${c}..HEAD`],a);if(!d)return null;return function(a){let b=a.split("\n"),c=b[b.length-1];if(!c)return null;let d=c.match(/(\d+)\s+files?\s+changed/),e=c.match(/(\d+)\s+insertions?\(\+\)/),f=c.match(/(\d+)\s+deletions?\(-\)/);return d||e||f?{commits:0,filesChanged:d?parseInt(d[1],10):0,insertions:e?parseInt(e[1],10):0,deletions:f?parseInt(f[1],10):0}:null}(d)}catch{return null}}(l,m))&&j){let a=j.split("\n").filter(Boolean).length;n={...n,commits:a}}o=i(j)}catch{}let p=(b=k.replace(/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g,"").replace(/\x1b\[[0-9;?]*[A-Za-z]/g,"").replace(/\x1b[^[\]()][^\x1b]*/g,"").replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"").replace(/\n{3,}/g,"\n\n").trim()).length<=10240?b:b.slice(b.length-10240);await d.db.taskExecution.update({where:{id:a},data:{summary:o??(j?i(j):null),gitLog:j??null,gitStats:n?JSON.stringify(n):null,exitCode:f,terminalLog:p||null}}),p&&l&&(console.error("[captureExecutionSummary] Starting background AI summary..."),(0,e.generateSummaryFromLog)(p,l).then(async b=>{b&&(console.error(`[captureExecutionSummary] AI summary ready: ${b.slice(0,80)}`),await d.db.taskExecution.update({where:{id:a},data:{summary:b}}))}).catch(a=>{console.error("[captureExecutionSummary] Background AI summary failed:",a)}))}catch(a){console.error("[captureExecutionSummary] Failed to capture summary:",a)}}async function k(a){try{let b=await d.db.task.findUnique({where:{id:a},select:{projectId:!0,executions:{orderBy:{createdAt:"desc"},select:{id:!0,terminalLog:!0,worktreePath:!0,summary:!0}}}});if(!b||0===b.executions.length)return;let c="",g=null,h=[];for(let a of b.executions)a.terminalLog&&(c+=a.terminalLog+"\n---\n"),a.summary&&h.push(a.summary),!g&&a.worktreePath&&(g=a.worktreePath);if(!(c=c.slice(-8e3)).trim())return;let i=h.join("\n"),j=g||process.cwd();console.error(`[captureTaskDreaming] Starting for task=${a.slice(0,8)}, ${b.executions.length} executions`);let k=await (0,e.generateDreamingInsight)(c,j,i);if(!k||!k.shouldCreateNote)return void console.error("[captureTaskDreaming] No note needed");let l=await d.db.projectNote.create({data:{title:k.noteTitle||k.summary.slice(0,50),content:function(a){let b=[];if(b.push("## Summary"),b.push(a.summary),b.push(""),a.insights.length>0)for(let c of(b.push("## Insights"),a.insights))b.push(`- **[${c.type}]**: ${c.content}`);return b.join("\n")}(k),category:f.SESSION_INSIGHT_CATEGORY,projectId:b.projectId,taskId:a}}),m=b.executions[0].id;await d.db.taskExecution.update({where:{id:m},data:{insightNoteId:l.id}}),console.error(`[captureTaskDreaming] Note created: ${l.id}`)}catch(a){console.error("[captureTaskDreaming] Failed:",a)}}a.s(["captureExecutionSummary",0,j,"captureTaskDreaming",0,k])},719041,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0ti8vng._.js","server/chunks/ssr/07-d_@anthropic-ai_claude-agent-sdk_sdk_mjs_0myippv._.js"].map(b=>a.l(b))).then(()=>b(845454)))}];
29
29
 
30
- //# sourceMappingURL=_13_b8hh._.js.map
30
+ //# sourceMappingURL=_0lqjtwo._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[345275,a=>{"use strict";var b=a.i(244256),c=a.i(495370),d=a.i(827981),e=a.i(980999),f=a.i(101844),g=a.i(491890),h=a.i(748383),i=a.i(563736),j=a.i(4634);a.s([],475495),a.i(475495),a.s(["004cbab2b0471abdbcfcc5ef54e684df499d08b135",()=>j.getOnboardingStatus,"0056908f664e1cfc956a914cdb7e860a14e02a1a68",()=>i.listAllExtensionStatus,"00b93da732303a83722bd916c65267329745912186",()=>e.getActualWsPort,"00dfb0119b4ff56d4a7c020b1358ee80ed183d110c",()=>b.getWorkspacesWithActiveTasks,"00f3a5ac6d0359935f53136426cb705d31add6dfce",()=>b.getWorkspacesWithProjects,"4000be6ee04dad4eb6d9cc5687098fcfad75064576",()=>b.getRecentLocalProjects,"400e98afbf4be9265fb00eb09ee7003b696f2a2e65",()=>g.getProductGroups,"402f1c8fea387ae3e4b8b95a7585573fa8e977f439",()=>i.installExtension,"403bbb3a0c4e5987756db5b8775884827c4f3dee27",()=>i.uninstallExtension,"406473195132668ce9f5012a6ba1be75726c26c67e",()=>g.createProductGroup,"40679167b977a899bb5e92182c20234d20acfa9786",()=>h.getVersionsForPicker,"4069cb12fc0a4402d5562cdb8d9ff6471eee7db186",()=>e.resolveGitLocalPathWithSource,"40754cf5b6c66131775e7b7110bda058637e4154fc",()=>f.checkMigrationSafety,"407cec71f24fa6ee1e09ae4734807281e5c25c9cf6",()=>b.deleteProject,"4080b7c93be76dae986f6275ea896a09088e9822ba",()=>c.deleteLabel,"408b0b902f8e30950bae165365050794717fcfbf4d",()=>j.dispatchTaskCompletionEvent,"408dfa4996a800c25f14c60104920161daea7bfa95",()=>b.reorderWorkspaces,"408ee86f0a55dbf6c6dd7345f577df4101d14c0dac",()=>b.getOrCreateTowerTaskId,"408f3b192752c45f6ccdaeac6c7a8dff846322f4da",()=>b.getWorkspaceById,"409514d2e6ba0203c3eef2ce4c33c92eda1ac6df5b",()=>j.setOnboardingProgress,"40b0f9516a5d0a08eb43d0676e627fc6fe9fe50a1a",()=>b.createProject,"40b2454e5a6e7279a521ca122e07c0cd09921f168e",()=>b.deleteWorkspace,"40ba7c959d8bb1d9168757d910c6b7d6fec8386e52",()=>b.getWorkspacesWithRecentTasks,"40bdf69eb4e028eade59c9767eb683c9fb6b4f6b8f",()=>i.checkExtension,"40c81ae66fb2ac3dd2e0eaeb48b9679649a1db7316",()=>e.resolveGitLocalPath,"40d00e8a918533710289204fdaa3c787b6a4d4e671",()=>b.getProjectByLocalPath,"40d067b565f43c671ffdfc1085c9b0d4e9e8ecea72",()=>c.createLabel,"40d83973e43b58905a590e6e82361b1dd9c6de3fe9",()=>e.getConfigValues,"40e5b166685c935cb04b28ab1d5e039878b35e11da",()=>c.getLabelsForWorkspace,"40f1e601320b4b90d15cada0795af8373777f5ae7e",()=>b.createWorkspace,"6001484b600fdf5a61d003498751d8a8d6d8c8bd73",()=>f.migrateProjectPath,"60142d3511951329d3e470987027ec7fc4e43f8477",()=>d.globalSearch,"601e7d7ae616cc21a01819f777ca5d40bb12b2bbd6",()=>e.setConfigValue,"6021f728b947809f3764db1dcdeb0c25f933a3a0c5",()=>b.updateWorkspace,"6031d4e7ada91646ecb2f99fe9cd65e9da30957c74",()=>f.analyzeProjectDirectory,"6074118a8dceb454a2fcacbfbb05530a32522be2d7",()=>g.setProjectGroup,"607eaa281a5072d41ad4d099e8ccafb2d5e0da2b19",()=>j.setOnboardingExtensions,"60a4ada82f71564fac6a21d2e1acd2b54d08785d4f",()=>j.completeOnboarding,"60c07421cff1b8ce33eb98a3c351c3543ccfdf0dbb",()=>b.updateProject,"60ce39e32c91bb6f8bbfcd28b776e54cfeabe8c9f7",()=>e.getConfigValue],345275)},76052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_0bmg7ix._.js"].map(b=>a.l(b))).then(()=>b(492067)))},98813,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0e79g0v._.js"].map(b=>a.l(b))).then(()=>b(962620)))},507502,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_worktree_ts_06cucy3._.js"].map(b=>a.l(b))).then(()=>b(845427)))},752453,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0bl842b._.js"].map(b=>a.l(b))).then(()=>b(897667)))}];
2
+
3
+ //# sourceMappingURL=_0noar.v._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[344393,a=>{"use strict";let b=(0,a.i(711796).default)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);a.s(["Send",0,b],344393)},597083,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(704494);let e=(0,a.i(711796).default)("inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);var f=a.i(344393),g=a.i(952420),h=a.i(699570),i=a.i(951192),j=a.i(952313),k=a.i(780410);let l=(0,k.createServerReference)("404f54be117f4ffe2d40e9334d9c85540b7ff48d2e",k.callServer,void 0,k.findSourceMapURL,"getHarnessMessages"),m=(0,k.createServerReference)("6094047cde5e9fe23fb5d80389d5d1ab84f344c918",k.callServer,void 0,k.findSourceMapURL,"replyHarnessAsk"),n=(0,k.createServerReference)("4044242dcd79808ae42463a026ac551ecdd5d05ae9",k.callServer,void 0,k.findSourceMapURL,"ignoreHarnessAsk"),o=(0,k.createServerReference)("40720c16b7f246c40b455ab11acc32821ffbb9e102",k.callServer,void 0,k.findSourceMapURL,"dismissHarnessMessage"),p=["pending","answered","all"],q={ask:"harness.kind.ask",notify:"harness.kind.notify",done:"harness.kind.done",failed:"harness.kind.failed"},r={pending:"bg-amber-500/15 text-amber-500 ring-amber-500/25",answered:"bg-emerald-500/15 text-emerald-500 ring-emerald-500/25",muted:"bg-muted text-muted-foreground ring-border"};function s(a){let b=Date.now()-new Date(a).getTime(),c=Math.floor(b/6e4),d=Math.floor(b/36e5);return c<1?"just now":c<60?`${c}m`:d<24?`${d}h`:`${Math.floor(d/24)}d`}function t({m:a,badge:d,badgeLabel:e,onChanged:g}){let{t:k}=(0,i.useI18n)(),[l,p]=(0,c.useState)(""),[u,v]=(0,c.useTransition)(),w="ask"===a.kind&&"OPEN"===a.state,x="ask"!==a.kind,y=()=>{l.trim()&&v(async()=>{let b=await m(a.taskId,l.trim());b.ok?(j.toast.success(k("harness.toast.replySent")),p(""),g()):j.toast.error(b.error??k("harness.toast.replyFailed"))})};return(0,b.jsxs)("div",{className:`relative flex flex-col rounded-xl border bg-card p-4 ${u?"opacity-50":""}`,children:[(0,b.jsxs)("div",{className:"mb-2 flex items-start justify-between gap-2",children:[(0,b.jsx)("span",{className:"truncate text-sm font-medium text-foreground",title:a.taskTitle,children:a.taskTitle||k("harness.unknownTask")}),(0,b.jsx)("span",{className:`shrink-0 rounded-full px-2 py-0.5 text-[10px] font-medium ring-1 ${r[d]}`,children:e(d)})]}),(0,b.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-[11px] text-muted-foreground",children:[(0,b.jsx)("span",{children:k(q[a.kind]??"harness.kind.notify")}),(0,b.jsx)("span",{children:"·"}),(0,b.jsx)("span",{children:s(a.createdAt)})]}),(0,b.jsx)("p",{className:"whitespace-pre-wrap break-words text-sm text-secondary-foreground",children:a.content}),a.replyText&&(0,b.jsxs)("div",{className:"mt-2 rounded-lg bg-muted/30 px-3 py-2 text-xs text-foreground",children:[(0,b.jsxs)("span",{className:"text-muted-foreground",children:[k("harness.youReplied"),":"]}),a.replyText,a.repliedAt&&(0,b.jsxs)("span",{className:"ml-1 text-muted-foreground",children:["(",s(a.repliedAt),")"]})]}),w&&(0,b.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,b.jsx)("textarea",{value:l,onChange:a=>p(a.target.value),placeholder:k("harness.replyPlaceholder"),rows:2,className:"w-full resize-none rounded-lg border bg-muted/30 px-3 py-2 text-sm text-foreground outline-none focus:ring-1 focus:ring-primary/30",onKeyDown:a=>{"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&y()}}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)(h.Button,{onClick:y,disabled:!l.trim()||u,children:[(0,b.jsx)(f.Send,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:k("harness.action.send")})]}),(0,b.jsx)(h.Button,{variant:"outline",onClick:()=>v(async()=>{await n(a.id),g()}),disabled:u,className:"text-muted-foreground",children:k("harness.action.ignore")})]})]}),x&&(0,b.jsx)("div",{className:"mt-3 flex items-center gap-2",children:(0,b.jsx)(h.Button,{variant:"outline",onClick:()=>v(async()=>{await o(a.id),g()}),disabled:u,className:"text-muted-foreground",children:k("harness.action.dismiss")})})]})}a.s(["HarnessClient",0,function({initial:a}){let{t:f}=(0,i.useI18n)(),[j,k]=(0,c.useState)("pending"),[m,n]=(0,c.useState)(a),[o,q]=(0,c.useState)(!1),r=(0,c.useRef)(j);r.current=j;let s=(0,c.useCallback)(async a=>{try{let b=await l(a);r.current===a&&n(b)}catch{}},[]);(0,c.useEffect)(()=>{q(!0),s(j).finally(()=>q(!1))},[j,s]),(0,c.useEffect)(()=>{let a=setInterval(()=>s(r.current),4e3);return()=>clearInterval(a)},[s]);let u=a=>f(`harness.badge.${a}`);return(0,b.jsxs)("div",{className:"flex h-full flex-col bg-background",children:[(0,b.jsxs)("div",{className:"header-lg flex items-center gap-3 px-6 py-3",children:[(0,b.jsx)(g.BellRing,{className:"h-5 w-5 text-muted-foreground"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("h1",{className:"text-sm font-semibold text-foreground",children:f("harness.pageTitle")}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:f("harness.pageSubtitle")})]}),o&&(0,b.jsx)(d.Loader2,{className:"h-4 w-4 animate-spin text-muted-foreground"})]}),(0,b.jsx)("div",{className:"flex items-center gap-2 px-6 py-3",children:p.map(a=>(0,b.jsx)(h.Button,{variant:j===a?"default":"outline",onClick:()=>k(a),className:j===a?"":"text-muted-foreground",children:f(`harness.chip.${a}`)},a))}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-6 pb-6",children:0===m.length?(0,b.jsxs)("div",{className:"flex h-full flex-col items-center justify-center text-muted-foreground",children:[(0,b.jsx)(e,{className:"mb-3 h-10 w-10 opacity-40"}),(0,b.jsx)("p",{className:"text-sm",children:f("harness.empty")})]}):(0,b.jsx)("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-3",children:m.map(a=>(0,b.jsx)(t,{m:a,badge:function(a){if("ask"===a.kind){if("ANSWERED"===a.state)return"answered";if("OPEN"===a.state)return"pending"}return"muted"}(a),badgeLabel:u,onChanged:()=>s(r.current)},a.id))})})]})}],597083)}];
1
+ module.exports=[344393,a=>{"use strict";let b=(0,a.i(711796).default)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);a.s(["Send",0,b],344393)},597083,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(704494);let e=(0,a.i(711796).default)("inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);var f=a.i(344393),g=a.i(952420),h=a.i(699570),i=a.i(951192),j=a.i(952313),k=a.i(780410);let l=(0,k.createServerReference)("40d211353b7833c2ae38353e04bb2918452f5c636c",k.callServer,void 0,k.findSourceMapURL,"getHarnessMessages"),m=(0,k.createServerReference)("604385af475459f51473f69c26f7da9c0930aab4ff",k.callServer,void 0,k.findSourceMapURL,"replyHarnessAsk"),n=(0,k.createServerReference)("406246f3d910c4f47a49d61f99cfd34cf93bfbf9b7",k.callServer,void 0,k.findSourceMapURL,"ignoreHarnessAsk"),o=(0,k.createServerReference)("406d6378c28b82fefb66e726f3491aeebf820882d1",k.callServer,void 0,k.findSourceMapURL,"dismissHarnessMessage"),p=["pending","answered","all"],q={ask:"harness.kind.ask",notify:"harness.kind.notify",done:"harness.kind.done",failed:"harness.kind.failed"},r={pending:"bg-amber-500/15 text-amber-500 ring-amber-500/25",answered:"bg-emerald-500/15 text-emerald-500 ring-emerald-500/25",muted:"bg-muted text-muted-foreground ring-border"};function s(a){let b=Date.now()-new Date(a).getTime(),c=Math.floor(b/6e4),d=Math.floor(b/36e5);return c<1?"just now":c<60?`${c}m`:d<24?`${d}h`:`${Math.floor(d/24)}d`}function t({m:a,badge:d,badgeLabel:e,onChanged:g}){let{t:k}=(0,i.useI18n)(),[l,p]=(0,c.useState)(""),[u,v]=(0,c.useTransition)(),w="ask"===a.kind&&"OPEN"===a.state,x="ask"!==a.kind,y=()=>{l.trim()&&v(async()=>{let b=await m(a.taskId,l.trim());b.ok?(j.toast.success(k("harness.toast.replySent")),p(""),g()):j.toast.error(b.error??k("harness.toast.replyFailed"))})};return(0,b.jsxs)("div",{className:`relative flex flex-col rounded-xl border bg-card p-4 ${u?"opacity-50":""}`,children:[(0,b.jsxs)("div",{className:"mb-2 flex items-start justify-between gap-2",children:[(0,b.jsx)("span",{className:"truncate text-sm font-medium text-foreground",title:a.taskTitle,children:a.taskTitle||k("harness.unknownTask")}),(0,b.jsx)("span",{className:`shrink-0 rounded-full px-2 py-0.5 text-[10px] font-medium ring-1 ${r[d]}`,children:e(d)})]}),(0,b.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-[11px] text-muted-foreground",children:[(0,b.jsx)("span",{children:k(q[a.kind]??"harness.kind.notify")}),(0,b.jsx)("span",{children:"·"}),(0,b.jsx)("span",{children:s(a.createdAt)})]}),(0,b.jsx)("p",{className:"whitespace-pre-wrap break-words text-sm text-secondary-foreground",children:a.content}),a.replyText&&(0,b.jsxs)("div",{className:"mt-2 rounded-lg bg-muted/30 px-3 py-2 text-xs text-foreground",children:[(0,b.jsxs)("span",{className:"text-muted-foreground",children:[k("harness.youReplied"),":"]}),a.replyText,a.repliedAt&&(0,b.jsxs)("span",{className:"ml-1 text-muted-foreground",children:["(",s(a.repliedAt),")"]})]}),w&&(0,b.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,b.jsx)("textarea",{value:l,onChange:a=>p(a.target.value),placeholder:k("harness.replyPlaceholder"),rows:2,className:"w-full resize-none rounded-lg border bg-muted/30 px-3 py-2 text-sm text-foreground outline-none focus:ring-1 focus:ring-primary/30",onKeyDown:a=>{"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&y()}}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)(h.Button,{onClick:y,disabled:!l.trim()||u,children:[(0,b.jsx)(f.Send,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:k("harness.action.send")})]}),(0,b.jsx)(h.Button,{variant:"outline",onClick:()=>v(async()=>{await n(a.id),g()}),disabled:u,className:"text-muted-foreground",children:k("harness.action.ignore")})]})]}),x&&(0,b.jsx)("div",{className:"mt-3 flex items-center gap-2",children:(0,b.jsx)(h.Button,{variant:"outline",onClick:()=>v(async()=>{await o(a.id),g()}),disabled:u,className:"text-muted-foreground",children:k("harness.action.dismiss")})})]})}a.s(["HarnessClient",0,function({initial:a}){let{t:f}=(0,i.useI18n)(),[j,k]=(0,c.useState)("pending"),[m,n]=(0,c.useState)(a),[o,q]=(0,c.useState)(!1),r=(0,c.useRef)(j);r.current=j;let s=(0,c.useCallback)(async a=>{try{let b=await l(a);r.current===a&&n(b)}catch{}},[]);(0,c.useEffect)(()=>{q(!0),s(j).finally(()=>q(!1))},[j,s]),(0,c.useEffect)(()=>{let a=setInterval(()=>s(r.current),4e3);return()=>clearInterval(a)},[s]);let u=a=>f(`harness.badge.${a}`);return(0,b.jsxs)("div",{className:"flex h-full flex-col bg-background",children:[(0,b.jsxs)("div",{className:"header-lg flex items-center gap-3 px-6 py-3",children:[(0,b.jsx)(g.BellRing,{className:"h-5 w-5 text-muted-foreground"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("h1",{className:"text-sm font-semibold text-foreground",children:f("harness.pageTitle")}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:f("harness.pageSubtitle")})]}),o&&(0,b.jsx)(d.Loader2,{className:"h-4 w-4 animate-spin text-muted-foreground"})]}),(0,b.jsx)("div",{className:"flex items-center gap-2 px-6 py-3",children:p.map(a=>(0,b.jsx)(h.Button,{variant:j===a?"default":"outline",onClick:()=>k(a),className:j===a?"":"text-muted-foreground",children:f(`harness.chip.${a}`)},a))}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-6 pb-6",children:0===m.length?(0,b.jsxs)("div",{className:"flex h-full flex-col items-center justify-center text-muted-foreground",children:[(0,b.jsx)(e,{className:"mb-3 h-10 w-10 opacity-40"}),(0,b.jsx)("p",{className:"text-sm",children:f("harness.empty")})]}):(0,b.jsx)("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-3",children:m.map(a=>(0,b.jsx)(t,{m:a,badge:function(a){if("ask"===a.kind){if("ANSWERED"===a.state)return"answered";if("OPEN"===a.state)return"pending"}return"muted"}(a),badgeLabel:u,onChanged:()=>s(r.current)},a.id))})})]})}],597083)}];
2
2
 
3
3
  //# sourceMappingURL=_0os43sb._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[161181,a=>{"use strict";let b=new Set(["png","jpg","jpeg","gif","webp","svg","bmp","ico","avif","apng"]);a.s(["isImageAsset",0,function(a,c){if(c?.startsWith("image/"))return!0;let d=a.split(".").pop()?.toLowerCase();return!!d&&b.has(d)},"localPathToApiUrl",0,function(a){let b=a.replace(/\\/g,"/").match(/\/assets\/([^/]+)\/([^/]+)$/);return b?`/api/files/assets/${b[1]}/${b[2]}`:a}])},532615,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(986099),e=a.i(54384),f=a.i(912868),g=a.i(10390),h=a.i(91756);let i=(0,a.i(711796).default)("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);var j=a.i(161664),k=a.i(951192);function l({children:a,onClick:c,title:d,disabled:e,...f}){return(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),e||c()},title:d,disabled:e,className:"inline-flex h-8 w-8 items-center justify-center rounded-md text-white/80 hover:bg-white/15 hover:text-white disabled:opacity-30 disabled:hover:bg-transparent disabled:hover:text-white/80 transition-colors",...f,children:a})}a.s(["ImageLightbox",0,function({imageUrl:a,filename:m,open:n,onOpenChange:o,assets:p,currentIndex:q,onIndexChange:r}){let{t:s}=(0,k.useI18n)(),[t,u]=(0,c.useState)(1),[v,w]=(0,c.useState)({x:0,y:0}),[x,y]=(0,c.useState)(!1),z=(0,c.useRef)(null),[A,B]=(0,c.useState)(!1),C=!!p&&p.length>1&&"number"==typeof q&&!!r,D=C&&q>0,E=C&&q<p.length-1,F=C?p.length:0,G=F>0?Math.ceil(F/10):0,H=C?Math.floor(q/10):0,I=10*H,J=Math.min(I+10,F),K=G>1,L=C&&H>0,M=C&&H<G-1;(0,c.useEffect)(()=>{B(!0)},[]),(0,c.useEffect)(()=>{u(1),w({x:0,y:0})},[a]),(0,c.useEffect)(()=>{if(!n)return;let a=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=a}},[n]);let N=(0,c.useCallback)(()=>o(!1),[o]),O=(0,c.useCallback)(()=>{C&&D&&r(q-1)},[C,D,r,q]),P=(0,c.useCallback)(()=>{C&&E&&r(q+1)},[C,E,r,q]),Q=(0,c.useCallback)(()=>{C&&L&&r((H-1)*10)},[C,L,r,H]),R=(0,c.useCallback)(()=>{C&&M&&r(Math.min((H+1)*10,F-1))},[C,M,r,H,F]),S=(0,c.useCallback)(()=>{u(a=>Math.min(8,1.25*a))},[]),T=(0,c.useCallback)(()=>{u(a=>{let b=Math.max(.1,a/1.25);return b<=1&&w({x:0,y:0}),b})},[]),U=(0,c.useCallback)(()=>{u(1),w({x:0,y:0})},[]);(0,c.useEffect)(()=>{if(!n)return;let a=a=>{switch(a.key){case"Escape":a.preventDefault(),N();break;case"ArrowLeft":C&&(a.preventDefault(),O());break;case"ArrowRight":C&&(a.preventDefault(),P());break;case"+":case"=":a.preventDefault(),S();break;case"-":case"_":a.preventDefault(),T();break;case"0":a.preventDefault(),U()}};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[n,C,N,O,P,S,T,U]);let V=(0,c.useRef)(!1),W=()=>{x&&y(!1),z.current=null},X=x?"cursor-grabbing":"cursor-grab";if(!n||!A)return null;let Y=(0,b.jsxs)("div",{className:"fixed inset-0 z-[100] bg-black/70 dark:bg-black/40 backdrop-blur-md",role:"dialog","aria-modal":"true","aria-label":s("assets.lightbox.zoomFit"),children:[(0,b.jsxs)("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 max-w-[80vw] truncate rounded-md bg-black/40 px-3 py-1 text-xs text-white/80 backdrop-blur-sm pointer-events-none",children:[m,C?` \xb7 ${q+1} / ${p.length}`:""]}),(0,b.jsx)("div",{className:`absolute inset-0 flex items-center justify-center overflow-hidden select-none ${X}`,onClick:a=>{a.target===a.currentTarget&&N()},onWheel:a=>{a.preventDefault();let b=-a.deltaY>0?1.25:.8;u(a=>{let c=Math.min(8,Math.max(.1,a*b));return c<=1&&w({x:0,y:0}),c})},children:a&&(0,b.jsx)("img",{src:a,alt:m,onClick:a=>{a.stopPropagation(),V.current&&(V.current=!1)},onPointerDown:a=>{0===a.button&&(a.stopPropagation(),V.current=!1,a.target.setPointerCapture?.(a.pointerId),z.current={x:a.clientX,y:a.clientY,panX:v.x,panY:v.y},y(!0))},onPointerMove:a=>{if(!z.current)return;let b=a.clientX-z.current.x,c=a.clientY-z.current.y;Math.abs(b)+Math.abs(c)>5&&(V.current=!0),x&&w({x:z.current.panX+b,y:z.current.panY+c})},onPointerUp:W,onPointerLeave:W,onPointerCancel:W,className:"max-h-[88vh] max-w-[92vw] object-contain pointer-events-auto",style:{transform:`translate3d(${v.x}px, ${v.y}px, 0) scale(${t})`,transformOrigin:"center center",transition:x?"none":"transform 120ms ease-out",willChange:x?"transform":"auto"},draggable:!1})}),(0,b.jsxs)("div",{className:"absolute bottom-4 left-1/2 -translate-x-1/2 z-10 flex flex-col items-center gap-2 max-w-[92vw]",onClick:a=>a.stopPropagation(),children:[C&&(0,b.jsxs)("div",{className:"flex items-center gap-1 rounded-lg bg-black/50 px-1.5 py-1.5 backdrop-blur-md ring-1 ring-white/10 max-w-[92vw]",children:[K&&(0,b.jsx)(l,{onClick:Q,title:`${s("assets.lightbox.prev")} (-10)`,"aria-label":`${s("assets.lightbox.prev")} (-10)`,disabled:!L,children:(0,b.jsx)(h.ChevronsLeft,{className:"h-4 w-4"})}),(0,b.jsx)(l,{onClick:O,title:s("assets.lightbox.prev"),"aria-label":s("assets.lightbox.prev"),disabled:!D,children:(0,b.jsx)(f.ChevronLeft,{className:"h-4 w-4"})}),(0,b.jsx)("div",{className:"flex items-center gap-1.5",children:p.slice(I,J).map((a,c)=>{let d=I+c,e=d===q;return(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),e||r(d)},title:a.filename,className:`shrink-0 h-12 w-12 overflow-hidden rounded-md transition-all ${e?"ring-2 ring-white opacity-100 scale-105":"opacity-60 hover:opacity-100 ring-1 ring-white/20"}`,children:(0,b.jsx)("img",{src:a.url,alt:a.filename,className:"h-full w-full object-cover",loading:"lazy",draggable:!1})},a.url+d)})}),(0,b.jsx)(l,{onClick:P,title:s("assets.lightbox.next"),"aria-label":s("assets.lightbox.next"),disabled:!E,children:(0,b.jsx)(g.ChevronRight,{className:"h-4 w-4"})}),K&&(0,b.jsx)(l,{onClick:R,title:`${s("assets.lightbox.next")} (+10)`,"aria-label":`${s("assets.lightbox.next")} (+10)`,disabled:!M,children:(0,b.jsx)(i,{className:"h-4 w-4"})})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 rounded-lg bg-black/50 px-2 py-1.5 backdrop-blur-md ring-1 ring-white/10",children:[(0,b.jsxs)("span",{className:"px-2 text-xs text-white/80 tabular-nums select-none min-w-12 text-center",children:[Math.round(100*t),"%"]}),(0,b.jsx)(l,{onClick:U,title:s("assets.lightbox.reset"),"aria-label":s("assets.lightbox.reset"),disabled:1===t&&0===v.x&&0===v.y,children:(0,b.jsx)(j.RotateCcw,{className:"h-4 w-4"})}),(0,b.jsx)("div",{className:"mx-1 h-5 w-px bg-white/20"}),(0,b.jsx)(l,{onClick:N,title:s("assets.lightbox.close"),"aria-label":s("assets.lightbox.close"),children:(0,b.jsx)(e.X,{className:"h-4 w-4"})})]})]})]});return(0,d.createPortal)(Y,document.body)}],532615)},757942,950314,a=>{"use strict";var b=a.i(90393);a.s([],757942),a.s(["Streamdown",()=>b.C],950314)},894148,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(704494);a.i(757942);var e=a.i(950314),f=a.i(814574),g=a.i(951192);a.s(["TextPreviewDialog",0,function({url:a,filename:h,open:i,onOpenChange:j}){let{t:k}=(0,g.useI18n)(),[l,m]=(0,c.useState)(null),[n,o]=(0,c.useState)(!1),[p,q]=(0,c.useState)(null);(0,c.useEffect)(()=>{if(!i||!a){m(null),q(null);return}let b=!1;return o(!0),q(null),m(null),fetch(a).then(a=>{let b=a.headers.get("content-length");if(b&&parseInt(b,10)>1048576)throw Error("FILE_TOO_LARGE");return a.text()}).then(a=>{if(a.length>1048576)throw Error("FILE_TOO_LARGE");b||(m(a),o(!1))}).catch(a=>{b||(a instanceof Error&&"FILE_TOO_LARGE"===a.message?q(k("assets.fileTooLarge")):q(k("assets.previewError")),o(!1))}),()=>{b=!0}},[i,a,k]);let r=h.split(".").pop()?.toLowerCase();return(0,b.jsx)(f.Dialog,{open:i,onOpenChange:j,children:(0,b.jsxs)(f.DialogContent,{className:"w-[min(960px,92vw)] max-w-none sm:max-w-none h-[85vh] max-h-[85vh] flex flex-col p-0 gap-0",children:[(0,b.jsx)("h3",{className:"text-sm font-medium truncate px-5 py-3 border-b border-border/50",children:h}),(0,b.jsx)("div",{className:"flex-1 overflow-auto px-5 py-4",children:(()=>{if(n)return(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 gap-2",children:[(0,b.jsx)(d.Loader2,{className:"size-5 animate-spin text-muted-foreground"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:k("assets.loadingPreview")})]});if(p)return(0,b.jsx)("p",{className:"text-sm text-destructive",children:p});if(null===l)return null;if("md"===r)return(0,b.jsx)("div",{className:"text-sm leading-relaxed",children:(0,b.jsx)(e.Streamdown,{children:l})});if("json"===r){let a;try{a=JSON.stringify(JSON.parse(l),null,2)}catch{a=l}return(0,b.jsx)("pre",{className:"font-mono text-xs whitespace-pre-wrap text-foreground",children:a})}return(0,b.jsx)("pre",{className:"font-mono text-sm whitespace-pre-wrap text-foreground",children:l})})()})]})})}])},665518,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("4058ae66cd921be7558aa21e5fac3c2e2103bac0f7",b.callServer,void 0,b.findSourceMapURL,"createTask");a.s(["createTask",0,c])},927999,841106,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("4046f529e8c428e2241817be901d5bb40af934ed33",b.callServer,void 0,b.findSourceMapURL,"getTaskNotes");a.s(["getTaskNotes",0,c],927999);let d=(0,b.createServerReference)("40722929cf9ba9b7a74ecc35294448e155ae0fa1c6",b.callServer,void 0,b.findSourceMapURL,"getTaskAssets");a.s(["getTaskAssets",0,d],841106)},113047,828317,297318,a=>{"use strict";let b=(0,a.i(711796).default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);a.s(["ChevronsUpDown",0,b],113047);var c=a.i(780410);let d=(0,c.createServerReference)("40a3fc966955de0833a4419f273a94ba4ab8422f3c",c.callServer,void 0,c.findSourceMapURL,"getProjectBranches");a.s(["getProjectBranches",0,d],828317);let e=(0,c.createServerReference)("4089ab7c3cf5ebfe89a4c928fc5ea86b3e5ebc72e8",c.callServer,void 0,c.findSourceMapURL,"fetchRemoteBranches");a.s(["fetchRemoteBranches",0,e],297318)},445798,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(814574),e=a.i(699570),f=a.i(866718),g=a.i(429246),h=a.i(412783),i=a.i(577565),j=a.i(668116),k=a.i(113047),l=a.i(580701),m=a.i(599209),n=a.i(419622),o=a.i(951192),p=a.i(828317),q=a.i(297318),r=a.i(780410);let s=(0,r.createServerReference)("408c226fa5c96e9fdf1704a52fd380683317c6dc45",r.callServer,void 0,r.findSourceMapURL,"getCurrentBranch");var t=a.i(899896);a.s(["CreateTaskDialog",0,function({open:a,onOpenChange:r,onSubmit:u,onUpdate:v,defaultStatus:w="TODO",editTask:x,editTaskLabelIds:y,prefillFromTask:z,labels:A,projectType:B,projectLocalPath:C,versions:D,defaultVersionId:E}){let F,[G,H]=(0,c.useState)(""),[I,J]=(0,c.useState)(""),[K,L]=(0,c.useState)("MEDIUM"),[M,N]=(0,c.useState)(""),[O,P]=(0,c.useState)([]),[Q,R]=(0,c.useState)([]),[S,T]=(0,c.useState)(!1),[U,V]=(0,c.useState)(""),[W,X]=(0,c.useState)(!1),[Y,Z]=(0,c.useState)(!0),[$,_]=(0,c.useState)(!1),[aa,ab]=(0,c.useState)(null),{t:ac}=(0,o.useI18n)();(0,c.useEffect)(()=>{if(!a||x)return;let b=!1;return(0,t.getConfigValues)(["task.defaultUseWorktree","task.defaultAutoStart"]).then(a=>{if(b)return;let c=a["task.defaultUseWorktree"],d=a["task.defaultAutoStart"];"boolean"==typeof c&&Z(c),"boolean"==typeof d&&_(d)}).catch(()=>{}),()=>{b=!0}},[a,x]);let ad=!!x,ae=!!C;return(0,c.useEffect)(()=>{x?(H(x.title),J(x.description??""),L(x.priority),N(x.subPath??""),P(y??[]),ab(x.versionId??null)):(z?(H(z.title??""),J(z.description??""),L(z.priority??"MEDIUM"),N(z.subPath??""),P(z.labelIds??[])):(H(""),J(""),L("MEDIUM"),N(""),P([])),ab(E??null))},[x,y,z,E]),(0,c.useEffect)(()=>{a||x||(H(""),J(""),L("MEDIUM"),N(""),P([]),R([]),V(""),X(!1),ab(E??null))},[a,x,E]),(0,c.useEffect)(()=>{a&&ae&&!x&&(T(!0),Promise.all([(0,p.getProjectBranches)(C),s(C)]).then(([a,b])=>{R(a);let c=z?.baseBranch??null;c&&a.includes(c)?V(c):V(b&&a.includes(b)?b:a[0]??""),T(!1),(0,q.fetchRemoteBranches)(C).then(()=>{setTimeout(()=>{(0,p.getProjectBranches)(C).then(a=>{R(a),V(b=>a.includes(b)?b:a[0]??"")}).catch(()=>{})},3e3)})}).catch(()=>{R([]),V(""),T(!1)}))},[a,ae,C,x,z]),(0,b.jsx)(d.Dialog,{open:a,onOpenChange:r,disablePointerDismissal:!0,children:(0,b.jsxs)(d.DialogContent,{className:"sm:max-w-md",children:[(0,b.jsx)(d.DialogHeader,{children:(0,b.jsx)(d.DialogTitle,{children:ad?ac("task.edit"):ac("task.create")})}),(0,b.jsxs)("div",{className:"space-y-4 py-2",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{htmlFor:"title",children:ac("task.title")}),(0,b.jsx)(f.Input,{id:"title","data-testid":"task-title",placeholder:ac("task.titlePlaceholder"),value:G,onChange:a=>H(a.target.value),onKeyDown:a=>"Enter"===a.key&&a.preventDefault()})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{htmlFor:"description",children:ac("task.description")}),(0,b.jsx)(g.Textarea,{id:"description",placeholder:ac("task.descPlaceholder"),rows:4,value:I,onChange:a=>J(a.target.value),className:"max-h-[200px] overflow-y-auto"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{htmlFor:"subPath",children:ac("task.subPath")}),(0,b.jsx)(f.Input,{id:"subPath",placeholder:ac("task.subPathPlaceholder"),value:M,onChange:a=>N(a.target.value)}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:ac("task.subPathHint")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{children:ac("task.priority")}),(0,b.jsx)("div",{className:"flex gap-1.5",children:["LOW","MEDIUM","HIGH","CRITICAL"].map(a=>{let c={LOW:{label:ac("task.priorityLow"),style:"text-slate-300 border-slate-500/30 bg-slate-500/10"},MEDIUM:{label:ac("task.priorityMedium"),style:"text-amber-300 border-amber-500/30 bg-amber-500/10"},HIGH:{label:ac("task.priorityHigh"),style:"text-orange-300 border-orange-500/30 bg-orange-500/10"},CRITICAL:{label:ac("task.priorityCritical"),style:"text-rose-300 border-rose-500/30 bg-rose-500/10"}}[a];return(0,b.jsx)("button",{type:"button",onClick:()=>L(a),className:`rounded-lg border px-3 py-1.5 text-xs font-medium transition-all ${K===a?`${c.style} ring-1 ring-current/20`:"border-border text-muted-foreground hover:bg-accent"}`,children:c.label},a)})})]}),ae&&!ad&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{children:ac("task.baseBranch")}),S?(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:ac("task.branchLoading")}):Q.length>0?(0,b.jsxs)(m.Popover,{open:W,onOpenChange:X,children:[(0,b.jsxs)(m.PopoverTrigger,{className:"flex w-full items-center gap-2 rounded-md border border-input bg-background px-3 py-2 text-sm font-mono transition-colors hover:bg-accent focus:outline-none focus:ring-1 focus:ring-ring","data-testid":"branch-selector",children:[(0,b.jsx)(i.GitBranch,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),(0,b.jsx)("span",{className:"flex-1 truncate text-left text-xs",title:U||void 0,children:U||ac("task.branchNone")}),(0,b.jsx)(k.ChevronsUpDown,{className:"h-3.5 w-3.5 shrink-0 opacity-50"})]}),(0,b.jsx)(m.PopoverContent,{className:"w-[min(32rem,90vw)] p-0",align:"start",children:(0,b.jsxs)(n.Command,{children:[(0,b.jsx)(n.CommandInput,{placeholder:ac("task.branchSearch")}),(0,b.jsxs)(n.CommandList,{children:[(0,b.jsx)(n.CommandEmpty,{children:ac("task.branchNone")}),(0,b.jsx)(n.CommandGroup,{children:Q.map(a=>(0,b.jsxs)(n.CommandItem,{value:a,onSelect:()=>{V(a),X(!1)},children:[(0,b.jsx)(i.GitBranch,{className:"h-3 w-3 text-muted-foreground shrink-0 mr-2"}),(0,b.jsx)("span",{className:"flex-1 truncate font-mono",title:a,children:a}),a===U&&(0,b.jsx)(j.Check,{className:"h-3 w-3 text-primary shrink-0 ml-auto"})]},a))})]})]})})]}):(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:ac("task.branchNone")}),(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-2",children:[(0,b.jsx)(h.Label,{className:"text-xs text-muted-foreground",children:ac("task.worktreeLabel")}),(0,b.jsx)("div",{className:"flex gap-1",children:[!0,!1].map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>Z(a),className:`rounded-md px-3 py-1 text-xs font-medium transition-colors ${Y===a?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:a?ac("task.worktreeYes"):ac("task.worktreeNo")},String(a)))})]}),(0,b.jsxs)("div",{className:"mt-2 flex items-center gap-2",children:[(0,b.jsx)(h.Label,{className:"text-xs text-muted-foreground",children:ac("task.autoStartLabel")}),(0,b.jsx)("div",{className:"flex gap-1",children:[!0,!1].map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>_(a),className:`rounded-md px-3 py-1 text-xs font-medium transition-colors ${$===a?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:a?ac("task.autoStartYes"):ac("task.autoStartNo")},String(a)))})]})]}),A.length>0&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{children:ac("task.labels")}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:A.map(a=>{let c=O.includes(a.id);return(0,b.jsx)("button",{type:"button",onClick:()=>{P(b=>c?b.filter(b=>b!==a.id):[...b,a.id])},className:`rounded-full px-2.5 py-1 text-xs font-medium transition-all ${c?"ring-1 ring-current/30":"opacity-50 hover:opacity-80"}`,style:{backgroundColor:a.color+"20",color:a.color,borderColor:c?a.color+"40":"transparent",borderWidth:"1px"},children:a.name},a.id)})})]}),(!ad||D&&D.length>0)&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{children:ac("version.picker.label")}),D&&D.length>0?(0,b.jsxs)(l.Select,{value:aa??"__none__",onValueChange:a=>ab("__none__"===a?null:a),children:[(0,b.jsx)(l.SelectTrigger,{children:(0,b.jsx)("span",{className:"truncate text-sm",children:aa&&(F=D.find(a=>a.id===aa))?F.isCurrent?`${F.number} \xb7 ${F.name} \xb7 ${ac("version.currentShort")}`:`${F.number} \xb7 ${F.name}`:ac("version.picker.none")})}),(0,b.jsxs)(l.SelectContent,{children:[(0,b.jsx)(l.SelectItem,{value:"__none__",children:ac("version.picker.none")}),D.map(a=>(0,b.jsx)(l.SelectItem,{value:a.id,children:a.isCurrent?`${a.number} \xb7 ${a.name} \xb7 ${ac("version.currentShort")}`:`${a.number} \xb7 ${a.name}`},a.id))]})]}):(0,b.jsx)("p",{className:"rounded-md border border-dashed border-border px-3 py-2 text-xs text-muted-foreground",children:ac("version.picker.empty")})]})]}),(0,b.jsxs)(d.DialogFooter,{children:[(0,b.jsx)(e.Button,{variant:"outline",onClick:()=>r(!1),children:ac("common.cancel")}),(0,b.jsx)(e.Button,{onClick:()=>{G.trim()&&(ad&&v?v(x.id,{title:G,description:I,priority:K,labelIds:O,subPath:M.trim()||"",versionId:aa}):u({title:G,description:I,priority:K,status:w,labelIds:O,...ae&&Y&&U?{baseBranch:U}:{},...M.trim()?{subPath:M.trim()}:{},versionId:aa,autoStart:$}),H(""),J(""),L("MEDIUM"),N(""),P([]),R([]),V(""),Z(!0),ab(null),r(!1))},className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:ad?ac("common.save"):ac("common.create")})]})]})})}],445798)},510650,a=>{"use strict";var b=a.i(728778);a.i(757942);var c=a.i(950314),d=a.i(814574),e=a.i(951192);a.s(["NotePreviewDialog",0,function({note:a,open:f,onOpenChange:g}){let{t:h}=(0,e.useI18n)();return(0,b.jsx)(d.Dialog,{open:f,onOpenChange:g,children:(0,b.jsxs)(d.DialogContent,{className:"w-[min(960px,92vw)] max-w-none sm:max-w-none h-[85vh] max-h-[85vh] flex flex-col p-0 gap-0",children:[(0,b.jsx)("h3",{className:"text-sm font-medium truncate px-5 py-3 border-b border-border/50",children:a?.title}),(0,b.jsx)("div",{className:"flex-1 overflow-auto px-5 py-4",children:a&&a.content.trim()?(0,b.jsx)("div",{className:"text-sm leading-relaxed",children:(0,b.jsx)(c.Streamdown,{children:a.content})}):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:h("taskPage.noteEmpty")})})]})})}])},521007,a=>{"use strict";a.s(["BOARD_COLUMNS",0,[{id:"TODO",label:"To Do",color:"bg-slate-400"},{id:"IN_PROGRESS",label:"In Progress",color:"bg-amber-400"},{id:"IN_REVIEW",label:"In Review",color:"bg-sky-400"},{id:"DONE",label:"Done",color:"bg-emerald-400"},{id:"CANCELLED",label:"Cancelled",color:"bg-rose-400"}],"NOTE_CATEGORIES_PRESET",0,["账号","环境","需求","备忘","任务笔记","经验洞见"],"PRIORITY_CONFIG",0,{LOW:{label:"低",color:"bg-slate-500/20 text-slate-300 border border-slate-500/30"},MEDIUM:{label:"中",color:"bg-amber-500/20 text-amber-300 border border-amber-500/30"},HIGH:{label:"高",color:"bg-orange-500/20 text-orange-300 border border-orange-500/30"},CRITICAL:{label:"紧急",color:"bg-rose-500/20 text-rose-300 border border-rose-500/30"}},"TOWER_LABEL_NAME",0,"Tower"])},87339,a=>{"use strict";let b=(0,a.i(711796).default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);a.s(["Paperclip",0,b],87339)}];
2
+
3
+ //# sourceMappingURL=_0rilhs1._.js.map
@@ -25,7 +25,7 @@ Rules:
25
25
  - Set shouldCreateNote=true ONLY if there are genuinely reusable insights (architectural decisions, non-obvious pitfalls, useful patterns, important tool discoveries)
26
26
  - Trivial sessions (simple formatting, single-line edits, routine commits) should have shouldCreateNote=false
27
27
  - insights array can be empty if nothing notable
28
- - Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},941750,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(761469),e=a.i(835032),f=a.i(897667);async function g(a){let e=await d.db.task.findUnique({where:{id:a},include:{project:!0}});if(!e)return{kind:"error",status:404,message:"Task not found"};if(!e.project?.localPath)return{kind:"error",status:400,message:"Project has no local path"};let f=e.baseBranch||"main",g=e.project.localPath,h=await d.db.taskExecution.findFirst({where:{taskId:a},orderBy:{createdAt:"desc"}});if(!h)return{kind:"empty"};let{forkCommit:i,mergeCommit:j,branchTipCommit:k,worktreeBranch:l,worktreePath:m}=h;if(j&&i){let a=k||j;return{kind:"ok",data:{diffCwd:g,diffTarget:`${i}..${a}`,baseRef:i,endRef:a,worktreePath:null}}}if(i&&m&&(0,c.existsSync)(m))return{kind:"ok",data:{diffCwd:m,diffTarget:i,baseRef:i,endRef:null,worktreePath:m}};if(i&&!m)return{kind:"ok",data:{diffCwd:g,diffTarget:i,baseRef:i,endRef:null,worktreePath:null}};if(l)try{let a=(0,b.execFileSync)("git",["merge-base",f,l],{cwd:g,encoding:"utf-8",timeout:5e3}).trim(),d=m&&(0,c.existsSync)(m)?m:g;return{kind:"ok",data:{diffCwd:d,diffTarget:a,baseRef:a,endRef:null,worktreePath:m&&(0,c.existsSync)(m)?m:null}}}catch{return{kind:"branch-deleted"}}return{kind:"empty"}}var h=a.i(103071);function i(a,c,d=1048576){try{return(0,b.execFileSync)("git",a,{cwd:c,encoding:"utf-8",timeout:3e4,maxBuffer:d,stdio:["pipe","pipe","pipe"]}).trim()}catch{return null}}async function j(a){let b=await d.db.task.findUnique({where:{id:a},include:{project:!0}});if(!b||!b.project)return null;let e=b.project.localPath??null,f=[],h=null,j=0,k=null,l=e||process.cwd();if(e){let b=await g(a);if("ok"===b.kind){let{diffCwd:a,diffTarget:c}=b.data;l=a;let d=c.includes("..")?c:`${c}..HEAD`,e=i(["diff","--numstat",c],a,0x4000000);e&&(f=function(a){let b=[];for(let c of a.split("\n")){let a=c.trim();if(!a)continue;let d=a.split(" ");if(d.length<3)continue;let[e,f,...g]=d,h=g.join(" ");"-"===e&&"-"===f?b.push({filename:h,added:0,removed:0,isBinary:!0}):b.push({filename:h,added:parseInt(e,10)||0,removed:parseInt(f,10)||0,isBinary:!1})}let c=/^diff --git a\/(.+) b\/(.+)$/,d=new Map;if("".trim())for(let a of"".split(/(?=^diff --git )/m)){if(!a.trim())continue;let b=a.split("\n")[0],e=c.exec(b);if(!e)continue;let f=e[2],g=a;0;d.set(f,g)}let e=b.map(a=>({filename:a.filename,added:a.added,removed:a.removed,isBinary:a.isBinary,patch:d.get(a.filename)??""})),f=e.reduce((a,b)=>a+b.added,0),g=e.reduce((a,b)=>a+b.removed,0);return{files:e,totalAdded:f,totalRemoved:g}}(e).files),h=i(["log","--oneline",d],a)||null;let g=i(["rev-list","--count",d],a);j=g&&parseInt(g,10)||0;let m=i(["diff",c],a,0x4000000);m&&(k=m.length>12288?m.slice(0,12288)+"\n...(diff truncated)":m)}}if(0===f.length&&0===j){let b=await d.db.taskExecution.findFirst({where:{taskId:a},orderBy:{createdAt:"desc"},select:{gitLog:!0,worktreePath:!0}});b?.gitLog&&(h=b.gitLog,j=b.gitLog.split("\n").filter(Boolean).length),b?.worktreePath&&(0,c.existsSync)(b.worktreePath)&&(l=b.worktreePath)}if(0===f.length&&0===j)return null;let m=(await d.db.projectAsset.findMany({where:{taskId:a},orderBy:{createdAt:"asc"},select:{filename:!0,description:!0}})).map(a=>({filename:a.filename,description:a.description}));return{taskId:a,taskTitle:b.title,projectId:b.projectId,projectName:b.project.name,files:f,commitLog:h,commitCount:j,diffText:k,assets:m,cwd:l}}async function k(a){let b=a.files.slice(0,60).map(a=>a.isBinary?`${a.filename} (binary)`:`${a.filename} (+${a.added}/-${a.removed})`).join("\n")||"(无文件清单)",d=`你是资深工程师。下面是一个刚完成的开发任务的代码改动信息,请用简洁中文写一段「改动摘要」:说明这次改动做了什么、解决了什么问题、主要涉及哪些模块或逻辑。要求 3-6 句、纯文本,不要 markdown 标题,不要逐条罗列文件(文件清单会另外展示)。
28
+ - Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},626564,a=>{"use strict";var b=a.i(233405);a.s(["checkConflicts",0,function(a,c,d){try{return(0,b.execFileSync)("git",["merge-tree","--write-tree",c,d],{cwd:a,encoding:"utf-8",timeout:1e4,stdio:"pipe"}),{hasConflicts:!1,conflictFiles:[]}}catch(a){return{hasConflicts:!0,conflictFiles:(a instanceof Error&&"stdout"in a?String(a.stdout??""):"").split("\n").filter(a=>a.includes("CONFLICT")).map(a=>{let b=a.match(/CONFLICT.*?:\s*(.+)$/);return b?b[1].trim():a.trim()}).filter(Boolean)}}},"parseDiffOutput",0,function(a,b){let c=[];for(let b of a.split("\n")){let a=b.trim();if(!a)continue;let d=a.split(" ");if(d.length<3)continue;let[e,f,...g]=d,h=g.join(" ");"-"===e&&"-"===f?c.push({filename:h,added:0,removed:0,isBinary:!0}):c.push({filename:h,added:parseInt(e,10)||0,removed:parseInt(f,10)||0,isBinary:!1})}let d=/^diff --git a\/(.+) b\/(.+)$/,e=new Map;if(b.trim()){let a=b.length>512e3;for(let c of b.split(/(?=^diff --git )/m)){if(!c.trim())continue;let b=c.split("\n")[0],f=d.exec(b);if(!f)continue;let g=f[2],h=c;if(a){let a=c.split("\n");a.length>200&&(h=a.slice(0,200).join("\n")+"\n... (truncated)")}e.set(g,h)}}let f=c.map(a=>({filename:a.filename,added:a.added,removed:a.removed,isBinary:a.isBinary,patch:e.get(a.filename)??""})),g=f.reduce((a,b)=>a+b.added,0),h=f.reduce((a,b)=>a+b.removed,0);return{files:f,totalAdded:g,totalRemoved:h}}])},941750,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(761469),e=a.i(835032),f=a.i(897667);async function g(a){let e=await d.db.task.findUnique({where:{id:a},include:{project:!0}});if(!e)return{kind:"error",status:404,message:"Task not found"};if(!e.project?.localPath)return{kind:"error",status:400,message:"Project has no local path"};let f=e.baseBranch||"main",g=e.project.localPath,h=await d.db.taskExecution.findFirst({where:{taskId:a},orderBy:{createdAt:"desc"}});if(!h)return{kind:"empty"};let{forkCommit:i,mergeCommit:j,branchTipCommit:k,worktreeBranch:l,worktreePath:m}=h;if(j&&i){let a=k||j;return{kind:"ok",data:{diffCwd:g,diffTarget:`${i}..${a}`,baseRef:i,endRef:a,worktreePath:null}}}if(i&&m&&(0,c.existsSync)(m))return{kind:"ok",data:{diffCwd:m,diffTarget:i,baseRef:i,endRef:null,worktreePath:m}};if(i&&!m)return{kind:"ok",data:{diffCwd:g,diffTarget:i,baseRef:i,endRef:null,worktreePath:null}};if(l)try{let a=(0,b.execFileSync)("git",["merge-base",f,l],{cwd:g,encoding:"utf-8",timeout:5e3}).trim(),d=m&&(0,c.existsSync)(m)?m:g;return{kind:"ok",data:{diffCwd:d,diffTarget:a,baseRef:a,endRef:null,worktreePath:m&&(0,c.existsSync)(m)?m:null}}}catch{return{kind:"branch-deleted"}}return{kind:"empty"}}var h=a.i(626564),i=a.i(103071);function j(a,c,d=1048576){try{return(0,b.execFileSync)("git",a,{cwd:c,encoding:"utf-8",timeout:3e4,maxBuffer:d,stdio:["pipe","pipe","pipe"]}).trim()}catch{return null}}async function k(a){let b=await d.db.task.findUnique({where:{id:a},include:{project:!0}});if(!b||!b.project)return null;let e=b.project.localPath??null,f=[],i=null,k=0,l=null,m=e||process.cwd();if(e){let b=await g(a);if("ok"===b.kind){let{diffCwd:a,diffTarget:c}=b.data;m=a;let d=c.includes("..")?c:`${c}..HEAD`,e=j(["diff","--numstat",c],a,0x4000000);e&&(f=(0,h.parseDiffOutput)(e,"").files),i=j(["log","--oneline",d],a)||null;let g=j(["rev-list","--count",d],a);k=g&&parseInt(g,10)||0;let n=j(["diff",c],a,0x4000000);n&&(l=n.length>12288?n.slice(0,12288)+"\n...(diff truncated)":n)}}if(0===f.length&&0===k){let b=await d.db.taskExecution.findFirst({where:{taskId:a},orderBy:{createdAt:"desc"},select:{gitLog:!0,worktreePath:!0}});b?.gitLog&&(i=b.gitLog,k=b.gitLog.split("\n").filter(Boolean).length),b?.worktreePath&&(0,c.existsSync)(b.worktreePath)&&(m=b.worktreePath)}if(0===f.length&&0===k)return null;let n=(await d.db.projectAsset.findMany({where:{taskId:a},orderBy:{createdAt:"asc"},select:{filename:!0,description:!0}})).map(a=>({filename:a.filename,description:a.description}));return{taskId:a,taskTitle:b.title,projectId:b.projectId,projectName:b.project.name,files:f,commitLog:i,commitCount:k,diffText:l,assets:n,cwd:m}}async function l(a){let b=a.files.slice(0,60).map(a=>a.isBinary?`${a.filename} (binary)`:`${a.filename} (+${a.added}/-${a.removed})`).join("\n")||"(无文件清单)",d=`你是资深工程师。下面是一个刚完成的开发任务的代码改动信息,请用简洁中文写一段「改动摘要」:说明这次改动做了什么、解决了什么问题、主要涉及哪些模块或逻辑。要求 3-6 句、纯文本,不要 markdown 标题,不要逐条罗列文件(文件清单会另外展示)。
29
29
 
30
30
  任务标题:${a.taskTitle}
31
31
 
@@ -38,6 +38,6 @@ ${b}
38
38
  diff(可能已截断):
39
39
  \`\`\`diff
40
40
  ${a.diffText??"(无 diff)"}
41
- \`\`\``,e=(0,c.existsSync)(a.cwd)?a.cwd:process.cwd(),g=await (0,f.aiQuery)(d,e,{maxTurns:1});if(g){let a=g.replace(/^[#*\->"'\s]+/,"").trim();if(a)return a}var h=a.commitLog;if(!h)return null;let i=h.split("\n").filter(Boolean);if(0===i.length)return null;let j=i[0].replace(/^[a-f0-9]+\s+/,"");return 1===i.length?j:`${i.length} 个提交:${j}`}async function l(a,b={}){let c=b.kind??"done",f=null;try{f=await j(a)}catch(a){console.error("[captureTaskOverview] Failed to gather change data:",a);return}if(!f)return void console.error(`[captureTaskOverview] No changes for task=${a.slice(0,8)} — skip`);let g=f;(async()=>{try{let b=await k(g),f=new Date().toISOString(),i=function(a,b,c,d="done"){let e=[];if(e.push("cancelled"===d?"> 本笔记由任务取消时自动生成,记录已产生的改动,作为下次重启该任务的参考经验。":"> 本笔记由任务完成时自动生成,记录本次任务的改动概览,便于后续复盘与排查。"),e.push(""),e.push("## 改动摘要"),e.push(b??"(未能生成改动摘要)"),e.push(""),e.push("## 文件清单"),a.files.length>0){let b=a.files.slice(0,100);for(let a of b)e.push(a.isBinary?`- \`${a.filename}\`(二进制)`:`- \`${a.filename}\` (+${a.added} / -${a.removed})`);a.files.length>b.length&&e.push(`- …其余 ${a.files.length-b.length} 个文件`),e.push(""),e.push(`共 ${a.files.length} 个文件、${a.commitCount} 个提交。`)}else e.push(`(未能获取精确文件清单,本次约 ${a.commitCount} 个提交。)`);if(e.push(""),e.push("## 相关附件与参考资料"),a.assets.length>0)for(let b of a.assets)e.push(b.description?`- ${b.filename} — ${b.description}`:`- ${b.filename}`);else e.push("(无)");return e.push(""),e.push("---"),e.push(`> 关联任务:${a.taskTitle} (\`${a.taskId}\`)`),e.push(`> 项目:${a.projectName}`),e.push(`> 生成时间:${c}`),e.join("\n")}(g,b,f,c),j=function(a,b="done"){return`${"cancelled"===b?"任务概览(已取消):":"任务概览:"}${a}`.slice(0,200)}(g.taskTitle,c),l=await d.db.projectNote.create({data:{title:j,content:i,category:h.TASK_OVERVIEW_CATEGORY,projectId:g.projectId,taskId:g.taskId}});await (0,e.syncNoteToFts)(d.db,{id:l.id,title:l.title,content:l.content}),console.error(`[captureTaskOverview] Note created: ${l.id} for task=${a.slice(0,8)}`)}catch(a){console.error("[captureTaskOverview] Failed to create overview note:",a)}})()}a.s(["captureTaskOverview",0,l],941750)},719041,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0ti8vng._.js","server/chunks/ssr/07-d_@anthropic-ai_claude-agent-sdk_sdk_mjs_0myippv._.js"].map(b=>a.l(b))).then(()=>b(845454)))}];
41
+ \`\`\``,e=(0,c.existsSync)(a.cwd)?a.cwd:process.cwd(),g=await (0,f.aiQuery)(d,e,{maxTurns:1});if(g){let a=g.replace(/^[#*\->"'\s]+/,"").trim();if(a)return a}var h=a.commitLog;if(!h)return null;let i=h.split("\n").filter(Boolean);if(0===i.length)return null;let j=i[0].replace(/^[a-f0-9]+\s+/,"");return 1===i.length?j:`${i.length} 个提交:${j}`}async function m(a,b={}){let c=b.kind??"done",f=null;try{f=await k(a)}catch(a){console.error("[captureTaskOverview] Failed to gather change data:",a);return}if(!f)return void console.error(`[captureTaskOverview] No changes for task=${a.slice(0,8)} — skip`);let g=f;(async()=>{try{let b=await l(g),f=new Date().toISOString(),h=function(a,b,c,d="done"){let e=[];if(e.push("cancelled"===d?"> 本笔记由任务取消时自动生成,记录已产生的改动,作为下次重启该任务的参考经验。":"> 本笔记由任务完成时自动生成,记录本次任务的改动概览,便于后续复盘与排查。"),e.push(""),e.push("## 改动摘要"),e.push(b??"(未能生成改动摘要)"),e.push(""),e.push("## 文件清单"),a.files.length>0){let b=a.files.slice(0,100);for(let a of b)e.push(a.isBinary?`- \`${a.filename}\`(二进制)`:`- \`${a.filename}\` (+${a.added} / -${a.removed})`);a.files.length>b.length&&e.push(`- …其余 ${a.files.length-b.length} 个文件`),e.push(""),e.push(`共 ${a.files.length} 个文件、${a.commitCount} 个提交。`)}else e.push(`(未能获取精确文件清单,本次约 ${a.commitCount} 个提交。)`);if(e.push(""),e.push("## 相关附件与参考资料"),a.assets.length>0)for(let b of a.assets)e.push(b.description?`- ${b.filename} — ${b.description}`:`- ${b.filename}`);else e.push("(无)");return e.push(""),e.push("---"),e.push(`> 关联任务:${a.taskTitle} (\`${a.taskId}\`)`),e.push(`> 项目:${a.projectName}`),e.push(`> 生成时间:${c}`),e.join("\n")}(g,b,f,c),j=function(a,b="done"){return`${"cancelled"===b?"任务概览(已取消):":"任务概览:"}${a}`.slice(0,200)}(g.taskTitle,c),k=await d.db.projectNote.create({data:{title:j,content:h,category:i.TASK_OVERVIEW_CATEGORY,projectId:g.projectId,taskId:g.taskId}});await (0,e.syncNoteToFts)(d.db,{id:k.id,title:k.title,content:k.content}),console.error(`[captureTaskOverview] Note created: ${k.id} for task=${a.slice(0,8)}`)}catch(a){console.error("[captureTaskOverview] Failed to create overview note:",a)}})()}a.s(["captureTaskOverview",0,m],941750)},719041,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0ti8vng._.js","server/chunks/ssr/07-d_@anthropic-ai_claude-agent-sdk_sdk_mjs_0myippv._.js"].map(b=>a.l(b))).then(()=>b(845454)))}];
42
42
 
43
- //# sourceMappingURL=_078cdw~._.js.map
43
+ //# sourceMappingURL=_0sbkase._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[342796,(a,b,c)=>{"use strict";b.exports=a.r(918622)},374637,(a,b,c)=>{"use strict";b.exports=a.r(342796).vendored["react-ssr"].React},728778,(a,b,c)=>{"use strict";b.exports=a.r(342796).vendored["react-ssr"].ReactJsxRuntime},986099,(a,b,c)=>{"use strict";b.exports=a.r(342796).vendored["react-ssr"].ReactDOM},499636,(a,b,c)=>{"use strict";b.exports=a.r(342796).vendored["react-ssr"].ReactServerDOMTurbopackClient},838928,(a,b,c)=>{"use strict";b.exports=a.r(342796).vendored.contexts.AppRouterContext},806795,(a,b,c)=>{"use strict";b.exports=a.r(342796).vendored.contexts.HooksClientContext},257172,(a,b,c)=>{"use strict";b.exports=a.r(342796).vendored.contexts.ServerInsertedHtml},499425,a=>{"use strict";a.s(["mergeClasses",0,(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim()])},748939,539153,a=>{"use strict";a.s(["default",0,{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}],748939),a.s(["hasA11yProp",0,a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1}],539153)},392223,a=>{"use strict";var b=a.i(374637),c=a.i(748939),d=a.i(539153),e=a.i(499425);let f=(0,b.createContext)({}),g=(0,b.forwardRef)(({color:a,size:g,strokeWidth:h,absoluteStrokeWidth:i,className:j="",children:k,iconNode:l,...m},n)=>{let{size:o=24,strokeWidth:p=2,absoluteStrokeWidth:q=!1,color:r="currentColor",className:s=""}=(0,b.useContext)(f)??{},t=i??q?24*Number(h??p)/Number(g??o):h??p;return(0,b.createElement)("svg",{ref:n,...c.default,width:g??o??c.default.width,height:g??o??c.default.height,stroke:a??r,strokeWidth:t,className:(0,e.mergeClasses)("lucide",s,j),...!k&&!(0,d.hasA11yProp)(m)&&{"aria-hidden":"true"},...m},[...l.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(k)?k:[k]])});a.s(["default",0,g],392223)},403988,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},884864,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e,f={ACTION_HMR_REFRESH:function(){return l},ACTION_NAVIGATE:function(){return i},ACTION_REFRESH:function(){return h},ACTION_RESTORE:function(){return j},ACTION_SERVER_ACTION:function(){return m},ACTION_SERVER_PATCH:function(){return k},PrefetchKind:function(){return n},ScrollBehavior:function(){return o}};for(var g in f)Object.defineProperty(c,g,{enumerable:!0,get:f[g]});let h="refresh",i="navigate",j="restore",k="server-patch",l="hmr-refresh",m="server-action";var n=((d={}).AUTO="auto",d.FULL="full",d),o=((e={})[e.Default=0]="Default",e[e.NoScroll=1]="NoScroll",e);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},66417,(a,b,c)=>{"use strict";function d(a){return null!==a&&"object"==typeof a&&"then"in a&&"function"==typeof a.then}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isThenable",{enumerable:!0,get:function(){return d}})},239624,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={dispatchAppRouterAction:function(){return i},dispatchGestureState:function(){return j},refreshOnInstantNavigationUnlock:function(){return h},useActionQueue:function(){return k}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(403988)._(a.r(374637)),g=a.r(66417);a.r(884864);function h(){}function i(a){!0;throw Object.defineProperty(Error("Internal Next.js error: Router action dispatched before initialization."),"__NEXT_ERROR_CODE",{value:"E668",enumerable:!1,configurable:!0})}function j(a){!0;throw Object.defineProperty(Error("Internal Next.js error: Router action dispatched before initialization."),"__NEXT_ERROR_CODE",{value:"E668",enumerable:!1,configurable:!0})}function k(a){let[b,c]=f.default.useState(a.state),[d,e]=(0,f.useOptimistic)(b),h=(0,f.useMemo)(()=>d,[d]);return(0,g.isThenable)(h)?(0,f.use)(h):h}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},998029,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"callServer",{enumerable:!0,get:function(){return g}});let d=a.r(374637),e=a.r(884864),f=a.r(239624);async function g(a,b){return new Promise((c,g)=>{(0,d.startTransition)(()=>{(0,f.dispatchAppRouterAction)({type:e.ACTION_SERVER_ACTION,actionId:a,actionArgs:b,resolve:c,reject:g})})})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},186592,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"findSourceMapURL",{enumerable:!0,get:function(){return d}});("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},780410,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={callServer:function(){return f.callServer},createServerReference:function(){return h.createServerReference},findSourceMapURL:function(){return g.findSourceMapURL}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(998029),g=a.r(186592),h=a.r(499636)},573242,a=>{"use strict";var b=a.i(648717);a.s(["Search",()=>b.default])},347165,a=>{"use strict";let b=(0,a.i(711796).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);a.s(["FolderOpen",0,b],347165)},668116,a=>{"use strict";var b=a.i(29715);a.s(["Check",()=>b.default])},975231,a=>{"use strict";let b=(0,a.i(711796).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);a.s(["Trash2",0,b],975231)},774881,a=>{"use strict";let b=(0,a.i(711796).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",0,b],774881)},146758,745539,a=>{"use strict";let b=(0,a.i(711796).default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);a.s(["Folder",0,b],146758);var c=a.i(219551);a.s(["ChevronUp",()=>c.default],745539)},884664,a=>{"use strict";let b=(0,a.i(711796).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["default",0,b])},192369,a=>{"use strict";let b=(0,a.i(711796).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",0,b],192369)},622945,a=>{"use strict";let b=(0,a.i(711796).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);a.s(["default",0,b])},87309,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(780410);let e=(0,d.createServerReference)("40477832c201e86d76b65ee452b2f266bd01748a15",d.callServer,void 0,d.findSourceMapURL,"checkExtension");var f=a.i(192864);let g=(0,d.createServerReference)("4026b5934eb17f08d1c056f40a4fafe52074d352de",d.callServer,void 0,d.findSourceMapURL,"uninstallExtension");var h=a.i(953093);let i={installed:!1},j=(0,c.createContext)(null);a.s(["ExtensionContext",0,j,"ExtensionProvider",0,function({children:a,initialStatus:d}){let[k,l]=(0,c.useState)(()=>d??Object.fromEntries((0,h.listExtensionMetadata)().map(a=>[a.id,i]))),[m,n]=(0,c.useState)(new Set),o=(0,c.useRef)(new Set),p=(0,c.useCallback)(async a=>{let b=await e(a);l(c=>({...c,[a]:b}))},[]),q=(0,c.useCallback)(async a=>{if(o.current.has(a))return{success:!1,error:"install already in progress"};o.current.add(a),n(b=>{let c=new Set(b);return c.add(a),c});try{let b=await (0,f.installExtension)(a);return b.success&&await p(a),b}finally{o.current.delete(a),n(b=>{let c=new Set(b);return c.delete(a),c})}},[p]),r=(0,c.useCallback)(async a=>{if(o.current.has(a))return{success:!1,error:"operation already in progress"};o.current.add(a),n(b=>{let c=new Set(b);return c.add(a),c});try{let b=await g(a);return b.success&&await p(a),b}finally{o.current.delete(a),n(b=>{let c=new Set(b);return c.delete(a),c})}},[p]),s=(0,c.useMemo)(()=>({statusMap:k,loading:!1,installing:m,refresh:p,install:q,uninstall:r}),[k,m,p,q,r]);return(0,b.jsx)(j.Provider,{value:s,children:a})}],87309)}];
1
+ module.exports=[342796,(a,b,c)=>{"use strict";b.exports=a.r(918622)},374637,(a,b,c)=>{"use strict";b.exports=a.r(342796).vendored["react-ssr"].React},728778,(a,b,c)=>{"use strict";b.exports=a.r(342796).vendored["react-ssr"].ReactJsxRuntime},986099,(a,b,c)=>{"use strict";b.exports=a.r(342796).vendored["react-ssr"].ReactDOM},499636,(a,b,c)=>{"use strict";b.exports=a.r(342796).vendored["react-ssr"].ReactServerDOMTurbopackClient},838928,(a,b,c)=>{"use strict";b.exports=a.r(342796).vendored.contexts.AppRouterContext},806795,(a,b,c)=>{"use strict";b.exports=a.r(342796).vendored.contexts.HooksClientContext},257172,(a,b,c)=>{"use strict";b.exports=a.r(342796).vendored.contexts.ServerInsertedHtml},499425,a=>{"use strict";a.s(["mergeClasses",0,(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim()])},748939,539153,a=>{"use strict";a.s(["default",0,{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}],748939),a.s(["hasA11yProp",0,a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1}],539153)},392223,a=>{"use strict";var b=a.i(374637),c=a.i(748939),d=a.i(539153),e=a.i(499425);let f=(0,b.createContext)({}),g=(0,b.forwardRef)(({color:a,size:g,strokeWidth:h,absoluteStrokeWidth:i,className:j="",children:k,iconNode:l,...m},n)=>{let{size:o=24,strokeWidth:p=2,absoluteStrokeWidth:q=!1,color:r="currentColor",className:s=""}=(0,b.useContext)(f)??{},t=i??q?24*Number(h??p)/Number(g??o):h??p;return(0,b.createElement)("svg",{ref:n,...c.default,width:g??o??c.default.width,height:g??o??c.default.height,stroke:a??r,strokeWidth:t,className:(0,e.mergeClasses)("lucide",s,j),...!k&&!(0,d.hasA11yProp)(m)&&{"aria-hidden":"true"},...m},[...l.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(k)?k:[k]])});a.s(["default",0,g],392223)},403988,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},884864,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e,f={ACTION_HMR_REFRESH:function(){return l},ACTION_NAVIGATE:function(){return i},ACTION_REFRESH:function(){return h},ACTION_RESTORE:function(){return j},ACTION_SERVER_ACTION:function(){return m},ACTION_SERVER_PATCH:function(){return k},PrefetchKind:function(){return n},ScrollBehavior:function(){return o}};for(var g in f)Object.defineProperty(c,g,{enumerable:!0,get:f[g]});let h="refresh",i="navigate",j="restore",k="server-patch",l="hmr-refresh",m="server-action";var n=((d={}).AUTO="auto",d.FULL="full",d),o=((e={})[e.Default=0]="Default",e[e.NoScroll=1]="NoScroll",e);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},66417,(a,b,c)=>{"use strict";function d(a){return null!==a&&"object"==typeof a&&"then"in a&&"function"==typeof a.then}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isThenable",{enumerable:!0,get:function(){return d}})},239624,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={dispatchAppRouterAction:function(){return i},dispatchGestureState:function(){return j},refreshOnInstantNavigationUnlock:function(){return h},useActionQueue:function(){return k}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(403988)._(a.r(374637)),g=a.r(66417);a.r(884864);function h(){}function i(a){!0;throw Object.defineProperty(Error("Internal Next.js error: Router action dispatched before initialization."),"__NEXT_ERROR_CODE",{value:"E668",enumerable:!1,configurable:!0})}function j(a){!0;throw Object.defineProperty(Error("Internal Next.js error: Router action dispatched before initialization."),"__NEXT_ERROR_CODE",{value:"E668",enumerable:!1,configurable:!0})}function k(a){let[b,c]=f.default.useState(a.state),[d,e]=(0,f.useOptimistic)(b),h=(0,f.useMemo)(()=>d,[d]);return(0,g.isThenable)(h)?(0,f.use)(h):h}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},998029,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"callServer",{enumerable:!0,get:function(){return g}});let d=a.r(374637),e=a.r(884864),f=a.r(239624);async function g(a,b){return new Promise((c,g)=>{(0,d.startTransition)(()=>{(0,f.dispatchAppRouterAction)({type:e.ACTION_SERVER_ACTION,actionId:a,actionArgs:b,resolve:c,reject:g})})})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},186592,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"findSourceMapURL",{enumerable:!0,get:function(){return d}});("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},780410,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={callServer:function(){return f.callServer},createServerReference:function(){return h.createServerReference},findSourceMapURL:function(){return g.findSourceMapURL}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(998029),g=a.r(186592),h=a.r(499636)},347165,a=>{"use strict";let b=(0,a.i(711796).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);a.s(["FolderOpen",0,b],347165)},975231,a=>{"use strict";let b=(0,a.i(711796).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);a.s(["Trash2",0,b],975231)},774881,a=>{"use strict";let b=(0,a.i(711796).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",0,b],774881)},690251,a=>{"use strict";let b=(0,a.i(711796).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",0,b],690251)},258815,a=>{"use strict";a.s(["getLastProjectId",0,function(a){return({})[a]??null},"setLastProjectId",0,function(a,b){}])},482845,367913,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("406473195132668ce9f5012a6ba1be75726c26c67e",b.callServer,void 0,b.findSourceMapURL,"createProductGroup");a.s(["createProductGroup",0,c],482845);let d=(0,b.createServerReference)("6074118a8dceb454a2fcacbfbb05530a32522be2d7",b.callServer,void 0,b.findSourceMapURL,"setProjectGroup");a.s(["setProjectGroup",0,d],367913)},394259,a=>{"use strict";let b=(0,a.i(711796).default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);a.s(["Sparkles",0,b],394259)},329187,397706,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("6031d4e7ada91646ecb2f99fe9cd65e9da30957c74",b.callServer,void 0,b.findSourceMapURL,"analyzeProjectDirectory");a.s(["analyzeProjectDirectory",0,c],329187);var d=a.i(728778),e=a.i(374637),f=a.i(668116),g=a.i(54384),h=a.i(704494),i=a.i(699570),j=a.i(866718),k=a.i(580701),l=a.i(951192),m=a.i(952313);let n=(0,b.createServerReference)("400e98afbf4be9265fb00eb09ee7003b696f2a2e65",b.callServer,void 0,b.findSourceMapURL,"getProductGroups");var o=a.i(482845);let p="__none__",q="__new_group__";a.s(["GroupSelect",0,function({workspaceId:a,value:b,onChange:c}){let{t:r}=(0,l.useI18n)(),[s,t]=(0,e.useState)([]),[u,v]=(0,e.useState)(!1),[w,x]=(0,e.useState)(!1),[y,z]=(0,e.useState)(""),[A,B]=(0,e.useState)(!1);(0,e.useEffect)(()=>{if(!a)return void t([]);let b=!1;return v(!0),n(a).then(a=>{b||t(a.map(a=>({id:a.id,name:a.name})))}).catch(()=>{b||t([])}).finally(()=>{b||v(!1)}),()=>{b=!0}},[a]);let C=async()=>{let b=y.trim();if(b&&!A){B(!0);try{let d=await (0,o.createProductGroup)({name:b,workspaceId:a});t(a=>[...a,{id:d.id,name:d.name}]),c(d.id),x(!1),z("")}catch(a){m.toast.error(a instanceof Error?a.message:r("group.createError"))}finally{B(!1)}}};if(w)return(0,d.jsxs)("div",{className:"mt-1.5 flex gap-2",children:[(0,d.jsx)(j.Input,{autoFocus:!0,value:y,onChange:a=>z(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),C())},placeholder:r("group.namePlaceholder"),className:"flex-1 min-w-0"}),(0,d.jsx)(i.Button,{type:"button",onClick:C,disabled:!y.trim()||A,className:"shrink-0 px-2.5",children:A?(0,d.jsx)(h.Loader2,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(f.Check,{className:"h-4 w-4"})}),(0,d.jsx)(i.Button,{type:"button",variant:"outline",onClick:()=>{x(!1),z("")},className:"shrink-0 px-2.5",children:(0,d.jsx)(g.X,{className:"h-4 w-4"})})]});let D=s.find(a=>a.id===b);return(0,d.jsxs)(k.Select,{value:b||p,onValueChange:a=>{if(a===q){x(!0),z("");return}c(a&&a!==p?a:"")},disabled:!a||u,children:[(0,d.jsx)(k.SelectTrigger,{className:"mt-1.5 w-full",children:(0,d.jsx)("span",{className:"truncate",children:D?.name??r("group.none")})}),(0,d.jsxs)(k.SelectContent,{children:[(0,d.jsx)(k.SelectItem,{value:p,children:r("group.none")}),s.map(a=>(0,d.jsx)(k.SelectItem,{value:a.id,children:a.name},a.id)),(0,d.jsxs)(k.SelectItem,{value:q,children:["+ ",r("group.new")]})]})]})}],397706)},437698,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("40b0f9516a5d0a08eb43d0676e627fc6fe9fe50a1a",b.callServer,void 0,b.findSourceMapURL,"createProject");a.s(["createProject",0,c])},651571,a=>{"use strict";let b=(0,a.i(711796).default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);a.s(["LayoutGrid",0,b],651571)}];
2
2
 
3
- //# sourceMappingURL=_08bq4g8._.js.map
3
+ //# sourceMappingURL=_0t-0.1o._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[157551,a=>{"use strict";let b=(0,a.i(711796).default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);a.s(["Calendar",0,b],157551)},757061,747318,a=>{"use strict";var b=a.i(728778),c=a.i(432949),d=a.i(368114),e=a.i(699570),f=a.i(14906);function g({...a}){return(0,b.jsx)(c.Dialog.Portal,{"data-slot":"sheet-portal",...a})}function h({className:a,...e}){return(0,b.jsx)(c.Dialog.Backdrop,{"data-slot":"sheet-overlay",className:(0,d.cn)("fixed inset-0 z-50 bg-black/10 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs",a),...e})}a.s(["Sheet",0,function({...a}){return(0,b.jsx)(c.Dialog.Root,{"data-slot":"sheet",...a})},"SheetContent",0,function({className:a,children:i,side:j="right",showCloseButton:k=!0,...l}){return(0,b.jsxs)(g,{children:[(0,b.jsx)(h,{}),(0,b.jsxs)(c.Dialog.Popup,{"data-slot":"sheet-content","data-side":j,className:(0,d.cn)("fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",a),...l,children:[i,k&&(0,b.jsxs)(c.Dialog.Close,{"data-slot":"sheet-close",render:(0,b.jsx)(e.Button,{variant:"ghost",className:"absolute top-3 right-3",size:"icon-sm"}),children:[(0,b.jsx)(f.XIcon,{}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"SheetDescription",0,function({className:a,...e}){return(0,b.jsx)(c.Dialog.Description,{"data-slot":"sheet-description",className:(0,d.cn)("text-sm text-muted-foreground",a),...e})},"SheetHeader",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sheet-header",className:(0,d.cn)("flex flex-col gap-0.5 p-4",a),...c})},"SheetTitle",0,function({className:a,...e}){return(0,b.jsx)(c.Dialog.Title,{"data-slot":"sheet-title",className:(0,d.cn)("font-heading text-base font-medium text-foreground",a),...e})}],757061);var i=a.i(780410);let j=(0,i.createServerReference)("40e27e585c87948d5ac60d49a3407d347bd149e01a",i.callServer,void 0,i.findSourceMapURL,"getTaskOverview");a.s(["getTaskOverview",0,j],747318)},972420,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(757061),e=a.i(269876),f=a.i(786304),g=a.i(699570),h=a.i(951192),i=a.i(29398),j=a.i(747318),k=a.i(836923),l=a.i(982640),m=a.i(938515),n=a.i(928743),o=a.i(527311),p=a.i(415792),q=a.i(445798),r=a.i(510650),s=a.i(532615),t=a.i(894148),u=a.i(161181),v=a.i(521007),w=a.i(157551),x=a.i(22761),y=a.i(264589),z=a.i(165614),A=a.i(625892),B=a.i(939859),C=a.i(648512),D=a.i(350739),E=a.i(509405),F=a.i(87339),G=a.i(347165);function H({added:a,removed:c}){let{t:d}=(0,h.useI18n)();return(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-gray-500",children:[(0,b.jsx)("span",{children:d("diff.filesChanged",{count:String(a+c)})}),a>0&&(0,b.jsxs)("span",{className:"text-green-500",children:["+",a]}),c>0&&(0,b.jsxs)("span",{className:"text-red-500",children:["-",c]})]})}var I=a.i(551578),J=a.i(952313);let K=/\.(txt|md|json)$/i;function L({text:a}){let{t:d}=(0,h.useI18n)(),[e,f]=(0,c.useState)(!1),[g,i]=(0,c.useState)(!1),j=(0,c.useRef)(null);return(0,c.useEffect)(()=>{let a=j.current;a&&i(a.scrollHeight>a.clientHeight+1)},[]),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{ref:j,className:`text-sm text-foreground whitespace-pre-wrap ${e?"":"line-clamp-5"}`,children:a}),g&&(0,b.jsx)("button",{type:"button",onClick:()=>f(a=>!a),className:"mt-1 text-xs font-medium text-sky-600 hover:underline dark:text-sky-400",children:d(e?"taskDrawer.collapseDescription":"taskDrawer.expandDescription")})]})}a.s(["TaskOverviewDrawer",0,function({open:a,onOpenChange:M,taskId:N,hideEnvActions:O=!1}){let{t:P}=(0,h.useI18n)(),[Q,R]=(0,c.useState)(null),[S,T]=(0,c.useTransition)(),[U,V]=(0,c.useState)(!1),[W,X]=(0,c.useState)([]),[Y,Z]=(0,c.useState)([]),[$,_]=(0,c.useState)(null),[aa,ab]=(0,c.useState)([]),[ac,ad]=(0,c.useState)(null);(0,c.useEffect)(()=>{if(!N||!a){R(null),Z([]),ab([]);return}(0,l.getTaskNotes)(N).then(a=>Z(a.map(a=>({id:a.id,title:a.title,content:a.content,category:a.category})))).catch(()=>Z([])),(0,m.getTaskAssets)(N).then(a=>ab(a.map(a=>({id:a.id,filename:a.filename,path:a.path,mimeType:a.mimeType,size:a.size})))).catch(()=>ab([])),T(async()=>{let a=await (0,j.getTaskOverview)(N);a&&(R(a),a.project?.workspaceId&&(0,k.getLabelsForWorkspace)(a.project.workspaceId).then(a=>{X(a.map(a=>({id:a.id,name:a.name,color:a.color,isBuiltin:a.isBuiltin})))}).catch(()=>X([])))})},[N,a]);let ae=Q?v.BOARD_COLUMNS.find(a=>a.id===Q.status):null,af=Q?v.PRIORITY_CONFIG[Q.priority]:null,ag=Q?.executions?.[0]??null,ah=(()=>{if(ag?.worktreePath)return ag.worktreePath;let a=Q?.project?.localPath;return a?Q?.subPath?`${a}/${Q.subPath}`:a:null})(),ai=(()=>{let a=ag?.gitStats;if(!a)return null;try{let b=JSON.parse(a);return{added:b.insertions??0,removed:b.deletions??0}}catch{return null}})(),aj=a=>(0,u.isImageAsset)(a.filename,a.mimeType)||K.test(a.filename),ak=a=>{aj(a)?ad(a):J.toast.info(P("assets.previewNotSupported"))},al=async a=>{try{let b=await fetch("/api/internal/assets/reveal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a.path})});if(!b.ok){let a=await b.json().catch(()=>({}));J.toast.error(a.error||P("git.openInFileManagerFailed"))}}catch{J.toast.error(P("git.openInFileManagerFailed"))}},am=ac?(0,u.isImageAsset)(ac.filename,ac.mimeType)?"image":K.test(ac.filename)?"text":null:null,an=aa.filter(a=>(0,u.isImageAsset)(a.filename,a.mimeType)).map(a=>({id:a.id,url:(0,u.localPathToApiUrl)(a.path),filename:a.filename})),ao=ac?an.findIndex(a=>a.id===ac.id):-1,ap=async a=>{if(Q?.project)try{let{autoStart:b,...c}=a;await (0,i.createTask)({...c,projectId:Q.project.id}),J.toast.success(P("taskDrawer.duplicateSuccess")),V(!1),M(!1)}catch{J.toast.error(P("taskDrawer.duplicateFailed"))}};return(0,b.jsxs)(d.Sheet,{open:a,onOpenChange:M,children:[(0,b.jsxs)(d.SheetContent,{side:"right",className:"w-[380px] sm:max-w-[380px] p-0",children:[(0,b.jsxs)(d.SheetHeader,{className:"px-4 pt-4 pb-3 border-b border-border",children:[(0,b.jsx)(d.SheetTitle,{className:"text-base font-semibold leading-tight pr-8",children:Q?.title??""}),(0,b.jsx)(d.SheetDescription,{className:"sr-only",children:P("taskDrawer.title")}),Q&&(0,b.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[ae&&(0,b.jsxs)(f.Badge,{variant:"secondary",className:"text-xs",children:[(0,b.jsx)("span",{className:`inline-block w-2 h-2 rounded-full mr-1.5 ${ae.color}`}),ae.label]}),af&&(0,b.jsx)(f.Badge,{variant:"secondary",className:`text-xs ${af.color}`,children:af.label}),Q.version&&(0,b.jsx)(I.TaskVersionTag,{number:Q.version.number,name:Q.version.name,showName:!0})]})]}),(0,b.jsx)(e.ScrollArea,{className:"flex-1 h-[calc(100%-80px)]",children:S&&!Q?(0,b.jsx)("div",{className:"flex items-center justify-center h-32 text-sm text-muted-foreground",children:P("assets.loading")}):Q?(0,b.jsxs)("div",{className:"p-4 pb-8 space-y-4",children:[(0,b.jsxs)("section",{children:[(0,b.jsx)("h4",{className:"text-xs font-medium text-muted-foreground mb-1",children:P("taskDrawer.description")}),Q.description?(0,b.jsx)(L,{text:Q.description},Q.id):(0,b.jsx)("p",{className:"text-sm text-foreground whitespace-pre-wrap",children:P("taskDrawer.noDescription")})]}),Q.labels.length>0&&(0,b.jsxs)("section",{children:[(0,b.jsx)("h4",{className:"text-xs font-medium text-muted-foreground mb-1.5",children:P("taskDrawer.labels")}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:Q.labels.map(a=>(0,b.jsx)(f.Badge,{variant:"secondary",className:"text-xs",style:{backgroundColor:`${a.label.color}20`,color:a.label.color,borderColor:`${a.label.color}40`},children:a.label.name},a.label.id))})]}),(0,b.jsxs)("section",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(w.Calendar,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:P("taskDrawer.createdAt")}),(0,b.jsx)("span",{className:"text-foreground",children:new Date(Q.createdAt).toLocaleDateString()})]}),(0,b.jsxs)("section",{children:[(0,b.jsxs)("h4",{className:"text-xs font-medium text-muted-foreground mb-1.5 flex items-center gap-1.5",children:[(0,b.jsx)(y.Package,{className:"h-3.5 w-3.5"}),P("taskDrawer.resources"),(0,b.jsx)("span",{className:"text-foreground",children:Q._count.assets})]}),aa.length>0?(0,b.jsx)("div",{className:"space-y-1.5",children:aa.map(a=>{var c;let d=aj(a);return(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-md border border-border px-2 py-1.5",children:[(0,b.jsx)(F.Paperclip,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,b.jsx)("button",{type:"button",onClick:()=>ak(a),disabled:!d,className:`min-w-0 flex-1 truncate text-left text-sm ${d?"cursor-pointer hover:underline":"cursor-default"}`,title:d?P("assets.preview"):a.filename,children:a.filename}),(0,b.jsx)("span",{className:"shrink-0 text-[10px] text-muted-foreground",children:(c=a.size)?c<1024?`${c} B`:c<1048576?`${(c/1024).toFixed(1)} KB`:`${(c/1024/1024).toFixed(1)} MB`:""}),(0,b.jsxs)("div",{className:"flex items-center gap-0.5",children:[d&&(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",onClick:()=>ak(a),className:"shrink-0 text-muted-foreground hover:bg-accent",title:P("assets.preview"),children:(0,b.jsx)(E.Eye,{className:"h-3 w-3"})}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",onClick:()=>al(a),className:"shrink-0 text-muted-foreground hover:bg-accent",title:P("assets.revealInFinder"),children:(0,b.jsx)(G.FolderOpen,{className:"h-3 w-3"})})]})]},a.id)})}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:P("taskDrawer.noResources")})]}),(0,b.jsxs)("section",{children:[(0,b.jsxs)("h4",{className:"text-xs font-medium text-muted-foreground mb-1.5 flex items-center gap-1.5",children:[(0,b.jsx)(D.FileText,{className:"h-3.5 w-3.5"}),P("taskDrawer.notes")]}),Y.length>0?(0,b.jsx)("div",{className:"space-y-1.5",children:Y.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>_(a),className:"group/note flex w-full items-start gap-2 rounded-md border border-border p-2 text-left transition-colors hover:bg-accent/40",title:P("taskDrawer.previewNote"),children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("p",{className:"truncate text-sm font-medium",children:a.title}),a.content&&(0,b.jsx)("p",{className:"mt-0.5 line-clamp-2 whitespace-pre-wrap text-xs text-muted-foreground",children:a.content})]}),(0,b.jsx)(E.Eye,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground opacity-0 transition-opacity group-hover/note:opacity-100"})]},a.id))}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:P("taskDrawer.noNotes")})]}),(0,b.jsxs)("section",{children:[(0,b.jsx)("h4",{className:"text-xs font-medium text-muted-foreground mb-1.5",children:P("taskDrawer.fileChanges")}),ai?(0,b.jsx)(H,{added:ai.added,removed:ai.removed}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:P("taskDrawer.noFileChanges")})]}),(0,b.jsxs)("section",{children:[(0,b.jsxs)("h4",{className:"text-xs font-medium text-muted-foreground mb-1.5 flex items-center gap-1.5",children:[(0,b.jsx)(z.PlayCircle,{className:"h-3.5 w-3.5"}),P("taskDrawer.lastExecution")]}),ag?(0,b.jsxs)("div",{className:"rounded-md border border-border p-2.5 text-sm",children:[(0,b.jsx)(f.Badge,{variant:"secondary",className:"text-xs mb-1.5",children:ag.status}),ag.summary&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-4",children:ag.summary.slice(0,200)})]}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:P("taskDrawer.noExecution")})]}),ah&&!O&&(0,b.jsxs)("section",{className:"flex flex-col",children:[(0,b.jsxs)(g.Button,{variant:"ghost",className:"w-full h-8 justify-start gap-2 px-2 text-xs text-muted-foreground",onClick:async()=>{try{await (0,n.openInFileManager)(ah)}catch(a){console.error("openInFileManager failed:",a),J.toast.error(P("git.openInFileManagerFailed"))}},children:[(0,b.jsx)(A.FolderSearch,{className:"h-3.5 w-3.5 shrink-0"}),P("git.openInFileManager")]}),(0,b.jsxs)(g.Button,{variant:"ghost",className:"w-full h-8 justify-start gap-2 px-2 text-xs text-muted-foreground",onClick:async()=>{try{await (0,o.openInEditor)(ah)}catch(a){console.error("openInEditor failed:",a),J.toast.error(P("git.openInEditorFailed"))}},children:[(0,b.jsx)(B.Code,{className:"h-3.5 w-3.5 shrink-0"}),P("git.openInEditor")]}),(0,b.jsxs)(g.Button,{variant:"ghost",className:"w-full h-8 justify-start gap-2 px-2 text-xs text-muted-foreground",onClick:async()=>{try{await (0,p.openInTerminal)(ah)}catch(a){console.error("openInTerminal failed:",a),J.toast.error(P("git.openInTerminalFailed"))}},children:[(0,b.jsx)(C.Terminal,{className:"h-3.5 w-3.5 shrink-0"}),P("git.openInTerminal")]})]}),(0,b.jsx)("section",{children:(0,b.jsxs)(g.Button,{variant:"default",className:"w-full",onClick:()=>{Q&&V(!0)},disabled:!Q,children:[(0,b.jsx)(x.Copy,{className:"h-4 w-4"}),P("taskDrawer.duplicate")]})})]}):null})]}),Q?.project&&(0,b.jsx)(q.CreateTaskDialog,{open:U,onOpenChange:V,onSubmit:ap,labels:W,projectType:Q.project.type,projectLocalPath:Q.project.localPath,prefillFromTask:{title:Q.title,description:Q.description,priority:Q.priority,subPath:Q.subPath,labelIds:Q.labels.map(a=>a.label.id),baseBranch:Q.baseBranch}}),(0,b.jsx)(r.NotePreviewDialog,{note:$,open:null!==$,onOpenChange:a=>{a||_(null)}}),(0,b.jsx)(s.ImageLightbox,{imageUrl:"image"===am&&ao>=0?an[ao].url:null,filename:"image"===am&&ao>=0?an[ao].filename:"",open:"image"===am,onOpenChange:a=>{a||ad(null)},assets:an.map(({url:a,filename:b})=>({url:a,filename:b})),currentIndex:ao>=0?ao:void 0,onIndexChange:a=>{let b=an[a];if(!b)return;let c=aa.find(a=>a.id===b.id);c&&ad(c)}}),(0,b.jsx)(t.TextPreviewDialog,{url:"text"===am&&ac?(0,u.localPathToApiUrl)(ac.path):null,filename:ac?.filename??"",open:"text"===am,onOpenChange:a=>{a||ad(null)}})]})}],972420)}];
1
+ module.exports=[157551,a=>{"use strict";let b=(0,a.i(711796).default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);a.s(["Calendar",0,b],157551)},757061,548592,a=>{"use strict";var b=a.i(728778),c=a.i(432949),d=a.i(368114),e=a.i(699570),f=a.i(14906);function g({...a}){return(0,b.jsx)(c.Dialog.Portal,{"data-slot":"sheet-portal",...a})}function h({className:a,...e}){return(0,b.jsx)(c.Dialog.Backdrop,{"data-slot":"sheet-overlay",className:(0,d.cn)("fixed inset-0 z-50 bg-black/10 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs",a),...e})}a.s(["Sheet",0,function({...a}){return(0,b.jsx)(c.Dialog.Root,{"data-slot":"sheet",...a})},"SheetContent",0,function({className:a,children:i,side:j="right",showCloseButton:k=!0,...l}){return(0,b.jsxs)(g,{children:[(0,b.jsx)(h,{}),(0,b.jsxs)(c.Dialog.Popup,{"data-slot":"sheet-content","data-side":j,className:(0,d.cn)("fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",a),...l,children:[i,k&&(0,b.jsxs)(c.Dialog.Close,{"data-slot":"sheet-close",render:(0,b.jsx)(e.Button,{variant:"ghost",className:"absolute top-3 right-3",size:"icon-sm"}),children:[(0,b.jsx)(f.XIcon,{}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"SheetDescription",0,function({className:a,...e}){return(0,b.jsx)(c.Dialog.Description,{"data-slot":"sheet-description",className:(0,d.cn)("text-sm text-muted-foreground",a),...e})},"SheetHeader",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sheet-header",className:(0,d.cn)("flex flex-col gap-0.5 p-4",a),...c})},"SheetTitle",0,function({className:a,...e}){return(0,b.jsx)(c.Dialog.Title,{"data-slot":"sheet-title",className:(0,d.cn)("font-heading text-base font-medium text-foreground",a),...e})}],757061);var i=a.i(780410);let j=(0,i.createServerReference)("40ad76444bdce5a0f73e5fd0d5a73d883dcdf75708",i.callServer,void 0,i.findSourceMapURL,"getTaskOverview");a.s(["getTaskOverview",0,j],548592)},972420,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(757061),e=a.i(269876),f=a.i(786304),g=a.i(699570),h=a.i(951192),i=a.i(665518),j=a.i(548592),k=a.i(573663),l=a.i(927999),m=a.i(841106),n=a.i(751724),o=a.i(48495),p=a.i(425026),q=a.i(445798),r=a.i(510650),s=a.i(532615),t=a.i(894148),u=a.i(161181),v=a.i(521007),w=a.i(157551),x=a.i(22761),y=a.i(264589),z=a.i(165614),A=a.i(625892),B=a.i(939859),C=a.i(648512),D=a.i(350739),E=a.i(509405),F=a.i(87339),G=a.i(347165);function H({added:a,removed:c}){let{t:d}=(0,h.useI18n)();return(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-gray-500",children:[(0,b.jsx)("span",{children:d("diff.filesChanged",{count:String(a+c)})}),a>0&&(0,b.jsxs)("span",{className:"text-green-500",children:["+",a]}),c>0&&(0,b.jsxs)("span",{className:"text-red-500",children:["-",c]})]})}var I=a.i(551578),J=a.i(952313);let K=/\.(txt|md|json)$/i;function L({text:a}){let{t:d}=(0,h.useI18n)(),[e,f]=(0,c.useState)(!1),[g,i]=(0,c.useState)(!1),j=(0,c.useRef)(null);return(0,c.useEffect)(()=>{let a=j.current;a&&i(a.scrollHeight>a.clientHeight+1)},[]),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{ref:j,className:`text-sm text-foreground whitespace-pre-wrap ${e?"":"line-clamp-5"}`,children:a}),g&&(0,b.jsx)("button",{type:"button",onClick:()=>f(a=>!a),className:"mt-1 text-xs font-medium text-sky-600 hover:underline dark:text-sky-400",children:d(e?"taskDrawer.collapseDescription":"taskDrawer.expandDescription")})]})}a.s(["TaskOverviewDrawer",0,function({open:a,onOpenChange:M,taskId:N,hideEnvActions:O=!1}){let{t:P}=(0,h.useI18n)(),[Q,R]=(0,c.useState)(null),[S,T]=(0,c.useTransition)(),[U,V]=(0,c.useState)(!1),[W,X]=(0,c.useState)([]),[Y,Z]=(0,c.useState)([]),[$,_]=(0,c.useState)(null),[aa,ab]=(0,c.useState)([]),[ac,ad]=(0,c.useState)(null);(0,c.useEffect)(()=>{if(!N||!a){R(null),Z([]),ab([]);return}(0,l.getTaskNotes)(N).then(a=>Z(a.map(a=>({id:a.id,title:a.title,content:a.content,category:a.category})))).catch(()=>Z([])),(0,m.getTaskAssets)(N).then(a=>ab(a.map(a=>({id:a.id,filename:a.filename,path:a.path,mimeType:a.mimeType,size:a.size})))).catch(()=>ab([])),T(async()=>{let a=await (0,j.getTaskOverview)(N);a&&(R(a),a.project?.workspaceId&&(0,k.getLabelsForWorkspace)(a.project.workspaceId).then(a=>{X(a.map(a=>({id:a.id,name:a.name,color:a.color,isBuiltin:a.isBuiltin})))}).catch(()=>X([])))})},[N,a]);let ae=Q?v.BOARD_COLUMNS.find(a=>a.id===Q.status):null,af=Q?v.PRIORITY_CONFIG[Q.priority]:null,ag=Q?.executions?.[0]??null,ah=(()=>{if(ag?.worktreePath)return ag.worktreePath;let a=Q?.project?.localPath;return a?Q?.subPath?`${a}/${Q.subPath}`:a:null})(),ai=(()=>{let a=ag?.gitStats;if(!a)return null;try{let b=JSON.parse(a);return{added:b.insertions??0,removed:b.deletions??0}}catch{return null}})(),aj=a=>(0,u.isImageAsset)(a.filename,a.mimeType)||K.test(a.filename),ak=a=>{aj(a)?ad(a):J.toast.info(P("assets.previewNotSupported"))},al=async a=>{try{let b=await fetch("/api/internal/assets/reveal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a.path})});if(!b.ok){let a=await b.json().catch(()=>({}));J.toast.error(a.error||P("git.openInFileManagerFailed"))}}catch{J.toast.error(P("git.openInFileManagerFailed"))}},am=ac?(0,u.isImageAsset)(ac.filename,ac.mimeType)?"image":K.test(ac.filename)?"text":null:null,an=aa.filter(a=>(0,u.isImageAsset)(a.filename,a.mimeType)).map(a=>({id:a.id,url:(0,u.localPathToApiUrl)(a.path),filename:a.filename})),ao=ac?an.findIndex(a=>a.id===ac.id):-1,ap=async a=>{if(Q?.project)try{let{autoStart:b,...c}=a;await (0,i.createTask)({...c,projectId:Q.project.id}),J.toast.success(P("taskDrawer.duplicateSuccess")),V(!1),M(!1)}catch{J.toast.error(P("taskDrawer.duplicateFailed"))}};return(0,b.jsxs)(d.Sheet,{open:a,onOpenChange:M,children:[(0,b.jsxs)(d.SheetContent,{side:"right",className:"w-[380px] sm:max-w-[380px] p-0",children:[(0,b.jsxs)(d.SheetHeader,{className:"px-4 pt-4 pb-3 border-b border-border",children:[(0,b.jsx)(d.SheetTitle,{className:"text-base font-semibold leading-tight pr-8",children:Q?.title??""}),(0,b.jsx)(d.SheetDescription,{className:"sr-only",children:P("taskDrawer.title")}),Q&&(0,b.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[ae&&(0,b.jsxs)(f.Badge,{variant:"secondary",className:"text-xs",children:[(0,b.jsx)("span",{className:`inline-block w-2 h-2 rounded-full mr-1.5 ${ae.color}`}),ae.label]}),af&&(0,b.jsx)(f.Badge,{variant:"secondary",className:`text-xs ${af.color}`,children:af.label}),Q.version&&(0,b.jsx)(I.TaskVersionTag,{number:Q.version.number,name:Q.version.name,showName:!0})]})]}),(0,b.jsx)(e.ScrollArea,{className:"flex-1 h-[calc(100%-80px)]",children:S&&!Q?(0,b.jsx)("div",{className:"flex items-center justify-center h-32 text-sm text-muted-foreground",children:P("assets.loading")}):Q?(0,b.jsxs)("div",{className:"p-4 pb-8 space-y-4",children:[(0,b.jsxs)("section",{children:[(0,b.jsx)("h4",{className:"text-xs font-medium text-muted-foreground mb-1",children:P("taskDrawer.description")}),Q.description?(0,b.jsx)(L,{text:Q.description},Q.id):(0,b.jsx)("p",{className:"text-sm text-foreground whitespace-pre-wrap",children:P("taskDrawer.noDescription")})]}),Q.labels.length>0&&(0,b.jsxs)("section",{children:[(0,b.jsx)("h4",{className:"text-xs font-medium text-muted-foreground mb-1.5",children:P("taskDrawer.labels")}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:Q.labels.map(a=>(0,b.jsx)(f.Badge,{variant:"secondary",className:"text-xs",style:{backgroundColor:`${a.label.color}20`,color:a.label.color,borderColor:`${a.label.color}40`},children:a.label.name},a.label.id))})]}),(0,b.jsxs)("section",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(w.Calendar,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:P("taskDrawer.createdAt")}),(0,b.jsx)("span",{className:"text-foreground",children:new Date(Q.createdAt).toLocaleDateString()})]}),(0,b.jsxs)("section",{children:[(0,b.jsxs)("h4",{className:"text-xs font-medium text-muted-foreground mb-1.5 flex items-center gap-1.5",children:[(0,b.jsx)(y.Package,{className:"h-3.5 w-3.5"}),P("taskDrawer.resources"),(0,b.jsx)("span",{className:"text-foreground",children:Q._count.assets})]}),aa.length>0?(0,b.jsx)("div",{className:"space-y-1.5",children:aa.map(a=>{var c;let d=aj(a);return(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-md border border-border px-2 py-1.5",children:[(0,b.jsx)(F.Paperclip,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,b.jsx)("button",{type:"button",onClick:()=>ak(a),disabled:!d,className:`min-w-0 flex-1 truncate text-left text-sm ${d?"cursor-pointer hover:underline":"cursor-default"}`,title:d?P("assets.preview"):a.filename,children:a.filename}),(0,b.jsx)("span",{className:"shrink-0 text-[10px] text-muted-foreground",children:(c=a.size)?c<1024?`${c} B`:c<1048576?`${(c/1024).toFixed(1)} KB`:`${(c/1024/1024).toFixed(1)} MB`:""}),(0,b.jsxs)("div",{className:"flex items-center gap-0.5",children:[d&&(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",onClick:()=>ak(a),className:"shrink-0 text-muted-foreground hover:bg-accent",title:P("assets.preview"),children:(0,b.jsx)(E.Eye,{className:"h-3 w-3"})}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",onClick:()=>al(a),className:"shrink-0 text-muted-foreground hover:bg-accent",title:P("assets.revealInFinder"),children:(0,b.jsx)(G.FolderOpen,{className:"h-3 w-3"})})]})]},a.id)})}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:P("taskDrawer.noResources")})]}),(0,b.jsxs)("section",{children:[(0,b.jsxs)("h4",{className:"text-xs font-medium text-muted-foreground mb-1.5 flex items-center gap-1.5",children:[(0,b.jsx)(D.FileText,{className:"h-3.5 w-3.5"}),P("taskDrawer.notes")]}),Y.length>0?(0,b.jsx)("div",{className:"space-y-1.5",children:Y.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>_(a),className:"group/note flex w-full items-start gap-2 rounded-md border border-border p-2 text-left transition-colors hover:bg-accent/40",title:P("taskDrawer.previewNote"),children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("p",{className:"truncate text-sm font-medium",children:a.title}),a.content&&(0,b.jsx)("p",{className:"mt-0.5 line-clamp-2 whitespace-pre-wrap text-xs text-muted-foreground",children:a.content})]}),(0,b.jsx)(E.Eye,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground opacity-0 transition-opacity group-hover/note:opacity-100"})]},a.id))}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:P("taskDrawer.noNotes")})]}),(0,b.jsxs)("section",{children:[(0,b.jsx)("h4",{className:"text-xs font-medium text-muted-foreground mb-1.5",children:P("taskDrawer.fileChanges")}),ai?(0,b.jsx)(H,{added:ai.added,removed:ai.removed}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:P("taskDrawer.noFileChanges")})]}),(0,b.jsxs)("section",{children:[(0,b.jsxs)("h4",{className:"text-xs font-medium text-muted-foreground mb-1.5 flex items-center gap-1.5",children:[(0,b.jsx)(z.PlayCircle,{className:"h-3.5 w-3.5"}),P("taskDrawer.lastExecution")]}),ag?(0,b.jsxs)("div",{className:"rounded-md border border-border p-2.5 text-sm",children:[(0,b.jsx)(f.Badge,{variant:"secondary",className:"text-xs mb-1.5",children:ag.status}),ag.summary&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-4",children:ag.summary.slice(0,200)})]}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:P("taskDrawer.noExecution")})]}),ah&&!O&&(0,b.jsxs)("section",{className:"flex flex-col",children:[(0,b.jsxs)(g.Button,{variant:"ghost",className:"w-full h-8 justify-start gap-2 px-2 text-xs text-muted-foreground",onClick:async()=>{try{await (0,n.openInFileManager)(ah)}catch(a){console.error("openInFileManager failed:",a),J.toast.error(P("git.openInFileManagerFailed"))}},children:[(0,b.jsx)(A.FolderSearch,{className:"h-3.5 w-3.5 shrink-0"}),P("git.openInFileManager")]}),(0,b.jsxs)(g.Button,{variant:"ghost",className:"w-full h-8 justify-start gap-2 px-2 text-xs text-muted-foreground",onClick:async()=>{try{await (0,o.openInEditor)(ah)}catch(a){console.error("openInEditor failed:",a),J.toast.error(P("git.openInEditorFailed"))}},children:[(0,b.jsx)(B.Code,{className:"h-3.5 w-3.5 shrink-0"}),P("git.openInEditor")]}),(0,b.jsxs)(g.Button,{variant:"ghost",className:"w-full h-8 justify-start gap-2 px-2 text-xs text-muted-foreground",onClick:async()=>{try{await (0,p.openInTerminal)(ah)}catch(a){console.error("openInTerminal failed:",a),J.toast.error(P("git.openInTerminalFailed"))}},children:[(0,b.jsx)(C.Terminal,{className:"h-3.5 w-3.5 shrink-0"}),P("git.openInTerminal")]})]}),(0,b.jsx)("section",{children:(0,b.jsxs)(g.Button,{variant:"default",className:"w-full",onClick:()=>{Q&&V(!0)},disabled:!Q,children:[(0,b.jsx)(x.Copy,{className:"h-4 w-4"}),P("taskDrawer.duplicate")]})})]}):null})]}),Q?.project&&(0,b.jsx)(q.CreateTaskDialog,{open:U,onOpenChange:V,onSubmit:ap,labels:W,projectType:Q.project.type,projectLocalPath:Q.project.localPath,prefillFromTask:{title:Q.title,description:Q.description,priority:Q.priority,subPath:Q.subPath,labelIds:Q.labels.map(a=>a.label.id),baseBranch:Q.baseBranch}}),(0,b.jsx)(r.NotePreviewDialog,{note:$,open:null!==$,onOpenChange:a=>{a||_(null)}}),(0,b.jsx)(s.ImageLightbox,{imageUrl:"image"===am&&ao>=0?an[ao].url:null,filename:"image"===am&&ao>=0?an[ao].filename:"",open:"image"===am,onOpenChange:a=>{a||ad(null)},assets:an.map(({url:a,filename:b})=>({url:a,filename:b})),currentIndex:ao>=0?ao:void 0,onIndexChange:a=>{let b=an[a];if(!b)return;let c=aa.find(a=>a.id===b.id);c&&ad(c)}}),(0,b.jsx)(t.TextPreviewDialog,{url:"text"===am&&ac?(0,u.localPathToApiUrl)(ac.path):null,filename:ac?.filename??"",open:"text"===am,onOpenChange:a=>{a||ad(null)}})]})}],972420)}];
2
2
 
3
3
  //# sourceMappingURL=_0wbcp88._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[665518,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("4058ae66cd921be7558aa21e5fac3c2e2103bac0f7",b.callServer,void 0,b.findSourceMapURL,"createTask");a.s(["createTask",0,c])},927999,841106,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("4046f529e8c428e2241817be901d5bb40af934ed33",b.callServer,void 0,b.findSourceMapURL,"getTaskNotes");a.s(["getTaskNotes",0,c],927999);let d=(0,b.createServerReference)("40722929cf9ba9b7a74ecc35294448e155ae0fa1c6",b.callServer,void 0,b.findSourceMapURL,"getTaskAssets");a.s(["getTaskAssets",0,d],841106)},113047,828317,297318,a=>{"use strict";let b=(0,a.i(711796).default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);a.s(["ChevronsUpDown",0,b],113047);var c=a.i(780410);let d=(0,c.createServerReference)("40a3fc966955de0833a4419f273a94ba4ab8422f3c",c.callServer,void 0,c.findSourceMapURL,"getProjectBranches");a.s(["getProjectBranches",0,d],828317);let e=(0,c.createServerReference)("4089ab7c3cf5ebfe89a4c928fc5ea86b3e5ebc72e8",c.callServer,void 0,c.findSourceMapURL,"fetchRemoteBranches");a.s(["fetchRemoteBranches",0,e],297318)},445798,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(814574),e=a.i(699570),f=a.i(866718),g=a.i(429246),h=a.i(412783),i=a.i(577565),j=a.i(668116),k=a.i(113047),l=a.i(580701),m=a.i(599209),n=a.i(419622),o=a.i(951192),p=a.i(828317),q=a.i(297318),r=a.i(780410);let s=(0,r.createServerReference)("408c226fa5c96e9fdf1704a52fd380683317c6dc45",r.callServer,void 0,r.findSourceMapURL,"getCurrentBranch");var t=a.i(899896);a.s(["CreateTaskDialog",0,function({open:a,onOpenChange:r,onSubmit:u,onUpdate:v,defaultStatus:w="TODO",editTask:x,editTaskLabelIds:y,prefillFromTask:z,labels:A,projectType:B,projectLocalPath:C,versions:D,defaultVersionId:E}){let F,[G,H]=(0,c.useState)(""),[I,J]=(0,c.useState)(""),[K,L]=(0,c.useState)("MEDIUM"),[M,N]=(0,c.useState)(""),[O,P]=(0,c.useState)([]),[Q,R]=(0,c.useState)([]),[S,T]=(0,c.useState)(!1),[U,V]=(0,c.useState)(""),[W,X]=(0,c.useState)(!1),[Y,Z]=(0,c.useState)(!0),[$,_]=(0,c.useState)(!1),[aa,ab]=(0,c.useState)(null),{t:ac}=(0,o.useI18n)();(0,c.useEffect)(()=>{if(!a||x)return;let b=!1;return(0,t.getConfigValues)(["task.defaultUseWorktree","task.defaultAutoStart"]).then(a=>{if(b)return;let c=a["task.defaultUseWorktree"],d=a["task.defaultAutoStart"];"boolean"==typeof c&&Z(c),"boolean"==typeof d&&_(d)}).catch(()=>{}),()=>{b=!0}},[a,x]);let ad=!!x,ae=!!C;return(0,c.useEffect)(()=>{x?(H(x.title),J(x.description??""),L(x.priority),N(x.subPath??""),P(y??[]),ab(x.versionId??null)):(z?(H(z.title??""),J(z.description??""),L(z.priority??"MEDIUM"),N(z.subPath??""),P(z.labelIds??[])):(H(""),J(""),L("MEDIUM"),N(""),P([])),ab(E??null))},[x,y,z,E]),(0,c.useEffect)(()=>{a||x||(H(""),J(""),L("MEDIUM"),N(""),P([]),R([]),V(""),X(!1),ab(E??null))},[a,x,E]),(0,c.useEffect)(()=>{a&&ae&&!x&&(T(!0),Promise.all([(0,p.getProjectBranches)(C),s(C)]).then(([a,b])=>{R(a);let c=z?.baseBranch??null;c&&a.includes(c)?V(c):V(b&&a.includes(b)?b:a[0]??""),T(!1),(0,q.fetchRemoteBranches)(C).then(()=>{setTimeout(()=>{(0,p.getProjectBranches)(C).then(a=>{R(a),V(b=>a.includes(b)?b:a[0]??"")}).catch(()=>{})},3e3)})}).catch(()=>{R([]),V(""),T(!1)}))},[a,ae,C,x,z]),(0,b.jsx)(d.Dialog,{open:a,onOpenChange:r,disablePointerDismissal:!0,children:(0,b.jsxs)(d.DialogContent,{className:"sm:max-w-md",children:[(0,b.jsx)(d.DialogHeader,{children:(0,b.jsx)(d.DialogTitle,{children:ad?ac("task.edit"):ac("task.create")})}),(0,b.jsxs)("div",{className:"space-y-4 py-2",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{htmlFor:"title",children:ac("task.title")}),(0,b.jsx)(f.Input,{id:"title","data-testid":"task-title",placeholder:ac("task.titlePlaceholder"),value:G,onChange:a=>H(a.target.value),onKeyDown:a=>"Enter"===a.key&&a.preventDefault()})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{htmlFor:"description",children:ac("task.description")}),(0,b.jsx)(g.Textarea,{id:"description",placeholder:ac("task.descPlaceholder"),rows:4,value:I,onChange:a=>J(a.target.value),className:"max-h-[200px] overflow-y-auto"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{htmlFor:"subPath",children:ac("task.subPath")}),(0,b.jsx)(f.Input,{id:"subPath",placeholder:ac("task.subPathPlaceholder"),value:M,onChange:a=>N(a.target.value)}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:ac("task.subPathHint")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{children:ac("task.priority")}),(0,b.jsx)("div",{className:"flex gap-1.5",children:["LOW","MEDIUM","HIGH","CRITICAL"].map(a=>{let c={LOW:{label:ac("task.priorityLow"),style:"text-slate-300 border-slate-500/30 bg-slate-500/10"},MEDIUM:{label:ac("task.priorityMedium"),style:"text-amber-300 border-amber-500/30 bg-amber-500/10"},HIGH:{label:ac("task.priorityHigh"),style:"text-orange-300 border-orange-500/30 bg-orange-500/10"},CRITICAL:{label:ac("task.priorityCritical"),style:"text-rose-300 border-rose-500/30 bg-rose-500/10"}}[a];return(0,b.jsx)("button",{type:"button",onClick:()=>L(a),className:`rounded-lg border px-3 py-1.5 text-xs font-medium transition-all ${K===a?`${c.style} ring-1 ring-current/20`:"border-border text-muted-foreground hover:bg-accent"}`,children:c.label},a)})})]}),ae&&!ad&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{children:ac("task.baseBranch")}),S?(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:ac("task.branchLoading")}):Q.length>0?(0,b.jsxs)(m.Popover,{open:W,onOpenChange:X,children:[(0,b.jsxs)(m.PopoverTrigger,{className:"flex w-full items-center gap-2 rounded-md border border-input bg-background px-3 py-2 text-sm font-mono transition-colors hover:bg-accent focus:outline-none focus:ring-1 focus:ring-ring","data-testid":"branch-selector",children:[(0,b.jsx)(i.GitBranch,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),(0,b.jsx)("span",{className:"flex-1 truncate text-left text-xs",title:U||void 0,children:U||ac("task.branchNone")}),(0,b.jsx)(k.ChevronsUpDown,{className:"h-3.5 w-3.5 shrink-0 opacity-50"})]}),(0,b.jsx)(m.PopoverContent,{className:"w-[min(32rem,90vw)] p-0",align:"start",children:(0,b.jsxs)(n.Command,{children:[(0,b.jsx)(n.CommandInput,{placeholder:ac("task.branchSearch")}),(0,b.jsxs)(n.CommandList,{children:[(0,b.jsx)(n.CommandEmpty,{children:ac("task.branchNone")}),(0,b.jsx)(n.CommandGroup,{children:Q.map(a=>(0,b.jsxs)(n.CommandItem,{value:a,onSelect:()=>{V(a),X(!1)},children:[(0,b.jsx)(i.GitBranch,{className:"h-3 w-3 text-muted-foreground shrink-0 mr-2"}),(0,b.jsx)("span",{className:"flex-1 truncate font-mono",title:a,children:a}),a===U&&(0,b.jsx)(j.Check,{className:"h-3 w-3 text-primary shrink-0 ml-auto"})]},a))})]})]})})]}):(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:ac("task.branchNone")}),(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-2",children:[(0,b.jsx)(h.Label,{className:"text-xs text-muted-foreground",children:ac("task.worktreeLabel")}),(0,b.jsx)("div",{className:"flex gap-1",children:[!0,!1].map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>Z(a),className:`rounded-md px-3 py-1 text-xs font-medium transition-colors ${Y===a?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:a?ac("task.worktreeYes"):ac("task.worktreeNo")},String(a)))})]}),(0,b.jsxs)("div",{className:"mt-2 flex items-center gap-2",children:[(0,b.jsx)(h.Label,{className:"text-xs text-muted-foreground",children:ac("task.autoStartLabel")}),(0,b.jsx)("div",{className:"flex gap-1",children:[!0,!1].map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>_(a),className:`rounded-md px-3 py-1 text-xs font-medium transition-colors ${$===a?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:a?ac("task.autoStartYes"):ac("task.autoStartNo")},String(a)))})]})]}),A.length>0&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{children:ac("task.labels")}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:A.map(a=>{let c=O.includes(a.id);return(0,b.jsx)("button",{type:"button",onClick:()=>{P(b=>c?b.filter(b=>b!==a.id):[...b,a.id])},className:`rounded-full px-2.5 py-1 text-xs font-medium transition-all ${c?"ring-1 ring-current/30":"opacity-50 hover:opacity-80"}`,style:{backgroundColor:a.color+"20",color:a.color,borderColor:c?a.color+"40":"transparent",borderWidth:"1px"},children:a.name},a.id)})})]}),(!ad||D&&D.length>0)&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{children:ac("version.picker.label")}),D&&D.length>0?(0,b.jsxs)(l.Select,{value:aa??"__none__",onValueChange:a=>ab("__none__"===a?null:a),children:[(0,b.jsx)(l.SelectTrigger,{children:(0,b.jsx)("span",{className:"truncate text-sm",children:aa&&(F=D.find(a=>a.id===aa))?F.isCurrent?`${F.number} \xb7 ${F.name} \xb7 ${ac("version.currentShort")}`:`${F.number} \xb7 ${F.name}`:ac("version.picker.none")})}),(0,b.jsxs)(l.SelectContent,{children:[(0,b.jsx)(l.SelectItem,{value:"__none__",children:ac("version.picker.none")}),D.map(a=>(0,b.jsx)(l.SelectItem,{value:a.id,children:a.isCurrent?`${a.number} \xb7 ${a.name} \xb7 ${ac("version.currentShort")}`:`${a.number} \xb7 ${a.name}`},a.id))]})]}):(0,b.jsx)("p",{className:"rounded-md border border-dashed border-border px-3 py-2 text-xs text-muted-foreground",children:ac("version.picker.empty")})]})]}),(0,b.jsxs)(d.DialogFooter,{children:[(0,b.jsx)(e.Button,{variant:"outline",onClick:()=>r(!1),children:ac("common.cancel")}),(0,b.jsx)(e.Button,{onClick:()=>{G.trim()&&(ad&&v?v(x.id,{title:G,description:I,priority:K,labelIds:O,subPath:M.trim()||"",versionId:aa}):u({title:G,description:I,priority:K,status:w,labelIds:O,...ae&&Y&&U?{baseBranch:U}:{},...M.trim()?{subPath:M.trim()}:{},versionId:aa,autoStart:$}),H(""),J(""),L("MEDIUM"),N(""),P([]),R([]),V(""),Z(!0),ab(null),r(!1))},className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:ad?ac("common.save"):ac("common.create")})]})]})})}],445798)},757942,950314,a=>{"use strict";var b=a.i(90393);a.s([],757942),a.s(["Streamdown",()=>b.C],950314)},510650,a=>{"use strict";var b=a.i(728778);a.i(757942);var c=a.i(950314),d=a.i(814574),e=a.i(951192);a.s(["NotePreviewDialog",0,function({note:a,open:f,onOpenChange:g}){let{t:h}=(0,e.useI18n)();return(0,b.jsx)(d.Dialog,{open:f,onOpenChange:g,children:(0,b.jsxs)(d.DialogContent,{className:"w-[min(960px,92vw)] max-w-none sm:max-w-none h-[85vh] max-h-[85vh] flex flex-col p-0 gap-0",children:[(0,b.jsx)("h3",{className:"text-sm font-medium truncate px-5 py-3 border-b border-border/50",children:a?.title}),(0,b.jsx)("div",{className:"flex-1 overflow-auto px-5 py-4",children:a&&a.content.trim()?(0,b.jsx)("div",{className:"text-sm leading-relaxed",children:(0,b.jsx)(c.Streamdown,{children:a.content})}):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:h("taskPage.noteEmpty")})})]})})}])},532615,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(986099),e=a.i(54384),f=a.i(912868),g=a.i(10390),h=a.i(91756);let i=(0,a.i(711796).default)("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);var j=a.i(161664),k=a.i(951192);function l({children:a,onClick:c,title:d,disabled:e,...f}){return(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),e||c()},title:d,disabled:e,className:"inline-flex h-8 w-8 items-center justify-center rounded-md text-white/80 hover:bg-white/15 hover:text-white disabled:opacity-30 disabled:hover:bg-transparent disabled:hover:text-white/80 transition-colors",...f,children:a})}a.s(["ImageLightbox",0,function({imageUrl:a,filename:m,open:n,onOpenChange:o,assets:p,currentIndex:q,onIndexChange:r}){let{t:s}=(0,k.useI18n)(),[t,u]=(0,c.useState)(1),[v,w]=(0,c.useState)({x:0,y:0}),[x,y]=(0,c.useState)(!1),z=(0,c.useRef)(null),[A,B]=(0,c.useState)(!1),C=!!p&&p.length>1&&"number"==typeof q&&!!r,D=C&&q>0,E=C&&q<p.length-1,F=C?p.length:0,G=F>0?Math.ceil(F/10):0,H=C?Math.floor(q/10):0,I=10*H,J=Math.min(I+10,F),K=G>1,L=C&&H>0,M=C&&H<G-1;(0,c.useEffect)(()=>{B(!0)},[]),(0,c.useEffect)(()=>{u(1),w({x:0,y:0})},[a]),(0,c.useEffect)(()=>{if(!n)return;let a=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=a}},[n]);let N=(0,c.useCallback)(()=>o(!1),[o]),O=(0,c.useCallback)(()=>{C&&D&&r(q-1)},[C,D,r,q]),P=(0,c.useCallback)(()=>{C&&E&&r(q+1)},[C,E,r,q]),Q=(0,c.useCallback)(()=>{C&&L&&r((H-1)*10)},[C,L,r,H]),R=(0,c.useCallback)(()=>{C&&M&&r(Math.min((H+1)*10,F-1))},[C,M,r,H,F]),S=(0,c.useCallback)(()=>{u(a=>Math.min(8,1.25*a))},[]),T=(0,c.useCallback)(()=>{u(a=>{let b=Math.max(.1,a/1.25);return b<=1&&w({x:0,y:0}),b})},[]),U=(0,c.useCallback)(()=>{u(1),w({x:0,y:0})},[]);(0,c.useEffect)(()=>{if(!n)return;let a=a=>{switch(a.key){case"Escape":a.preventDefault(),N();break;case"ArrowLeft":C&&(a.preventDefault(),O());break;case"ArrowRight":C&&(a.preventDefault(),P());break;case"+":case"=":a.preventDefault(),S();break;case"-":case"_":a.preventDefault(),T();break;case"0":a.preventDefault(),U()}};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[n,C,N,O,P,S,T,U]);let V=(0,c.useRef)(!1),W=()=>{x&&y(!1),z.current=null},X=x?"cursor-grabbing":"cursor-grab";if(!n||!A)return null;let Y=(0,b.jsxs)("div",{className:"fixed inset-0 z-[100] bg-black/70 dark:bg-black/40 backdrop-blur-md",role:"dialog","aria-modal":"true","aria-label":s("assets.lightbox.zoomFit"),children:[(0,b.jsxs)("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 max-w-[80vw] truncate rounded-md bg-black/40 px-3 py-1 text-xs text-white/80 backdrop-blur-sm pointer-events-none",children:[m,C?` \xb7 ${q+1} / ${p.length}`:""]}),(0,b.jsx)("div",{className:`absolute inset-0 flex items-center justify-center overflow-hidden select-none ${X}`,onClick:a=>{a.target===a.currentTarget&&N()},onWheel:a=>{a.preventDefault();let b=-a.deltaY>0?1.25:.8;u(a=>{let c=Math.min(8,Math.max(.1,a*b));return c<=1&&w({x:0,y:0}),c})},children:a&&(0,b.jsx)("img",{src:a,alt:m,onClick:a=>{a.stopPropagation(),V.current&&(V.current=!1)},onPointerDown:a=>{0===a.button&&(a.stopPropagation(),V.current=!1,a.target.setPointerCapture?.(a.pointerId),z.current={x:a.clientX,y:a.clientY,panX:v.x,panY:v.y},y(!0))},onPointerMove:a=>{if(!z.current)return;let b=a.clientX-z.current.x,c=a.clientY-z.current.y;Math.abs(b)+Math.abs(c)>5&&(V.current=!0),x&&w({x:z.current.panX+b,y:z.current.panY+c})},onPointerUp:W,onPointerLeave:W,onPointerCancel:W,className:"max-h-[88vh] max-w-[92vw] object-contain pointer-events-auto",style:{transform:`translate3d(${v.x}px, ${v.y}px, 0) scale(${t})`,transformOrigin:"center center",transition:x?"none":"transform 120ms ease-out",willChange:x?"transform":"auto"},draggable:!1})}),(0,b.jsxs)("div",{className:"absolute bottom-4 left-1/2 -translate-x-1/2 z-10 flex flex-col items-center gap-2 max-w-[92vw]",onClick:a=>a.stopPropagation(),children:[C&&(0,b.jsxs)("div",{className:"flex items-center gap-1 rounded-lg bg-black/50 px-1.5 py-1.5 backdrop-blur-md ring-1 ring-white/10 max-w-[92vw]",children:[K&&(0,b.jsx)(l,{onClick:Q,title:`${s("assets.lightbox.prev")} (-10)`,"aria-label":`${s("assets.lightbox.prev")} (-10)`,disabled:!L,children:(0,b.jsx)(h.ChevronsLeft,{className:"h-4 w-4"})}),(0,b.jsx)(l,{onClick:O,title:s("assets.lightbox.prev"),"aria-label":s("assets.lightbox.prev"),disabled:!D,children:(0,b.jsx)(f.ChevronLeft,{className:"h-4 w-4"})}),(0,b.jsx)("div",{className:"flex items-center gap-1.5",children:p.slice(I,J).map((a,c)=>{let d=I+c,e=d===q;return(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),e||r(d)},title:a.filename,className:`shrink-0 h-12 w-12 overflow-hidden rounded-md transition-all ${e?"ring-2 ring-white opacity-100 scale-105":"opacity-60 hover:opacity-100 ring-1 ring-white/20"}`,children:(0,b.jsx)("img",{src:a.url,alt:a.filename,className:"h-full w-full object-cover",loading:"lazy",draggable:!1})},a.url+d)})}),(0,b.jsx)(l,{onClick:P,title:s("assets.lightbox.next"),"aria-label":s("assets.lightbox.next"),disabled:!E,children:(0,b.jsx)(g.ChevronRight,{className:"h-4 w-4"})}),K&&(0,b.jsx)(l,{onClick:R,title:`${s("assets.lightbox.next")} (+10)`,"aria-label":`${s("assets.lightbox.next")} (+10)`,disabled:!M,children:(0,b.jsx)(i,{className:"h-4 w-4"})})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 rounded-lg bg-black/50 px-2 py-1.5 backdrop-blur-md ring-1 ring-white/10",children:[(0,b.jsxs)("span",{className:"px-2 text-xs text-white/80 tabular-nums select-none min-w-12 text-center",children:[Math.round(100*t),"%"]}),(0,b.jsx)(l,{onClick:U,title:s("assets.lightbox.reset"),"aria-label":s("assets.lightbox.reset"),disabled:1===t&&0===v.x&&0===v.y,children:(0,b.jsx)(j.RotateCcw,{className:"h-4 w-4"})}),(0,b.jsx)("div",{className:"mx-1 h-5 w-px bg-white/20"}),(0,b.jsx)(l,{onClick:N,title:s("assets.lightbox.close"),"aria-label":s("assets.lightbox.close"),children:(0,b.jsx)(e.X,{className:"h-4 w-4"})})]})]})]});return(0,d.createPortal)(Y,document.body)}],532615)},894148,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(704494);a.i(757942);var e=a.i(950314),f=a.i(814574),g=a.i(951192);a.s(["TextPreviewDialog",0,function({url:a,filename:h,open:i,onOpenChange:j}){let{t:k}=(0,g.useI18n)(),[l,m]=(0,c.useState)(null),[n,o]=(0,c.useState)(!1),[p,q]=(0,c.useState)(null);(0,c.useEffect)(()=>{if(!i||!a){m(null),q(null);return}let b=!1;return o(!0),q(null),m(null),fetch(a).then(a=>{let b=a.headers.get("content-length");if(b&&parseInt(b,10)>1048576)throw Error("FILE_TOO_LARGE");return a.text()}).then(a=>{if(a.length>1048576)throw Error("FILE_TOO_LARGE");b||(m(a),o(!1))}).catch(a=>{b||(a instanceof Error&&"FILE_TOO_LARGE"===a.message?q(k("assets.fileTooLarge")):q(k("assets.previewError")),o(!1))}),()=>{b=!0}},[i,a,k]);let r=h.split(".").pop()?.toLowerCase();return(0,b.jsx)(f.Dialog,{open:i,onOpenChange:j,children:(0,b.jsxs)(f.DialogContent,{className:"w-[min(960px,92vw)] max-w-none sm:max-w-none h-[85vh] max-h-[85vh] flex flex-col p-0 gap-0",children:[(0,b.jsx)("h3",{className:"text-sm font-medium truncate px-5 py-3 border-b border-border/50",children:h}),(0,b.jsx)("div",{className:"flex-1 overflow-auto px-5 py-4",children:(()=>{if(n)return(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 gap-2",children:[(0,b.jsx)(d.Loader2,{className:"size-5 animate-spin text-muted-foreground"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:k("assets.loadingPreview")})]});if(p)return(0,b.jsx)("p",{className:"text-sm text-destructive",children:p});if(null===l)return null;if("md"===r)return(0,b.jsx)("div",{className:"text-sm leading-relaxed",children:(0,b.jsx)(e.Streamdown,{children:l})});if("json"===r){let a;try{a=JSON.stringify(JSON.parse(l),null,2)}catch{a=l}return(0,b.jsx)("pre",{className:"font-mono text-xs whitespace-pre-wrap text-foreground",children:a})}return(0,b.jsx)("pre",{className:"font-mono text-sm whitespace-pre-wrap text-foreground",children:l})})()})]})})}])},161181,a=>{"use strict";let b=new Set(["png","jpg","jpeg","gif","webp","svg","bmp","ico","avif","apng"]);a.s(["isImageAsset",0,function(a,c){if(c?.startsWith("image/"))return!0;let d=a.split(".").pop()?.toLowerCase();return!!d&&b.has(d)},"localPathToApiUrl",0,function(a){let b=a.replace(/\\/g,"/").match(/\/assets\/([^/]+)\/([^/]+)$/);return b?`/api/files/assets/${b[1]}/${b[2]}`:a}])},521007,a=>{"use strict";a.s(["BOARD_COLUMNS",0,[{id:"TODO",label:"To Do",color:"bg-slate-400"},{id:"IN_PROGRESS",label:"In Progress",color:"bg-amber-400"},{id:"IN_REVIEW",label:"In Review",color:"bg-sky-400"},{id:"DONE",label:"Done",color:"bg-emerald-400"},{id:"CANCELLED",label:"Cancelled",color:"bg-rose-400"}],"NOTE_CATEGORIES_PRESET",0,["账号","环境","需求","备忘","任务笔记","经验洞见"],"PRIORITY_CONFIG",0,{LOW:{label:"低",color:"bg-slate-500/20 text-slate-300 border border-slate-500/30"},MEDIUM:{label:"中",color:"bg-amber-500/20 text-amber-300 border border-amber-500/30"},HIGH:{label:"高",color:"bg-orange-500/20 text-orange-300 border border-orange-500/30"},CRITICAL:{label:"紧急",color:"bg-rose-500/20 text-rose-300 border border-rose-500/30"}},"TOWER_LABEL_NAME",0,"Tower"])},87339,a=>{"use strict";let b=(0,a.i(711796).default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);a.s(["Paperclip",0,b],87339)}];
2
+
3
+ //# sourceMappingURL=_0w~~xn0._.js.map