@mndrk/agx 2.4.2 → 2.4.4

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 (347) hide show
  1. package/cloud-runtime/standalone/apps/local/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/apps/local/.next/app-path-routes-manifest.json +5 -0
  3. package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +2 -2
  4. package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
  5. package/cloud-runtime/standalone/apps/local/.next/routes-manifest.json +41 -0
  6. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +2 -2
  7. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
  8. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
  15. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +2 -2
  16. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  17. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  18. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  19. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  20. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  21. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  22. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  23. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  24. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
  25. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  26. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
  27. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
  28. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  29. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  30. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  31. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  32. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  33. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  34. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  35. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  36. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  37. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
  39. package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
  41. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
  43. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  45. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
  47. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  49. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  53. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
  54. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
  56. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
  57. package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
  58. package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  61. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -1
  62. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  63. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  64. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  65. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  67. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
  68. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/auth/route.js +3 -3
  69. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/auth/route.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/callback/route.js +3 -3
  71. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/callback/route.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/groups/route.js +3 -3
  73. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/groups/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/activity/route.js +3 -3
  75. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/activity/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/recap/route.js +3 -3
  77. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/recap/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/route.js +4 -4
  79. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/route.js +3 -3
  81. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/[id]/route/app-paths-manifest.json +3 -0
  83. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/[id]/route/build-manifest.json +11 -0
  84. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/[id]/route/server-reference-manifest.json +4 -0
  85. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/[id]/route.js +7 -0
  86. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/[id]/route.js.map +5 -0
  87. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/[id]/route.js.nft.json +1 -0
  88. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/[id]/route_client-reference-manifest.js +2 -0
  89. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/route/app-paths-manifest.json +3 -0
  90. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/route/build-manifest.json +11 -0
  91. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/route/server-reference-manifest.json +4 -0
  92. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/route.js +7 -0
  93. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/route.js.map +5 -0
  94. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/route.js.nft.json +1 -0
  95. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/route_client-reference-manifest.js +2 -0
  96. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/mcp-setup/route.js +3 -3
  97. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/mcp-setup/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/bulk/route/app-paths-manifest.json +3 -0
  99. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/bulk/route/build-manifest.json +11 -0
  100. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/bulk/route/server-reference-manifest.json +4 -0
  101. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/bulk/route.js +7 -0
  102. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/bulk/route.js.map +5 -0
  103. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/bulk/route.js.nft.json +1 -0
  104. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/bulk/route_client-reference-manifest.js +2 -0
  105. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/route/app-paths-manifest.json +3 -0
  106. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/route/build-manifest.json +11 -0
  107. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/route/server-reference-manifest.json +4 -0
  108. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/route.js +7 -0
  109. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/route.js.map +5 -0
  110. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/route.js.nft.json +1 -0
  111. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/route_client-reference-manifest.js +2 -0
  112. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/options/route.js +3 -3
  113. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/options/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/[id]/route.js +1 -1
  115. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/[id]/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/route.js +3 -3
  117. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/scripted/route.js +1 -1
  119. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/scripted/route.js.nft.json +1 -1
  120. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/stats/route/app-paths-manifest.json +3 -0
  121. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/stats/route/build-manifest.json +11 -0
  122. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/stats/route/server-reference-manifest.json +4 -0
  123. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/stats/route.js +7 -0
  124. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/stats/route.js.map +5 -0
  125. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/stats/route.js.nft.json +1 -0
  126. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/stats/route_client-reference-manifest.js +2 -0
  127. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route.js +4 -4
  128. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route.js.nft.json +1 -1
  129. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route.js +3 -3
  130. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route.js +3 -3
  132. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route.js +6 -6
  134. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route.js.nft.json +1 -1
  135. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/connections/route.js +7 -2
  136. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/connections/route.js.nft.json +1 -1
  137. package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route.js.nft.json +1 -1
  138. package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
  139. package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +2 -2
  140. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  141. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +2 -2
  142. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
  143. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
  144. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  145. package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
  146. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +2 -2
  147. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  149. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
  151. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +1 -1
  153. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  155. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
  156. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
  157. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
  158. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
  159. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  160. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  161. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
  162. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  163. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
  164. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
  165. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
  166. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
  167. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
  168. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
  169. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
  170. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
  171. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
  172. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
  173. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
  174. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
  175. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  176. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  177. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page/react-loadable-manifest.json +1 -1
  178. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page.js.nft.json +1 -1
  179. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page_client-reference-manifest.js +1 -1
  180. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page.js.nft.json +1 -1
  181. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page_client-reference-manifest.js +1 -1
  182. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page/react-loadable-manifest.json +1 -1
  183. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page.js.nft.json +1 -1
  184. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page_client-reference-manifest.js +1 -1
  185. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  186. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
  187. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +2 -2
  188. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +2 -2
  189. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  190. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  191. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  192. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
  193. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  194. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  195. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
  196. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +2 -2
  197. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +2 -2
  198. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
  199. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
  200. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  201. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +1 -1
  202. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
  203. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
  204. package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
  205. package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +2 -2
  206. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +2 -2
  207. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
  208. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
  209. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  210. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
  211. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
  212. package/cloud-runtime/standalone/apps/local/.next/server/app-paths-manifest.json +5 -0
  213. package/cloud-runtime/standalone/apps/local/.next/server/chunks/083c9_next-internal_server_app_api_trackers_[tracker]_metadata_route_actions_c83fcc1a.js +3 -0
  214. package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_labels_[id]_route_actions_2646388d.js +3 -0
  215. package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_metadata_bulk_route_actions_f43e6831.js +3 -0
  216. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0e04eca4._.js +40 -0
  217. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0fbbaf2d._.js +1 -1
  218. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10a90219._.js +3 -3
  219. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1d970ad0._.js +40 -0
  220. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__2ab23e45._.js → [root-of-the-server]__2eb13697._.js} +2 -2
  221. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__3a038592._.js +3 -3
  222. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__3b27260f._.js +23 -8
  223. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__498d8b2d._.js +3 -0
  224. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__580ddcca._.js +40 -0
  225. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__5da8d281._.js +129 -0
  226. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__68b692c4._.js +9 -9
  227. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__76030d44._.js +40 -0
  228. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__7db7c421._.js +20 -5
  229. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__7fcbb0c2._.js +2 -2
  230. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ba72d342._.js +5 -5
  231. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__d8cc43c7._.js +22 -7
  232. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f598d976._.js +1 -1
  233. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f7a936d9._.js +21 -6
  234. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_1a4cb196._.js +1 -1
  235. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_5e5f36c4._.js +1 -1
  236. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_8f9f647d._.js +28 -13
  237. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_9f0fd451._.js +3 -0
  238. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_d256aa32._.js +28 -25
  239. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_e1f4d9ad._.js +1 -1
  240. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_f8b3abae._.js +1 -1
  241. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_orchestrator_chat-processor_ts_46384f36._.js +12 -12
  242. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_tracker_tracker-run-store_ts_5aa9592e._.js +22 -7
  243. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_labels_route_actions_8ba41152.js +3 -0
  244. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_stats_route_actions_7da4ccde.js +3 -0
  245. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__799f4d13._.js → [root-of-the-server]__2af44092._.js} +2 -2
  246. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__452cb0f0._.js +3 -0
  247. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__489568b4._.js +3 -0
  248. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__4ec098a0._.js +3 -0
  249. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__53bd50df._.js +3 -0
  250. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__7774a40c._.js +3 -0
  251. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__b8484b0e._.js +7 -0
  252. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__51edc9b6._.js → [root-of-the-server]__bd05ee09._.js} +2 -2
  253. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_8c4beba9._.js +7 -0
  254. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_5eebb5cb._.js +1 -1
  255. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_35d90b5d._.js → apps_local_bbb7b83b._.js} +2 -2
  256. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_TrackerBoard_tsx_98970bab._.js +6 -6
  257. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_chat-ui_f0554cb4._.js +1 -1
  258. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_751ab3d3._.js +7 -7
  259. package/cloud-runtime/standalone/apps/local/.next/server/functions-config-manifest.json +5 -0
  260. package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
  261. package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
  262. package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +2 -2
  263. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
  264. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
  265. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0243e7d015db440d.js +5 -0
  266. package/cloud-runtime/standalone/apps/local/.next/static/chunks/42a62b80b32a97f7.js +9 -0
  267. package/cloud-runtime/standalone/apps/local/.next/static/chunks/5d047fc7267a8f53.js +16 -0
  268. package/cloud-runtime/standalone/apps/local/.next/static/chunks/7148feb61274d431.css +1 -0
  269. package/cloud-runtime/standalone/apps/local/.next/static/chunks/716e1716d526ded9.js +46 -0
  270. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{77cea126364aab3c.js → 7353a3a1fcd5825c.js} +1 -1
  271. package/cloud-runtime/standalone/apps/local/.next/static/chunks/8b91e7692a899f00.js +20 -0
  272. package/cloud-runtime/standalone/apps/local/.next/static/chunks/9acdd370e9daca0d.js +16 -0
  273. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{6c777fe66e042eec.js → 9df45611d6c84e02.js} +1 -1
  274. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{6c278ae4535b6d5c.js → 9e2208153f276f8c.js} +1 -1
  275. package/cloud-runtime/standalone/apps/local/.next/static/chunks/a084c6475513e6fe.js +16 -0
  276. package/cloud-runtime/standalone/apps/local/.next/static/chunks/aa6db7c91c1ccd5f.js +16 -0
  277. package/cloud-runtime/standalone/apps/local/.next/static/chunks/d5607ac80145f3b7.js +1 -0
  278. package/cloud-runtime/standalone/apps/local/.next/static/chunks/d590384ce3045a12.js +5 -0
  279. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{d5b14e14665024a9.js → d5c307b52fd87861.js} +1 -1
  280. package/cloud-runtime/standalone/apps/local/.next/static/chunks/f4acf76cb6c82c73.js +16 -0
  281. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/labels/[id]/route.ts +23 -0
  282. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/labels/route.ts +41 -0
  283. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/metadata/bulk/route.ts +68 -0
  284. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/metadata/route.ts +31 -0
  285. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/options/route.ts +1 -0
  286. package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/stats/route.ts +20 -0
  287. package/cloud-runtime/standalone/apps/local/app/api/trackers/connections/route.ts +46 -2
  288. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/tracking/connect/page.tsx +41 -11
  289. package/cloud-runtime/standalone/apps/local/components/TrackerBoard.tsx +609 -85
  290. package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +204 -49
  291. package/cloud-runtime/standalone/apps/local/components/tracker/FibonacciPicker.tsx +41 -0
  292. package/cloud-runtime/standalone/apps/local/components/tracker/FolderRow.tsx +1 -1
  293. package/cloud-runtime/standalone/apps/local/components/tracker/LabelPicker.tsx +118 -0
  294. package/cloud-runtime/standalone/apps/local/components/tracker/LabelSettings.tsx +104 -0
  295. package/cloud-runtime/standalone/apps/local/components/tracker/PromptPopover.tsx +64 -0
  296. package/cloud-runtime/standalone/apps/local/components/tracker/SelectionBar.tsx +276 -23
  297. package/cloud-runtime/standalone/apps/local/components/tracker/StatusGroupRow.tsx +50 -0
  298. package/cloud-runtime/standalone/apps/local/components/tracker/TicketPanel.tsx +14 -2
  299. package/cloud-runtime/standalone/apps/local/components/tracker/TicketRow.tsx +147 -7
  300. package/cloud-runtime/standalone/apps/local/components/tracker/TrackerSettingsModal.tsx +14 -2
  301. package/cloud-runtime/standalone/apps/local/components/ui/ResizeHandle.tsx +15 -22
  302. package/cloud-runtime/standalone/apps/local/hooks/useTrackerConnections.ts +29 -1
  303. package/cloud-runtime/standalone/apps/local/hooks/useTrackerIssueStats.ts +52 -0
  304. package/cloud-runtime/standalone/apps/local/hooks/useTrackerItemMetadata.ts +67 -0
  305. package/cloud-runtime/standalone/apps/local/hooks/useTrackerItemsMetadata.ts +51 -0
  306. package/cloud-runtime/standalone/apps/local/hooks/useTrackerLabels.ts +74 -0
  307. package/cloud-runtime/standalone/apps/local/hooks/useTrackerRuns.ts +5 -0
  308. package/cloud-runtime/standalone/apps/local/lib/agent-process-registry.ts +8 -2
  309. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/jira/adapter.tsx +1 -0
  310. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/jira/issues.ts +1 -0
  311. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/linear/adapter.tsx +1 -0
  312. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/linear/client.ts +5 -0
  313. package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/linear/issues.ts +1 -0
  314. package/cloud-runtime/standalone/apps/local/lib/tracker/connections.ts +46 -15
  315. package/cloud-runtime/standalone/apps/local/lib/tracker/tracker-adapter.ts +2 -0
  316. package/cloud-runtime/standalone/apps/local/lib/tracker/tracker-item-metadata-store.ts +262 -0
  317. package/cloud-runtime/standalone/apps/local/lib/tracker/tracker-item-store.ts +10 -3
  318. package/cloud-runtime/standalone/apps/local/lib/tracker/tracker-run-store.ts +42 -0
  319. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker.ts +7 -0
  320. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/task-worker.ts +7 -0
  321. package/cloud-runtime/standalone/apps/local/state/trackerBoardFilters.ts +4 -0
  322. package/cloud-runtime/standalone/apps/local/worker/index.js +6 -2
  323. package/package.json +1 -1
  324. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__847236fb._.js +0 -3
  325. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_80b34b78._.js +0 -3
  326. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__30bf097e._.js +0 -3
  327. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__46ae9d33._.js +0 -3
  328. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__50fd8680._.js +0 -3
  329. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__8059a285._.js +0 -3
  330. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__886953ec._.js +0 -7
  331. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__97160565._.js +0 -3
  332. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0876dfd6ce07abaf.js +0 -9
  333. package/cloud-runtime/standalone/apps/local/.next/static/chunks/1ec83777a9abd420.js +0 -16
  334. package/cloud-runtime/standalone/apps/local/.next/static/chunks/286758b0fd546c68.js +0 -16
  335. package/cloud-runtime/standalone/apps/local/.next/static/chunks/a72ed5cb3feb0d51.js +0 -5
  336. package/cloud-runtime/standalone/apps/local/.next/static/chunks/b02c180ad1d968eb.js +0 -16
  337. package/cloud-runtime/standalone/apps/local/.next/static/chunks/b048a4812b51f97a.js +0 -1
  338. package/cloud-runtime/standalone/apps/local/.next/static/chunks/c63d97c917d96f47.js +0 -46
  339. package/cloud-runtime/standalone/apps/local/.next/static/chunks/d3bf70e2fbdc0ae5.js +0 -5
  340. package/cloud-runtime/standalone/apps/local/.next/static/chunks/dd5a56eea2d4c067.js +0 -16
  341. package/cloud-runtime/standalone/apps/local/.next/static/chunks/dd7d7c382389b8b9.js +0 -16
  342. package/cloud-runtime/standalone/apps/local/.next/static/chunks/e72724fd8225ec39.js +0 -20
  343. package/cloud-runtime/standalone/apps/local/.next/static/chunks/ec92e3bd6c2db6e6.css +0 -1
  344. package/cloud-runtime/standalone/apps/local/.next/static/chunks/ffcc32453866d0c2.js +0 -1
  345. /package/cloud-runtime/standalone/apps/local/.next/static/{QEldoF1LdgJqO0PgpmUmx → 3-6VaSnGGXdV-2eV44RDK}/_buildManifest.js +0 -0
  346. /package/cloud-runtime/standalone/apps/local/.next/static/{QEldoF1LdgJqO0PgpmUmx → 3-6VaSnGGXdV-2eV44RDK}/_clientMiddlewareManifest.json +0 -0
  347. /package/cloud-runtime/standalone/apps/local/.next/static/{QEldoF1LdgJqO0PgpmUmx → 3-6VaSnGGXdV-2eV44RDK}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- module.exports=[329893,e=>{"use strict";var t=e.i(924868),a=e.i(374371),n=e.i(801243),i=e.i(814747),r=e.i(446786),s=e.i(522734);let{DatabaseSync:o}=process.getBuiltinModule("node:sqlite"),d=process.env.AGX_GROUP_CHAT_DIR?.trim()||i.default.join(r.default.homedir(),".agx","group-chat"),l=i.default.join(d,"history.sqlite");function c(e){return{id:e.id,workspaceId:e.workspace_id,threadId:e.thread_id,agentId:e.agent_id,pid:e.pid,state:e.state,sinceMessageId:e.since_message_id,responseMessageId:e.response_message_id||"",startedAt:e.started_at,lastActivity:e.last_activity,projectSlug:e.project_slug||""}}function p(e){let t=function(){(0,s.mkdirSync)(d,{recursive:!0});let e=new o(l);(0,n.pragmaSet)(e,"journal_mode = WAL"),e.exec(`
1
+ module.exports=[329893,e=>{"use strict";var t=e.i(924868),a=e.i(374371),n=e.i(801243),i=e.i(814747),r=e.i(446786),s=e.i(522734);let{DatabaseSync:o}=process.getBuiltinModule("node:sqlite"),l=process.env.AGX_GROUP_CHAT_DIR?.trim()||i.default.join(r.default.homedir(),".agx","group-chat"),d=i.default.join(l,"history.sqlite");function c(e){return{id:e.id,workspaceId:e.workspace_id,threadId:e.thread_id,agentId:e.agent_id,pid:e.pid,state:e.state,sinceMessageId:e.since_message_id,responseMessageId:e.response_message_id||"",startedAt:e.started_at,lastActivity:e.last_activity,projectSlug:e.project_slug||""}}function p(e){let t=function(){(0,s.mkdirSync)(l,{recursive:!0});let e=new o(d);(0,n.pragmaSet)(e,"journal_mode = WAL"),e.exec(`
2
2
  CREATE TABLE IF NOT EXISTS agent_processes (
3
3
  id INTEGER PRIMARY KEY AUTOINCREMENT,
4
4
  workspace_id TEXT NOT NULL,
@@ -12,7 +12,7 @@ module.exports=[329893,e=>{"use strict";var t=e.i(924868),a=e.i(374371),n=e.i(80
12
12
  project_slug TEXT NOT NULL DEFAULT '',
13
13
  UNIQUE (workspace_id, agent_id)
14
14
  )
15
- `),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_state ON agent_processes (state)"),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_thread ON agent_processes (thread_id)"),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_workspace ON agent_processes (workspace_id)");try{e.exec("ALTER TABLE agent_processes ADD COLUMN project_slug TEXT NOT NULL DEFAULT ''")}catch{}try{e.exec("ALTER TABLE agent_processes ADD COLUMN response_message_id TEXT NOT NULL DEFAULT ''")}catch{}return e.exec(`
15
+ `),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_state ON agent_processes (state)"),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_thread ON agent_processes (thread_id)"),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_workspace ON agent_processes (workspace_id)");try{e.exec("ALTER TABLE agent_processes ADD COLUMN project_slug TEXT NOT NULL DEFAULT ''")}catch{}try{e.exec("ALTER TABLE agent_processes ADD COLUMN response_message_id TEXT NOT NULL DEFAULT ''")}catch{}e.exec(`
16
16
  CREATE TABLE IF NOT EXISTS messages (
17
17
  thread_id TEXT NOT NULL,
18
18
  id TEXT NOT NULL,
@@ -22,7 +22,7 @@ module.exports=[329893,e=>{"use strict";var t=e.i(924868),a=e.i(374371),n=e.i(80
22
22
  timestamp INTEGER NOT NULL,
23
23
  PRIMARY KEY (thread_id, id)
24
24
  )
25
- `),e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='linear_runs'").get()&&e.exec("ALTER TABLE linear_runs RENAME TO tracker_runs"),e.exec(`
25
+ `);let t=e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='linear_runs'").get(),a=e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='tracker_runs'").get();return t&&!a?e.exec("ALTER TABLE linear_runs RENAME TO tracker_runs"):t&&a&&e.exec("DROP TABLE linear_runs"),e.exec(`
26
26
  CREATE TABLE IF NOT EXISTS tracker_runs (
27
27
  id TEXT PRIMARY KEY,
28
28
  project_id TEXT,
@@ -56,8 +56,8 @@ module.exports=[329893,e=>{"use strict";var t=e.i(924868),a=e.i(374371),n=e.i(80
56
56
  created_at INTEGER NOT NULL
57
57
  );
58
58
  CREATE INDEX IF NOT EXISTS idx_attachments_message ON attachments(message_id);
59
- `),!a.prepare("PRAGMA table_info(attachments)").all().some(e=>"disk_name"===e.name)){a.exec("ALTER TABLE attachments ADD COLUMN disk_name TEXT NOT NULL DEFAULT ''");let e=a.prepare("SELECT id, filename FROM attachments WHERE disk_name = ''").all(),t=a.prepare("UPDATE attachments SET disk_name = ? WHERE id = ?");for(let a of e){let e=a.filename.includes(".")?"."+a.filename.split(".").pop().toLowerCase():"";t.run(a.id+e,a.id)}}let t=a.prepare("SELECT filename, disk_name, mime_type, size FROM attachments WHERE id = ?").get(e);if(!t)return null;let n=t.disk_name||e;return{filename:t.filename,mimeType:t.mime_type,size:t.size,diskPath:i.default.join(E,n)}}finally{a.close()}}var L=e.i(633211),v=e.i(855532),N=e.i(329905),b=e.i(224316),$=e.i(888652);let S=(0,i.join)((0,r.homedir)(),".agx","agents");var R=e.i(476805),A=e.i(121239),k=e.i(254799);let O=new Map,D=new Map;function U(e){return null!==e}let x="I evolve through experience and collaboration.";function C(e,t){let a=e.replace(/\s+/g," ").trim();if(!a)return`I am ${t}. ${x}`;let n=a.replace(/^you are\b[^.!?\n]*[.!?]?\s*/i,`I am ${t}. `);return(/^i am\b/i.test(n)?n:`I am ${t}. ${n}`).slice(0,500).trim()}function j(e,t){(0,b.ensureAgent)(e.id,{voice:e.voice?.trim()||`${e.name} style`,seed:function(e,t,a){let n=String(a||"").trim();if(n)return C(n,t);let i=String(e||"").trim();return i?C(i,t):`I am ${t}. ${x}`}(t,e.name,e.seed)})}async function M(e){j(e);let t=(0,b.readIdentity)(e.id);if(!t)return;let n=(0,v.readSelf)(e.id),r=(0,v.readReflectionState)(e.id),o=(0,N.readJournalSince)(e.id,r?.lastProcessedJournalId).filter(e=>"post"===e.type);if(0===o.length)return;let d=(0,b.getTeamSelves)(e.id),l=(n?.version??0)+1,c=(0,R.listKnowledgeEntries)({scope:"agent",subjectId:e.id,limit:50}),p=(0,v.buildStructuredReflectionPrompt)(t,n,o,d,c),u="";await (0,a.runCliResponse)({provider:e.provider,model:e.model,systemContext:"You are performing a self-modeling exercise. Output ONLY raw JSON matching the requested schema. No markdown fences, no commentary.",prompt:p,signal:void 0,onDelta:e=>{u+=e}});let g=u.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim(),m=null;try{m=JSON.parse(g)}catch{m=null}let f=m?.self_model?.trim()||"";if(!f)return;let h=Array.isArray(m?.memories)?m.memories.slice(0,3).map(t=>({scope:"agent",subjectId:e.id,sourceType:"reflection",sourceId:o[o.length-1]?.id||`reflection:${e.id}:${l}`,kind:t.kind,title:String(t.title??"").trim(),body:String(t.body??"").trim(),confidence:t.confidence,durability:t.durability,tags:t.tags,evidence:Array.isArray(t.evidence)?t.evidence.map(e=>{let t=String(e?.note??"").trim(),a="string"==typeof e?.id?e.id.trim():"";return t?a?{id:a,note:t}:{note:t}:null}).filter(U):[],metadata:{reflection_window_start:o[0]?.id??null,reflection_window_end:o[o.length-1]?.id??null,self_version:l}})).filter(e=>e.title&&e.body):[],y=(0,R.storeKnowledgeEntries)(h);if((0,v.writeSelf)(e.id,f,l),(0,v.writeReflectionState)(e.id,{lastProcessedJournalId:o[o.length-1]?.id??r?.lastProcessedJournalId??null,updatedAt:new Date().toISOString()}),y>0){let t=(0,L.getSQLiteDb)().prepare(`INSERT OR IGNORE INTO agent_memory (id, agent_id, task_id, memory_type, content, content_hash, created_at)
60
- VALUES (?, ?, ?, ?, ?, ?, ?)`),a=`reflection:${e.id}:${o[o.length-1]?.id??l}`,n=Date.now();for(let i of h){let r="decision"===i.kind?"decision":"gotcha"===i.kind||"constraint"===i.kind?"gotcha":"outcome"===i.kind?"outcome":"pattern",s=(0,k.createHash)("sha256").update(i.body.trim()).digest("hex");t.run((0,k.randomUUID)(),e.id,a,r,i.body.trim(),s,n)}}(0,N.appendJournal)(e.id,{t:new Date().toISOString(),type:"reflection",observation:"Reflected after 10 messages",judgement:"Updated self-model from incremental journal evidence and deduped agent memories",delta:`self-model updated to v${l}${y>0?`; stored ${y} agent memories`:""}`,threads:[],selfVersion:l,body:f});let T=(0,b.listAgents)().filter(t=>t!==e.id).flatMap(e=>(0,N.readJournal)(e,3).map(t=>({agentId:e,entry:t})));if(T.length>0){let t=T.map(e=>`${e.entry.id}: ${e.entry.observation.slice(0,200)}`).join("\n"),n="";try{await (0,a.runCliResponse)({provider:e.provider,model:e.model,prompt:`You are ${e.id}. Review these recent entries from other agents and react to any that resonate with you.
59
+ `),!a.prepare("PRAGMA table_info(attachments)").all().some(e=>"disk_name"===e.name)){a.exec("ALTER TABLE attachments ADD COLUMN disk_name TEXT NOT NULL DEFAULT ''");let e=a.prepare("SELECT id, filename FROM attachments WHERE disk_name = ''").all(),t=a.prepare("UPDATE attachments SET disk_name = ? WHERE id = ?");for(let a of e){let e=a.filename.includes(".")?"."+a.filename.split(".").pop().toLowerCase():"";t.run(a.id+e,a.id)}}let t=a.prepare("SELECT filename, disk_name, mime_type, size FROM attachments WHERE id = ?").get(e);if(!t)return null;let n=t.disk_name||e;return{filename:t.filename,mimeType:t.mime_type,size:t.size,diskPath:i.default.join(E,n)}}finally{a.close()}}var L=e.i(633211),v=e.i(855532),N=e.i(329905),b=e.i(224316),R=e.i(888652);let $=(0,i.join)((0,r.homedir)(),".agx","agents");var S=e.i(476805),A=e.i(121239),k=e.i(254799);let O=new Map,D=new Map;function U(e){return null!==e}let x="I evolve through experience and collaboration.";function C(e,t){let a=e.replace(/\s+/g," ").trim();if(!a)return`I am ${t}. ${x}`;let n=a.replace(/^you are\b[^.!?\n]*[.!?]?\s*/i,`I am ${t}. `);return(/^i am\b/i.test(n)?n:`I am ${t}. ${n}`).slice(0,500).trim()}function j(e,t){(0,b.ensureAgent)(e.id,{voice:e.voice?.trim()||`${e.name} style`,seed:function(e,t,a){let n=String(a||"").trim();if(n)return C(n,t);let i=String(e||"").trim();return i?C(i,t):`I am ${t}. ${x}`}(t,e.name,e.seed)})}async function M(e){j(e);let t=(0,b.readIdentity)(e.id);if(!t)return;let n=(0,v.readSelf)(e.id),r=(0,v.readReflectionState)(e.id),o=(0,N.readJournalSince)(e.id,r?.lastProcessedJournalId).filter(e=>"post"===e.type);if(0===o.length)return;let l=(0,b.getTeamSelves)(e.id),d=(n?.version??0)+1,c=(0,S.listKnowledgeEntries)({scope:"agent",subjectId:e.id,limit:50}),p=(0,v.buildStructuredReflectionPrompt)(t,n,o,l,c),u="";await (0,a.runCliResponse)({provider:e.provider,model:e.model,systemContext:"You are performing a self-modeling exercise. Output ONLY raw JSON matching the requested schema. No markdown fences, no commentary.",prompt:p,signal:void 0,onDelta:e=>{u+=e}});let g=u.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim(),m=null;try{m=JSON.parse(g)}catch{m=null}let f=m?.self_model?.trim()||"";if(!f)return;let h=Array.isArray(m?.memories)?m.memories.slice(0,3).map(t=>({scope:"agent",subjectId:e.id,sourceType:"reflection",sourceId:o[o.length-1]?.id||`reflection:${e.id}:${d}`,kind:t.kind,title:String(t.title??"").trim(),body:String(t.body??"").trim(),confidence:t.confidence,durability:t.durability,tags:t.tags,evidence:Array.isArray(t.evidence)?t.evidence.map(e=>{let t=String(e?.note??"").trim(),a="string"==typeof e?.id?e.id.trim():"";return t?a?{id:a,note:t}:{note:t}:null}).filter(U):[],metadata:{reflection_window_start:o[0]?.id??null,reflection_window_end:o[o.length-1]?.id??null,self_version:d}})).filter(e=>e.title&&e.body):[],y=(0,S.storeKnowledgeEntries)(h);if((0,v.writeSelf)(e.id,f,d),(0,v.writeReflectionState)(e.id,{lastProcessedJournalId:o[o.length-1]?.id??r?.lastProcessedJournalId??null,updatedAt:new Date().toISOString()}),y>0){let t=(0,L.getSQLiteDb)().prepare(`INSERT OR IGNORE INTO agent_memory (id, agent_id, task_id, memory_type, content, content_hash, created_at)
60
+ VALUES (?, ?, ?, ?, ?, ?, ?)`),a=`reflection:${e.id}:${o[o.length-1]?.id??d}`,n=Date.now();for(let i of h){let r="decision"===i.kind?"decision":"gotcha"===i.kind||"constraint"===i.kind?"gotcha":"outcome"===i.kind?"outcome":"pattern",s=(0,k.createHash)("sha256").update(i.body.trim()).digest("hex");t.run((0,k.randomUUID)(),e.id,a,r,i.body.trim(),s,n)}}(0,N.appendJournal)(e.id,{t:new Date().toISOString(),type:"reflection",observation:"Reflected after 10 messages",judgement:"Updated self-model from incremental journal evidence and deduped agent memories",delta:`self-model updated to v${d}${y>0?`; stored ${y} agent memories`:""}`,threads:[],selfVersion:d,body:f});let T=(0,b.listAgents)().filter(t=>t!==e.id).flatMap(e=>(0,N.readJournal)(e,3).map(t=>({agentId:e,entry:t})));if(T.length>0){let t=T.map(e=>`${e.entry.id}: ${e.entry.observation.slice(0,200)}`).join("\n"),n="";try{await (0,a.runCliResponse)({provider:e.provider,model:e.model,prompt:`You are ${e.id}. Review these recent entries from other agents and react to any that resonate with you.
61
61
 
62
62
  Entries:
63
63
  ${t}
@@ -67,13 +67,13 @@ REACT <entryId> <type>
67
67
 
68
68
  Valid types: agree, disagree, learned-from, builds-on, curious
69
69
 
70
- Only react to entries that genuinely resonate. It's fine to react to zero entries. Output nothing else.`,signal:void 0,onDelta:e=>{n+=e}})}catch{}for(let t of n.split("\n")){let a=t.trim().match(/^REACT\s+(\S+)\s+(agree|disagree|learned-from|builds-on|curious)$/);if(a)try{!function(e,t,a){let n;if(!function(e){let[t]=e.split(":");return!!t&&(0,N.readJournal)(t).some(t=>t.id===e)}(t))throw Error(`Target entry ${t} not found`);n=(0,i.join)(S,e),(0,s.existsSync)(n)||(0,s.mkdirSync)(n,{recursive:!0});let r={agent:e,t:new Date().toISOString(),targetEntry:t,type:a};(0,s.appendFileSync)((0,i.join)(S,e,"reactions.jsonl"),JSON.stringify(r)+"\n","utf-8"),(0,$.logActivity)(e,"mesh-reaction",{meta:{target:t,type:a}})}(e.id,a[1],a[2])}catch{}}}}async function P(e){try{return await (0,t.readFile)(e,"utf-8")}catch(a){let t=a instanceof Error?a.message:String(a);return`[Error reading ${e}: ${t}]`}}async function X(e){let t=e.trim();if(!t)return{label:"unknown",content:"[Empty file reference]"};let a=function(e){let t=e.trim();if(!t)return null;let a=t.match(/^attachment:([a-zA-Z0-9-]+)$/);if(a)return a[1];let n=t.match(/\/api\/attachments\/([a-zA-Z0-9-]+)/);return n?n[1]:t.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)?t:null}(t);if(a){let e=await _(a);if(e){let t=await P(e.diskPath);return{label:e.filename,content:t}}}return{label:t,content:await P(t)}}function F(e,t){let a=new Set(e.toLowerCase().replace(/[^\w\s]/g,"").split(/\s+/).filter(Boolean)),n=new Set(t.toLowerCase().replace(/[^\w\s]/g,"").split(/\s+/).filter(Boolean));if(0===a.size||0===n.size)return 0;let i=0;for(let e of a)n.has(e)&&i++;return i/(a.size+n.size-i)}async function B(e,t,n,i,r,s,o,d,l,c,g,T,I,w){var E;let _,b,S,R,k,U,x,C="";T({type:"participant-start",participantId:t.id}),T({type:"participant-thinking",participantId:t.id});let P=(_=[String(t.identity??t.identity??"").trim(),t.voice?.trim()?`Voice: ${t.voice.trim()}`:"",t.seed?.trim()?`Core orientation: ${t.seed.trim()}`:""].filter(Boolean)).length>0?_.join("\n\n"):void 0;j(t,P);let F=(0,v.readSelf)(t.id);F?.content&&(k=`[Self-Model]
70
+ Only react to entries that genuinely resonate. It's fine to react to zero entries. Output nothing else.`,signal:void 0,onDelta:e=>{n+=e}})}catch{}for(let t of n.split("\n")){let a=t.trim().match(/^REACT\s+(\S+)\s+(agree|disagree|learned-from|builds-on|curious)$/);if(a)try{!function(e,t,a){let n;if(!function(e){let[t]=e.split(":");return!!t&&(0,N.readJournal)(t).some(t=>t.id===e)}(t))throw Error(`Target entry ${t} not found`);n=(0,i.join)($,e),(0,s.existsSync)(n)||(0,s.mkdirSync)(n,{recursive:!0});let r={agent:e,t:new Date().toISOString(),targetEntry:t,type:a};(0,s.appendFileSync)((0,i.join)($,e,"reactions.jsonl"),JSON.stringify(r)+"\n","utf-8"),(0,R.logActivity)(e,"mesh-reaction",{meta:{target:t,type:a}})}(e.id,a[1],a[2])}catch{}}}}async function P(e){try{return await (0,t.readFile)(e,"utf-8")}catch(a){let t=a instanceof Error?a.message:String(a);return`[Error reading ${e}: ${t}]`}}async function X(e){let t=e.trim();if(!t)return{label:"unknown",content:"[Empty file reference]"};let a=function(e){let t=e.trim();if(!t)return null;let a=t.match(/^attachment:([a-zA-Z0-9-]+)$/);if(a)return a[1];let n=t.match(/\/api\/attachments\/([a-zA-Z0-9-]+)/);return n?n[1]:t.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)?t:null}(t);if(a){let e=await _(a);if(e){let t=await P(e.diskPath);return{label:e.filename,content:t}}}return{label:t,content:await P(t)}}function F(e,t){let a=new Set(e.toLowerCase().replace(/[^\w\s]/g,"").split(/\s+/).filter(Boolean)),n=new Set(t.toLowerCase().replace(/[^\w\s]/g,"").split(/\s+/).filter(Boolean));if(0===a.size||0===n.size)return 0;let i=0;for(let e of a)n.has(e)&&i++;return i/(a.size+n.size-i)}async function B(e,t,n,i,r,s,o,l,d,c,g,T,I,w){var E;let _,b,$,S,k,U,x,C="";T({type:"participant-start",participantId:t.id}),T({type:"participant-thinking",participantId:t.id});let P=(_=[String(t.identity??t.identity??"").trim(),t.voice?.trim()?`Voice: ${t.voice.trim()}`:"",t.seed?.trim()?`Core orientation: ${t.seed.trim()}`:""].filter(Boolean)).length>0?_.join("\n\n"):void 0;j(t,P);let F=(0,v.readSelf)(t.id);F?.content&&(k=`[Self-Model]
71
71
  ${F.content}`);let B=c?.provenanceByAgentId?.[t.id],z=B?.memory??[];if(z.length>0){let e=z.map(e=>`- (${e.source}) ${e.content}`);k=[k,`[Knowledge: Agent Derived]
72
72
  ${e.join("\n")}`].filter(Boolean).join("\n\n")}let G=function(e,t,a){let n=t?.provenanceByAgentId?.[e.id]?.skills;if(n&&n.length>0)return n;let i=[],r=new Set;for(let t of e.skills??[]){let e=t.file.split("/").pop()||t.file;r.has(e)||(r.add(e),i.push({file:t.file,condition:t.condition,source:"agent"}))}for(let t of(0,A.resolveBoundSkillFiles)(e.skillBindings??[],a,e.provider)){let e=t.file.split("/").pop()||t.file;r.has(e)||(r.add(e),i.push({file:t.file,condition:t.condition,source:"agent"}))}for(let e of t?.skills??[]){let t=e.file.split("/").pop()||e.file;r.has(t)||(r.add(t),i.push({file:e.file,condition:e.condition,source:"project"}))}return i}(t,c,r);if(G.length>0){let e=await Promise.all(G.map(async e=>{let t=e.file,a=e.condition,n=await X(t),i=a?`--- ${n.label} [${e.source}] ---
73
73
  Use when: ${a}`:`--- ${n.label} [${e.source}] ---`;return`${i}
74
74
  ${n.content}`}));U=`[Knowledge References]
75
- ${e.join("\n\n")}`}let W=[function(e,t,a,n,i,r,s,o){let d=a.filter(t=>t.id!==e.id).map(e=>e.name).join(", "),l=t.map(e=>e.name).join(", "),c=t.find(t=>t.id!==e.id)?.name||"Name",p=`<role>
76
- You are "${e.name}" in a group chat. All agents: ${l}.`;d&&(p+=` Currently active in this exchange: ${d}.`),p+=`
75
+ ${e.join("\n\n")}`}let W=[function(e,t,a,n,i,r,s,o){let l=a.filter(t=>t.id!==e.id).map(e=>e.name).join(", "),d=t.map(e=>e.name).join(", "),c=t.find(t=>t.id!==e.id)?.name||"Name",p=`<role>
76
+ You are "${e.name}" in a group chat. All agents: ${d}.`;l&&(p+=` Currently active in this exchange: ${l}.`),p+=`
77
77
  Respond as ${e.name} only. Keep responses conversational and concise.
78
78
  IMPORTANT: Always respond to the user's actual question. Do not reference unrelated technical context, previous threads, or system internals unless directly asked.
79
79
  </role>
@@ -137,11 +137,11 @@ Project knowledge notes:`,t))p+=`
137
137
  - ${e.content}${e.source?` (source: ${e.source})`:""}`;let a=o?.repoKnowledge;if(a&&a.length>0)for(let e of(p+=`
138
138
  Repo knowledge:`,a)){let t=e.path?`${e.repoName} (${e.path})`:e.repoName;p+=`
139
139
  - ${t}: ${e.content}`}p+=`
140
- </project-context>`}return p}(t,n,i,s,o,d,l,c),B?`<execution-provenance>
140
+ </project-context>`}return p}(t,n,i,s,o,l,d,c),B?`<execution-provenance>
141
141
  Resolved skills: ${B.skills.map(e=>`${e.file} (${e.source})`).join(", ")||"none"}
142
142
  Resolved memory entries: ${B.memory.map(e=>`${e.source}${e.id?`:${e.id}`:""}`).join(", ")||"none"}
143
143
  </execution-provenance>`:null].filter(Boolean).join("\n\n");T({type:"log",participantId:t.id,stream:"stdout",line:`[DIAGNOSTIC] Model payload for ${t.id}:
144
- ${JSON.stringify({provider:t.provider,model:t.model,promptLength:r.length,identity:P?P.slice(0,200)+"...":void 0,self:k?k.slice(0,200)+"...":void 0,skills:U?U.slice(0,200)+"...":void 0,provenance:B,systemContext:W.slice(0,500)+"..."},null,2)}`});let H=l||"",Y=`${t.id}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,J=(E={workspaceId:e,threadId:I||"",agentId:t.id,pid:0,state:"spawning",sinceMessageId:H,responseMessageId:Y,startedAt:Date.now(),lastActivity:Date.now(),projectSlug:c?.activeProject?.slug||""},p(e=>{let t=e.prepare(`INSERT INTO agent_processes (workspace_id, thread_id, agent_id, pid, state, since_message_id, response_message_id, started_at, last_activity, project_slug)
144
+ ${JSON.stringify({provider:t.provider,model:t.model,promptLength:r.length,identity:P?P.slice(0,200)+"...":void 0,self:k?k.slice(0,200)+"...":void 0,skills:U?U.slice(0,200)+"...":void 0,provenance:B,systemContext:W.slice(0,500)+"..."},null,2)}`});let H=d||"",Y=`${t.id}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,J=(E={workspaceId:e,threadId:I||"",agentId:t.id,pid:0,state:"spawning",sinceMessageId:H,responseMessageId:Y,startedAt:Date.now(),lastActivity:Date.now(),projectSlug:c?.activeProject?.slug||""},p(e=>{let t=e.prepare(`INSERT INTO agent_processes (workspace_id, thread_id, agent_id, pid, state, since_message_id, response_message_id, started_at, last_activity, project_slug)
145
145
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
146
146
  ON CONFLICT(workspace_id, agent_id)
147
147
  DO UPDATE SET
@@ -152,9 +152,9 @@ ${JSON.stringify({provider:t.provider,model:t.model,promptLength:r.length,identi
152
152
  response_message_id = excluded.response_message_id,
153
153
  started_at = excluded.started_at,
154
154
  last_activity = excluded.last_activity,
155
- project_slug = excluded.project_slug`).run(E.workspaceId,E.threadId,E.agentId,E.pid,E.state,E.sinceMessageId,E.responseMessageId||"",E.startedAt,E.lastActivity,E.projectSlug||"");if(1===t.changes&&t.lastInsertRowid)return Number(t.lastInsertRowid);let a=e.prepare("SELECT id FROM agent_processes WHERE workspace_id = ? AND agent_id = ?").get(E.workspaceId,E.agentId);return a?.id??0}));w?.(J);let K=null;try{await (0,a.runCliResponse)({provider:t.provider,model:t.model,prompt:r,identity:P,self:k,skills:U,systemContext:W,signal:g,onSpawn:a=>{K=a,u(e,t.id,{pid:a,state:"running",lastActivity:Date.now()})},onLog:(e,a)=>{T({type:"log",participantId:t.id,stream:e,line:a})},onDelta:a=>{C+=a,u(e,t.id,{lastActivity:Date.now()}),T({type:"text-delta",participantId:t.id,delta:a})},onThought:e=>{T({type:"participant-thought",participantId:t.id,content:e})}}),u(e,t.id,{state:"done",lastActivity:Date.now()})}catch(i){let a=i instanceof Error?i.message:String(i),n=g?.aborted;u(e,t.id,{state:n?"killed":"error",lastActivity:Date.now()}),(0,$.logActivity)(t.id,"error",{thread:I||e,error:a}),T({type:"participant-error",participantId:t.id,error:a})}finally{}let q=(b=[],S=[],R=C.replace(h,(e,t)=>{let a=function(e){let t=new Map;for(y.lastIndex=0;;){let a=y.exec(e);if(!a)break;let n=a[1].toLowerCase(),i=a[2],r=a[3],s=a[4],o=(i??r??s??"").replace(/\\(["'\\])/g,"$1").trim();t.set(n,o)}return t}(String(t)),n=(a.get("target")||"").trim(),i=(a.get("type")||"").trim().toLowerCase(),r=(a.get("reason")||"").trim(),s=(a.get("blockercode")||a.get("blocker_code")||"").trim();return n?f.has(i)?"clarify"!==i&&"blocked"!==i||r?b.push({raw:e,target:n,type:i,reason:r||void 0,blockerCode:"blocked"===i&&s||void 0}):S.push({raw:e,error:`"${i}" requires reason`}):S.push({raw:e,error:`Invalid type: ${i||"(empty)"}`}):S.push({raw:e,error:"Missing target"}),""}).replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim(),{signals:b,invalid:S,cleanedText:R});for(let e of q.invalid)T({type:"log",participantId:t.id,stream:"stderr",line:`[reaction] ignored ${e.raw}: ${e.error}`});for(let a of q.signals)try{let n=await (0,m.setReaction)({threadId:e,messageId:a.target,participantId:t.id,type:a.type,reason:a.reason,blockerCode:a.blockerCode,hostPid:K,responseMessageId:Y});T({type:"message-reactions",messageId:a.target,reactions:n.reactions})}catch(n){let e=n instanceof Error?n.message:String(n);T({type:"log",participantId:t.id,stream:"stderr",line:`[reaction] failed ${a.raw}: ${e}`})}let V=q.cleanedText.trim();if("[SKIP]"===V)return(0,$.logActivity)(t.id,"skip",{thread:I||e}),T({type:"participant-end",participantId:t.id}),{skipped:!0,response:"",mentions:new Set,parallel:!1,parallelIds:new Set,agentProcessId:J};let Z=function(e,t){let a=e;for(let e of(a=a.replace(/@@all/gi,"@all"),t))a=(a=a.replace(RegExp(`@@${e.name}`,"gi"),`@${e.name}`)).replace(RegExp(`@@${e.id}`,"gi"),`@${e.id}`);return a}(V,n);if(Z)try{await (0,m.saveMessages)(e,[{id:Y,role:"assistant",participantId:t.id,content:Z,timestamp:Date.now(),rootMessageId:I||null,parentMessageId:I||null,depth:+!!I}]),x=Y}catch(a){let e=a instanceof Error?a.message:String(a);T({type:"log",participantId:t.id,stream:"stderr",line:`[history] failed to save assistant message: ${e}`})}if(Z&&Z.length>20)try{let a,n,i,r,s,o,d,l,c,p,u,g,m,f;j(t,P);let h=(s=(r=Z.trim()).slice(0,120).replace(/\n/g," "),o=/\?/.test(r),d=r.match(/@\w+/g)||[],l=/\b(should|need to|must|plan|steps?|implement|fix|verify|ship|next|start)\b/i.test(r),c=/\b(maybe|might|could|unsure|not sure|unclear)\b/i.test(r),p=/\b(i will|i'll|i can|i'm going to|starting|checking|verified|fixed|done|shipped)\b/i.test(r),u=/```/.test(r)||/\bfunction\b|\bconst\b|\binterface\b/i.test(r),g=/\|.*\|.*\|/.test(r)||/^#{1,3}\s/m.test(r),m=/\b(finding|issue|bug|problem|missing|broken|wrong)\b/i.test(r),a=u&&g?`Observed a structured technical response with code or implementation detail — "${s}..."`:u?`Observed code-centric output — "${s}..."`:g?`Observed structured analysis or specification language — "${s}..."`:m?`Observed review or issue-spotting behavior — "${s}..."`:p?`Observed a concrete commitment to action — "${s}..."`:l?`Observed direction-setting or next-step guidance — "${s}..."`:o?`Observed clarifying or exploratory questioning — "${s}..."`:c?`Observed explicit uncertainty or caveating — "${s}..."`:d.length>0?`Observed coordination with ${d.join(", ")} — "${s}..."`:`Observed a general perspective contribution — "${s}..."`,f=[],(u||g)&&f.push("technical depth"),(l||p)&&f.push("execution bias"),o&&f.push("inquiry instinct"),m&&f.push("critical eye"),d.length>0&&f.push("team coordination"),c&&f.push("intellectual honesty"),n=f.length>0?`Candidate specialization signals: ${f.join(" + ")}. Treat as suggestive evidence, not settled identity.`:"Low-signal contribution for specialization; keep as weak evidence only.",l||p?i="Follow through on the action I just committed to.":m?i="Verify the issues I flagged get addressed.":o&&(i="Wait for the answer before moving forward."),{judgement:a,delta:n,intent:i});(0,N.appendJournal)(t.id,{t:new Date().toISOString(),type:"post",thread:I||e,observation:"Responded to thread",judgement:h.judgement,delta:h.delta,intent:h.intent})}catch{}if(Z){let e;j(t,P);let a=(O.get(t.id)||0)+1;O.set(t.id,a),a%10==0&&(e=(D.get(t.id)??Promise.resolve()).catch(()=>{}).then(()=>M(t)),D.set(t.id,e),e.finally(()=>{D.get(t.id)===e&&D.delete(t.id)})).catch(()=>{})}let{ids:Q,parallel:ee}=Z?function(e,t){let a=new Set,n=new Set,i=e.toLowerCase(),r=i.includes("@@all");if(i.includes("@all")||r){for(let e of t)a.add(e.id),r&&n.add(e.id);return{ids:a,parallel:n}}try{let e=(0,L.getSQLiteDb)();for(let t of e.prepare("SELECT id, name, slug FROM projects").all()){let r=t.name.toLowerCase(),s=t.slug.toLowerCase(),o=i.includes(`@@${r}`)||i.includes(`@@${s}`),d=i.includes(`@${r}`)||i.includes(`@${s}`);if(o||d)for(let i of e.prepare("SELECT agent_id FROM project_agents WHERE project_id = ? ORDER BY routing_order ASC").all(t.id))a.add(i.agent_id),o&&n.add(i.agent_id)}}catch{}for(let e of t){let t=e.id.toLowerCase(),r=e.name.toLowerCase(),s=i.includes(`@@${t}`),o=i.includes(`@@${r}`),d=i.includes(`@${t}`),l=i.includes(`@${r}`);(s||o||d||l)&&(a.add(e.id),(s||o)&&n.add(e.id))}return{ids:a,parallel:n}}(Z,n):{ids:new Set,parallel:new Set};if(Q.delete(t.id),ee.delete(t.id),Z){let a=q.signals.map(e=>e.type);(0,$.logActivity)(t.id,"message",{thread:I||e,messageId:x,response:Z,prompt:r,mentions:Q.size>0?[...Q]:void 0,reactions:a.length>0?a:void 0})}return(T({type:"participant-end",participantId:t.id,messageId:x,content:Z||void 0}),Z)?{skipped:!1,response:Z,mentions:Q,parallel:ee.size>0,parallelIds:ee,messageId:x,agentProcessId:J}:{skipped:!0,response:"",mentions:new Set,parallel:!1,parallelIds:new Set,agentProcessId:J}}var z=e.i(133439);async function G(e){return(0,m.getChatRun)(e)}async function W(e){return(0,m.updateChatRun)(e)}async function H(e){let t=await (0,m.listChatRunSteps)(e.chatRunId);return(0,m.appendChatRunStep)({id:crypto.randomUUID(),chatRunId:e.chatRunId,stepIndex:t.length+1,kind:e.kind,status:e.status,participantId:e.participantId,inputPayload:e.inputPayload,outputPayload:e.outputPayload})}async function Y(e){return(0,m.updateChatRunStep)({id:e.stepId,status:e.status,outputPayload:e.outputPayload,completedAt:Date.now()})}class J{streams=new Map;publish(e,t){let a=this.streams.get(e);if(a||(a={events:[],subscribers:new Set,done:!1},this.streams.set(e,a)),!a.done)for(let e of(a.events.push(t),a.subscribers))try{e(t)}catch{}}subscribe(e,t){let a=this.streams.get(e);for(let n of(a||(a={events:[],subscribers:new Set,done:!1},this.streams.set(e,a)),a.events))try{t(n)}catch{}return a.done||a.subscribers.add(t),()=>{a.subscribers.delete(t)}}complete(e){let t=this.streams.get(e);if(t){for(let e of(t.done=!0,t.subscribers))try{e({type:"done"})}catch{}t.subscribers.clear(),setTimeout(()=>{this.streams.delete(e)},3e5)}}isComplete(e){return this.streams.get(e)?.done??!1}}let K=Symbol.for("agx:ChatEventBus");var q=e.i(47973);async function V(e){var t;(0,q.writeDebugLog)("chat-processor.start.received",{jobId:e.id,chatRunId:e.data.chatRunId,signal:e.data.signal});let a=await G(e.data.chatRunId);if(!a){(0,q.writeDebugLog)("chat-processor.start.missing",{chatRunId:e.data.chatRunId,jobId:e.id}),console.warn(`[chat-processor] Chat run ${e.data.chatRunId} not found, skipping`);return}if("completed"===a.status||"failed"===a.status||"cancelled"===a.status)return void(0,q.writeDebugLog)("chat-processor.start.skip_terminal",{chatRunId:a.id,status:a.status});if(!((t=a.payload)&&"object"==typeof t&&"string"==typeof t.threadId&&"string"==typeof t.prompt&&Array.isArray(t.participantIds))){(0,q.writeDebugLog)("chat-processor.start.invalid_payload",{chatRunId:a.id}),await W({id:a.id,status:"failed",lastError:"Chat run payload is missing or invalid",completedAt:Date.now()});return}let n=await H({chatRunId:a.id,kind:"model_turn",status:"running",inputPayload:{participantIds:a.payload.participantIds,rootMessageId:a.payload.rootMessageId,maxRounds:a.payload.maxRounds}});await W({id:a.id,status:"running",currentStep:n.stepIndex,stepsUsed:n.stepIndex,lastError:null});let i=(globalThis[K]||(globalThis[K]=new J),globalThis[K]);try{(0,q.writeDebugLog)("chat-processor.start.running",{chatRunId:a.id,threadId:a.threadId,rootMessageId:a.rootMessageId,participantIds:a.payload.participantIds});let e=await (0,z.loadDbParticipants)(),t=new Set(a.payload.participantIds),r=a.payload.participantIds.map(t=>e.find(e=>e.id===t)).filter(e=>!!e);if(0===r.length)throw(0,q.writeDebugLog)("chat-processor.start.no_participants_resolved",{chatRunId:a.id,participantIds:a.payload.participantIds}),Error("No participants resolved for chat run");let s=new Set(a.payload.mentionedIds.filter(e=>t.has(e))),o=new Set(a.payload.initialParallelIds.filter(e=>t.has(e))),d=(function({threadId:e,allParticipants:t,mentioned:a,initialParallelIds:n,prompt:i,projectContext:r,signal:s,maxRounds:o,recentHistory:d,currentUserMessageId:l,rootMessageId:c}){let p=new TextEncoder;return new ReadableStream({async start(u){let g=[],f=new Map,h=e=>{try{u.enqueue(p.encode(`data: ${JSON.stringify(e)}
155
+ project_slug = excluded.project_slug`).run(E.workspaceId,E.threadId,E.agentId,E.pid,E.state,E.sinceMessageId,E.responseMessageId||"",E.startedAt,E.lastActivity,E.projectSlug||"");if(1===t.changes&&t.lastInsertRowid)return Number(t.lastInsertRowid);let a=e.prepare("SELECT id FROM agent_processes WHERE workspace_id = ? AND agent_id = ?").get(E.workspaceId,E.agentId);return a?.id??0}));w?.(J);let K=null;try{await (0,a.runCliResponse)({provider:t.provider,model:t.model,prompt:r,identity:P,self:k,skills:U,systemContext:W,signal:g,onSpawn:a=>{K=a,u(e,t.id,{pid:a,state:"running",lastActivity:Date.now()})},onLog:(e,a)=>{T({type:"log",participantId:t.id,stream:e,line:a})},onDelta:a=>{C+=a,u(e,t.id,{lastActivity:Date.now()}),T({type:"text-delta",participantId:t.id,delta:a})},onThought:e=>{T({type:"participant-thought",participantId:t.id,content:e})}}),u(e,t.id,{state:"done",lastActivity:Date.now()})}catch(i){let a=i instanceof Error?i.message:String(i),n=g?.aborted;u(e,t.id,{state:n?"killed":"error",lastActivity:Date.now()}),(0,R.logActivity)(t.id,"error",{thread:I||e,error:a}),T({type:"participant-error",participantId:t.id,error:a})}finally{}let q=(b=[],$=[],S=C.replace(h,(e,t)=>{let a=function(e){let t=new Map;for(y.lastIndex=0;;){let a=y.exec(e);if(!a)break;let n=a[1].toLowerCase(),i=a[2],r=a[3],s=a[4],o=(i??r??s??"").replace(/\\(["'\\])/g,"$1").trim();t.set(n,o)}return t}(String(t)),n=(a.get("target")||"").trim(),i=(a.get("type")||"").trim().toLowerCase(),r=(a.get("reason")||"").trim(),s=(a.get("blockercode")||a.get("blocker_code")||"").trim();return n?f.has(i)?"clarify"!==i&&"blocked"!==i||r?b.push({raw:e,target:n,type:i,reason:r||void 0,blockerCode:"blocked"===i&&s||void 0}):$.push({raw:e,error:`"${i}" requires reason`}):$.push({raw:e,error:`Invalid type: ${i||"(empty)"}`}):$.push({raw:e,error:"Missing target"}),""}).replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim(),{signals:b,invalid:$,cleanedText:S});for(let e of q.invalid)T({type:"log",participantId:t.id,stream:"stderr",line:`[reaction] ignored ${e.raw}: ${e.error}`});for(let a of q.signals)try{let n=await (0,m.setReaction)({threadId:e,messageId:a.target,participantId:t.id,type:a.type,reason:a.reason,blockerCode:a.blockerCode,hostPid:K,responseMessageId:Y});T({type:"message-reactions",messageId:a.target,reactions:n.reactions})}catch(n){let e=n instanceof Error?n.message:String(n);T({type:"log",participantId:t.id,stream:"stderr",line:`[reaction] failed ${a.raw}: ${e}`})}let V=q.cleanedText.trim();if("[SKIP]"===V)return(0,R.logActivity)(t.id,"skip",{thread:I||e}),T({type:"participant-end",participantId:t.id}),{skipped:!0,response:"",mentions:new Set,parallel:!1,parallelIds:new Set,agentProcessId:J};let Z=function(e,t){let a=e;for(let e of(a=a.replace(/@@all/gi,"@all"),t))a=(a=a.replace(RegExp(`@@${e.name}`,"gi"),`@${e.name}`)).replace(RegExp(`@@${e.id}`,"gi"),`@${e.id}`);return a}(V,n);if(Z)try{await (0,m.saveMessages)(e,[{id:Y,role:"assistant",participantId:t.id,content:Z,timestamp:Date.now(),rootMessageId:I||null,parentMessageId:I||null,depth:+!!I}]),x=Y}catch(a){let e=a instanceof Error?a.message:String(a);T({type:"log",participantId:t.id,stream:"stderr",line:`[history] failed to save assistant message: ${e}`})}if(Z&&Z.length>20)try{let a,n,i,r,s,o,l,d,c,p,u,g,m,f;j(t,P);let h=(s=(r=Z.trim()).slice(0,120).replace(/\n/g," "),o=/\?/.test(r),l=r.match(/@\w+/g)||[],d=/\b(should|need to|must|plan|steps?|implement|fix|verify|ship|next|start)\b/i.test(r),c=/\b(maybe|might|could|unsure|not sure|unclear)\b/i.test(r),p=/\b(i will|i'll|i can|i'm going to|starting|checking|verified|fixed|done|shipped)\b/i.test(r),u=/```/.test(r)||/\bfunction\b|\bconst\b|\binterface\b/i.test(r),g=/\|.*\|.*\|/.test(r)||/^#{1,3}\s/m.test(r),m=/\b(finding|issue|bug|problem|missing|broken|wrong)\b/i.test(r),a=u&&g?`Observed a structured technical response with code or implementation detail — "${s}..."`:u?`Observed code-centric output — "${s}..."`:g?`Observed structured analysis or specification language — "${s}..."`:m?`Observed review or issue-spotting behavior — "${s}..."`:p?`Observed a concrete commitment to action — "${s}..."`:d?`Observed direction-setting or next-step guidance — "${s}..."`:o?`Observed clarifying or exploratory questioning — "${s}..."`:c?`Observed explicit uncertainty or caveating — "${s}..."`:l.length>0?`Observed coordination with ${l.join(", ")} — "${s}..."`:`Observed a general perspective contribution — "${s}..."`,f=[],(u||g)&&f.push("technical depth"),(d||p)&&f.push("execution bias"),o&&f.push("inquiry instinct"),m&&f.push("critical eye"),l.length>0&&f.push("team coordination"),c&&f.push("intellectual honesty"),n=f.length>0?`Candidate specialization signals: ${f.join(" + ")}. Treat as suggestive evidence, not settled identity.`:"Low-signal contribution for specialization; keep as weak evidence only.",d||p?i="Follow through on the action I just committed to.":m?i="Verify the issues I flagged get addressed.":o&&(i="Wait for the answer before moving forward."),{judgement:a,delta:n,intent:i});(0,N.appendJournal)(t.id,{t:new Date().toISOString(),type:"post",thread:I||e,observation:"Responded to thread",judgement:h.judgement,delta:h.delta,intent:h.intent})}catch{}if(Z){let e;j(t,P);let a=(O.get(t.id)||0)+1;O.set(t.id,a),a%10==0&&(e=(D.get(t.id)??Promise.resolve()).catch(()=>{}).then(()=>M(t)),D.set(t.id,e),e.finally(()=>{D.get(t.id)===e&&D.delete(t.id)})).catch(()=>{})}let{ids:Q,parallel:ee}=Z?function(e,t){let a=new Set,n=new Set,i=e.toLowerCase(),r=i.includes("@@all");if(i.includes("@all")||r){for(let e of t)a.add(e.id),r&&n.add(e.id);return{ids:a,parallel:n}}try{let e=(0,L.getSQLiteDb)();for(let t of e.prepare("SELECT id, name, slug FROM projects").all()){let r=t.name.toLowerCase(),s=t.slug.toLowerCase(),o=i.includes(`@@${r}`)||i.includes(`@@${s}`),l=i.includes(`@${r}`)||i.includes(`@${s}`);if(o||l)for(let i of e.prepare("SELECT agent_id FROM project_agents WHERE project_id = ? ORDER BY routing_order ASC").all(t.id))a.add(i.agent_id),o&&n.add(i.agent_id)}}catch{}for(let e of t){let t=e.id.toLowerCase(),r=e.name.toLowerCase(),s=i.includes(`@@${t}`),o=i.includes(`@@${r}`),l=i.includes(`@${t}`),d=i.includes(`@${r}`);(s||o||l||d)&&(a.add(e.id),(s||o)&&n.add(e.id))}return{ids:a,parallel:n}}(Z,n):{ids:new Set,parallel:new Set};if(Q.delete(t.id),ee.delete(t.id),Z){let a=q.signals.map(e=>e.type);(0,R.logActivity)(t.id,"message",{thread:I||e,messageId:x,response:Z,prompt:r,mentions:Q.size>0?[...Q]:void 0,reactions:a.length>0?a:void 0})}return(T({type:"participant-end",participantId:t.id,messageId:x,content:Z||void 0}),Z)?{skipped:!1,response:Z,mentions:Q,parallel:ee.size>0,parallelIds:ee,messageId:x,agentProcessId:J}:{skipped:!0,response:"",mentions:new Set,parallel:!1,parallelIds:new Set,agentProcessId:J}}var z=e.i(133439);async function G(e){return(0,m.getChatRun)(e)}async function W(e){return(0,m.updateChatRun)(e)}async function H(e){let t=await (0,m.listChatRunSteps)(e.chatRunId);return(0,m.appendChatRunStep)({id:crypto.randomUUID(),chatRunId:e.chatRunId,stepIndex:t.length+1,kind:e.kind,status:e.status,participantId:e.participantId,inputPayload:e.inputPayload,outputPayload:e.outputPayload})}async function Y(e){return(0,m.updateChatRunStep)({id:e.stepId,status:e.status,outputPayload:e.outputPayload,completedAt:Date.now()})}class J{streams=new Map;publish(e,t){let a=this.streams.get(e);if(a||(a={events:[],subscribers:new Set,done:!1},this.streams.set(e,a)),!a.done)for(let e of(a.events.push(t),a.subscribers))try{e(t)}catch{}}subscribe(e,t){let a=this.streams.get(e);for(let n of(a||(a={events:[],subscribers:new Set,done:!1},this.streams.set(e,a)),a.events))try{t(n)}catch{}return a.done||a.subscribers.add(t),()=>{a.subscribers.delete(t)}}complete(e){let t=this.streams.get(e);if(t){for(let e of(t.done=!0,t.subscribers))try{e({type:"done"})}catch{}t.subscribers.clear(),setTimeout(()=>{this.streams.delete(e)},3e5)}}isComplete(e){return this.streams.get(e)?.done??!1}}let K=Symbol.for("agx:ChatEventBus");var q=e.i(47973);async function V(e){var t;(0,q.writeDebugLog)("chat-processor.start.received",{jobId:e.id,chatRunId:e.data.chatRunId,signal:e.data.signal});let a=await G(e.data.chatRunId);if(!a){(0,q.writeDebugLog)("chat-processor.start.missing",{chatRunId:e.data.chatRunId,jobId:e.id}),console.warn(`[chat-processor] Chat run ${e.data.chatRunId} not found, skipping`);return}if("completed"===a.status||"failed"===a.status||"cancelled"===a.status)return void(0,q.writeDebugLog)("chat-processor.start.skip_terminal",{chatRunId:a.id,status:a.status});if(!((t=a.payload)&&"object"==typeof t&&"string"==typeof t.threadId&&"string"==typeof t.prompt&&Array.isArray(t.participantIds))){(0,q.writeDebugLog)("chat-processor.start.invalid_payload",{chatRunId:a.id}),await W({id:a.id,status:"failed",lastError:"Chat run payload is missing or invalid",completedAt:Date.now()});return}let n=await H({chatRunId:a.id,kind:"model_turn",status:"running",inputPayload:{participantIds:a.payload.participantIds,rootMessageId:a.payload.rootMessageId,maxRounds:a.payload.maxRounds}});await W({id:a.id,status:"running",currentStep:n.stepIndex,stepsUsed:n.stepIndex,lastError:null});let i=(globalThis[K]||(globalThis[K]=new J),globalThis[K]);try{(0,q.writeDebugLog)("chat-processor.start.running",{chatRunId:a.id,threadId:a.threadId,rootMessageId:a.rootMessageId,participantIds:a.payload.participantIds});let e=await (0,z.loadDbParticipants)(),t=new Set(a.payload.participantIds),r=a.payload.participantIds.map(t=>e.find(e=>e.id===t)).filter(e=>!!e);if(0===r.length)throw(0,q.writeDebugLog)("chat-processor.start.no_participants_resolved",{chatRunId:a.id,participantIds:a.payload.participantIds}),Error("No participants resolved for chat run");let s=new Set(a.payload.mentionedIds.filter(e=>t.has(e))),o=new Set(a.payload.initialParallelIds.filter(e=>t.has(e))),l=(function({threadId:e,allParticipants:t,mentioned:a,initialParallelIds:n,prompt:i,projectContext:r,signal:s,maxRounds:o,recentHistory:l,currentUserMessageId:d,rootMessageId:c}){let p=new TextEncoder;return new ReadableStream({async start(u){let g=[],f=new Map,h=e=>{try{u.enqueue(p.encode(`data: ${JSON.stringify(e)}
156
156
 
157
- `))}catch{}if("log"===e.type){let t=f.get(e.participantId);t&&g.push({agentProcessId:t,stream:e.stream,line:e.line,timestamp:Date.now()})}},y=async()=>{if(0===g.length)return;let e=new Map;for(let t of g){let a=e.get(t.agentProcessId);a||(a=[],e.set(t.agentProcessId,a)),a.push({stream:t.stream,line:t.line,timestamp:t.timestamp})}await Promise.all(Array.from(e.entries()).map(([e,t])=>(0,m.saveLogs)(e,t).catch(e=>console.error("[stream-multiplexer] saveLogs failed:",e))))},T=[],I=[],w=d?d.map(e=>({name:e.name,content:e.content})):[],E=t[0],_=new Set;if(a.size>0)for(let e of a)_.add(e);else _.add(E.id);let L=o??10,v=new Set(_);for(let a=0;a<L&&!s?.aborted;a++){let o=!0,p=t.filter(e=>_.has(e.id)),u=new Set,g=new Set;if(0===a&&n&&n.size>0){let a=p.filter(e=>n.has(e.id)&&v.has(e.id));if(a.length>0){for(let e of a)g.add(e.id);let n=a.map(async a=>{let n=await B(e,a,t,p,i,T,d||[],I,l||null,r,s,h,c,e=>f.set(a.id,e));return{agent:a,result:n}});for(let e of(await Promise.allSettled(n))){if("fulfilled"!==e.status)continue;let{agent:t,result:a}=e.value;if(!a.skipped)for(let e of(a.response&&a.messageId&&I.push({id:a.messageId,name:t.name,content:a.response}),a.response&&([...w,...T].filter(e=>e.name===t.name).some(e=>F(e.content,a.response)>.5)||(T.push({name:t.name,content:a.response}),o=!1)),a.mentions))_.add(e),p.findIndex(t=>t.id===e)>=0&&!g.has(e)&&v.has(e)||u.add(e)}}}for(let a=0;a<p.length;a++){let n=p[a];if(s?.aborted)break;if(!v.has(n.id)||g.has(n.id))continue;let m=await B(e,n,t,p,i,T,d||[],I,l||null,r,s,h,c,e=>f.set(n.id,e));if(m.skipped||(m.response&&m.messageId&&I.push({id:m.messageId,name:n.name,content:m.response}),m.response&&[...w,...T].filter(e=>e.name===n.name).some(e=>F(e.content,m.response)>.5)))continue;for(let e of(o=!1,m.response&&T.push({name:n.name,content:m.response}),m.mentions))p.findIndex(t=>t.id===e)>a&&v.has(e)||u.add(e);let y=new Set;for(let e of m.mentions)_.has(e)||(_.add(e),y.add(e));let E=new Set([...m.parallelIds].filter(e=>y.has(e)));if(E.size>0){let a=t.filter(e=>E.has(e.id)),n=t.filter(e=>_.has(e.id)),o=a.map(async a=>{let o=await B(e,a,t,n,i,T,d||[],I,l||null,r,s,h,c,e=>f.set(a.id,e));return{agent:a,result:o}});for(let e of(await Promise.allSettled(o))){if("fulfilled"!==e.status)continue;let{agent:t,result:a}=e.value;if(!a.skipped){if(a.response&&a.messageId&&I.push({id:a.messageId,name:t.name,content:a.response}),a.response){if([...w,...T].filter(e=>e.name===t.name).some(e=>F(e.content,a.response)>.5))continue;T.push({name:t.name,content:a.response})}for(let e of a.mentions)_.add(e),u.add(e)}}}}if(o)break;v=u}await y(),h({type:"done"}),u.close()}})})({threadId:a.payload.threadId,allParticipants:r,mentioned:s,initialParallelIds:o,prompt:a.payload.prompt,projectContext:a.payload.projectContext,maxRounds:a.payload.maxRounds,recentHistory:a.payload.recentHistory,currentUserMessageId:a.payload.currentUserMessageId,rootMessageId:a.payload.rootMessageId}).getReader();(0,q.writeDebugLog)("chat-processor.stream.open",{chatRunId:a.id,participantCount:r.length});let l="";for(;;){let{done:e,value:t}=await d.read();if(e)break;if(t){let e=(l+=new TextDecoder().decode(t)).split("\n");for(let t of(l=e.pop()||"",e)){let e=t.trim();if(e.startsWith("data: "))try{let t=JSON.parse(e.slice(6));"log"!==t.type&&i.publish(a.id,t)}catch{}}}}if(l.trim().startsWith("data: "))try{let e=JSON.parse(l.trim().slice(6));"log"!==e.type&&i.publish(a.id,e)}catch{}i.complete(a.id),(0,q.writeDebugLog)("chat-processor.stream.complete",{chatRunId:a.id}),await Y({stepId:n.id,status:"completed",outputPayload:{completed:!0,participantCount:r.length}}),await W({id:a.id,status:"completed",completedAt:Date.now(),result:{participantIds:r.map(e=>e.id),rootMessageId:a.payload.rootMessageId}}),(0,q.writeDebugLog)("chat-processor.complete",{chatRunId:a.id,rootMessageId:a.payload.rootMessageId})}catch(t){let e=t instanceof Error?t.message:String(t);i.complete(a.id),(0,q.writeDebugLog)("chat-processor.error",{chatRunId:a.id,error:t,message:e}),await Y({stepId:n.id,status:"failed",outputPayload:{error:e}}),await W({id:a.id,status:"failed",lastError:e,completedAt:Date.now(),result:{error:e}})}}async function Z(e){(0,q.writeDebugLog)("chat-processor.cancel.received",{jobId:e.id,chatRunId:e.data.chatRunId});let t=await G(e.data.chatRunId);if(t){var a,n,i,r;if(t.rootMessageId)g((n=a=t.rootMessageId,p(e=>e.prepare("SELECT * FROM agent_processes WHERE thread_id = ?").all(n).map(c))).filter(e=>"running"===e.state||"spawning"===e.state))>0&&p(e=>e.prepare(`UPDATE agent_processes SET state = 'killed', last_activity = ?
157
+ `))}catch{}if("log"===e.type){let t=f.get(e.participantId);t&&g.push({agentProcessId:t,stream:e.stream,line:e.line,timestamp:Date.now()})}},y=async()=>{if(0===g.length)return;let e=new Map;for(let t of g){let a=e.get(t.agentProcessId);a||(a=[],e.set(t.agentProcessId,a)),a.push({stream:t.stream,line:t.line,timestamp:t.timestamp})}await Promise.all(Array.from(e.entries()).map(([e,t])=>(0,m.saveLogs)(e,t).catch(e=>console.error("[stream-multiplexer] saveLogs failed:",e))))},T=[],I=[],w=l?l.map(e=>({name:e.name,content:e.content})):[],E=t[0],_=new Set;if(a.size>0)for(let e of a)_.add(e);else _.add(E.id);let L=o??10,v=new Set(_);for(let a=0;a<L&&!s?.aborted;a++){let o=!0,p=t.filter(e=>_.has(e.id)),u=new Set,g=new Set;if(0===a&&n&&n.size>0){let a=p.filter(e=>n.has(e.id)&&v.has(e.id));if(a.length>0){for(let e of a)g.add(e.id);let n=a.map(async a=>{let n=await B(e,a,t,p,i,T,l||[],I,d||null,r,s,h,c,e=>f.set(a.id,e));return{agent:a,result:n}});for(let e of(await Promise.allSettled(n))){if("fulfilled"!==e.status)continue;let{agent:t,result:a}=e.value;if(!a.skipped)for(let e of(a.response&&a.messageId&&I.push({id:a.messageId,name:t.name,content:a.response}),a.response&&([...w,...T].filter(e=>e.name===t.name).some(e=>F(e.content,a.response)>.5)||(T.push({name:t.name,content:a.response}),o=!1)),a.mentions))_.add(e),p.findIndex(t=>t.id===e)>=0&&!g.has(e)&&v.has(e)||u.add(e)}}}for(let a=0;a<p.length;a++){let n=p[a];if(s?.aborted)break;if(!v.has(n.id)||g.has(n.id))continue;let m=await B(e,n,t,p,i,T,l||[],I,d||null,r,s,h,c,e=>f.set(n.id,e));if(m.skipped||(m.response&&m.messageId&&I.push({id:m.messageId,name:n.name,content:m.response}),m.response&&[...w,...T].filter(e=>e.name===n.name).some(e=>F(e.content,m.response)>.5)))continue;for(let e of(o=!1,m.response&&T.push({name:n.name,content:m.response}),m.mentions))p.findIndex(t=>t.id===e)>a&&v.has(e)||u.add(e);let y=new Set;for(let e of m.mentions)_.has(e)||(_.add(e),y.add(e));let E=new Set([...m.parallelIds].filter(e=>y.has(e)));if(E.size>0){let a=t.filter(e=>E.has(e.id)),n=t.filter(e=>_.has(e.id)),o=a.map(async a=>{let o=await B(e,a,t,n,i,T,l||[],I,d||null,r,s,h,c,e=>f.set(a.id,e));return{agent:a,result:o}});for(let e of(await Promise.allSettled(o))){if("fulfilled"!==e.status)continue;let{agent:t,result:a}=e.value;if(!a.skipped){if(a.response&&a.messageId&&I.push({id:a.messageId,name:t.name,content:a.response}),a.response){if([...w,...T].filter(e=>e.name===t.name).some(e=>F(e.content,a.response)>.5))continue;T.push({name:t.name,content:a.response})}for(let e of a.mentions)_.add(e),u.add(e)}}}}if(o)break;v=u}await y(),h({type:"done"}),u.close()}})})({threadId:a.payload.threadId,allParticipants:r,mentioned:s,initialParallelIds:o,prompt:a.payload.prompt,projectContext:a.payload.projectContext,maxRounds:a.payload.maxRounds,recentHistory:a.payload.recentHistory,currentUserMessageId:a.payload.currentUserMessageId,rootMessageId:a.payload.rootMessageId}).getReader();(0,q.writeDebugLog)("chat-processor.stream.open",{chatRunId:a.id,participantCount:r.length});let d="";for(;;){let{done:e,value:t}=await l.read();if(e)break;if(t){let e=(d+=new TextDecoder().decode(t)).split("\n");for(let t of(d=e.pop()||"",e)){let e=t.trim();if(e.startsWith("data: "))try{let t=JSON.parse(e.slice(6));"log"!==t.type&&i.publish(a.id,t)}catch{}}}}if(d.trim().startsWith("data: "))try{let e=JSON.parse(d.trim().slice(6));"log"!==e.type&&i.publish(a.id,e)}catch{}i.complete(a.id),(0,q.writeDebugLog)("chat-processor.stream.complete",{chatRunId:a.id}),await Y({stepId:n.id,status:"completed",outputPayload:{completed:!0,participantCount:r.length}}),await W({id:a.id,status:"completed",completedAt:Date.now(),result:{participantIds:r.map(e=>e.id),rootMessageId:a.payload.rootMessageId}}),(0,q.writeDebugLog)("chat-processor.complete",{chatRunId:a.id,rootMessageId:a.payload.rootMessageId})}catch(t){let e=t instanceof Error?t.message:String(t);i.complete(a.id),(0,q.writeDebugLog)("chat-processor.error",{chatRunId:a.id,error:t,message:e}),await Y({stepId:n.id,status:"failed",outputPayload:{error:e}}),await W({id:a.id,status:"failed",lastError:e,completedAt:Date.now(),result:{error:e}})}}async function Z(e){(0,q.writeDebugLog)("chat-processor.cancel.received",{jobId:e.id,chatRunId:e.data.chatRunId});let t=await G(e.data.chatRunId);if(t){var a,n,i,r;if(t.rootMessageId)g((n=a=t.rootMessageId,p(e=>e.prepare("SELECT * FROM agent_processes WHERE thread_id = ?").all(n).map(c))).filter(e=>"running"===e.state||"spawning"===e.state))>0&&p(e=>e.prepare(`UPDATE agent_processes SET state = 'killed', last_activity = ?
158
158
  WHERE thread_id = ? AND state IN ('running', 'spawning')`).run(Date.now(),a));else g((r=i=t.threadId,p(e=>e.prepare("SELECT * FROM agent_processes WHERE workspace_id = ?").all(r).map(c))).filter(e=>"running"===e.state||"spawning"===e.state))>0&&p(e=>e.prepare(`UPDATE agent_processes SET state = 'killed', last_activity = ?
159
159
  WHERE workspace_id = ? AND state IN ('running', 'spawning')`).run(Date.now(),i));await W({id:t.id,status:"cancelled",lastError:e.data.payload?.reason||"Cancelled",completedAt:Date.now(),result:{cancelled:!0}}),(0,q.writeDebugLog)("chat-processor.cancel.complete",{chatRunId:t.id,threadId:t.threadId})}}async function Q(e){switch(e.data.signal){case"start":await V(e);break;case"cancel":await Z(e);break;default:console.warn(`[chat-processor] Unknown signal: ${e.data.signal}`)}}async function ee(e){for(let t of e)await Q(t)}e.s(["chatProcessor",()=>ee],329893)}];
160
160
 
@@ -1,4 +1,4 @@
1
- module.exports=[85e4,e=>{"use strict";var t=e.i(522734),r=e.i(446786),a=e.i(814747),i=e.i(769025);let{DatabaseSync:s}=process.getBuiltinModule("node:sqlite"),n=process.env.AGX_GROUP_CHAT_DIR?.trim()||a.default.join(r.default.homedir(),".agx","group-chat"),u=a.default.join(n,"history.sqlite");function _(e){return e?.trim()||null}function d(e){return"scripted"===e?"scripted":"chat"}function c(e){let t,r=e.chat_created_at??e.created_at,a=e.chat_completed_at??null,i=function(e,t){switch(e){case"queued":return"queued";case"running":case"awaiting_user":case"blocked":return"running";case"completed":return"success";case"failed":return"failed";case"cancelled":return"cancelled";default:return t}}(e.chat_status,e.status);return{id:e.id,projectId:e.project_id,projectSlug:e.project_slug,trackerType:e.tracker_type,issueId:e.issue_id,issueIdentifier:e.issue_identifier,issueTitle:e.issue_title,issueStatus:e.issue_status,issueAssignee:e.issue_assignee,threadId:e.thread_id,rootMessageId:e.root_message_id,chatRunId:e.chat_run_id,agentId:e.agent_id,agentName:e.agent_name,mode:d(e.mode),sessionTitle:"chat"===d(e.mode)&&(t=String(e.root_content??"").replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").replace(/\s+/g," ").trim())?t.length>72?`${t.slice(0,69).trimEnd()}...`:t:null,status:i,durationMs:null!=a?Math.max(a-r,0):null,lastError:e.chat_last_error??e.error,recapFilePath:e.recap_file_path??null,startedAt:new Date(r).toISOString(),updatedAt:new Date((e.chat_updated_at??e.updated_at)||e.updated_at).toISOString(),completedAt:"number"==typeof a?new Date(a).toISOString():null}}async function T(e){await t.promises.mkdir(n,{recursive:!0});let r=new s(u);(0,i.pragmaSet)(r,"journal_mode = WAL");try{r.exec(`
1
+ module.exports=[85e4,e=>{"use strict";var t=e.i(522734),r=e.i(446786),a=e.i(814747),s=e.i(769025);let{DatabaseSync:i}=process.getBuiltinModule("node:sqlite"),n=process.env.AGX_GROUP_CHAT_DIR?.trim()||a.default.join(r.default.homedir(),".agx","group-chat"),_=a.default.join(n,"history.sqlite");function d(e){return e?.trim()||null}function u(e){return"scripted"===e?"scripted":"chat"}function c(e){let t,r=e.chat_created_at??e.created_at,a=e.chat_completed_at??null,s=function(e,t){switch(e){case"queued":return"queued";case"running":case"awaiting_user":case"blocked":return"running";case"completed":return"success";case"failed":return"failed";case"cancelled":return"cancelled";default:return t}}(e.chat_status,e.status);return{id:e.id,projectId:e.project_id,projectSlug:e.project_slug,trackerType:e.tracker_type,issueId:e.issue_id,issueIdentifier:e.issue_identifier,issueTitle:e.issue_title,issueStatus:e.issue_status,issueAssignee:e.issue_assignee,threadId:e.thread_id,rootMessageId:e.root_message_id,chatRunId:e.chat_run_id,agentId:e.agent_id,agentName:e.agent_name,mode:u(e.mode),sessionTitle:"chat"===u(e.mode)&&(t=String(e.root_content??"").replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").replace(/\s+/g," ").trim())?t.length>72?`${t.slice(0,69).trimEnd()}...`:t:null,status:s,durationMs:null!=a?Math.max(a-r,0):null,lastError:e.chat_last_error??e.error,recapFilePath:e.recap_file_path??null,startedAt:new Date(r).toISOString(),updatedAt:new Date((e.chat_updated_at??e.updated_at)||e.updated_at).toISOString(),completedAt:"number"==typeof a?new Date(a).toISOString():null}}async function T(e){await t.promises.mkdir(n,{recursive:!0});let r=new i(_);(0,s.pragmaSet)(r,"journal_mode = WAL");try{r.exec(`
2
2
  CREATE TABLE IF NOT EXISTS chat_runs (
3
3
  id TEXT PRIMARY KEY,
4
4
  thread_id TEXT NOT NULL,
@@ -72,7 +72,7 @@ module.exports=[85e4,e=>{"use strict";var t=e.i(522734),r=e.i(446786),a=e.i(8147
72
72
  ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
73
73
  ON CONFLICT(id) DO UPDATE SET
74
74
  tracker_type = excluded.tracker_type
75
- `);for(let e of t)r.run(String(e.id),_(String(e.project_id??"")),_(String(e.project_slug??"")),"linear",String(e.issue_id),String(e.issue_identifier),String(e.issue_title),String(e.issue_status),_(String(e.issue_assignee??"")),String(e.thread_id),_(String(e.root_message_id??"")),_(String(e.chat_run_id??"")),String(e.agent_id),String(e.agent_name),d(String(e.mode??"chat")),String(e.status??"queued"),_(String(e.error??"")),_(String(e.recap_file_path??"")),Number(e.created_at),Number(e.updated_at))}e.exec("DROP TABLE IF EXISTS linear_runs")}(r);let t=r.prepare("PRAGMA table_info(tracker_runs)").all();return t.some(e=>"mode"===e.name)||r.exec("ALTER TABLE tracker_runs ADD COLUMN mode TEXT NOT NULL DEFAULT 'chat';"),t.some(e=>"recap_file_path"===e.name)||r.exec("ALTER TABLE tracker_runs ADD COLUMN recap_file_path TEXT;"),t.some(e=>"tracker_type"===e.name)||r.exec("ALTER TABLE tracker_runs ADD COLUMN tracker_type TEXT NOT NULL DEFAULT 'linear';"),e(r)}finally{r.close()}}let E=`
75
+ `);for(let e of t)r.run(String(e.id),d(String(e.project_id??"")),d(String(e.project_slug??"")),"linear",String(e.issue_id),String(e.issue_identifier),String(e.issue_title),String(e.issue_status),d(String(e.issue_assignee??"")),String(e.thread_id),d(String(e.root_message_id??"")),d(String(e.chat_run_id??"")),String(e.agent_id),String(e.agent_name),u(String(e.mode??"chat")),String(e.status??"queued"),d(String(e.error??"")),d(String(e.recap_file_path??"")),Number(e.created_at),Number(e.updated_at))}e.exec("DROP TABLE IF EXISTS linear_runs")}(r);let t=r.prepare("PRAGMA table_info(tracker_runs)").all();return t.some(e=>"mode"===e.name)||r.exec("ALTER TABLE tracker_runs ADD COLUMN mode TEXT NOT NULL DEFAULT 'chat';"),t.some(e=>"recap_file_path"===e.name)||r.exec("ALTER TABLE tracker_runs ADD COLUMN recap_file_path TEXT;"),t.some(e=>"tracker_type"===e.name)||r.exec("ALTER TABLE tracker_runs ADD COLUMN tracker_type TEXT NOT NULL DEFAULT 'linear';"),e(r)}finally{r.close()}}let E=`
76
76
  SELECT
77
77
  tr.*,
78
78
  cr.status AS chat_status,
@@ -85,20 +85,35 @@ module.exports=[85e4,e=>{"use strict";var t=e.i(522734),r=e.i(446786),a=e.i(8147
85
85
  LEFT JOIN chat_runs cr ON cr.id = (
86
86
  SELECT id FROM chat_runs WHERE thread_id = tr.thread_id ORDER BY updated_at DESC LIMIT 1
87
87
  )
88
- LEFT JOIN messages msg ON msg.thread_id = tr.thread_id AND msg.id = tr.root_message_id`;async function l(e){let t=Date.now(),r=_(e.id)??crypto.randomUUID(),a=_(e.threadId)??`tracker-run:${r}`,i=d(e.mode),s=e.trackerType??"linear";return T(n=>{n.prepare(`INSERT INTO tracker_runs (
88
+ LEFT JOIN messages msg ON msg.thread_id = tr.thread_id AND msg.id = tr.root_message_id`;async function l(e){let t=Date.now(),r=d(e.id)??crypto.randomUUID(),a=d(e.threadId)??`tracker-run:${r}`,s=u(e.mode),i=e.trackerType??"linear";return T(n=>{n.prepare(`INSERT INTO tracker_runs (
89
89
  id, project_id, project_slug, tracker_type,
90
90
  issue_id, issue_identifier, issue_title,
91
91
  issue_status, issue_assignee, thread_id, root_message_id, chat_run_id,
92
92
  agent_id, agent_name, mode, status, error, recap_file_path, created_at, updated_at
93
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, NULL, ?, ?, ?, 'queued', NULL, ?, ?, ?)`).run(r,_(e.projectId??null),_(e.projectSlug??null),s,e.issueId.trim(),e.issueIdentifier.trim(),e.issueTitle.trim(),e.issueStatus.trim(),_(e.issueAssignee??null),a,e.agentId.trim(),e.agentName.trim(),i,_(e.recapFilePath??null),t,t);let u=n.prepare(`${E} WHERE tr.id = ? LIMIT 1`).get(r);if(!u)throw Error(`Failed to create tracker run ${r}`);return c(u)})}async function p(e){return T(t=>{let r=["updated_at = ?"],a=[Date.now()];void 0!==e.rootMessageId&&(r.push("root_message_id = ?"),a.push(_(e.rootMessageId))),void 0!==e.chatRunId&&(r.push("chat_run_id = ?"),a.push(_(e.chatRunId))),void 0!==e.status&&(r.push("status = ?"),a.push(e.status)),void 0!==e.error&&(r.push("error = ?"),a.push(_(e.error))),a.push(e.id.trim()),t.prepare(`UPDATE tracker_runs SET ${r.join(", ")} WHERE id = ?`).run(...a);let i=t.prepare(`${E} WHERE tr.id = ? LIMIT 1`).get(e.id.trim());return i?c(i):null})}async function o(e){return T(t=>{let r=t.prepare(`${E} WHERE tr.id = ? LIMIT 1`).get(e.trim());return r?c(r):null})}async function N(e){let t=e.issueId.trim(),r=_(e.projectId??null),a=_(e.trackerType??null),i=Number.isFinite(e.limit)?Math.min(Math.max(Number(e.limit),1),100):50;return T(e=>{let s=[t],n=["tr.issue_id = ?"];return r&&(n.push("tr.project_id = ?"),s.push(r)),a&&(n.push("tr.tracker_type = ?"),s.push(a)),s.push(i),e.prepare(`${E}
93
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, NULL, ?, ?, ?, 'queued', NULL, ?, ?, ?)`).run(r,d(e.projectId??null),d(e.projectSlug??null),i,e.issueId.trim(),e.issueIdentifier.trim(),e.issueTitle.trim(),e.issueStatus.trim(),d(e.issueAssignee??null),a,e.agentId.trim(),e.agentName.trim(),s,d(e.recapFilePath??null),t,t);let _=n.prepare(`${E} WHERE tr.id = ? LIMIT 1`).get(r);if(!_)throw Error(`Failed to create tracker run ${r}`);return c(_)})}async function p(e){return T(t=>{let r=["updated_at = ?"],a=[Date.now()];void 0!==e.rootMessageId&&(r.push("root_message_id = ?"),a.push(d(e.rootMessageId))),void 0!==e.chatRunId&&(r.push("chat_run_id = ?"),a.push(d(e.chatRunId))),void 0!==e.status&&(r.push("status = ?"),a.push(e.status)),void 0!==e.error&&(r.push("error = ?"),a.push(d(e.error))),a.push(e.id.trim()),t.prepare(`UPDATE tracker_runs SET ${r.join(", ")} WHERE id = ?`).run(...a);let s=t.prepare(`${E} WHERE tr.id = ? LIMIT 1`).get(e.id.trim());return s?c(s):null})}async function o(e){return T(t=>{let r=t.prepare(`${E} WHERE tr.id = ? LIMIT 1`).get(e.trim());return r?c(r):null})}async function N(e){let t=e.issueId.trim(),r=d(e.projectId??null),a=d(e.trackerType??null),s=Number.isFinite(e.limit)?Math.min(Math.max(Number(e.limit),1),100):50;return T(e=>{let i=[t],n=["tr.issue_id = ?"];return r&&(n.push("tr.project_id = ?"),i.push(r)),a&&(n.push("tr.tracker_type = ?"),i.push(a)),i.push(s),e.prepare(`${E}
94
94
  WHERE ${n.join(" AND ")}
95
95
  ORDER BY tr.created_at DESC
96
- LIMIT ?`).all(...s).map(c)})}async function L(e){return T(t=>{let r=e?.trim(),a=r?`SELECT issue_id, MAX(created_at) AS last_activity_at
96
+ LIMIT ?`).all(...i).map(c)})}async function L(e){return T(t=>{let r=e?.trim(),a=r?`SELECT issue_id, MAX(created_at) AS last_activity_at
97
97
  FROM tracker_runs
98
98
  WHERE project_id = ?
99
99
  GROUP BY issue_id`:`SELECT issue_id, MAX(created_at) AS last_activity_at
100
100
  FROM tracker_runs
101
- GROUP BY issue_id`,i=r?t.prepare(a).all(e.trim()):t.prepare(a).all(),s=new Map;for(let e of i)s.set(e.issue_id,new Date(e.last_activity_at).toISOString());return s})}async function g(e){return T(t=>{let r=e?.trim(),a=r?`SELECT DISTINCT tr.issue_id, tr.agent_id, tr.agent_name
101
+ GROUP BY issue_id`,s=r?t.prepare(a).all(e.trim()):t.prepare(a).all(),i=new Map;for(let e of s)i.set(e.issue_id,new Date(e.last_activity_at).toISOString());return i})}async function g(e){return T(t=>{let r=e?.trim(),a=r?`SELECT tr.issue_id,
102
+ COUNT(DISTINCT tr.id) AS sessions,
103
+ COALESCE(SUM(mc.cnt), 0) AS messages
104
+ FROM tracker_runs tr
105
+ LEFT JOIN (
106
+ SELECT thread_id, COUNT(*) AS cnt FROM messages GROUP BY thread_id
107
+ ) mc ON mc.thread_id = tr.thread_id
108
+ WHERE tr.project_id = ?
109
+ GROUP BY tr.issue_id`:`SELECT tr.issue_id,
110
+ COUNT(DISTINCT tr.id) AS sessions,
111
+ COALESCE(SUM(mc.cnt), 0) AS messages
112
+ FROM tracker_runs tr
113
+ LEFT JOIN (
114
+ SELECT thread_id, COUNT(*) AS cnt FROM messages GROUP BY thread_id
115
+ ) mc ON mc.thread_id = tr.thread_id
116
+ GROUP BY tr.issue_id`;return(r?t.prepare(a).all(e.trim()):t.prepare(a).all()).map(e=>({issueId:e.issue_id,sessions:e.sessions,messages:e.messages}))})}async function m(e){return T(t=>{let r=e?.trim(),a=r?`SELECT DISTINCT tr.issue_id, tr.agent_id, tr.agent_name
102
117
  FROM tracker_runs tr
103
118
  INNER JOIN chat_runs cr ON cr.id = (
104
119
  SELECT id FROM chat_runs WHERE thread_id = tr.thread_id ORDER BY updated_at DESC LIMIT 1
@@ -109,6 +124,6 @@ module.exports=[85e4,e=>{"use strict";var t=e.i(522734),r=e.i(446786),a=e.i(8147
109
124
  INNER JOIN chat_runs cr ON cr.id = (
110
125
  SELECT id FROM chat_runs WHERE thread_id = tr.thread_id ORDER BY updated_at DESC LIMIT 1
111
126
  )
112
- WHERE cr.status IN ('queued', 'running')`;return(r?t.prepare(a).all(e.trim()):t.prepare(a).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["createLinearRun",0,l,"createTrackerRun",()=>l,"getIssueActiveAgents",()=>g,"getIssueActivityMap",()=>L,"getLinearRun",0,o,"getTrackerRun",()=>o,"listLinearRuns",0,N,"listTrackerRuns",()=>N,"updateLinearRun",0,p,"updateTrackerRun",()=>p])}];
127
+ WHERE cr.status IN ('queued', 'running')`;return(r?t.prepare(a).all(e.trim()):t.prepare(a).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["createLinearRun",0,l,"createTrackerRun",()=>l,"getIssueActiveAgents",()=>m,"getIssueActivityMap",()=>L,"getIssueStats",()=>g,"getLinearRun",0,o,"getTrackerRun",()=>o,"listLinearRuns",0,N,"listTrackerRuns",()=>N,"updateLinearRun",0,p,"updateTrackerRun",()=>p])}];
113
128
 
114
129
  //# sourceMappingURL=apps_local_lib_tracker_tracker-run-store_ts_5aa9592e._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[851156,(e,o,d)=>{}];
2
+
3
+ //# sourceMappingURL=ebff2__next-internal_server_app_api_trackers_%5Btracker%5D_labels_route_actions_8ba41152.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[988082,(e,o,d)=>{}];
2
+
3
+ //# sourceMappingURL=ebff2__next-internal_server_app_api_trackers_%5Btracker%5D_stats_route_actions_7da4ccde.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},419920,(a,b,c)=>{"use strict";b.exports=a.r(433430).vendored.contexts.HooksClientContext},731042,(a,b,c)=>{"use strict";b.exports=a.r(433430).vendored.contexts.ServerInsertedHtml},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},263841,(a,b,c)=>{"use strict";b.exports=a.r(433430).vendored.contexts.AppRouterContext},234154,(a,b,c)=>{"use strict";b.exports=a.r(433430).vendored["react-ssr"].ReactServerDOMTurbopackClient},285320,a=>{"use strict";let b=(0,a.i(831709).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",()=>b],285320)},422662,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getDeploymentId:function(){return f},getDeploymentIdQueryOrEmptyString:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(){return!1}function g(){return""}},830284,a=>{"use strict";var b=a.i(786220);function c(){let[a,c]=(0,b.useState)([]),[d,e]=(0,b.useState)(!1),[f,g]=(0,b.useState)(null),h=(0,b.useCallback)(async()=>{e(!0);try{let a=await fetch("/api/projects");if(!a.ok)throw Error("Failed to fetch projects");let b=await a.json();c(b.projects??[]),g(null)}catch(a){g(a instanceof Error?a:Error("Unknown error"))}finally{e(!1)}},[]);(0,b.useEffect)(()=>{h()},[h]);let i=(0,b.useCallback)(async a=>{let b=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to create project");let d=(await b.json()).project;return c(a=>[d,...a]),d},[]);return{projects:a,isLoading:d,error:f,refetch:h,createProject:i,updateProject:(0,b.useCallback)(async(a,b)=>{let d=await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!d.ok)throw Error((await d.json().catch(()=>({}))).error||"Failed to update project");let e=(await d.json()).project;return c(b=>b.map(b=>b.id===a?e:b)),e},[]),deleteProject:(0,b.useCallback)(async a=>{let b=await fetch(`/api/projects/${a}`,{method:"DELETE"});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to delete project");c(b=>b.filter(b=>b.id!==a))},[])}}function d(){let[a,c]=(0,b.useState)([]),[d,e]=(0,b.useState)(!0),f=(0,b.useCallback)(async()=>{try{let a=await fetch("/api/projects");if(!a.ok)return;let{projects:b}=await a.json(),d=await Promise.all((b??[]).map(async a=>{let b=[],c=[];try{let[d,e]=await Promise.all([fetch(`/api/projects/${a.id}/agents`),fetch(`/api/projects/${a.id}/threads`)]);d.ok&&(b=(await d.json()).agents??[]),e.ok&&(c=((await e.json()).threads??[]).map(a=>a.thread_id))}catch{}return{...a,repos:a.repos??[],agents:b.map(b=>({project_id:a.id,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at})),thread_ids:c,workspace_ids:c}}));c(d)}catch{}finally{e(!1)}},[]);(0,b.useEffect)(()=>{f()},[f]);let g=(0,b.useCallback)(async(a,b)=>{try{let d="string"==typeof a?{name:a}:a,e=d.name.trim(),f=(d.slug||e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")).trim(),g=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...d,name:e,slug:f})});if(!g.ok)return null;let{project:h}=await g.json(),i=Array.isArray(b)?b:b?[b]:[];for(let a of i)await fetch(`/api/projects/${h.id}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:a})}).catch(a=>console.warn("[useProjects] link thread failed:",a));let j={...h,repos:h.repos??[],agents:[],thread_ids:i,workspace_ids:i};return c(a=>[...a,j].sort((a,b)=>a.name.localeCompare(b.name))),j}catch{return null}},[]),h=(0,b.useCallback)(async(a,b)=>{try{if(!(await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b})})).ok)return;c(c=>c.map(c=>c.id===a?{...c,name:b}:c).sort((a,b)=>a.name.localeCompare(b.name)))}catch{}},[]),i=(0,b.useCallback)(async a=>{try{if(!(await fetch(`/api/projects/${a}`,{method:"DELETE"})).ok)return;c(b=>b.filter(b=>b.id!==a))}catch{}},[]),j=(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!d.ok){let a=await d.json().catch(()=>({}));throw Error(a.error||"Failed to update project")}let e=(await d.json()).project;return c(b=>b.map(b=>b.id===a?{...b,...e,repos:e.repos??b.repos}:b)),e}catch{return null}},[]),k=(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:b})});if(!d.ok)return;let e=((await d.json()).agents??[]).map(b=>({project_id:a,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at}));c(b=>b.map(b=>b.id===a?{...b,agents:e}:b))}catch{}},[]),l=(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}/agents?agentId=${b}`,{method:"DELETE"});if(!d.ok)return;let e=((await d.json()).agents??[]).map(b=>({project_id:a,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at}));c(b=>b.map(b=>b.id===a?{...b,agents:e}:b))}catch{}},[]);return{projects:a,isLoading:d,createProject:g,updateProject:j,renameProject:h,deleteProject:i,addAgent:k,removeAgent:l,reorderAgents:(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}/agents`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({orderedAgentIds:b})});if(!d.ok)return;let e=((await d.json()).agents??[]).map(b=>({project_id:a,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at}));c(b=>b.map(b=>b.id===a?{...b,agents:e}:b))}catch{}},[]),moveAgent:(0,b.useCallback)(async(a,b,c)=>{try{await fetch(`/api/projects/${b}/agents?agentId=${a}`,{method:"DELETE"}),await fetch(`/api/projects/${c}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:a})}),await f()}catch{}},[f]),refresh:f}}a.s(["useProjects",()=>c,"useProjectsWithAgents",()=>d])},824179,a=>{"use strict";let b=(0,a.i(831709).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["X",()=>b],824179)},353532,a=>{"use strict";let b=(0,a.i(831709).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",()=>b],353532)},667597,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],667597)},820859,a=>{"use strict";let b=(0,a.i(831709).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",()=>b],820859)},864061,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],864061)},654340,a=>{"use strict";let b=(0,a.i(831709).default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);a.s(["Activity",()=>b],654340)},316099,a=>{"use strict";let b=(0,a.i(831709).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);a.s(["Hash",()=>b],316099)},340492,a=>{"use strict";let b=(0,a.i(831709).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.s(["Download",()=>b],340492)},66456,a=>{"use strict";let b=(0,a.i(831709).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);a.s(["Zap",()=>b],66456)},737313,a=>{"use strict";let b=(0,a.i(831709).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);a.s(["MessageSquare",()=>b],737313)},489461,a=>{"use strict";let b=(0,a.i(831709).default)("target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);a.s(["Target",()=>b],489461)},701065,a=>{"use strict";let b=(0,a.i(831709).default)("brain-circuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]);a.s(["BrainCircuit",()=>b],701065)},675222,a=>{"use strict";let b=(0,a.i(831709).default)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["ShieldCheck",()=>b],675222)},438311,a=>{"use strict";let b=(0,a.i(831709).default)("corner-down-right",[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]]);a.s(["CornerDownRight",()=>b],438311)}];
1
+ module.exports=[556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},419920,(a,b,c)=>{"use strict";b.exports=a.r(433430).vendored.contexts.HooksClientContext},731042,(a,b,c)=>{"use strict";b.exports=a.r(433430).vendored.contexts.ServerInsertedHtml},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},263841,(a,b,c)=>{"use strict";b.exports=a.r(433430).vendored.contexts.AppRouterContext},234154,(a,b,c)=>{"use strict";b.exports=a.r(433430).vendored["react-ssr"].ReactServerDOMTurbopackClient},285320,a=>{"use strict";let b=(0,a.i(831709).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",()=>b],285320)},422662,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getDeploymentId:function(){return f},getDeploymentIdQueryOrEmptyString:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(){return!1}function g(){return""}},830284,a=>{"use strict";var b=a.i(786220);function c(){let[a,c]=(0,b.useState)([]),[d,e]=(0,b.useState)(!1),[f,g]=(0,b.useState)(null),h=(0,b.useCallback)(async()=>{e(!0);try{let a=await fetch("/api/projects");if(!a.ok)throw Error("Failed to fetch projects");let b=await a.json();c(b.projects??[]),g(null)}catch(a){g(a instanceof Error?a:Error("Unknown error"))}finally{e(!1)}},[]);(0,b.useEffect)(()=>{h()},[h]);let i=(0,b.useCallback)(async a=>{let b=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to create project");let d=(await b.json()).project;return c(a=>[d,...a]),d},[]);return{projects:a,isLoading:d,error:f,refetch:h,createProject:i,updateProject:(0,b.useCallback)(async(a,b)=>{let d=await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!d.ok)throw Error((await d.json().catch(()=>({}))).error||"Failed to update project");let e=(await d.json()).project;return c(b=>b.map(b=>b.id===a?e:b)),e},[]),deleteProject:(0,b.useCallback)(async a=>{let b=await fetch(`/api/projects/${a}`,{method:"DELETE"});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to delete project");c(b=>b.filter(b=>b.id!==a))},[])}}function d(){let[a,c]=(0,b.useState)([]),[d,e]=(0,b.useState)(!0),f=(0,b.useCallback)(async()=>{try{let a=await fetch("/api/projects");if(!a.ok)return;let{projects:b}=await a.json(),d=await Promise.all((b??[]).map(async a=>{let b=[],c=[];try{let[d,e]=await Promise.all([fetch(`/api/projects/${a.id}/agents`),fetch(`/api/projects/${a.id}/threads`)]);d.ok&&(b=(await d.json()).agents??[]),e.ok&&(c=((await e.json()).threads??[]).map(a=>a.thread_id))}catch{}return{...a,repos:a.repos??[],agents:b.map(b=>({project_id:a.id,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at})),thread_ids:c,workspace_ids:c}}));c(d)}catch{}finally{e(!1)}},[]);(0,b.useEffect)(()=>{f()},[f]);let g=(0,b.useCallback)(async(a,b)=>{try{let d="string"==typeof a?{name:a}:a,e=d.name.trim(),f=(d.slug||e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")).trim(),g=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...d,name:e,slug:f})});if(!g.ok)return null;let{project:h}=await g.json(),i=Array.isArray(b)?b:b?[b]:[];for(let a of i)await fetch(`/api/projects/${h.id}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:a})}).catch(a=>console.warn("[useProjects] link thread failed:",a));let j={...h,repos:h.repos??[],agents:[],thread_ids:i,workspace_ids:i};return c(a=>[...a,j].sort((a,b)=>a.name.localeCompare(b.name))),j}catch{return null}},[]),h=(0,b.useCallback)(async(a,b)=>{try{if(!(await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b})})).ok)return;c(c=>c.map(c=>c.id===a?{...c,name:b}:c).sort((a,b)=>a.name.localeCompare(b.name)))}catch{}},[]),i=(0,b.useCallback)(async a=>{try{if(!(await fetch(`/api/projects/${a}`,{method:"DELETE"})).ok)return;c(b=>b.filter(b=>b.id!==a))}catch{}},[]),j=(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!d.ok){let a=await d.json().catch(()=>({}));throw Error(a.error||"Failed to update project")}let e=(await d.json()).project;return c(b=>b.map(b=>b.id===a?{...b,...e,repos:e.repos??b.repos}:b)),e}catch{return null}},[]),k=(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:b})});if(!d.ok)return;let e=((await d.json()).agents??[]).map(b=>({project_id:a,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at}));c(b=>b.map(b=>b.id===a?{...b,agents:e}:b))}catch{}},[]),l=(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}/agents?agentId=${b}`,{method:"DELETE"});if(!d.ok)return;let e=((await d.json()).agents??[]).map(b=>({project_id:a,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at}));c(b=>b.map(b=>b.id===a?{...b,agents:e}:b))}catch{}},[]);return{projects:a,isLoading:d,createProject:g,updateProject:j,renameProject:h,deleteProject:i,addAgent:k,removeAgent:l,reorderAgents:(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}/agents`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({orderedAgentIds:b})});if(!d.ok)return;let e=((await d.json()).agents??[]).map(b=>({project_id:a,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at}));c(b=>b.map(b=>b.id===a?{...b,agents:e}:b))}catch{}},[]),moveAgent:(0,b.useCallback)(async(a,b,c)=>{try{await fetch(`/api/projects/${b}/agents?agentId=${a}`,{method:"DELETE"}),await fetch(`/api/projects/${c}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:a})}),await f()}catch{}},[f]),refresh:f}}a.s(["useProjects",()=>c,"useProjectsWithAgents",()=>d])},824179,a=>{"use strict";let b=(0,a.i(831709).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["X",()=>b],824179)},353532,a=>{"use strict";let b=(0,a.i(831709).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",()=>b],353532)},667597,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],667597)},864061,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],864061)},737313,a=>{"use strict";let b=(0,a.i(831709).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);a.s(["MessageSquare",()=>b],737313)},820859,a=>{"use strict";let b=(0,a.i(831709).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",()=>b],820859)},654340,a=>{"use strict";let b=(0,a.i(831709).default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);a.s(["Activity",()=>b],654340)},489461,a=>{"use strict";let b=(0,a.i(831709).default)("target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);a.s(["Target",()=>b],489461)},66456,a=>{"use strict";let b=(0,a.i(831709).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);a.s(["Zap",()=>b],66456)},316099,a=>{"use strict";let b=(0,a.i(831709).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);a.s(["Hash",()=>b],316099)},340492,a=>{"use strict";let b=(0,a.i(831709).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.s(["Download",()=>b],340492)},701065,a=>{"use strict";let b=(0,a.i(831709).default)("brain-circuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]);a.s(["BrainCircuit",()=>b],701065)},675222,a=>{"use strict";let b=(0,a.i(831709).default)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["ShieldCheck",()=>b],675222)},438311,a=>{"use strict";let b=(0,a.i(831709).default)("corner-down-right",[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]]);a.s(["CornerDownRight",()=>b],438311)}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__799f4d13._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__2af44092._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},924868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},999076,a=>{"use strict";let b=(0,a.i(831709).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(["XCircle",()=>b],999076)},549429,a=>{"use strict";let b=(0,a.i(831709).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);a.s(["ArrowRight",()=>b],549429)},837929,a=>{"use strict";let b="agx:lastRun",c="agx:lastSession";function d(a,b){}function e(a){return({})[a]??null}function f(a,c){let e={};e[a]=c,d(b,e)}function g(a){return({})[a]??null}function h(a,b){let e={};e[a]=b,d(c,e)}a.s(["loadLastRunForIssue",()=>e,"loadLastSessionForEntity",()=>g,"persistLastRunForIssue",()=>f,"persistLastSessionForEntity",()=>h])},667597,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],667597)},756490,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",()=>b],756490)},864061,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],864061)},820859,a=>{"use strict";let b=(0,a.i(831709).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",()=>b],820859)},693896,a=>{"use strict";let b=(0,a.i(831709).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",()=>b],693896)},60985,a=>{"use strict";let b=(0,a.i(831709).default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);a.s(["Tag",()=>b],60985)},271230,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(739515);function e({params:a}){let{slug:e}=(0,c.use)(a);return(0,b.jsx)(d.ProjectObjectivesOverview,{projectSlug:e})}a.s(["default",()=>e])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__452cb0f0._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},924868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},999076,a=>{"use strict";let b=(0,a.i(831709).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(["XCircle",()=>b],999076)},549429,a=>{"use strict";let b=(0,a.i(831709).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);a.s(["ArrowRight",()=>b],549429)},837929,a=>{"use strict";let b="agx:lastRun",c="agx:lastSession";function d(a,b){}function e(a){return({})[a]??null}function f(a,c){let e={};e[a]=c,d(b,e)}function g(a){return({})[a]??null}function h(a,b){let e={};e[a]=b,d(c,e)}a.s(["loadLastRunForIssue",()=>e,"loadLastSessionForEntity",()=>g,"persistLastRunForIssue",()=>f,"persistLastSessionForEntity",()=>h])},667597,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],667597)},756490,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",()=>b],756490)},864061,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],864061)},820859,a=>{"use strict";let b=(0,a.i(831709).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",()=>b],820859)},693896,a=>{"use strict";let b=(0,a.i(831709).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",()=>b],693896)},60985,a=>{"use strict";let b=(0,a.i(831709).default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);a.s(["Tag",()=>b],60985)},809326,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(739515);function e({params:a}){let{slug:e,objectiveId:f}=(0,c.use)(a);return(0,b.jsx)(d.ProjectObjectivesOverview,{projectSlug:e,initialObjectiveId:f})}a.s(["default",()=>e])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__489568b4._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},340492,a=>{"use strict";let b=(0,a.i(831709).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.s(["Download",()=>b],340492)},756490,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",()=>b],756490)},864061,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],864061)},820859,a=>{"use strict";let b=(0,a.i(831709).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",()=>b],820859)},316099,a=>{"use strict";let b=(0,a.i(831709).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);a.s(["Hash",()=>b],316099)},693896,a=>{"use strict";let b=(0,a.i(831709).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",()=>b],693896)},60985,a=>{"use strict";let b=(0,a.i(831709).default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);a.s(["Tag",()=>b],60985)},238234,412690,754812,a=>{"use strict";var b=a.i(831709);let c=(0,b.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);a.s(["ArrowDown",()=>c],238234);let d=(0,b.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);a.s(["ArrowUp",()=>d],412690);let e=(0,b.default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",()=>e],754812)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__4ec098a0._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},924868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},837929,a=>{"use strict";let b="agx:lastRun",c="agx:lastSession";function d(a,b){}function e(a){return({})[a]??null}function f(a,c){let e={};e[a]=c,d(b,e)}function g(a){return({})[a]??null}function h(a,b){let e={};e[a]=b,d(c,e)}a.s(["loadLastRunForIssue",()=>e,"loadLastSessionForEntity",()=>g,"persistLastRunForIssue",()=>f,"persistLastSessionForEntity",()=>h])},549429,a=>{"use strict";let b=(0,a.i(831709).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);a.s(["ArrowRight",()=>b],549429)},999076,a=>{"use strict";let b=(0,a.i(831709).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(["XCircle",()=>b],999076)},667597,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],667597)},756490,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",()=>b],756490)},864061,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],864061)},820859,a=>{"use strict";let b=(0,a.i(831709).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",()=>b],820859)},693896,a=>{"use strict";let b=(0,a.i(831709).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",()=>b],693896)},60985,a=>{"use strict";let b=(0,a.i(831709).default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);a.s(["Tag",()=>b],60985)},785630,a=>{"use strict";let b=(0,a.i(831709).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["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(["FolderPlus",()=>b],785630)},379065,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],379065)},354658,a=>{"use strict";let b=(0,a.i(831709).default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);a.s(["Save",()=>b],354658)},316099,a=>{"use strict";let b=(0,a.i(831709).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);a.s(["Hash",()=>b],316099)},238234,412690,754812,a=>{"use strict";var b=a.i(831709);let c=(0,b.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);a.s(["ArrowDown",()=>c],238234);let d=(0,b.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);a.s(["ArrowUp",()=>d],412690);let e=(0,b.default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",()=>e],754812)},44668,a=>{"use strict";let b=(0,a.i(831709).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CheckCircle2",()=>b],44668)},947218,a=>{"use strict";var b=a.i(786220);let c=new Map;function d(a){let b=c.get(a);return b?Date.now()-b.ts>3e5?(c.delete(a),null):b:null}function e(a){c.delete(a)}function f(a,f){let[g,h]=(0,b.useState)(!1),[i,j]=(0,b.useState)(!0),[k,l]=(0,b.useState)(null),[m,n]=(0,b.useState)({claude:!1,codex:!1,gemini:!1}),[o,p]=(0,b.useState)({}),q=(0,b.useRef)(null),r=`/api/trackers/${encodeURIComponent(a)}`,s=`${a}:${f}`,t=(0,b.useCallback)(async()=>{try{let a=await fetch(`${r}/mcp-setup`),b=await a.json();p(b.configured??{})}catch{}},[r]),u=(0,b.useCallback)(async()=>{if(!f)return h(!1),!1;let a=d(s);if(a)return h(a.connected),l(a.user),n(a.clis),p(a.mcpConfigured),j(!1),a.connected;try{var b;let a=`?projectId=${encodeURIComponent(f)}`,[d,e]=await Promise.all([fetch(`${r}/status${a}`),fetch(`${r}/mcp-setup`)]),g=await d.json(),i=await e.json(),j=g.clis??{claude:!1,codex:!1,gemini:!1},k=i.configured??{},m=g.user??null;return h(g.connected),l(m),n(j),p(k),b={connected:g.connected,user:m,clis:j,mcpConfigured:k},c.set(s,{...b,ts:Date.now()}),g.connected}catch{return h(!1),!1}finally{j(!1)}},[f,r,s]);(0,b.useEffect)(()=>{let a=d(s);a?(h(a.connected),l(a.user),n(a.clis),p(a.mcpConfigured),j(!1)):(j(!0),h(!1),l(null))},[a,f,s]),(0,b.useEffect)(()=>(u(),()=>{q.current&&clearInterval(q.current)}),[u]);let v=(0,b.useCallback)(()=>{f&&(e(s),window.open(`${r}/auth?projectId=${encodeURIComponent(f)}`,"_blank","noopener"),q.current&&clearInterval(q.current),q.current=setInterval(async()=>{e(s),await u()&&q.current&&(clearInterval(q.current),q.current=null)},2e3))},[f,r,s,u]),w=(0,b.useCallback)(async a=>{if(!f)return{ok:!1,error:"Missing projectId"};try{let b=await fetch(`${r}/token`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:f,accessToken:a})});if(!b.ok){let a=await b.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to save token"}}return e(s),await u(),{ok:!0}}catch{return{ok:!1,error:"Failed to connect"}}},[f,r,s,u]);return{connected:g,loading:i,user:k,clis:m,mcpConfigured:o,connect:v,connectWithKey:w,disconnect:(0,b.useCallback)(async()=>{f&&(e(s),await fetch(`${r}/status?projectId=${encodeURIComponent(f)}`,{method:"DELETE"}),h(!1),l(null))},[f,r,s]),configureMcp:(0,b.useCallback)(async a=>{try{let b=await fetch(`${r}/mcp-setup`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cli:a})});if(!b.ok){let a=await b.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to configure MCP"}}return await t(),{ok:!0}}catch{return{ok:!1,error:"Failed to configure MCP"}}},[r,t]),refresh:u}}a.s(["useTrackerConnection",()=>f])},663504,235992,a=>{"use strict";var b=a.i(831709);let c=(0,b.default)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);a.s(["Key",()=>c],663504);let d=(0,b.default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);a.s(["Globe",()=>d],235992)},500650,a=>{"use strict";let b=(0,a.i(831709).default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);a.s(["LogOut",()=>b],500650)},778784,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(44668),e=a.i(663504),f=a.i(235992),g=a.i(349692),h=a.i(693896),i=a.i(356239),j=a.i(500650),k=a.i(392045);let l={claude:{name:"Claude Code",configPath:"~/.claude/settings.json"},codex:{name:"Codex CLI",configPath:"~/.codex/config.toml"},gemini:{name:"Gemini CLI",configPath:"~/.gemini/settings.json"}};function m({trackerType:a,projectId:m,connected:n,onConnect:o,onConnectWithKey:p,onDisconnect:q,loading:r=!1,clis:s,mcpConfigured:t,onConfigureMcp:u}){let[v,w]=c.default.useState(""),[x,y]=c.default.useState(null),[z,A]=c.default.useState(!1),[B,C]=c.default.useState(!1),[D,E]=c.default.useState(null),[F,G]=c.default.useState({}),H=async a=>{if(!u)return;E(a),G(b=>({...b,[a]:""}));let b=await u(a);b.ok||G(c=>({...c,[a]:b.error??"Failed to install MCP"})),E(null)},I=s?["claude","codex","gemini"].filter(a=>s[a]):["claude"];if(r)return(0,b.jsx)("div",{className:"flex items-center justify-center p-12",children:(0,b.jsx)(g.Loader2,{className:"animate-spin h-8 w-8 text-muted-foreground"})});if(n)return(0,b.jsxs)("div",{className:"p-8 flex flex-col items-center gap-6",children:[(0,b.jsxs)("div",{className:"w-full max-w-md p-8 border border-green-500/20 bg-green-500/5 rounded-2xl flex flex-col items-center gap-4 text-center",children:[(0,b.jsx)("div",{className:"h-16 w-16 rounded-full bg-green-500/10 flex items-center justify-center text-green-600 shadow-inner",children:(0,b.jsx)(d.CheckCircle2,{className:"h-8 w-8"})}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("h3",{className:"text-xl font-bold text-foreground capitalize",children:[a," Connected"]}),(0,b.jsxs)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:["Your ",a," workspace is successfully connected. The agent can now sync issues and manage your backlog."]})]}),(0,b.jsxs)("div",{className:"mt-2 px-4 py-1.5 rounded-full bg-background border text-xs font-medium text-muted-foreground flex items-center gap-2",children:[(0,b.jsx)("div",{className:"h-1.5 w-1.5 rounded-full bg-green-500 animate-pulse"}),"Active Connection"]}),q&&(0,b.jsxs)("button",{onClick:q,className:"flex items-center gap-1.5 text-xs text-muted-foreground hover:text-destructive transition-colors mt-1",children:[(0,b.jsx)(j.LogOut,{className:"h-3.5 w-3.5"}),"Disconnect"]})]}),I.length>0&&(0,b.jsx)("div",{className:"w-full max-w-md",children:(0,b.jsxs)("div",{className:"border rounded-xl p-5 flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(i.Terminal,{className:"h-4 w-4 text-muted-foreground"}),(0,b.jsx)("span",{className:"text-sm font-medium",children:"MCP Server"})]}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground leading-relaxed -mt-2",children:["Install the ",a," MCP server so agents can access ",a," directly."]}),I.map(a=>{let c=l[a],e=t?.[a]??!1,f=D===a,i=F[a];return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:c.name}),e?(0,b.jsxs)("span",{className:"text-xs font-medium text-green-600 flex items-center gap-1",children:[(0,b.jsx)(d.CheckCircle2,{className:"h-3.5 w-3.5"}),"Installed"]}):(0,b.jsx)("button",{onClick:()=>H(a),disabled:f||!u,className:"flex items-center gap-1.5 px-3 py-1 bg-secondary text-secondary-foreground rounded-md text-xs font-semibold hover:bg-secondary/90 disabled:opacity-50 transition-all active:scale-[0.98]",children:f?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.Loader2,{className:"h-3 w-3 animate-spin"}),"Installing…"]}):(0,b.jsx)(b.Fragment,{children:"Install"})})]}),e&&(0,b.jsxs)("p",{className:"text-[10px] text-muted-foreground",children:["Configured in ",(0,b.jsx)("code",{className:"font-mono",children:c.configPath})]}),i&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-destructive bg-destructive/10 p-2 rounded-md",children:[(0,b.jsx)(h.AlertCircle,{className:"h-3.5 w-3.5 shrink-0"}),i]})]},a)})]})})]});let J=async()=>{if(v.trim()){C(!0),y(null);try{let a=await p(v.trim());a.ok?(w(""),A(!1)):y(a.error??"Failed to connect")}catch(a){y("An unexpected error occurred")}finally{C(!1)}}};return(0,b.jsxs)("div",{className:"flex flex-col items-center gap-6 p-8",children:[(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(k.TrackerIcon,{trackerType:a,className:"h-16 w-16"}),(0,b.jsx)("div",{className:"absolute -bottom-1 -right-1 h-6 w-6 rounded-full bg-background border flex items-center justify-center shadow-sm",children:(0,b.jsx)(f.Globe,{className:"h-3 w-3 text-muted-foreground"})})]}),(0,b.jsxs)("div",{className:"text-center space-y-2",children:[(0,b.jsxs)("h3",{className:"text-lg font-semibold capitalize",children:["Connect to ",a]}),(0,b.jsxs)("p",{className:"text-sm text-muted-foreground text-center max-w-sm leading-relaxed",children:["Link your ",a," account to import issues, track progress, and automate your workflow."]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-3 w-full max-w-xs pt-2",children:[(0,b.jsxs)("button",{onClick:o,className:"flex items-center justify-center gap-2 w-full px-4 py-2.5 bg-primary text-primary-foreground rounded-lg text-sm font-semibold hover:bg-primary/90 transition-all active:scale-[0.98] shadow-sm",children:[(0,b.jsx)(f.Globe,{className:"h-4 w-4"}),"Connect with OAuth"]}),(0,b.jsxs)("button",{onClick:()=>{A(!z),y(null)},className:"flex items-center justify-center gap-2 w-full px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors font-medium",children:[(0,b.jsx)(e.Key,{className:"h-3.5 w-3.5"}),z?"Use OAuth instead":"Connect with API key"]}),(0,b.jsx)("div",{className:`grid transition-all duration-300 ease-in-out ${z?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0 pointer-events-none"}`,children:(0,b.jsx)("div",{className:"overflow-hidden",children:(0,b.jsxs)("div",{className:"flex flex-col gap-3 pt-2",children:[(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("input",{type:"password",value:v,onChange:a=>{w(a.target.value),x&&y(null)},placeholder:"Paste your API key here",className:`w-full px-3 py-2 border rounded-lg text-sm bg-background transition-colors focus:outline-none focus:ring-2 focus:ring-primary/20 ${x?"border-destructive":"focus:border-primary"}`,onKeyDown:a=>"Enter"===a.key&&J()}),(0,b.jsx)(e.Key,{className:"absolute right-3 top-2.5 h-4 w-4 text-muted-foreground/50"})]}),x&&(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs text-destructive bg-destructive/10 p-2 rounded-md",children:[(0,b.jsx)(h.AlertCircle,{className:"h-3.5 w-3.5 shrink-0"}),(0,b.jsx)("p",{children:x})]}),(0,b.jsx)("button",{onClick:J,disabled:B||!v.trim(),className:"flex items-center justify-center gap-2 w-full px-4 py-2 bg-secondary text-secondary-foreground rounded-lg text-sm font-semibold hover:bg-secondary/90 disabled:opacity-50 transition-all active:scale-[0.98]",children:B?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.Loader2,{className:"h-4 w-4 animate-spin"}),"Connecting..."]}):"Verify & Connect"}),(0,b.jsxs)("p",{className:"text-[10px] text-muted-foreground text-center px-2",children:["Your API key is stored securely and only used for ",a," integration."]})]})})})]})]})}a.s(["default",()=>m])},964690,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(516909),e=a.i(830284),f=a.i(227444),g=a.i(859117);function h({params:a}){let{slug:h}=(0,c.use)(a),i=(0,d.useSearchParams)(),{projects:j}=(0,e.useProjects)(),k=j.find(a=>a.slug===h),l="true"===i.get("settings"),{connections:m}=(0,f.useTrackerConnections)(k?.id??null),n=m.length>0?m[0].type:"linear";return(0,b.jsx)(g.default,{trackerType:n,projectId:k?.id,projectSlug:k?.slug??h,initialShowSettings:l})}a.s(["default",()=>h])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__53bd50df._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},924868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},837929,a=>{"use strict";let b="agx:lastRun",c="agx:lastSession";function d(a,b){}function e(a){return({})[a]??null}function f(a,c){let e={};e[a]=c,d(b,e)}function g(a){return({})[a]??null}function h(a,b){let e={};e[a]=b,d(c,e)}a.s(["loadLastRunForIssue",()=>e,"loadLastSessionForEntity",()=>g,"persistLastRunForIssue",()=>f,"persistLastSessionForEntity",()=>h])},549429,a=>{"use strict";let b=(0,a.i(831709).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);a.s(["ArrowRight",()=>b],549429)},999076,a=>{"use strict";let b=(0,a.i(831709).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(["XCircle",()=>b],999076)},667597,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],667597)},756490,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",()=>b],756490)},864061,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],864061)},820859,a=>{"use strict";let b=(0,a.i(831709).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",()=>b],820859)},693896,a=>{"use strict";let b=(0,a.i(831709).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",()=>b],693896)},60985,a=>{"use strict";let b=(0,a.i(831709).default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);a.s(["Tag",()=>b],60985)},785630,a=>{"use strict";let b=(0,a.i(831709).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["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(["FolderPlus",()=>b],785630)},379065,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],379065)},354658,a=>{"use strict";let b=(0,a.i(831709).default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);a.s(["Save",()=>b],354658)},316099,a=>{"use strict";let b=(0,a.i(831709).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);a.s(["Hash",()=>b],316099)},238234,412690,754812,a=>{"use strict";var b=a.i(831709);let c=(0,b.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);a.s(["ArrowDown",()=>c],238234);let d=(0,b.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);a.s(["ArrowUp",()=>d],412690);let e=(0,b.default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",()=>e],754812)},44668,a=>{"use strict";let b=(0,a.i(831709).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CheckCircle2",()=>b],44668)},947218,a=>{"use strict";var b=a.i(786220);let c=new Map;function d(a){let b=c.get(a);return b?Date.now()-b.ts>3e5?(c.delete(a),null):b:null}function e(a){c.delete(a)}function f(a,f){let[g,h]=(0,b.useState)(!1),[i,j]=(0,b.useState)(!0),[k,l]=(0,b.useState)(null),[m,n]=(0,b.useState)({claude:!1,codex:!1,gemini:!1}),[o,p]=(0,b.useState)({}),q=(0,b.useRef)(null),r=`/api/trackers/${encodeURIComponent(a)}`,s=`${a}:${f}`,t=(0,b.useCallback)(async()=>{try{let a=await fetch(`${r}/mcp-setup`),b=await a.json();p(b.configured??{})}catch{}},[r]),u=(0,b.useCallback)(async()=>{if(!f)return h(!1),!1;let a=d(s);if(a)return h(a.connected),l(a.user),n(a.clis),p(a.mcpConfigured),j(!1),a.connected;try{var b;let a=`?projectId=${encodeURIComponent(f)}`,[d,e]=await Promise.all([fetch(`${r}/status${a}`),fetch(`${r}/mcp-setup`)]),g=await d.json(),i=await e.json(),j=g.clis??{claude:!1,codex:!1,gemini:!1},k=i.configured??{},m=g.user??null;return h(g.connected),l(m),n(j),p(k),b={connected:g.connected,user:m,clis:j,mcpConfigured:k},c.set(s,{...b,ts:Date.now()}),g.connected}catch{return h(!1),!1}finally{j(!1)}},[f,r,s]);(0,b.useEffect)(()=>{let a=d(s);a?(h(a.connected),l(a.user),n(a.clis),p(a.mcpConfigured),j(!1)):(j(!0),h(!1),l(null))},[a,f,s]),(0,b.useEffect)(()=>(u(),()=>{q.current&&clearInterval(q.current)}),[u]);let v=(0,b.useCallback)(()=>{f&&(e(s),window.open(`${r}/auth?projectId=${encodeURIComponent(f)}`,"_blank","noopener"),q.current&&clearInterval(q.current),q.current=setInterval(async()=>{e(s),await u()&&q.current&&(clearInterval(q.current),q.current=null)},2e3))},[f,r,s,u]),w=(0,b.useCallback)(async a=>{if(!f)return{ok:!1,error:"Missing projectId"};try{let b=await fetch(`${r}/token`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:f,accessToken:a})});if(!b.ok){let a=await b.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to save token"}}return e(s),await u(),{ok:!0}}catch{return{ok:!1,error:"Failed to connect"}}},[f,r,s,u]);return{connected:g,loading:i,user:k,clis:m,mcpConfigured:o,connect:v,connectWithKey:w,disconnect:(0,b.useCallback)(async()=>{f&&(e(s),await fetch(`${r}/status?projectId=${encodeURIComponent(f)}`,{method:"DELETE"}),h(!1),l(null))},[f,r,s]),configureMcp:(0,b.useCallback)(async a=>{try{let b=await fetch(`${r}/mcp-setup`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cli:a})});if(!b.ok){let a=await b.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to configure MCP"}}return await t(),{ok:!0}}catch{return{ok:!1,error:"Failed to configure MCP"}}},[r,t]),refresh:u}}a.s(["useTrackerConnection",()=>f])},663504,235992,a=>{"use strict";var b=a.i(831709);let c=(0,b.default)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);a.s(["Key",()=>c],663504);let d=(0,b.default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);a.s(["Globe",()=>d],235992)},500650,a=>{"use strict";let b=(0,a.i(831709).default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);a.s(["LogOut",()=>b],500650)},778784,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(44668),e=a.i(663504),f=a.i(235992),g=a.i(349692),h=a.i(693896),i=a.i(356239),j=a.i(500650),k=a.i(392045);let l={claude:{name:"Claude Code",configPath:"~/.claude/settings.json"},codex:{name:"Codex CLI",configPath:"~/.codex/config.toml"},gemini:{name:"Gemini CLI",configPath:"~/.gemini/settings.json"}};function m({trackerType:a,projectId:m,connected:n,onConnect:o,onConnectWithKey:p,onDisconnect:q,loading:r=!1,clis:s,mcpConfigured:t,onConfigureMcp:u}){let[v,w]=c.default.useState(""),[x,y]=c.default.useState(null),[z,A]=c.default.useState(!1),[B,C]=c.default.useState(!1),[D,E]=c.default.useState(null),[F,G]=c.default.useState({}),H=async a=>{if(!u)return;E(a),G(b=>({...b,[a]:""}));let b=await u(a);b.ok||G(c=>({...c,[a]:b.error??"Failed to install MCP"})),E(null)},I=s?["claude","codex","gemini"].filter(a=>s[a]):["claude"];if(r)return(0,b.jsx)("div",{className:"flex items-center justify-center p-12",children:(0,b.jsx)(g.Loader2,{className:"animate-spin h-8 w-8 text-muted-foreground"})});if(n)return(0,b.jsxs)("div",{className:"p-8 flex flex-col items-center gap-6",children:[(0,b.jsxs)("div",{className:"w-full max-w-md p-8 border border-green-500/20 bg-green-500/5 rounded-2xl flex flex-col items-center gap-4 text-center",children:[(0,b.jsx)("div",{className:"h-16 w-16 rounded-full bg-green-500/10 flex items-center justify-center text-green-600 shadow-inner",children:(0,b.jsx)(d.CheckCircle2,{className:"h-8 w-8"})}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("h3",{className:"text-xl font-bold text-foreground capitalize",children:[a," Connected"]}),(0,b.jsxs)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:["Your ",a," workspace is successfully connected. The agent can now sync issues and manage your backlog."]})]}),(0,b.jsxs)("div",{className:"mt-2 px-4 py-1.5 rounded-full bg-background border text-xs font-medium text-muted-foreground flex items-center gap-2",children:[(0,b.jsx)("div",{className:"h-1.5 w-1.5 rounded-full bg-green-500 animate-pulse"}),"Active Connection"]}),q&&(0,b.jsxs)("button",{onClick:q,className:"flex items-center gap-1.5 text-xs text-muted-foreground hover:text-destructive transition-colors mt-1",children:[(0,b.jsx)(j.LogOut,{className:"h-3.5 w-3.5"}),"Disconnect"]})]}),I.length>0&&(0,b.jsx)("div",{className:"w-full max-w-md",children:(0,b.jsxs)("div",{className:"border rounded-xl p-5 flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(i.Terminal,{className:"h-4 w-4 text-muted-foreground"}),(0,b.jsx)("span",{className:"text-sm font-medium",children:"MCP Server"})]}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground leading-relaxed -mt-2",children:["Install the ",a," MCP server so agents can access ",a," directly."]}),I.map(a=>{let c=l[a],e=t?.[a]??!1,f=D===a,i=F[a];return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:c.name}),e?(0,b.jsxs)("span",{className:"text-xs font-medium text-green-600 flex items-center gap-1",children:[(0,b.jsx)(d.CheckCircle2,{className:"h-3.5 w-3.5"}),"Installed"]}):(0,b.jsx)("button",{onClick:()=>H(a),disabled:f||!u,className:"flex items-center gap-1.5 px-3 py-1 bg-secondary text-secondary-foreground rounded-md text-xs font-semibold hover:bg-secondary/90 disabled:opacity-50 transition-all active:scale-[0.98]",children:f?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.Loader2,{className:"h-3 w-3 animate-spin"}),"Installing…"]}):(0,b.jsx)(b.Fragment,{children:"Install"})})]}),e&&(0,b.jsxs)("p",{className:"text-[10px] text-muted-foreground",children:["Configured in ",(0,b.jsx)("code",{className:"font-mono",children:c.configPath})]}),i&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-destructive bg-destructive/10 p-2 rounded-md",children:[(0,b.jsx)(h.AlertCircle,{className:"h-3.5 w-3.5 shrink-0"}),i]})]},a)})]})})]});let J=async()=>{if(v.trim()){C(!0),y(null);try{let a=await p(v.trim());a.ok?(w(""),A(!1)):y(a.error??"Failed to connect")}catch(a){y("An unexpected error occurred")}finally{C(!1)}}};return(0,b.jsxs)("div",{className:"flex flex-col items-center gap-6 p-8",children:[(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(k.TrackerIcon,{trackerType:a,className:"h-16 w-16"}),(0,b.jsx)("div",{className:"absolute -bottom-1 -right-1 h-6 w-6 rounded-full bg-background border flex items-center justify-center shadow-sm",children:(0,b.jsx)(f.Globe,{className:"h-3 w-3 text-muted-foreground"})})]}),(0,b.jsxs)("div",{className:"text-center space-y-2",children:[(0,b.jsxs)("h3",{className:"text-lg font-semibold capitalize",children:["Connect to ",a]}),(0,b.jsxs)("p",{className:"text-sm text-muted-foreground text-center max-w-sm leading-relaxed",children:["Link your ",a," account to import issues, track progress, and automate your workflow."]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-3 w-full max-w-xs pt-2",children:[(0,b.jsxs)("button",{onClick:o,className:"flex items-center justify-center gap-2 w-full px-4 py-2.5 bg-primary text-primary-foreground rounded-lg text-sm font-semibold hover:bg-primary/90 transition-all active:scale-[0.98] shadow-sm",children:[(0,b.jsx)(f.Globe,{className:"h-4 w-4"}),"Connect with OAuth"]}),(0,b.jsxs)("button",{onClick:()=>{A(!z),y(null)},className:"flex items-center justify-center gap-2 w-full px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors font-medium",children:[(0,b.jsx)(e.Key,{className:"h-3.5 w-3.5"}),z?"Use OAuth instead":"Connect with API key"]}),(0,b.jsx)("div",{className:`grid transition-all duration-300 ease-in-out ${z?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0 pointer-events-none"}`,children:(0,b.jsx)("div",{className:"overflow-hidden",children:(0,b.jsxs)("div",{className:"flex flex-col gap-3 pt-2",children:[(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("input",{type:"password",value:v,onChange:a=>{w(a.target.value),x&&y(null)},placeholder:"Paste your API key here",className:`w-full px-3 py-2 border rounded-lg text-sm bg-background transition-colors focus:outline-none focus:ring-2 focus:ring-primary/20 ${x?"border-destructive":"focus:border-primary"}`,onKeyDown:a=>"Enter"===a.key&&J()}),(0,b.jsx)(e.Key,{className:"absolute right-3 top-2.5 h-4 w-4 text-muted-foreground/50"})]}),x&&(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs text-destructive bg-destructive/10 p-2 rounded-md",children:[(0,b.jsx)(h.AlertCircle,{className:"h-3.5 w-3.5 shrink-0"}),(0,b.jsx)("p",{children:x})]}),(0,b.jsx)("button",{onClick:J,disabled:B||!v.trim(),className:"flex items-center justify-center gap-2 w-full px-4 py-2 bg-secondary text-secondary-foreground rounded-lg text-sm font-semibold hover:bg-secondary/90 disabled:opacity-50 transition-all active:scale-[0.98]",children:B?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.Loader2,{className:"h-4 w-4 animate-spin"}),"Connecting..."]}):"Verify & Connect"}),(0,b.jsxs)("p",{className:"text-[10px] text-muted-foreground text-center px-2",children:["Your API key is stored securely and only used for ",a," integration."]})]})})})]})]})}a.s(["default",()=>m])},943202,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(516909),e=a.i(830284),f=a.i(859117);function g({params:a}){let{slug:g,tracker:h}=(0,c.use)(a),i=(0,d.useSearchParams)(),{projects:j}=(0,e.useProjects)(),k=j.find(a=>a.slug===g),l="true"===i.get("settings");return(0,b.jsx)(f.default,{trackerType:h,projectId:k?.id,projectSlug:k?.slug??g,initialShowSettings:l})}a.s(["default",()=>g])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__7774a40c._.js.map
@@ -0,0 +1,7 @@
1
+ module.exports=[556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},419920,(a,b,c)=>{"use strict";b.exports=a.r(433430).vendored.contexts.HooksClientContext},731042,(a,b,c)=>{"use strict";b.exports=a.r(433430).vendored.contexts.ServerInsertedHtml},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},263841,(a,b,c)=>{"use strict";b.exports=a.r(433430).vendored.contexts.AppRouterContext},234154,(a,b,c)=>{"use strict";b.exports=a.r(433430).vendored["react-ssr"].ReactServerDOMTurbopackClient},285320,a=>{"use strict";let b=(0,a.i(831709).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",()=>b],285320)},489461,a=>{"use strict";let b=(0,a.i(831709).default)("target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);a.s(["Target",()=>b],489461)},804632,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],804632)},724938,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],724938)},985339,a=>{"use strict";let b=(0,a.i(831709).default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);a.s(["Users",()=>b],985339)},766412,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(811760),e=a.i(542341),f=a.i(627421),g=a.i(824179);function h({options:a,value:h,onChange:i,placeholder:j,disabled:k}){let[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(""),p=(0,c.useRef)(null),q=(0,c.useRef)(null),r=(0,c.useMemo)(()=>{if(!n)return a;let b=n.toLowerCase();return a.filter(a=>a.label.toLowerCase().includes(b)||a.description?.toLowerCase().includes(b)||a.meta?.toLowerCase().includes(b))},[a,n]),s=(0,c.useMemo)(()=>a.find(a=>a.id===h),[a,h]),t=(0,c.useCallback)(a=>{p.current&&!p.current.contains(a.target)&&m(!1)},[]);return(0,c.useEffect)(()=>(document.addEventListener("pointerdown",t),()=>document.removeEventListener("pointerdown",t)),[t]),(0,b.jsxs)("div",{ref:p,className:"relative",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>{k||(m(!l),o(""),setTimeout(()=>q.current?.focus(),0))},disabled:k,className:"input w-full flex items-center justify-between gap-2 text-left cursor-pointer",children:[s?(0,b.jsx)("span",{className:"truncate",children:s.label}):(0,b.jsx)("span",{className:"text-[var(--muted-foreground)] truncate",children:j}),(0,b.jsx)(d.ChevronDown,{className:`w-4 h-4 text-[var(--muted-foreground)] flex-shrink-0 transition-transform ${l?"rotate-180":""}`})]}),l&&(0,b.jsxs)("div",{className:"absolute z-50 mt-2 min-w-full w-max max-w-[28rem] rounded-2xl overflow-hidden right-0",style:{background:"var(--card-bg)",border:"1px solid var(--border)",boxShadow:"0 8px 30px rgba(0,0,0,0.35), 0 0 0 1px rgba(255,255,255,0.05)"},children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5 px-3.5 py-3 border-b",style:{borderColor:"var(--border)"},children:[(0,b.jsx)(e.Search,{className:"w-4 h-4 text-[var(--muted-foreground)] flex-shrink-0"}),(0,b.jsx)("input",{ref:q,value:n,onChange:a=>o(a.target.value),placeholder:"Search...",className:"flex-1 bg-transparent text-sm outline-none placeholder:text-[var(--muted-foreground)]"}),n&&(0,b.jsx)("button",{onClick:()=>o(""),className:"text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:(0,b.jsx)(g.X,{className:"w-3.5 h-3.5"})})]}),(0,b.jsxs)("div",{className:"max-h-72 overflow-y-auto py-1",children:[0===r.length&&(0,b.jsx)("div",{className:"px-4 py-6 text-xs text-[var(--muted-foreground)] text-center",children:"No matches"}),r.map(a=>{let c=a.id===h;return(0,b.jsxs)("button",{onClick:()=>{a.disabled||(i(a.id),m(!1),o(""))},disabled:a.disabled,className:`
2
+ w-full text-left px-3.5 py-2.5 flex items-center gap-3 transition-colors
3
+ ${a.disabled?"opacity-35 cursor-not-allowed":""}
4
+ ${c?"bg-[var(--primary)]/10":"hover:bg-[var(--muted)]/40"}
5
+ `,children:[(0,b.jsx)("div",{className:`w-5 h-5 rounded-md flex items-center justify-center flex-shrink-0 border ${c?"bg-[var(--primary)] border-[var(--primary)]":"border-[var(--border)]"}`,children:c&&(0,b.jsx)(f.Check,{className:"w-3 h-3 text-white"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:a.label}),a.meta&&(0,b.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded-full bg-[var(--muted)]/50 text-[var(--muted-foreground)]",children:a.meta})]}),a.description&&(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5 line-clamp-1",children:a.description})]})]},a.id)})]})]})]})}a.s(["default",()=>h])},66456,a=>{"use strict";let b=(0,a.i(831709).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);a.s(["Zap",()=>b],66456)},144462,962684,a=>{"use strict";let b=(0,a.i(831709).default)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);a.s(["default",()=>b],962684),a.s(["TerminalSquare",()=>b],144462)},227444,a=>{"use strict";var b=a.i(786220);function c(a){let[c,d]=(0,b.useState)([]),[e,f]=(0,b.useState)(null),[g,h]=(0,b.useState)(!0),i=(0,b.useCallback)(async()=>{if(!a){d([]),f(null),h(!1);return}try{let b=await fetch(`/api/trackers/connections?projectId=${encodeURIComponent(a)}`),c=await b.json();d(Array.isArray(c.connections)?c.connections:[]),f("string"==typeof c.defaultTracker?c.defaultTracker:null)}catch{d([]),f(null)}finally{h(!1)}},[a]);(0,b.useEffect)(()=>{i()},[i]);let j=(0,b.useCallback)(async(b,c)=>{if(!a)return{ok:!1,error:"Missing projectId"};try{let d=await fetch("/api/trackers/connections",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:b,projectId:a,metadata:c})});if(!d.ok){let a=await d.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to add connection"}}return await i(),{ok:!0}}catch{return{ok:!1,error:"Failed to add connection"}}},[a,i]),k=(0,b.useCallback)(async b=>{if(!a)return{ok:!1,error:"Missing projectId"};try{let c=await fetch(`/api/trackers/${b}/status?projectId=${encodeURIComponent(a)}`,{method:"DELETE"});if(!c.ok){let a=await c.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to remove connection"}}return await i(),{ok:!0}}catch{return{ok:!1,error:"Failed to remove connection"}}},[a,i]),l=(0,b.useCallback)(async b=>{if(!a)return{ok:!1,error:"Missing projectId"};try{let c=await fetch("/api/trackers/connections",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:a,defaultTracker:b})});if(!c.ok){let a=await c.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to set default tracker"}}return await i(),{ok:!0}}catch{return{ok:!1,error:"Failed to set default tracker"}}},[a,i]);return{connections:c,defaultTracker:e,loading:g,refresh:i,addConnection:j,removeConnection:k,setDefaultTracker:l}}a.s(["useTrackerConnections",()=>c])},349692,372871,a=>{"use strict";let b=(0,a.i(831709).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["default",()=>b],372871),a.s(["Loader2",()=>b],349692)},157633,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],157633)},427411,a=>{"use strict";let b={bounds:null,sidebar:{workspaceWidth:260,logPanelHeight:200,workspaceVisible:!0,logPanelVisible:!1,linearTicketPanelWidth:576,objectiveChatPanelWidth:440,objectiveListPanelWidth:320},scroll:{lastThreadId:null,lastWorkspaceId:null}};function c(){return({...b}).sidebar}function d(a){let c={...b};c.sidebar={...c.sidebar,...a}}function e(){return c().workspaceWidth}function f(a){d({workspaceWidth:a})}function g(){return c().linearTicketPanelWidth}function h(a){d({linearTicketPanelWidth:a})}function i(){return c().objectiveChatPanelWidth}function j(a){d({objectiveChatPanelWidth:a})}function k(){return c().objectiveListPanelWidth}function l(a){d({objectiveListPanelWidth:a})}a.s(["loadLinearTicketPanelWidth",()=>g,"loadObjectiveChatPanelWidth",()=>i,"loadObjectiveListPanelWidth",()=>k,"loadWorkspaceWidth",()=>e,"persistLinearTicketPanelWidth",()=>h,"persistObjectiveChatPanelWidth",()=>j,"persistObjectiveListPanelWidth",()=>l,"persistWorkspaceWidth",()=>f])},552605,a=>{"use strict";let b=(0,a.i(831709).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);a.s(["FileText",()=>b],552605)},422662,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getDeploymentId:function(){return f},getDeploymentIdQueryOrEmptyString:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(){return!1}function g(){return""}},737313,a=>{"use strict";let b=(0,a.i(831709).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);a.s(["MessageSquare",()=>b],737313)},392045,70014,a=>{"use strict";var b=a.i(308316);function c({className:a}){return(0,b.jsx)("svg",{className:a,viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,b.jsx)("path",{d:"M2.886 4.18A11.982 11.982 0 0 1 11.99 0C18.624 0 24 5.376 24 12.009c0 3.64-1.62 6.903-4.18 9.105L2.887 4.18ZM1.817 5.626l16.556 16.556c-.524.33-1.075.62-1.65.866L.951 7.277c.247-.575.537-1.126.866-1.65ZM.322 9.163l14.515 14.515c-.71.172-1.443.282-2.195.322L0 11.358a12 12 0 0 1 .322-2.195Zm-.17 4.862 9.823 9.824a12.02 12.02 0 0 1-9.824-9.824Z"})})}a.s(["LinearIcon",()=>c],70014);let d={linear:c,jira:function({className:a}){return(0,b.jsxs)("svg",{className:a,viewBox:"12 12 104 104",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:[(0,b.jsx)("path",{d:"M108.023 16H61.805c0 11.52 9.324 20.848 20.847 20.848h8.5v8.226c0 11.52 9.328 20.848 20.848 20.848V19.977A3.98 3.98 0 00108.023 16zm0 0"}),(0,b.jsx)("path",{d:"M85.121 39.04H38.902c0 11.519 9.325 20.847 20.844 20.847h8.504v8.226c0 11.52 9.328 20.848 20.848 20.848V43.016a3.983 3.983 0 00-3.977-3.977zm0 0"}),(0,b.jsx)("path",{d:"M62.219 62.078H16c0 11.524 9.324 20.848 20.848 20.848h8.5v8.23c0 11.52 9.328 20.844 20.847 20.844V66.059a3.984 3.984 0 00-3.976-3.98zm0 0"})]})}};function e({trackerType:a,className:c}){let e=d[a];return e?(0,b.jsx)(e,{className:c}):(0,b.jsx)(f,{className:c})}function f({className:a}){return(0,b.jsxs)("svg",{className:a,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("path",{d:"M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2"}),(0,b.jsx)("rect",{x:"9",y:"3",width:"6",height:"4",rx:"2"}),(0,b.jsx)("path",{d:"M9 12h6"}),(0,b.jsx)("path",{d:"M9 16h6"})]})}a.s(["TrackerIcon",()=>e],392045)},971382,a=>{"use strict";let b=(0,a.i(831709).default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);a.s(["Bot",()=>b],971382)}];
6
+
7
+ //# sourceMappingURL=%5Broot-of-the-server%5D__b8484b0e._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},667597,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],667597)},756490,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",()=>b],756490)},820859,a=>{"use strict";let b=(0,a.i(831709).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",()=>b],820859)},864061,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],864061)},654340,a=>{"use strict";let b=(0,a.i(831709).default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);a.s(["Activity",()=>b],654340)},340492,a=>{"use strict";let b=(0,a.i(831709).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.s(["Download",()=>b],340492)},316099,a=>{"use strict";let b=(0,a.i(831709).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);a.s(["Hash",()=>b],316099)},701065,a=>{"use strict";let b=(0,a.i(831709).default)("brain-circuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]);a.s(["BrainCircuit",()=>b],701065)},438311,a=>{"use strict";let b=(0,a.i(831709).default)("corner-down-right",[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]]);a.s(["CornerDownRight",()=>b],438311)},675222,a=>{"use strict";let b=(0,a.i(831709).default)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["ShieldCheck",()=>b],675222)}];
1
+ module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},667597,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],667597)},756490,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",()=>b],756490)},864061,a=>{"use strict";let b=(0,a.i(831709).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",()=>b],864061)},820859,a=>{"use strict";let b=(0,a.i(831709).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",()=>b],820859)},654340,a=>{"use strict";let b=(0,a.i(831709).default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);a.s(["Activity",()=>b],654340)},316099,a=>{"use strict";let b=(0,a.i(831709).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);a.s(["Hash",()=>b],316099)},340492,a=>{"use strict";let b=(0,a.i(831709).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.s(["Download",()=>b],340492)},701065,a=>{"use strict";let b=(0,a.i(831709).default)("brain-circuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]);a.s(["BrainCircuit",()=>b],701065)},438311,a=>{"use strict";let b=(0,a.i(831709).default)("corner-down-right",[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]]);a.s(["CornerDownRight",()=>b],438311)},675222,a=>{"use strict";let b=(0,a.i(831709).default)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["ShieldCheck",()=>b],675222)}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__51edc9b6._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__bd05ee09._.js.map